INFO 4300 / CS4300 Information Retrieval slides adapted from Hinrich Sch¨ utze’s, linked from http://informationretrieval.org/ IR 2: The term vocabulary and postings lists Paul Ginsparg Cornell University, Ithaca, NY 30 Aug 2011 1 / 55
Administrativa (tentative) Course Webpage: http://www.infosci.cornell.edu/Courses/info4300/2011fa/ Lectures: Tuesday and Thursday 11:40-12:55, Kimball B11 Instructor: Paul Ginsparg, ginsparg@..., 255-7371, Physical Sciences Building 452 Instructor’s Office Hours: Wed 1-2pm, Fri 2-3pm, or e-mail instructor to schedule an appointment Teaching Assistant: Saeed Abdullah, use cs4300-l@lists.cs.cornell.edu Course text at: http://informationretrieval.org/ Introduction to Information Retrieval , C.Manning, P.Raghavan, H.Sch¨ utze see also Information Retrieval , S. B¨ uttcher, C. Clarke, G. Cormack http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=12307 2 / 55
Overview Recap 1 Query optimization 2 Discussion Section (Thu 1 Sep) 3 The term vocabulary 4 General + Non-English English 3 / 55
Outline Recap 1 Query optimization 2 Discussion Section (Thu 1 Sep) 3 The term vocabulary 4 General + Non-English English 4 / 55
Major Steps 1. Collect documents 2. Tokenize text 3. linguistic preprocessing 4. Index documents 5 / 55
Inverted index For each term t , we store a list of all documents that contain t . Brutus − → 1 2 4 11 31 45 173 174 Caesar − → 1 2 4 5 6 16 57 132 . . . Calpurnia − → 2 31 54 101 . . . � �� � � �� � dictionary postings 6 / 55
Intersecting two postings lists − → 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174 Brutus Calpurnia − → 2 → 31 → 54 → 101 Intersection = ⇒ 2 → 31 Linear in the length of the postings lists. 7 / 55
Constructing the inverted index: Sort postings term docID term docID I 1 ambitious 2 did 1 be 2 enact 1 brutus 1 julius 1 brutus 2 caesar 1 capitol 1 I 1 caesar 1 was 1 caesar 2 killed 1 caesar 2 i’ 1 did 1 the 1 enact 1 capitol 1 hath 1 brutus 1 I 1 killed 1 I 1 me 1 ⇒ i’ 1 = so 2 it 2 let 2 julius 1 it 2 killed 1 be 2 killed 1 with 2 let 2 caesar 2 me 1 the 2 noble 2 noble 2 so 2 brutus 2 the 1 hath 2 the 2 told 2 told 2 you 2 you 2 caesar 2 was 1 was 2 was 2 ambitious 2 with 2 8 / 55
Westlaw: Example queries Information need: Information on the legal theories involved in preventing the disclosure of trade secrets by employees formerly employed by a competing company Query: “trade secret” /s disclos! /s prevent /s employe! Information need: Requirements for disabled people to be able to access a workplace Query: disab! /p access! /s work-site work-place (employment /3 place) Information need: Cases about a host’s responsibility for drunk guests Query: host! /p (responsib! liab!) /p (intoxicat! drunk!) /p guest 9 / 55
Outline Recap 1 Query optimization 2 Discussion Section (Thu 1 Sep) 3 The term vocabulary 4 General + Non-English English 10 / 55
Query optimization Consider a query that is an and of n terms, n > 2 For each of the terms, get its postings list, then and them together Example query: Brutus AND Calpurnia AND Caesar What is the best order for processing this query? 11 / 55
Query optimization Example query: Brutus AND Calpurnia AND Caesar Simple and effective optimization: Process in order of increasing frequency Start with the shortest postings list, then keep cutting further In this example, first Caesar , then Calpurnia , then Brutus − → 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174 Brutus Calpurnia − → 2 → 31 → 54 → 101 − → 5 → 31 Caesar 12 / 55
Optimized intersection algorithm for conjunctive queries Intersect ( � t 1 , . . . , t n � ) 1 terms ← SortByIncreasingFrequency ( � t 1 , . . . , t n � ) 2 result ← postings ( first ( terms )) 3 terms ← rest ( terms ) 4 while terms � = nil and result � = nil 5 do result ← Intersect ( result , postings ( first ( terms ))) 6 terms ← rest ( terms ) 7 return result 13 / 55
More general optimization Example query: ( madding or crowd ) and ( ignoble or strife ) Get frequencies for all terms Estimate the size of each or by the sum of its frequencies (conservative) Process in increasing order of or sizes 14 / 55
In addition determine set of terms in dictionary and provide retrieval tolerant to spelling mistakes and inconsistent choice of words search for compounds or phrases that denote a concept such as “operating system” or proximity queries such as Gates NEAR Microsoft: augment index to capture proximities of terms in documents Boolean model only records term presence or absence, but perhaps give more weight to documents that have a term several times? Need term frequency information (number of times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need effective method to order (or “rank”) returned results: requires mechanism for determining document score measuring goodness of match to query 15 / 55
Summary Ad hoc searching over documents has recently conquered the world, powering not only web search engines but the kind of unstructured search that lies behind large eCommerce websites. But web search engines have added at least partial implementations of some of the most popular operators from extended Boolean models: phrase search, Boolean operators 16 / 55
Outline Recap 1 Query optimization 2 Discussion Section (Thu 1 Sep) 3 The term vocabulary 4 General + Non-English English 17 / 55
Discussion 1, Thu 1 Sep The course uses the Computer Science Course Management System (CMS) to manage assignments. Between now and class on Thu, login using your NetID and password at http://cms.csuglab.cornell.edu/ . Go to CS 4300 and follow the instructions for “assignment 0”. If you do not see CS 4300, contact cs4300-l@lists.cs.cornell.edu. In preparation, explore three information retrieval systems and compare them: Bing — a Web search engine ( http://bing.com/ ). The Library of Congress catalog — a very large bibliographic catalog ( http://catalog.loc.gov/ ). PubMed — an indexing and abstracting service for medicine and related fields ( http://www.ncbi.nlm.nih.gov/entrez/query.fcgi ). 18 / 55
Use each service separately for the following information discovery task: What is the medical evidence that vaccines can cause autism? Evaluate each search service. What do you consider the strengths and weaknesses of each service? When would you use them? (a) Does the service search full text or surrogates? What is the underlying corpus? What effect does this have on your results? (b) Is fielded searching offered? What Boolean operators are supported? What regular expressions? How does it handle non-Roman character sets? What is the stop list? How are results ranked? Are they sorted, if so in what order? (c) From a usability viewpoint. What style of user interface(s) is provided? What training or help services? If there are basic and advanced user interfaces, what does each offer? N.B.: Use these questions to guide your thoughts — It is not necessary to write detailed answers to these questions in a write-up. Just give the “best URL”, explaining in a sentence or two why you found that particular resource definitive, comprehensive or authoritative. 19 / 55
Outline Recap 1 Query optimization 2 Discussion Section (Thu 1 Sep) 3 The term vocabulary 4 General + Non-English English 20 / 55
Major Steps Recall the major steps in inverted index construction: 1. Collect the documents to be indexed 2. Tokenize the text 3. Do linguistic preprocessing of tokens 4. Index the documents in which each term occurs 21 / 55
Terms and documents Last lecture: Simple Boolean retrieval system Our assumptions were: We know what a document is. We know what a term is. Both issues can be complex in reality. We’ll look a little bit at what a document is. But mostly at terms: How do we define and process the vocabulary of terms of a collection? 22 / 55
Term Statistics Next Lecture: statistical properties of term occurrences Heap’s Law M = kT b : empirical growth of vocabulary with size of collection Zipf’s Law cf i ∝ 1 i : empirical distribution of term usage Both are power laws But first . . . 23 / 55
Parsing a document Before we can even start worrying about terms . . . . . . need to deal with format and language of each document. What format is it in? pdf, word, excel, html etc. What language is it in? What character set is in use? Each of these is a classification problem, which we will study later in this course Alternative: use heuristics 24 / 55
Format/Language: Complications A single index usually contains terms of several languages. Sometimes a document or its components contain multiple languages/formats. French email with Spanish pdf attachment What is the document unit for indexing? A file? An email? An email with 5 attachments? A group of files (ppt or latex in HTML)? Issues with books (again precision vs. recall) 25 / 55
What is a document? Take-away: potentially non-trivial; in many cases requires some design decisions. 26 / 55
Outline Recap 1 Query optimization 2 Discussion Section (Thu 1 Sep) 3 The term vocabulary 4 General + Non-English English 27 / 55
Recommend
More recommend