Download presentation
Presentation is loading. Please wait.
Published byMarianna Richardson Modified over 9 years ago
1
Information Retrieval CSE 8337 Spring 2007 Query Languages & Matching Material for these slides obtained from: Modern Information Retrieval by Ricardo Baeza-Yates and Berthier Ribeiro-Neto http://www.sims.berkeley.edu/~hearst/irbook/ http://www.sims.berkeley.edu/~hearst/irbook/ Prof. Raymond J. Mooney in CS378 at University of Texas Introduction to Modern Information Retrieval by Gerald Salton and Michael J. McGill, 1983, McGraw-Hill.
2
CSE 8337 Spring 2007 2 Query Languages TOC Keyword Based Boolean Weighted Boolean Context Based (Phrasal & Proximity) Pattern Matching Structural Queries
3
CSE 8337 Spring 2007 3 Keyword Based Queries Basic Queries Single word Multiple words Context Queries Phrase Proximity
4
CSE 8337 Spring 2007 4 Boolean Queries Keywords combined with Boolean operators: OR: (e 1 OR e 2 ) AND: (e 1 AND e 2 ) BUT: (e 1 BUT e 2 ) Satisfy e 1 but not e 2 Negation only allowed using BUT to allow efficient use of inverted index by filtering another efficiently retrievable set. Naïve users have trouble with Boolean logic.
5
CSE 8337 Spring 2007 5 Boolean Retrieval with Inverted Indices Primitive keyword: Retrieve containing documents using the inverted index. OR: Recursively retrieve e 1 and e 2 and take union of results. AND: Recursively retrieve e 1 and e 2 and take intersection of results. BUT: Recursively retrieve e 1 and e 2 and take set difference of results.
6
CSE 8337 Spring 2007 6 Weighted Boolean Queries Extension to boolean queries which adds weights to terms. Weights indicate the degree of importance that that term has in the operation. Traditional Boolean Interpretation:
7
CSE 8337 Spring 2007 7 Processing Weighted Boolean Queries If both query and document terms are weighted, then retrieve a document if the document term weight is greater than the query term weight. If documents are not weighted rank based on some similarity measure. The weights in the query determines which (number) documents to be included. The next few slides show how this can be done in a system with no document term weights.
8
CSE 8337 Spring 2007 8 Weighted Boolean Interpretation A 0 A 0.33 A 0.5 A 0.66 A 1 To perform Boolean operations, must be able to determine distance from items in A(B) to B(A). Centroid based distances
9
CSE 8337 Spring 2007 9 Weighted OR A a OR B b As b gets closer to 1, include more items in B which are closest to A. As a gets closer to 1, include more items in A which are closest to B. A B A OR B 0.33 – All items in A plus 1/3 of those in B A 0.66 OR B 0.33 – 2/3 the items in A and 1/3 of those in B A B
10
CSE 8337 Spring 2007 10 Weighted AND A a AND B b As b gets closer to 1, items in A-B farthest from intersection are removed. As a gets closer to 1, items in B-A farthest from intersection are removed. A AND B 0.33 – Remove all of B and 1/3 of A outside of intersection. A B A 0.66 AND B 0.33 – Remove 1/3 of A and 2/3 of B. A B
11
CSE 8337 Spring 2007 11 Weighted NOT A a NOT B b As b gets closer to 1, remove more items from intersection that are farthest from A-B. a indicates how much of A to include. A B A NOT B 0.33 – All items in A-B and 2/3 of items in intersection. A 0.66 NOT B 0.33 – 2/3 the items in A-B and 2/3 of items in intersection. A B
12
CSE 8337 Spring 2007 12 Phrasal Queries Retrieve documents with a specific phrase (ordered list of contiguous words) “information theory” May allow intervening stop words and/or stemming. “buy camera” matches: “buy a camera” “buying the cameras” etc.
13
CSE 8337 Spring 2007 13 Phrasal Retrieval with Inverted Indices Must have an inverted index that also stores positions of each keyword in a document. Retrieve documents and positions for each individual word, intersect documents, and then finally check for ordered contiguity of keyword positions. Best to start contiguity check with the least common word in the phrase.
14
CSE 8337 Spring 2007 14 Phrasal Search Algorithm 1. Find set of documents D in which all keywords (k 1 …k m ) in phrase occur (using AND query processing). 2. Intitialize empty set, R, of retrieved documents. 3. For each document, d, in D do 4. Get array, P i, of positions of occurrences for each k i in d 5. Find shortest array P s of the P i ’s 6. For each position p of keyword k s in P s do 7. For each keyword k i except k s do 8. Use binary search to find a position (p – s + i ) in the array P i 1. If correct position for every keyword found, add d to R 2. Return R
15
CSE 8337 Spring 2007 15 Proximity Queries List of words with specific maximal distance constraints between terms. Example: “dogs” and “race” within 4 words match “…dogs will begin the race…” May also perform stemming and/or not count stop words.
16
CSE 8337 Spring 2007 16 Proximity Retrieval with Inverted Index Use approach similar to phrasal search to find documents in which all keywords are found in a context that satisfies the proximity constraints. During binary search for positions of remaining keywords, find closest position of k i to p and check that it is within maximum allowed distance.
17
CSE 8337 Spring 2007 17 Pattern Matching Allow queries that match strings rather than word tokens. Requires more sophisticated data structures and algorithms than inverted indices to retrieve efficiently.
18
CSE 8337 Spring 2007 18 Simple Patterns Prefixes: Pattern that matches start of word. “anti” matches “antiquity”, “antibody”, etc. Suffixes: Pattern that matches end of word: “ix” matches “fix”, “matrix”, etc. Substrings: Pattern that matches arbitrary subsequence of characters. “rapt” matches “enrapture”, “velociraptor” etc. Ranges: Pair of strings that matches any word lexicographically (alphabetically) between them. “tin” to “tix” matches “tip”, “tire”, “title”, etc.
19
CSE 8337 Spring 2007 19 Allowing Errors What if query or document contains typos or misspellings? Judge similarity of words (or arbitrary strings) using: Edit distance (cost of insert/delete/match) Longest Common Subsequence (LCS) Allow proximity search with bound on string similarity.
20
CSE 8337 Spring 2007 20 Longest Common Subsequence (LCS) Length of the longest subsequence of characters shared by two strings. A subsequence of a string is obtained by deleting zero or more characters. Examples: “misspell” to “mispell” is 7 “misspelled” to “misinterpretted” is 7 “mis…p…e…ed”
21
CSE 8337 Spring 2007 21 Regular Expressions Language for composing complex patterns from simpler ones. An individual character is a regex. Union: If e 1 and e 2 are regexes, then (e 1 | e 2 ) is a regex that matches whatever either e 1 or e 2 matches. Concatenation: If e 1 and e 2 are regexes, then e 1 e 2 is a regex that matches a string that consists of a substring that matches e 1 immediately followed by a substring that matches e 2 Repetition: If e 1 is a regex, then e 1 * is a regex that matches a sequence of zero or more strings that match e 1
22
CSE 8337 Spring 2007 22 Regular Expression Examples (u|e)nabl(e|ing) matches unable unabling enable enabling (un|en)*able matches able unable unenable enununenable
23
CSE 8337 Spring 2007 23 Enhanced Regex’s (Perl) Special terms for common sets of characters, such as alphabetic or numeric or general “wildcard”. Special repetition operator (+) for 1 or more occurrences. Special optional operator (?) for 0 or 1 occurrences. Special repetition operator for specific range of number of occurrences: {min,max}. A{1,5} One to five A’s. A{5,} Five or more A’s A{5} Exactly five A’s
24
CSE 8337 Spring 2007 24 Perl Regex’s Character classes: \w (word char) Any alpha-numeric (not: \W) \d (digit char) Any digit (not: \D) \s (space char) Any whitespace (not: \S). (wildcard) Anything Anchor points: \b (boundary) Word boundary ^ Beginning of string $ End of string
25
CSE 8337 Spring 2007 25 Perl Regex Examples U.S. phone number with optional area code: /\b(\(\d{3}\)\s?)?\d{3}-\d{4}\b/ Email address: /\b\S+@\S+(\.com|\.edu|\.gov|\.org|\.net)\b/ Note: Packages available to support Perl regex’s in Java
26
CSE 8337 Spring 2007 26 Structural Queries Assumes documents have structure that can be exploited in search. Structure could be: Fixed set of fields, e.g. title, author, abstract, etc. Hierarchical (recursive) tree structure: chapter titlesectiontitlesection titlesubsection chapter book
27
CSE 8337 Spring 2007 27 Queries with Structure Allow queries for text appearing in specific fields: “nuclear fusion” appearing in a chapter title SFQL: Relational database query language SQL enhanced with “full text” search. Select abstract from journal.papers where author contains “Teller” and title contains “nuclear fusion” and date < 1/1/1950
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.