Lecture 2: The term vocabulary and postings lists Related to Chapter 2:

49
Introduction to Information Retrieval Introduction to Information Retrieval Lecture 2: The term vocabulary and postings lists Related to Chapter 2: http://nlp.stanford.edu/IR-book/ pdf/02voc.pdf

description

Lecture 2: The term vocabulary and postings lists Related to Chapter 2: http://nlp.stanford.edu/IR-book/pdf/02voc.pdf. Ch. 1. Recap of the previous lecture. Basic inverted indexes: Structure: Dictionary and Postings Boolean query processing Intersection by linear time “merging” - PowerPoint PPT Presentation

Transcript of Lecture 2: The term vocabulary and postings lists Related to Chapter 2:

Page 1: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Introduction to

Information Retrieval

Lecture 2: The term vocabulary and postings lists

Related to Chapter 2: http://nlp.stanford.edu/IR-book/pdf/02voc.pdf

Page 2: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Recap of the previous lecture Basic inverted indexes:

Structure: Dictionary and Postings

Boolean query processing Intersection by linear time “merging” Simple optimizations

Ch. 1

2

Page 3: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Plan for this lecture Preprocessing to form the term vocabulary

Tokenization Normalization

Postings Faster merges: skip lists Positional postings and phrase queries

3

Page 4: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Recall the basic indexing pipeline

Tokenizer

Token stream. Friends Romans Countrymen

Linguistic modules

Modified tokens. friend roman countrymanIndexe

rInverted index.

friend

roman

countryman

2 42

13 161

Documents tobe indexed. Friends, Romans, countrymen.

4

Page 5: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

The first step: Parsing a document What format is it in?

pdf/word/excel/html What language is it in? What character set is in use?

Sec. 2.1

5

Page 6: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Complications: Format/language Documents being indexed can include docs from

many different languages A single index may have to contain terms of several

languages.

Sometimes a document or its components can contain multiple languages/formats French email with a German pdf attachment.

Sec. 2.1

6

Page 7: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

TOKENIZATION

7

Page 8: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Tokenization

Given a character sequence, tokenization is the task

of chopping it up into pieces, called tokens.

Perhaps at the same time throwing away certain

characters, such as punctuation.

8

Page 9: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Tokenization Input: “university of Qom, computer department” Output: Tokens

university of Qom computer Department

Each such token is now a candidate for an index entry, after further processing: Normalization.

But what are valid tokens to emit?

Sec. 2.2.1

9

Page 10: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Issues in tokenization Iran’s capital Iran? Irans? Iran’s?

Hyphen Hewlett-Packard Hewlett and Packard as two tokens? the hold-him-back-and-drag-him-away maneuver co-author lowercase, lower-case, lower case ?

Space San Francisco: How do you decide it is one token?

Sec. 2.2.1

10

Page 11: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Issues in tokenization Numbers

Older IR systems may not index numbers But often very useful: looking up error codes/stack traces on the

web

3/12/91 Mar. 12, 199112/3/91

55 B.C. B-52 My PGP key is 324a3df234cb23e (800) 234-2333

Sec. 2.2.1

11

Page 12: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Language issues in tokenization German noun compounds are not segmented

Lebensversicherungsgesellschaftsangestellter ‘life insurance company employee’

German retrieval systems benefit greatly from a compound splitter module

Can give a 15% performance boost for German

Sec. 2.2.1

12

Page 13: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Language issues in tokenization Chinese and Japanese have no spaces between

words: 莎拉波娃现在居住在美国东南部的佛罗里达。

Further complicated in Japanese, with multiple alphabets intermingled

フォーチュン 500 社は情報不足のため時間あた $500K( 約 6,000 万円 )

Katakana Hiragana Kanji Romaji

Sec. 2.2.1

13

Page 14: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Stop words With a stop list, you exclude from the dictionary words like the, a,

and, to, be Intuition: They have little semantic content. The commonest words.

Using a stop list significantly reduces the number of postings that a system has to store, because there are a lot of them.

Two ways for construction: By expert By machine

Sec. 2.2.2

14

Page 15: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Stop words But you need them for:

Phrase queries: “President of Iran” Various song titles, etc.: “Let it be”, “To be or not to be” “Relational” queries: “flights to London”

The general trend in IR systems: from large stop lists (200–300 terms) to very small stop lists (7–12 terms) to no stop list.

Good compression techniques (lecture 5) means the space for including stop words in a system is very small

Good query optimization techniques (lecture 7) mean you pay little at query time for including stop words

15

Page 16: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

NORMALIZATION

16

Page 17: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Normalization to terms Example: We want to match I.R. and IR

Token normalization is the process of canonicalizing tokens so that matches occur despite superficial differences in the character sequences of the tokens

Result is terms: A term is a (normalized) word type, which is an entry in

our IR system dictionary

Sec. 2.2.3

17

Page 18: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Normalization Example: Case folding Reduce all letters to lower case

Exception: upper case in mid-sentence?

Often best to lower case everything, since users will use lowercase regardless of ‘correct’ capitalization.

Sec. 2.2.3

18

Page 19: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Normalization to terms One way is using Equivalence Classes:

car = automobile color = colour Searches for one term will retrieve documents that contain

each of these members.

We most commonly implicitly define equivalence classes of terms rather than being fully calculated in advance (hand constructed), e.g., deleting periods to form a term

I.R., IR deleting hyphens to form a term

anti-discriminatory, antidiscriminatory 19

Page 20: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Normalization: other languages Accents: e.g., French résumé vs. resume. Umlauts: e.g., German: Tuebingen vs. Tübingen Normalization of things like date forms

7 月 30 日 vs. 7/30

Tokenization and normalization may depend on the language and so is intertwined with language detection

Crucial: Need to “normalize” indexed text as well as query terms into the same form

Sec. 2.2.3

20

Page 21: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Normalization to terms What is the disadvantage of equivalence classing?

An example: Enter: window Search: window, windows Enter: windows Search: Windows, windows, window Enter: Windows Search: Windows

An alternative to equivalence classing is to do asymmetric expansion It is hand constructed

Potentially more powerful, but less efficient

Sec. 2.2.3

21

Page 22: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Stemming and lemmatization Documents are going to use different forms of a

word, organize, organizes, and organizing am, are, and is

There are families of derivationally related words with similar meanings, democracy, democratic, and democratization.

Reduce tokens to their “roots” before indexing.22

Page 23: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Stemming “Stemming” suggest crude affix chopping

language dependent

Example: Porter’s algorithm

http://www.tartarus.org/~martin/PorterStemmer Lovins stemmer

http://www.comp.lancs.ac.uk/computing/research/stemming/general/lovins.htm

Sec. 2.2.4

23

Page 24: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Typical rules in Porter sses ss presses press ies i

bodies bodi ss ss

press press s

cats cat

Sec. 2.2.4

24

Page 25: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Lemmatization Reduce inflectional/variant forms to base form

(lemma) properly with the use of a vocabulary and morphological analysis of words

Lemmatizer: a tool from Natural Language Processing which does full morphological analysis to accurately identify the lemma for each word.

Sec. 2.2.4

25

Page 26: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Language-specificity Many of the above features embody transformations

that are Language-specific and often, application-specific

There are “plug-in” addenda to the indexing process

Both open source and commercial plug-ins are available for handling these

Sec. 2.2.4

26

Page 27: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Helpfulness of normalization Do stemming and other normalizations help?

Definitely useful for Spanish, German, Finnish, … 30% performance gains for Finnish!

What about English? Not so considerable help! Helps a lot for some queries, hurts performance a lot for others.

27

Page 28: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Helpfulness of normalization Example:

operative (dentistry) ⇒ oper operational (research) ⇒ oper operating (systems) ⇒ oper

For a case like this, moving to using a lemmatizer would not completely fix the problem

28

Page 29: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

FASTER POSTINGS MERGES:SKIP LISTS

29

Page 30: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Recall basic merge Walk through the two postings simultaneously, in

time linear in the total number of postings entries

12831

2 4 8 41 48 641 2 3 8 11 17 21

BrutusCaesar2 8

If the list lengths are m and n, the merge takes O(m+n)operations.

Can we do better?Yes!

Sec. 2.3

30

Page 31: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Augment postings with skip pointers

At indexing time.

The resulted list is skip list.

1282 4 8 41 48 64

311 2 3 8 11 17 213111

41 128

Sec. 2.3

31

Page 32: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Query processing with skip pointers

1282 4 8 41 48 64

311 2 3 8 11 17 213111

41 128

Suppose we’ve stepped through the lists until we process 8 on each list.

We then have 41 and 11. 11 is smaller.

But the skip successor of 11 is 31, so we can skip ahead past the intervening postings.

Sec. 2.3

32

Page 33: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Where do we place skips? Tradeoff:

More skips More likely to skip. But lots of comparisons to skip pointers.

Fewer skips Few successful skips. But few pointer comparison.

Sec. 2.3

33

Page 34: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Placing skips Simple heuristic: for postings of length L, use L

evenly-spaced skip pointers.

This ignores the distribution of query terms.

Easy if the index is relatively static; harder if L keeps changing because of updates.

The I/O cost of loading a bigger postings list can outweigh the gains from quicker in memory merging!

Sec. 2.3

34

D. Bahle, H. Williams, and J. Zobel. Efficient phrase querying with an auxiliary index. SIGIR 2002, pp. 215-221.

Page 35: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

PHRASE QUERIES AND POSITIONAL INDEXES

35

Page 36: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Phrase queries Want to be able to answer queries such as “stanford

university” – as a phrase

Thus the sentence “I went to university at Stanford” is not a match.

Most recent search engines support a double quotes syntax

Sec. 2.4

36

Page 37: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Phrase queries PHRASE QUERIES has proven to be very easily

understood and successfully used by users.

As many as 10% of web queries are phrase queries.

For this, it no longer suffices to store only <term : docs> entries

Solutions?

37

Page 38: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

A first attempt: Biword indexes Index every consecutive pair of terms in the text as a

phrase

For example the text “Qom computer department” would generate the biwords Qom computer computer department

Two-word phrase query-processing is now immediate.

Sec. 2.4.1

38

Page 39: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Longer phrase queries The query “modern information retrieval course” can

be broken into the Boolean query on biwords: modern information AND information retrieval AND

retrieval course

Work fairly well in practice.

But there can and will be occasional errors.

39

Page 40: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Issues for biword indexes Errors, as noted before.

Index blowup due to bigger dictionary Infeasible for more than biwords, big even for them.

Biword indexes are not the standard solution but can be part of a compound strategy.

Sec. 2.4.1

40

Page 41: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Solution 2: Positional indexes In the postings, store for each term the position(s) in

which tokens of it appear:

<term, number of docs containing term;doc1: position1, position2 … ;doc2: position1, position2 … ;etc.>

Sec. 2.4.2

41

Page 42: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Positional index example

For phrase queries, we need to deal with more than just equality.

<be: 993427;1: 7, 18, 33, 72, 86, 231;2: 3, 149;4: 17, 191, 291, 430, 434;5: 363, 367, …>

Which of docs 1,2,4,5could contain “to be

or not to be”?

Sec. 2.4.2

42

Page 43: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Proximity queries LIMIT /3 STATUTE /3 FEDERAL /2 TORT

/k means “within k words of (on either side)”.

Clearly, positional indexes can be used for such queries; biword indexes cannot.

Sec. 2.4.2

43

Page 44: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

44

Page 45: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Positional index size Need an entry for each occurrence, not just once per

document

Consider a term with frequency 0.1%

1001100,000111000

Positional postingsPostingsDocument size

Sec. 2.4.2

45

Page 46: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Rules of thumb A positional index is 2–4 as large as a non-positional

index

Positional index size 35–50% of volume of original text

Caveat: all of this holds for “English-like” languages

Sec. 2.4.2

46

Page 47: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Combination schemes

These two approaches can be profitably combined For particular phrases (“Hossein Rezazadeh”) it is

inefficient to keep on merging positional postings lists

Sec. 2.4.3

47

Page 48: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Combination schemes Williams et al. (2004) evaluate a more sophisticated

mixed indexing scheme A typical web query mixture was executed in ¼ of the time

of using just a positional index It required 26% more space than having a positional index

alone

H.E. Williams, J. Zobel, and D. Bahle. 2004. “Fast Phrase Querying with Combined Indexes”, ACM Transactions on Information Systems.

48

Page 49: Lecture 2:  The term vocabulary and postings lists Related to Chapter 2:

Introduction to Information Retrieval

Exercise Write a pseudo-code for biwork phrase queries using

positional index.

Do exercises 2.5 and 2.6 of your book.

49