(44.171) 830 1007 UK 95-51

advertisement
Statistical NLP: Lecture 6
Corpus-Based Work
(Ch 4)
Corpus-Based Work
• Text Corpora are usually big.
– Corpora 사용의 중요한 한계점으로 작용
– 대용량 Computer의 발전으로 극복
• Corpus-Based word involves collection a large
number of counts from corpora that need to be
access quickly
• There exists some software for processing
corpora
Corpora
• Linguistically mark-up or not
• Representative sample of the population of interest
– American English vs. British English
– Written vs. Spoken
– Areas
• The performance of a system depends heavily on
– the entropy
– Text categorization
• Balanced corpus vs. all text available
Software
• Software
– Text editor : 글자 그대로 보여준다.
– Regular expression : 정확한 patter을 찾게 한다.
– Programming language
• C/C++, Perl, awk, Python, Prolog, Java
– Programming techniques
Looking at Text
• Text come a row format or marked up.
• Markup
– A term is used for putting code of some sort into a
computer file
– Commercial word processing : WYSIWYG
• Features of text in human languages
– 자연어 처리의 어려운 점
Low-Level Formatting Issues
• Junk formatting/Content.
– document headers and separators, typesetter codes, table
and diagrams, garbled data in the computer file.
– OCR : If your program is meant to deal with only
connected English text
• Uppercase and Lowercase:
– should we keep the case or not? The, the and THE
should all be treated the same but “brown” in
“George Brown” and “brown dog” should be
treated separately.
Tokenization: What is a Word?(1)
• Tokenization
– To divide the input text into unit called token
– what is a word?
• graphic word (Kucera and Francis. 1967)
“a string of contiguous alphanumeric characters with
space on either side;may include hyphens and apostrophes, but no other punctuation marks”
Tokenization: What is a Word?(2)
• Period
– 문자의 끝을 나타내는 의미가 있다.
– 약어를 나타낸다. : as in etc. or Wash
• Single apostrophes
– isn’t, I’ll  2 words ? 1 words
– 영어의 축약 : I’ll or isn’t
• Hyphenation
– 일반적으로 인쇄상 다음 줄로 넘어가는 한 단어를 표시
– text-based, co-operation, e-mail, A-1-plus paper, “take-itor-leave-it”, the 90-cent-an-hour raise, mark up  mark-up
 mark(ed) up
Tokenization: What is a Word?(3)
• Word Segmentation in other languages: no
whitespace ==> words segmentation is hard
• whitespace not indicating a word break.
– New York, data base
– the New York-New Haven railroad
• 명확한 의미의 정보가 다양한 형태로 존재한다.
– +45 43 48 60 60, (202) 522-2230, 33 1 34 43 32 26,
(44.171) 830 1007
Tokenization: What is a Word?(4)
Phone number
Country
Phone number
Country
0171 378 0647
UK
+45 43 60 60
Denmark
(44.171) 830 1007
UK
95-51-279648
Pakistan
+44 (0) 1225 753678
UK
+411/284 3797
Switzerland
01256 468551
UK
(94-1) 866854
Sri Lanka
(202) 522-2330
USA
+49 69 136-2 98 05
Germany
1-925-225-3000
USA
33 1 34 43 32 26
France
212.995.5402
Nerherlands
USA
++31-20-5200161
The
Table 4.2 Different formats for telephone numbers appearing in an issue of
the Economist
Morphology
• Stemming: Strips off affixes.
– sit, sits, sat
• Lemmatization: transforms into base form (lemma, lexeme)
– Disambiguation
• Not always helpful in English (from an IR point of view)
which has very little morphology.
• IR community has shown that doing stemming does not help
the performance
• Mutiple words  a morpheme ???
• Morphological analysis를 구현하기 위한 추가비용에 비해
효능이 안 좋다
Stemming
• 동일 의 단어의 다양한 변형을 하나의 색인어로 변환
– “computer”, “computing” 등을 “compute”로 변환
• 장점
– 저장 공간의 사용을 감소, 검색 속도 개선
– 검색 결과의 질 향상(질의가 “compute”일 경우
“computer”, “computing”등 포함 하는 모든 단어 검색)
• 단점
– Over Stemming: 문자를 과도하게 제거하여 연관성 없는
단어들의 매칭을 발생
– Under Stemming : 단어에 포함된 문자를 적게 제거하여
연관성 있는 단어 매칭이 안 되는 현상
Porter Stemming Algorithm
• 가장 널리 사용되며, 다양한 규칙을 이용
• 접두사는 제거하지 않고 접미사만을 제거하거나, 새로운
String으로 대치
– Porter Stemming 실행 전
– Porter Stemming 실행 후
Porter Stemming Algorithm
Porter Stemming Algorithm
• Error #1: Words ending with “yed” and “ying” and having
different meanings may end up with
– Dying -> dy (impregnate with dye)
– Dyed -> dy (passes away)
• Error #2: The removal of “ic” or “ical” from words having
m=2 and ending with a series of consonant, vowel, consonant,
vowel, such as generic, politic…:
– Political -> polit
– Politic -> polit
– Polite -> polit
Sentences
• What is a sentence?
– Something ending with a ‘.’, ‘?’ or ‘!’. True in 90% of the cases.
– Colon, semicolon, dash도 문장으로 여겨질 수 있다.
• Sometimes, however, sentences are split up by other
punctuation marks or quotes.
• Often, solutions involve heuristic methods. However, these
solutions are hand-coded. Some effort to automate the
sentenceboundary process have also been done.
• 우리말은 더욱 어려움!!!
– 마침표가 없기도 하고  종결형 어미 뒤?
– 연결형 어미이면서 종결형 어미
– 따옴표
End-of-Sentence Detection (I)
• Place EOS after all . ? ! (maybe ;:-)
• Move EOS after quotation marks, if any
• Disqualify a period boundary if:
– Preceeded by known abbreviation followed by
upper case letter, not normally sentence-final:
e.g., Prof. vs. Mr.
End-of-Sentence Detection (II)
– Precedeed by a known abbreviation not
followed by upper case: e.g., Jr. etc.
(abbreviation that is sentence-final or medial)
• Disqualify a sentence boundary with ? or !
If followed by a lower case (or a known
name)
• Keep all the rest as EOS
Marked-Up Data I: Mark-up Schemes
• 초기의 markup schemes
– 단순히 내용정보만을 위해 header에 삽입
(giving author, date, title, etc.)
• SGML
– 문서의 구조와 문법을 표준화하는 grammer language
• XML
– SGML을 web에 응용하기 위해 만든 SGML의 축소판
Marked-Up Data II: Grammatical
tagging
• first step of analysis
– 일반적인 문법적 category로 구별하는 것
– 최상급, 비교급, 명사의 단수, 복수 등의 구별
• Tag sets (Table 4.5)
– morphological distinction 을 통합한다.
• The design of a tag set
– 분류의 관점
• Word의 문법정보가 얼마나 유용한 요소인가 하는 관점
– 예상의 관점
• 문맥에서 다른 word에 어떠한 영향을 미치는지 예상하는 관점
Examples of Tagset(Korean)
Examples of Tagset(English)
PennTreebank tagset
Brown corpus tagset
Download