Introduction to Information Retrieval Introduction to Information Retrieval Introduction to Information Retrieval Chapter 2: The term vocabulary and postings p y p g lists Slides: Christopher Manning and Prabhakar Raghavan Introduction to Information Retrieval Introduction to Information Retrieval Plan for this lecture Elaborate basic indexing Preprocessing to form the term vocabulary p g y Documents Tokenization Tokenization What terms do we put in the index?
Introduction to Information Retrieval Introduction to Information Retrieval Recall the basic indexing pipeline Documents to Friends, Romans, countrymen. be indexed. Tokenizer Friends Token stream. Romans Countrymen Linguistic modules friend roman countryman Modified tokens. 2 4 Indexer friend 1 1 2 2 roman roman Inverted index. 16 13 countryman Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.1 Parsing a document What format is it in? pdf/word/excel/html? p What language is it in? Wh t h What character set is in use? t t i i ? Each of these is a classification problem, which we will study later in the course which we will study later in the course. But these tasks are often done heuristically … y
Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.1 Complications: Format/language Documents being indexed can include docs from D b i i d d i l d d f many different languages A single index may have to contain terms of several A i l i d h t t i t f l languages. Sometimes a document or its components can Sometimes a document or its components can contain multiple languages/formats French email with a German pdf attachment French email with a German pdf attachment. What is a unit document? A file? A file? An email? (Perhaps one of many in an mbox.) An email with 5 attachments? A group of files (PPT or LaTeX as HTML pages) Introduction to Information Retrieval Introduction to Information Retrieval TOKENS AND TERMS
Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.1 Tokenization Input: “ Friends, Romans and Countrymen ” Output: Tokens Friends Romans Countrymen A token is an instance of a sequence of characters A token is an instance of a sequence of characters Each such token is now a candidate for an index entry after further processing entry, after further processing Described below But what are valid tokens to emit? B h lid k i ? Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.1 Tokenization Issues in tokenization: Finland’s capital p Finland? Finlands? Finland’s ? Hewlett ‐ Packard Hewlett and Packard as two Hewlett Packard Hewlett and Packard as two tokens? state of the art : break up hyphenated sequence state ‐ of ‐ the ‐ art : break up hyphenated sequence. co ‐ education lowercase , lower ‐ case , lower case ? It can be effective to get the user to put in possible hyphens San Francisco : one token or two? How do you decide it is one token?
Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.1 Numbers 3/12/91 / / Mar. 12, 1991 12/3/91 / / 55 B.C. B ‐ 52 My PGP key is 324a3df234cb23e (800) 234 ‐ 2333 Often have embedded spaces Older IR systems may not index numbers But often very useful: think about things like looking up error codes/stacktraces on the web codes/stacktraces on the web Will often index “meta ‐ data” separately Creation date format etc Creation date, format, etc. Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.1 Tokenization: language issues French L'ensemble one token or two? L ? L’ ? Le ? Want l’ensemble to match with un ensemble Until at least 2003 it didn’t on Google Until at least 2003, it didn’t on Google Internationalization! German noun compounds are not segmented Lebensversicherungsgesellschaftsangestellter ‘life insurance company employee’ German retrieval systems benefit greatly from a compound splitter module module Can give a 15% performance boost for German
Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.1 Tokenization: language issues Chinese and Japanese have no spaces between words: 莎拉波娃 现 在居住在美国 东 南部的佛 罗 里达。 Not always guaranteed a unique tokenization Further complicated in Japanese, with multiple alphabets intermingled alphabets intermingled Dates/amounts in multiple formats フォーチュン 500 社は情報不足のため時間あた $500K( 約 6,000 万円 ) フォ チュン 500 社は情報不足のため時間あた $500K( 約 6,000 万円 ) Katakana Hiragana Kanji Romaji End- user can express query entirely in hiragana! Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.1 Tokenization: language issues Arabic (or Hebrew) is basically written right to left, but with certain items like numbers written left to right Words are separated, but letter forms within a word form complex ligatures ← → ← → ← start ‘Algeria achieved its independence in 1962 after 132 ‘Algeria achieved its independence in 1962 after 132 years of French occupation.’ With Unicode, the surface presentation is complex, but the Wi h U i d h f i i l b h stored form is straightforward
Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.2 Stop words With a stop list, you exclude from the dictionary entirely the commonest words. Intuition: y They have little semantic content: the, a, and, to, be There are a lot of them: ~30% of postings for top 30 words But the trend is away from doing this: Good compression techniques means the space for including stopwords in a system is very small Good query optimization techniques mean you pay little at query time for including stop words. time for including stop words. You need them for: Phrase queries: “King of Denmark” Various song titles, etc.: “Let it be”, “To be or not to be” “Relational” queries: “flights to London” Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.3 Normalization to terms We need to “normalize” words in indexed text as well as query words into the same form We want to match U.S.A. and USA Result is terms: a term is a (normalized) word type, which is an entry in our IR system dictionary We most commonly implicitly define equivalence We most commonly implicitly define equivalence classes of terms by, e.g., deleting periods to form a term deleting periods to form a term U.S.A. , USA USA deleting hyphens to form a term anti ‐ discriminatory, antidiscriminatory antidiscriminatory
Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.3 Normalization: other languages Accents: e.g., French résumé vs. resume . Umlauts: e.g., German: Tuebingen vs. Tübingen Should be equivalent Most important criterion: Most important criterion: How are your users like to write their queries for these words? Even in languages that standardly have accents, users often may not type them Often best to normalize to a de ‐ accented term Tuebingen, Tübingen, Tubingen Tubingen Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.3 Normalization: other languages Normalization of things like date forms 7 月 30 日 vs. 7/30 Japanese use of kana vs. Chinese characters Tokenization and normalization may depend on the language and so is intertwined with language language and so is intertwined with language detection Is this German “mit”? German mit ? Morgen will ich in MIT Morgen will ich in MIT … Crucial: Need to “normalize” indexed text as well as query terms into the same form
Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.3 Case folding Reduce all letters to lower case exception: upper case in mid ‐ sentence? e.g., General Motors Fed vs. fed SAIL vs sail SAIL vs. sail Often best to lower case everything, since users will use lowercase regardless of users will use lowercase regardless of ‘correct’ capitalization… Google example: G l l Query C.A.T. #1 result is for “cat” not Caterpillar Inc. Introduction to Information Retrieval Introduction to Information Retrieval Sec. 2.2.3 Normalization to terms An alternative to equivalence classing is to do asymmetric expansion An example of where this may be useful An example of where this may be useful Enter: window Search: window, windows Enter: windows Search: Windows, windows, window Enter: Windows Search: Windows Potentially more powerful, but less efficient
Recommend
More recommend