48
Chapter 6 Queries and Interfaces

Chapter 6 Queries and Interfaces. Keyword Queries n Simple, natural language queries were designed to enable everyone to search n Current search engines

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

Chapter 6

Queries and Interfaces

2

Keyword Queries Simple, natural language queries were designed to

enable everyone to search

Current search engines do not perform well (in general) with natural language queries

People trained (in effect) to use keywords

Compare average of about 2.3 words/Web query to average of 30 words/Community-based

Question Answering (CQA) query

Keyword selection is not always easy

Query refinement techniques can help

3

Query-Based Stemming

Make decision about stemming at query time rather than during indexing

Improved flexibility and effectiveness

Query is expanded using word variants

Documents are not stemmed

e.g., “rock climbing” expanded with “climb”, not stemmed to “climb”

4

Stem Classes Stemming generates stem classes

A stem class is the group of words that will be transformed into the same stem by the stemming algorithm

Generated by running stemmer on large corpus

e.g., Porter stemmer on TREC News on 3 stem classes with the first entry being the stem

5

Stem Classes

Stem classes are often too big and inaccurate

Modify using analysis of word co-occurrence

Assumption:

Word variants that could substitute for each other should co-occur often in documents

6

Modifying Stem Classes For all pairs of words in the stem classes, count how

often they co-occur in text windows of W words, where W is in the range 50-100

Compute a co-occurrence or association metric for each pair, which measures the degree of association between the words.

Construct a graph where the vertices represent words and the edges are between words

whose co-occurrence metric is above a threshold value, which is set empirically.

Find the connected components of the graph. These are the new stem classes.

7

Modifying Stem Classes Dices’ Coefficient is an example of a term association

measure

, where nx is the number of windows (documents) containing x

a measure of the proportion of term co-occurrence

Two vertices are in the same connected component of a graph if there is a path between them

Forms word clusters

Sample output of modification

8

Context Sensitive StemmingAccording to [Peng 07]:

Although stemming increases recall, when considering Web searches, stemming lowers precision and requires significant additional computation.

Traditional stemming transforms all query terms, i.e., it always performs the same transformation for the same query word, regardless of the context in which the words appears.

Stemming by query expansion, on the other hand, handles each query differently, i.e., considers the context of each word in a query, which is more effective.

The Porter Stemmer algorithm does not considers the semantic meaning of words and thus can make mistakes when converting a word to its base form, e.g., “news” to “new”.

[Peng 07] F. Peng, et al. Context Sensitive Stemming for Web Search. In Proc. of Conf. on Research and Development in Information Retrieval. 2007.

9

Spell Checking Important part of query processing

10-15% of all Web queries have spelling errors

Errors include typical word processing errors but also many other types, (e.g., errors extracted from query logs)

10

Spell Checking Basic approach: suggest corrections for words not found

in spelling dictionary

Many spelling errors are related to websites, products, companies, people, etc. that are unlikely to be found

Suggestions found by comparing word to words in dictionary using similarity measure

Most common similarity measure is edit distance

Number of operations required to transform one word into the other

11

Edit Distance Damerau-Levenshtein Distance

Counts the minimum number of insertions, deletions, substitutions, or transpositions of single characters required

e.g., Damerau-Levenshtein distance 1 (single-character errors)

Distance 2

12

Edit Distance Different techniques used to speed up calculation of

edit distances -- restrict to words that

start with same character (spelling errors rarely occur in the first letter)

come with similar length (spelling errors rarely occur on words with the same length)

sound the same (homophone, rules map words to codes)

Last option uses a (same) phonetic code to group words

e.g., Soundex

13

Soundex Code

(correct word may not always have the same Soundex code)

14

Spelling Correction Issues Ranking corrections (> 1 possible corrections for an error)

“Did you mean...” feature requires accurate ranking of possible corrections (more likely: the best suggestion)

Context Choosing right suggestion depends on context (other words)

e.g., lawers → lowers, lawyers, layers, lasers, lagers but trial lawers → trial lawyers

Run-on errors (word boundaries are skipped/mistyped) e.g., “mainscourcebank”

Missing spaces can be considered another single character error in right framework

15

Noisy Channel Model Address the issues of ranking, context, and run-on errors

User chooses word w based on probability distribution P(w)

Called the language model

Can capture context information about the frequency of occurrence of a word in text, e.g., P(w1 | w2)

The probability of observing a word, given that another one has just been observed

User writes word w, but noisy channel causes word e to be written instead with probability P(e | w)

Called error model

Represents information about the frequency of spelling errors

16

Noisy Channel Model Need to estimate probability of correction – to represent

info. about the frequency of different types of errors

P(w | e) = P(e | w)P(w), i.e., the probability that given a written word e, the correct word is w

Estimate language model using context

P(w) = λP(w) + (1 − λ)P(w | wp)

where wp is a previous word of w, and λ is a parameter which specifies the relative importance of P(w) & P(w | wp)

Examples.

“fish tink”: “tank” and “think” both likely corrections, but

Error ModelProbability of

Word Occurrence

P(tank | fish) > P(think | fish)

Probability of WordCo-occurrence

17

Noisy Channel Model Language model probabilities estimated using corpus

and query log

Both simple and complex methods have been used for estimating error model

Simple approach: assume that all words with same edit distance have same probability, only edit distance 1 and 2 considered

More complex approach: incorporate estimates based on common typing errors

• Estimates are derived from large collections of text by finding many pairs of (in)correctly spelled words

18

Cucerzan and Brill (2004)’s Spell Checker using (i) query log (QL) and (ii) dictionary (D)

1. Tokenize the query.

2. For each token, a set of alternative words and pairs of words is found using an edit distance modified by weighting certain types of errors. The data structure that is searched for the alternatives contains words and pairs from QL and D.

3. The noisy channel model is used to select the best correction.

4. The process of looking for alternatives and finding the best correction is repeated until no better correction is found.

19

Query Expansion

A variety of (semi)-automatic query expansion techniques have been developed

Goal: improve effectiveness by matching related terms

Semi-automatic techniques require user interaction to select best expansion terms

Query suggestion is a related technique

Alternative queries, not necessarily more terms

20

Query Expansion Approaches usually based on an analysis of term co-

occurrence either in

(i) the entire document collection,

(ii) a large collection of queries, or

(iii) the top-ranked documents in a result list

Query-based stemming also an expansion technique

Automatic expansion based on general thesaurus, but not effective

Does not take context into account

21

Term Association Measures Key to effective expansion: choose appropriate words

for the context of the query

e.g., “aquarium” for “tank” in “tropical fish tanks”, but not for “armor for tanks”

Dice’s Coefficient: computing the term-occurrence

Mutual Information: measure co-occurrence words

log P(a, b)

P(a)P(b)

rank na . nb

nab

22

Term Association Measures Mutual Information measure favors low frequency terms

Expected Mutual Information Measure (EMIM) corrects the problem of MIM by weighting MIM values

using P(a, b)

where N is the number of documents in a collection

favoring high-frequency terms, which can be a problem

23

Term Association Measures Pearson’s Chi-squared (χ2) measure

Compares the number of co-occurrences of two words with the expected number of co-occurrences

if the two words were independent

Normalizes this comparison by the expected number

Also limited form focused on word co-occurrence

independentco-occurrences

24

Association Measure Summary

Favor high-frequency terms

Favor low-frequency terms

25

Association Measures Associated words are of little use for expanding the query

“tropical fish”

Expansion based on whole query takes context into account

e.g., using Dice with term “tropical fish” gives the following highly associated words:

goldfish, reptile, aquarium, coral, frog, exotic, stripe, regent, pet, wet

Impractical for all possible queries, other approaches used to achieve this effect

26

Other Approaches Pseudo-relevance feedback

Expansion terms based on top retrieved documents for initial query

Context vectors

Represent words by the co-occurred words

• e.g., top 35 most strongly associated words for “aquarium” (using Dice’s coefficient):

Rank words for a query by ranking context vectors

27

Other Approaches Query logs

Best source of information about queries and related terms

• Short pieces of text and click data

e.g., most frequent words in queries containing “tropical fish” from MSN log:

stores, pictures, live, sale, types, clipart, blue, freshwater, aquarium, supplies

Query suggestion based on finding similar queries

• Group based on click data

28

Query Expansion on Web Searches According to [Crabtree 07] automatic query expansion (on

Web searches)

Enhances recall but not precision: expanding queries using 20 terms improves the recall of the result set, but hurts

the precision due to query drift.

Helps identifying other relevant pages by identifying additional terms that occur on relevant pages

Relies on both local and global document analysis (considering documents in the result set or using a

thesauri/properties of the entire corpus, respectively) as sources for refinement terms

[Crabtree 07] D. Crabtree et al. Exploiting Underrepresented Query Aspects for Automatic Query Expansion. In Proc. of Conf. on Knowledge Discovery and Data Mining. 2007.

29

Relevance Feedback User identifies relevant (and maybe non-relevant)

documents in the initial result list

System modifies query using terms from those documents and re-ranks documents

Example of simple ML algorithm using training data

But, very little training data

Pseudo-relevance feedback just assumes top-ranked documents are relevant – no user input

30

Relevance Feedback Example

Top 10 documents for “tropical fish”

Snippets

31

Relevance Feedback Example

If we assume top 10 are relevant, most frequent terms are (with frequency):

a (926), td (535), href (495), http (357), width (345), com (343), nbsp (316), www (260), tr (239), htm (233), class (225), jpg (221)

Too many stopwords and HTML expressions

Use only snippets and remove stopwords

tropical (26), fish (28), aquarium (8), freshwater (5), breeding (4), information (3), species (3), tank (2), Badman’s (2), page (2), hobby (2), forums (2)

32

Relevance Feedback Both relevance and pseudo-relevance feedback are

effective, but not used in many applications

Pseudo-relevance feedback has reliability issues, especially with queries that don’t retrieve

many relevant documents

Some applications use relevance feedback

Filtering, “more like this”

Query suggestion more popular

May be less accurate, but can work if initial query fails

33

Context and Personalization If a query has the same words as another query, results

will be the same regardless of

Who submitted the query

Why the query was submitted

Where the query was submitted

What other queries were submitted in the same session

These other factors (the context) could have a significant impact on relevance

Difficult to incorporate into ranking

34

User Models Generate user profiles based on documents that the

person looks at

Such as Web pages visited, email messages, or word processing documents on the desktop

Modify user’s queries using words from his profile

Generally not effective

Imprecise profiles, information needs can change significantly

35

Query Logs Query logs provide important contextual information that

can be used effectively

Context in this case is

Previous queries that are the same

Previous queries that are similar

Query sessions including the same query

Query history for individuals could be used for caching

36

Local Search Location is context

Local search uses geographic information to modify the ranking of search results

Location derived from the query text

Location of the device where the query originated

Examples

“Underworld 3 cape cod”

“Underworld 3” from mobile device in Hyannis

37

Local Search Identify the geographic region associated with Web pages

Use location metadata that has been manually added to the document

Or identify locations such as place names, city names, or country names in text

Identify the geographic region associated with the query

10-15% of queries contain some location reference

Rank Web pages using location information in addition to text and link-based features

38

Snippet Generation

Query-dependent document summary

Simple summarization approach

Rank each sentence in a document using a significance factor

Select the top sentences for the summary

First proposed by Luhn in 50’s

39

Sentence Selection Significance factor for a sentence is calculated based

on the occurrence of significant words

If fd,w is the frequency of word w in document d, then w is a significant word if it is not a stopword, i.e.,

a high-frequency word, and

where sd is the number of sentences in document d

Text is bracketed by significant words (limit on number of non-significant words in bracket)

40

Sentence Selection Significance factor for bracketed text spans is computed

by (i) dividing the square of the number of significant words in the span by (ii) the total number of words

Example.

Significance factor = 42/7 = 2.3

The limit set for non-significantwords in a bracket is 4

41

Snippet Generation Involves more features than just significance factor

Example. (A sentence-based approach) on a news story

1. Whether the sentence is a heading

2. Whether it is the 1st or 2nd line of the document

3. The total number of query terms occurring in the sentence

4. The number of unique query terms in the sentence

5. The longest contiguous run of query words in the sentence

6. A density measure of query words (i.e., significance factor)

Weighted combination of features used to rank sentences

42

Blog Snippets

According to [Parapar 10], in performing a Blog search

Considering reader’s comments improves the quality of post snippets and thus enhances users’ access to relevant post in a result list

Indexing comments, as well as the post itself, enhances the recall of a blog search, which is more important in blog than web search, since searchers are usually interested in all recent posts about a specific topic)

[Parapar 10] J. Parapar et al. Blog Snippets: A Comments-Biased Approach. In Proc. of Intl. Conf. on Research and

Development in Information Retrieval . 2010.

43

Clustering Results Result lists often contain documents related to different

aspects of the query topic

Clustering is used to group related documents to simplify browsing

Example clusters for query “tropical fish”

44

Result List Example

Top 10 docsfor “tropical fish”

45

Clustering Results Requirements

Efficiency

Must be specific to each query and are based on the top-ranked documents for that query

Typically based on snippets

Easy to understand

Can be difficult to assign good labels to groups

Monothetic vs. polythetic classification

46

Types of Classification Monothetic

Every member of a class has the property that defines the class

Typical assumption made by users

Easy to understand

Polythetic

Members of classes share many properties but there is no single defining property

Most clustering algorithms (e.g., K-means) produce this type of output

47

Classification Example

Possible monothetic classification

{ D1,D2 } (labeled using a) and { D2,D3 } (labeled e)

Possible polythetic classification

{ D2,D3,D4 }, D1

Labels?

D1 = {a, b, c}D2 = {a, d, e}D3 = {d, e, f, g}D4 = {f, g}

48

Result Clusters Simple algorithm

Group based on words in snippets

Refinements

Use phrases

Use more features

• Whether phrases occurred in titles or snippets

• Length of the phrase

• Collection frequency of the phrase

• Overlap of the resulting clusters