Professional Documents
Culture Documents
Inverted index
Query optimization
Course overview
2011-10-18
1 / 62
Introduction
Inverted index
Query optimization
Course overview
Take-away
2 / 62
Introduction
Inverted index
Query optimization
Course overview
Take-away
Boolean Retrieval: Design and data structures of a simple information retrieval system
2 / 62
Introduction
Inverted index
Query optimization
Course overview
Take-away
Boolean Retrieval: Design and data structures of a simple information retrieval system What topics will be covered in this class?
2 / 62
Introduction
Inverted index
Query optimization
Course overview
Outline
Introduction Inverted index Processing Boolean queries Query optimization Course overview
3 / 62
Introduction
Inverted index
Query optimization
Course overview
Information retrieval (IR) is nding material (usually documents) of an unstructured nature (usually text) that satises an information need from within large collections (usually stored on computers).
4 / 62
Introduction
Inverted index
Query optimization
Course overview
Information retrieval (IR) is nding material (usually documents) of an unstructured nature (usually text) that satises an information need from within large collections (usually stored on computers).
4 / 62
Introduction
Inverted index
Query optimization
Course overview
Information retrieval (IR) is nding material (usually documents) of an unstructured nature (usually text) that satises an information need from within large collections (usually stored on computers).
4 / 62
Introduction
Inverted index
Query optimization
Course overview
Information retrieval (IR) is nding material (usually documents) of an unstructured nature (usually text) that satises an information need from within large collections (usually stored on computers).
4 / 62
Introduction
Inverted index
Query optimization
Course overview
Information retrieval (IR) is nding material (usually documents) of an unstructured nature (usually text) that satises an information need from within large collections (usually stored on computers).
4 / 62
Introduction
Inverted index
Query optimization
Course overview
Information retrieval (IR) is nding material (usually documents) of an unstructured nature (usually text) that satises an information need from within large collections (usually stored on computers).
4 / 62
Introduction
Inverted index
Query optimization
Course overview
Information retrieval (IR) is nding material (usually documents) of an unstructured nature (usually text) that satises an information need from within large collections (usually stored on computers).
4 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean retrieval
The Boolean model is arguably the simplest model to base an information retrieval system on.
7 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean retrieval
The Boolean model is arguably the simplest model to base an information retrieval system on. Queries are Boolean expressions, e.g., Caesar and Brutus
7 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean retrieval
The Boolean model is arguably the simplest model to base an information retrieval system on. Queries are Boolean expressions, e.g., Caesar and Brutus The seach engine returns all documents that satisfy the Boolean expression.
7 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean retrieval
The Boolean model is arguably the simplest model to base an information retrieval system on. Queries are Boolean expressions, e.g., Caesar and Brutus The seach engine returns all documents that satisfy the Boolean expression.
7 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
8 / 62
Introduction
Inverted index
Query optimization
Course overview
Introduction
Inverted index
Query optimization
Course overview
Outline
Introduction Inverted index Processing Boolean queries Query optimization Course overview
9 / 62
Introduction
Inverted index
Query optimization
Course overview
10 / 62
Introduction
Inverted index
Query optimization
Course overview
Which plays of Shakespeare contain the words Brutus and Caesar, but not Calpurnia?
11 / 62
Introduction
Inverted index
Query optimization
Course overview
Which plays of Shakespeare contain the words Brutus and Caesar, but not Calpurnia? One could grep all of Shakespeares plays for Brutus and Caesar, then strip out lines containing Calpurnia.
11 / 62
Introduction
Inverted index
Query optimization
Course overview
Which plays of Shakespeare contain the words Brutus and Caesar, but not Calpurnia? One could grep all of Shakespeares plays for Brutus and Caesar, then strip out lines containing Calpurnia. Why is grep not the solution?
11 / 62
Introduction
Inverted index
Query optimization
Course overview
Which plays of Shakespeare contain the words Brutus and Caesar, but not Calpurnia? One could grep all of Shakespeares plays for Brutus and Caesar, then strip out lines containing Calpurnia. Why is grep not the solution?
Slow (for large collections)
11 / 62
Introduction
Inverted index
Query optimization
Course overview
Which plays of Shakespeare contain the words Brutus and Caesar, but not Calpurnia? One could grep all of Shakespeares plays for Brutus and Caesar, then strip out lines containing Calpurnia. Why is grep not the solution?
Slow (for large collections) grep is line-oriented, IR is document-oriented
11 / 62
Introduction
Inverted index
Query optimization
Course overview
Which plays of Shakespeare contain the words Brutus and Caesar, but not Calpurnia? One could grep all of Shakespeares plays for Brutus and Caesar, then strip out lines containing Calpurnia. Why is grep not the solution?
Slow (for large collections) grep is line-oriented, IR is document-oriented not Calpurnia is non-trivial
11 / 62
Introduction
Inverted index
Query optimization
Course overview
Which plays of Shakespeare contain the words Brutus and Caesar, but not Calpurnia? One could grep all of Shakespeares plays for Brutus and Caesar, then strip out lines containing Calpurnia. Why is grep not the solution?
Slow (for large collections) grep is line-oriented, IR is document-oriented not Calpurnia is non-trivial Other operations (e.g., nd the word Romans near countryman) not feasible
11 / 62
Introduction
Inverted index
Query optimization
Course overview
Anthony 1 0 0 0 1 Brutus 1 0 1 0 0 Caesar 1 0 1 1 1 Calpurnia 1 0 0 0 0 Cleopatra 0 0 0 0 0 mercy 0 1 1 1 1 worser 0 1 1 1 0 ... Entry is 1 if term occurs. Example: Calpurnia occurs in Julius Caesar. Entry is 0 if term doesnt occur. Example: Calpurnia doesnt occur in The tempest.
12 / 62
Introduction
Inverted index
Query optimization
Course overview
Anthony 1 0 0 0 1 Brutus 1 0 1 0 0 Caesar 1 0 1 1 1 1 0 0 0 0 Calpurnia Cleopatra 0 0 0 0 0 mercy 0 1 1 1 1 worser 0 1 1 1 0 ... Entry is 1 if term occurs. Example: Calpurnia occurs in Julius Caesar. Entry is 0 if term doesnt occur. Example: Calpurnia doesnt occur in The tempest.
12 / 62
Introduction
Inverted index
Query optimization
Course overview
Anthony 1 0 0 0 1 Brutus 1 0 1 0 0 Caesar 1 0 1 1 1 0 0 0 0 Calpurnia 1 Cleopatra 0 0 0 0 0 mercy 0 1 1 1 1 worser 0 1 1 1 0 ... Entry is 1 if term occurs. Example: Calpurnia occurs in Julius Caesar. Entry is 0 if term doesnt occur. Example: Calpurnia doesnt occur in The tempest.
12 / 62
Introduction
Inverted index
Query optimization
Course overview
Incidence vectors
So we have a 0/1 vector for each term. To answer the query Brutus and Caesar and not Calpurnia:
13 / 62
Introduction
Inverted index
Query optimization
Course overview
Incidence vectors
So we have a 0/1 vector for each term. To answer the query Brutus and Caesar and not Calpurnia:
Take the vectors for Brutus, Caesar, and Calpurnia Complement the vector of Calpurnia Do a (bitwise) and on the three vectors 110100 and 110111 and 101111 = 100100
13 / 62
Introduction
Inverted index
Query optimization
Course overview
0 1 1 0 0 1 1 1
0 0 1 0 0 1 1 0
1 0 1 0 0 1 0 0
14 / 62
Introduction
Inverted index
Query optimization
Course overview
Answers to query
Anthony and Cleopatra, Act III, Scene ii Agrippa [Aside to Domitius Enobarbus]: Why, Enobarbus, When Antony found Julius Caesar dead, He cried almost to roaring; and he wept When at Philippi he found Brutus slain. Hamlet, Act III, Scene ii Lord Polonius: I did enact Julius Caesar: I was killed i the Capitol; Brutus killed me.
15 / 62
Introduction
Inverted index
Query optimization
Course overview
Bigger collections
16 / 62
Introduction
Inverted index
Query optimization
Course overview
Bigger collections
Consider N = 106 documents, each with about 1000 tokens total of 109 tokens
16 / 62
Introduction
Inverted index
Query optimization
Course overview
Bigger collections
Consider N = 106 documents, each with about 1000 tokens total of 109 tokens On average 6 bytes per token, including spaces and punctuation size of document collection is about 6 109 = 6 GB
16 / 62
Introduction
Inverted index
Query optimization
Course overview
Bigger collections
Consider N = 106 documents, each with about 1000 tokens total of 109 tokens On average 6 bytes per token, including spaces and punctuation size of document collection is about 6 109 = 6 GB Assume there are M = 500,000 distinct terms in the collection
16 / 62
Introduction
Inverted index
Query optimization
Course overview
Bigger collections
Consider N = 106 documents, each with about 1000 tokens total of 109 tokens On average 6 bytes per token, including spaces and punctuation size of document collection is about 6 109 = 6 GB Assume there are M = 500,000 distinct terms in the collection (Notice that we are making a term/token distinction.)
16 / 62
Introduction
Inverted index
Query optimization
Course overview
17 / 62
Introduction
Inverted index
Query optimization
Course overview
M = 500,000 106 = half a trillion 0s and 1s. But the matrix has no more than one billion 1s.
17 / 62
Introduction
Inverted index
Query optimization
Course overview
M = 500,000 106 = half a trillion 0s and 1s. But the matrix has no more than one billion 1s.
Matrix is extremely sparse.
17 / 62
Introduction
Inverted index
Query optimization
Course overview
M = 500,000 106 = half a trillion 0s and 1s. But the matrix has no more than one billion 1s.
Matrix is extremely sparse.
17 / 62
Introduction
Inverted index
Query optimization
Course overview
M = 500,000 106 = half a trillion 0s and 1s. But the matrix has no more than one billion 1s.
Matrix is extremely sparse.
17 / 62
Introduction
Inverted index
Query optimization
Course overview
Inverted Index
For each term t, we store a list of all documents that contain t. Brutus Caesar Calpurnia . . . dictionary postings 1 1 2 2 2 31 4 4 54 11 5 101 31 6 45 16 173 57 174 132 ...
18 / 62
Introduction
Inverted index
Query optimization
Course overview
Inverted Index
For each term t, we store a list of all documents that contain t. Brutus Caesar Calpurnia . . . dictionary postings 1 1 2 2 2 31 4 4 54 11 5 101 31 6 45 16 173 57 174 132 ...
18 / 62
Introduction
Inverted index
Query optimization
Course overview
Inverted Index
For each term t, we store a list of all documents that contain t. Brutus Caesar Calpurnia . . . dictionary postings 1 1 2 2 2 31 4 4 54 11 5 101 31 6 45 16 173 57 174 132 ...
18 / 62
Introduction
Inverted index
Query optimization
Course overview
Collect the documents to be indexed: Friends, Romans, countrymen. So let it be with Caesar . . . Tokenize the text, turning each document into a list of tokens: Friends Romans countrymen So . . . Do linguistic preprocessing, producing a list of normalized tokens, which are the indexing terms: friend roman countryman so . . . Index the documents that each term occurs in by creating an inverted index, consisting of a dictionary and postings.
19 / 62
Introduction
Inverted index
Query optimization
Course overview
Doc 1. i did enact julius caesar i was killed i the capitol brutus killed me Doc 2. so let it be with caesar the noble brutus hath told you caesar was ambitious
20 / 62
Introduction
Inverted index
Query optimization
Course overview
Generate postings
term docID i 1 did 1 enact 1 julius 1 caesar 1 i 1 was 1 killed 1 i 1 the 1 capitol 1 brutus 1 killed 1 me 1 so 2 let 2 it 2 be 2 with 2 caesar 2 the 2 noble 2 brutus 2 hath 2 told 2 you 2 caesar 2 was 2 ambitious 2
Doc 1. i did enact julius caesar i was killed i the capitol brutus killed me Doc 2. so let it be with caesar the noble brutus hath told you caesar was ambitious
21 / 62
Introduction
Inverted index
Query optimization
Course overview
Sort postings
term docID i 1 did 1 enact 1 julius 1 caesar 1 i 1 was 1 killed 1 i 1 the 1 capitol 1 brutus 1 killed 1 me 1 so 2 let 2 it 2 be 2 with 2 caesar 2 the 2 noble 2 brutus 2 hath 2 told 2 you 2 caesar 2 was 2 ambitious 2 term docID ambitious 2 be 2 brutus 1 brutus 2 capitol 1 caesar 1 caesar 2 caesar 2 did 1 enact 1 hath 1 i 1 i 1 i 1 it 2 julius 1 killed 1 killed 1 let 2 me 1 noble 2 so 2 the 1 the 2 told 2 you 2 was 1 was 2 with 2
22 / 62
Introduction
Inverted index
Query optimization
Course overview
23 / 62
Introduction
Inverted index
Query optimization
Course overview
1 1 2
2 2 31
4 4 54
11 5 101
31 6
45 16
173 57
postings le
24 / 62
Introduction
Inverted index
Query optimization
Course overview
Index construction: how can we create inverted indexes for large collections?
25 / 62
Introduction
Inverted index
Query optimization
Course overview
Index construction: how can we create inverted indexes for large collections? How much space do we need for dictionary and index?
25 / 62
Introduction
Inverted index
Query optimization
Course overview
Index construction: how can we create inverted indexes for large collections? How much space do we need for dictionary and index? Index compression: how can we eciently store and process indexes for large collections?
25 / 62
Introduction
Inverted index
Query optimization
Course overview
Index construction: how can we create inverted indexes for large collections? How much space do we need for dictionary and index? Index compression: how can we eciently store and process indexes for large collections? Ranked retrieval: what does the inverted index look like when we want the best answer?
25 / 62
Introduction
Inverted index
Query optimization
Course overview
Outline
Introduction Inverted index Processing Boolean queries Query optimization Course overview
26 / 62
Introduction
Inverted index
Query optimization
Course overview
27 / 62
Introduction
Inverted index
Query optimization
Course overview
Consider the query: Brutus AND Calpurnia To nd all matching documents using inverted index:
27 / 62
Introduction
Inverted index
Query optimization
Course overview
Consider the query: Brutus AND Calpurnia To nd all matching documents using inverted index:
1
27 / 62
Introduction
Inverted index
Query optimization
Course overview
Consider the query: Brutus AND Calpurnia To nd all matching documents using inverted index:
1 2
Locate Brutus in the dictionary Retrieve its postings list from the postings le
27 / 62
Introduction
Inverted index
Query optimization
Course overview
Consider the query: Brutus AND Calpurnia To nd all matching documents using inverted index:
1 2 3
Locate Brutus in the dictionary Retrieve its postings list from the postings le Locate Calpurnia in the dictionary
27 / 62
Introduction
Inverted index
Query optimization
Course overview
Consider the query: Brutus AND Calpurnia To nd all matching documents using inverted index:
1 2 3 4
Locate Brutus in the dictionary Retrieve its postings list from the postings le Locate Calpurnia in the dictionary Retrieve its postings list from the postings le
27 / 62
Introduction
Inverted index
Query optimization
Course overview
Consider the query: Brutus AND Calpurnia To nd all matching documents using inverted index:
1 2 3 4 5
Locate Brutus in the dictionary Retrieve its postings list from the postings le Locate Calpurnia in the dictionary Retrieve its postings list from the postings le Intersect the two postings lists
27 / 62
Introduction
Inverted index
Query optimization
Course overview
Consider the query: Brutus AND Calpurnia To nd all matching documents using inverted index:
1 2 3 4 5 6
Locate Brutus in the dictionary Retrieve its postings list from the postings le Locate Calpurnia in the dictionary Retrieve its postings list from the postings le Intersect the two postings lists Return intersection to user
27 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
28 / 62
Introduction
Inverted index
Query optimization
Course overview
This is linear in the length of the postings lists. Note: This only works if postings lists are sorted.
28 / 62
Introduction
Inverted index
Query optimization
Course overview
29 / 62
Introduction
Inverted index
Query optimization
Course overview
30 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean queries
The Boolean retrieval model can answer any query that is a Boolean expression.
31 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean queries
The Boolean retrieval model can answer any query that is a Boolean expression.
Boolean queries are queries that use and, or and not to join query terms.
31 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean queries
The Boolean retrieval model can answer any query that is a Boolean expression.
Boolean queries are queries that use and, or and not to join query terms. Views each document as a set of terms.
31 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean queries
The Boolean retrieval model can answer any query that is a Boolean expression.
Boolean queries are queries that use and, or and not to join query terms. Views each document as a set of terms. Is precise: Document matches condition or not.
31 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean queries
The Boolean retrieval model can answer any query that is a Boolean expression.
Boolean queries are queries that use and, or and not to join query terms. Views each document as a set of terms. Is precise: Document matches condition or not.
31 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean queries
The Boolean retrieval model can answer any query that is a Boolean expression.
Boolean queries are queries that use and, or and not to join query terms. Views each document as a set of terms. Is precise: Document matches condition or not.
Primary commercial retrieval tool for 3 decades Many professional searchers (e.g., lawyers) still like Boolean queries.
31 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean queries
The Boolean retrieval model can answer any query that is a Boolean expression.
Boolean queries are queries that use and, or and not to join query terms. Views each document as a set of terms. Is precise: Document matches condition or not.
Primary commercial retrieval tool for 3 decades Many professional searchers (e.g., lawyers) still like Boolean queries.
You know exactly what you are getting.
31 / 62
Introduction
Inverted index
Query optimization
Course overview
Boolean queries
The Boolean retrieval model can answer any query that is a Boolean expression.
Boolean queries are queries that use and, or and not to join query terms. Views each document as a set of terms. Is precise: Document matches condition or not.
Primary commercial retrieval tool for 3 decades Many professional searchers (e.g., lawyers) still like Boolean queries.
You know exactly what you are getting.
Many search systems you use are also Boolean: spotlight, email, intranet etc.
31 / 62
Introduction
Inverted index
Query optimization
Course overview
Largest commercial legal search service in terms of the number of paying subscribers
32 / 62
Introduction
Inverted index
Query optimization
Course overview
Largest commercial legal search service in terms of the number of paying subscribers Over half a million subscribers performing millions of searches a day over tens of terabytes of text data
32 / 62
Introduction
Inverted index
Query optimization
Course overview
Largest commercial legal search service in terms of the number of paying subscribers Over half a million subscribers performing millions of searches a day over tens of terabytes of text data The service was started in 1975.
32 / 62
Introduction
Inverted index
Query optimization
Course overview
Largest commercial legal search service in terms of the number of paying subscribers Over half a million subscribers performing millions of searches a day over tens of terabytes of text data The service was started in 1975. In 2005, Boolean search (called Terms and Connectors by Westlaw) was still the default, and used by a large percentage of users . . .
32 / 62
Introduction
Inverted index
Query optimization
Course overview
Largest commercial legal search service in terms of the number of paying subscribers Over half a million subscribers performing millions of searches a day over tens of terabytes of text data The service was started in 1975. In 2005, Boolean search (called Terms and Connectors by Westlaw) was still the default, and used by a large percentage of users . . . . . . although ranked retrieval has been available since 1992.
32 / 62
Introduction
Inverted index
Query optimization
Course overview
33 / 62
Introduction
Inverted index
Query optimization
Course overview
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)
33 / 62
Introduction
Inverted index
Query optimization
Course overview
Information need: Cases about a hosts responsibility for drunk guests Query: host! /p (responsib! liab!) /p (intoxicat! drunk!) /p guest
33 / 62
Introduction
Inverted index
Query optimization
Course overview
Westlaw: Comments
34 / 62
Introduction
Inverted index
Query optimization
Course overview
Westlaw: Comments
Proximity operators: /3 = within 3 words, /s = within a sentence, /p = within a paragraph Space is disjunction, not conjunction! (This was the default in search pre-Google.)
34 / 62
Introduction
Inverted index
Query optimization
Course overview
Westlaw: Comments
Proximity operators: /3 = within 3 words, /s = within a sentence, /p = within a paragraph Space is disjunction, not conjunction! (This was the default in search pre-Google.) Long, precise queries: incrementally developed, not like web search
34 / 62
Introduction
Inverted index
Query optimization
Course overview
Westlaw: Comments
Proximity operators: /3 = within 3 words, /s = within a sentence, /p = within a paragraph Space is disjunction, not conjunction! (This was the default in search pre-Google.) Long, precise queries: incrementally developed, not like web search Why professional searchers often like Boolean search: precision, transparency, control
34 / 62
Introduction
Inverted index
Query optimization
Course overview
Westlaw: Comments
Proximity operators: /3 = within 3 words, /s = within a sentence, /p = within a paragraph Space is disjunction, not conjunction! (This was the default in search pre-Google.) Long, precise queries: incrementally developed, not like web search Why professional searchers often like Boolean search: precision, transparency, control When are Boolean queries the best way of searching? Depends on: information need, searcher, document collection, . . .
34 / 62
Introduction
Inverted index
Query optimization
Course overview
Outline
Introduction Inverted index Processing Boolean queries Query optimization Course overview
35 / 62
Introduction
Inverted index
Query optimization
Course overview
Query optimization
36 / 62
Introduction
Inverted index
Query optimization
Course overview
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
36 / 62
Introduction
Inverted index
Query optimization
Course overview
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
36 / 62
Introduction
Inverted index
Query optimization
Course overview
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?
36 / 62
Introduction
Inverted index
Query optimization
Course overview
Query optimization
37 / 62
Introduction
Inverted index
Query optimization
Course overview
Query optimization
Example query: Brutus AND Calpurnia AND Caesar Simple and eective optimization: Process in order of increasing frequency
37 / 62
Introduction
Inverted index
Query optimization
Course overview
Query optimization
Example query: Brutus AND Calpurnia AND Caesar Simple and eective optimization: Process in order of increasing frequency Start with the shortest postings list, then keep cutting further
37 / 62
Introduction
Inverted index
Query optimization
Course overview
Query optimization
Example query: Brutus AND Calpurnia AND Caesar Simple and eective optimization: Process in order of increasing frequency Start with the shortest postings list, then keep cutting further
37 / 62
Introduction
Inverted index
Query optimization
Course overview
Query optimization
Example query: Brutus AND Calpurnia AND Caesar Simple and eective optimization: Process in order of increasing frequency Start with the shortest postings list, then keep cutting further In this example, rst Caesar, then Calpurnia, then Brutus Brutus Calpurnia Caesar 1 2 4 11 31 45 173 174 2 31 54 101 5 31
37 / 62
Introduction
Inverted index
Query optimization
Course overview
Intersect( t1 , . . . , tn ) 1 terms SortByIncreasingFrequency( t1 , . . . , tn ) 2 result postings(rst(terms)) 3 terms rest(terms) 4 while terms = nil and result = nil 5 do result Intersect(result, postings(rst(terms))) 6 terms rest(terms) 7 return result
38 / 62
Introduction
Inverted index
Query optimization
Course overview
39 / 62
Introduction
Inverted index
Query optimization
Course overview
Example query: (madding or crowd) and (ignoble or strife) Get frequencies for all terms
39 / 62
Introduction
Inverted index
Query optimization
Course overview
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)
39 / 62
Introduction
Inverted index
Query optimization
Course overview
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
39 / 62
Introduction
Inverted index
Query optimization
Course overview
Outline
Introduction Inverted index Processing Boolean queries Query optimization Course overview
40 / 62
Introduction
Inverted index
Query optimization
Course overview
Course overview
41 / 62
Introduction
Inverted index
Query optimization
Course overview
Course overview
We are done with Chapter 1 of IIR (IIR 01). Plan for the rest of the semester: 1820 of the 21 chapters of IIR
41 / 62
Introduction
Inverted index
Query optimization
Course overview
Course overview
We are done with Chapter 1 of IIR (IIR 01). Plan for the rest of the semester: 1820 of the 21 chapters of IIR In what follows: teasers for most chapters to give you a sense of what will be covered.
41 / 62
Introduction
Inverted index
Query optimization
Course overview
Phrase queries: Stanford University Proximity queries: Gates near Microsoft We need an index that captures position information for phrase queries and proximity queries.
42 / 62
Introduction
Inverted index
Query optimization
Course overview
bo or rd
- aboard
- about
- boardroom - border
- border
lord
- morbid
- sordid
- aboard
- ardent
- boardroom - border
43 / 62
Introduction
Inverted index
Query optimization
Course overview
splits
assign
master
assign
parser parser
reduce phase
44 / 62
Introduction
Inverted index
Query optimization
Course overview
log10 rank
Zipfs law
45 / 62
Introduction
Inverted index
Query optimization
Course overview
IIR 06: Scoring, term weighting and the vector space model
Ranking search results
Boolean queries only give inclusion or exclusion of documents. For ranked retrieval, we measure the proximity between the query and each document. One formalism for doing this: the vector space model
46 / 62
Introduction
Inverted index
Query optimization
Course overview
Document cache
Spell correction
k-gram
training set
47 / 62
Introduction
Inverted index
Query optimization
Course overview
48 / 62
Introduction
Inverted index
Query optimization
Course overview
49 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 .
50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops.
50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog
50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog P(string) = 0.01
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said P(string) = 0.01
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said P(string) = 0.01 0.03
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that P(string) = 0.01 0.03
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that P(string) = 0.01 0.03 0.04
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad P(string) = 0.01 0.03 0.04
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad P(string) = 0.01 0.03 0.04 0.01
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad likes P(string) = 0.01 0.03 0.04 0.01
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad likes P(string) = 0.01 0.03 0.04 0.01 0.02
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad likes frog P(string) = 0.01 0.03 0.04 0.01 0.02
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad likes frog P(string) = 0.01 0.03 0.04 0.01 0.02 0.01
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad likes frog STOP P(string) = 0.01 0.03 0.04 0.01 0.02 0.01
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad likes frog STOP P(string) = 0.01 0.03 0.04 0.01 0.02 0.01 0.2
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
q1
This is a one-state probabilistic nite-state automaton a unigram language model and the state emission distribution for its one state q1 . STOP is not a word, but a special symbol indicating that the automaton stops. frog said that toad likes frog STOP P(string) = 0.01 0.03 0.04 0.01 0.02 0.01 0.2 = 0.0000000000048
Schtze: Boolean Retrieval u 50 / 62
Introduction
Inverted index
Query optimization
Course overview
51 / 62
Introduction
Inverted index
Query optimization
Course overview
52 / 62
Introduction
Inverted index
Query optimization
Course overview
document xt = 1 xt = 0
t:xt =0,qt =1
nonrelevant (R = 0) ut 1 ut 1 pt (1) 1 ut
52 / 62
Introduction
Inverted index
Query optimization
Course overview
X X X X
X X
53 / 62
Introduction
Inverted index
Query optimization
Course overview
54 / 62
Introduction
Inverted index
Query optimization
Course overview
55 / 62
Introduction
Inverted index
Query optimization
Course overview
http://news.google.com
56 / 62
Introduction
Inverted index
Query optimization
Course overview
57 / 62
Introduction
Inverted index
Query optimization
Course overview
Unusual and diverse documents Unusual and diverse users and information needs Beyond terms and text: exploit link analysis, user data How do web search engines work? How can we make them better?
58 / 62
Introduction
Inverted index
Query optimization
Course overview
- DNS 6 ?
www
-
666
6 ?
-Fetch
6
URL Frontier
59 / 62
Introduction
Inverted index
Query optimization
Course overview
60 / 62
Introduction
Inverted index
Query optimization
Course overview
Take-away
Boolean Retrieval: Design and data structures of a simple information retrieval system What topics will be covered in this class?
61 / 62
Introduction
Inverted index
Query optimization
Course overview
Resources
62 / 62