introduction to information retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · simple...

244
Recap Documents Terms Skip pointers Phrase queries Introduction to Information Retrieval http://informationretrieval.org IIR 2: The term vocabulary and postings lists Hinrich Sch¨ utze Center for Information and Language Processing, University of Munich 2014-04-09 Sch¨ utze: The term vocabulary and postings lists 1 / 62

Upload: others

Post on 24-Sep-2020

15 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Introduction to Information Retrievalhttp://informationretrieval.org

IIR 2: The term vocabulary and postings lists

Hinrich Schutze

Center for Information and Language Processing, University of Munich

2014-04-09

Schutze: The term vocabulary and postings lists 1 / 62

Page 2: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Overview

1 Recap

2 Documents

3 TermsGeneral + Non-EnglishEnglish

4 Skip pointers

5 Phrase queries

Schutze: The term vocabulary and postings lists 2 / 62

Page 3: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Outline

1 Recap

2 Documents

3 TermsGeneral + Non-EnglishEnglish

4 Skip pointers

5 Phrase queries

Schutze: The term vocabulary and postings lists 3 / 62

Page 4: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

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

Schutze: The term vocabulary and postings lists 4 / 62

Page 5: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒

Schutze: The term vocabulary and postings lists 5 / 62

Page 6: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒

Schutze: The term vocabulary and postings lists 5 / 62

Page 7: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒

Schutze: The term vocabulary and postings lists 5 / 62

Page 8: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2

Schutze: The term vocabulary and postings lists 5 / 62

Page 9: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2

Schutze: The term vocabulary and postings lists 5 / 62

Page 10: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2

Schutze: The term vocabulary and postings lists 5 / 62

Page 11: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2

Schutze: The term vocabulary and postings lists 5 / 62

Page 12: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 5 / 62

Page 13: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 5 / 62

Page 14: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 5 / 62

Page 15: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting two postings lists

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 5 / 62

Page 16: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Constructing the inverted index: Sort postingsterm docID

I 1did 1enact 1julius 1caesar 1I 1was 1killed 1i’ 1the 1capitol 1brutus 1killed 1me 1so 2let 2it 2be 2with 2caesar 2the 2noble 2brutus 2hath 2told 2you 2caesar 2was 2ambitious 2

=⇒

term docID

ambitious 2be 2brutus 1brutus 2capitol 1caesar 1caesar 2caesar 2did 1enact 1hath 1I 1I 1i’ 1it 2julius 1killed 1killed 1let 2me 1noble 2so 2the 1the 2told 2you 2was 1was 2with 2

Schutze: The term vocabulary and postings lists 6 / 62

Page 17: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Westlaw: Example queries

Information need: Information on the legal theories involved inpreventing the disclosure of trade secrets by employees formerlyemployed by a competing company

Query: “trade secret” /s disclos! /s prevent /s employe!

Information need: Requirements for disabled people to be able toaccess a workplace

Query: disab! /p access! /s work-site work-place (employment /3place)

Information need: Cases about a host’s responsibility for drunkguests

Query: host! /p (responsib! liab!) /p (intoxicat! drunk!) /p guest

Schutze: The term vocabulary and postings lists 7 / 62

Page 18: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Does Google use the Boolean model?

On Google, the default interpretation of a query [w1 w2

. . .wn] is w1 AND w2 AND . . . AND wn

Cases where you get hits that do not contain one of the wi :

anchor textpage contains variant of wi (morphology, spelling correction,synonym)long queries (n large)boolean expression generates very few hits

Simple Boolean vs. Ranking of result set

Simple Boolean retrieval returns matching documents in noparticular order.Google (and most well designed Boolean engines) rank theresult set – they rank good hits (according to some estimatorof relevance) higher than bad hits.

Schutze: The term vocabulary and postings lists 8 / 62

Page 19: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Take-away

Schutze: The term vocabulary and postings lists 9 / 62

Page 20: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Take-away

Understanding of the basic unit of classical informationretrieval systems: words and documents: What is adocument, what is a term?

Schutze: The term vocabulary and postings lists 9 / 62

Page 21: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Take-away

Understanding of the basic unit of classical informationretrieval systems: words and documents: What is adocument, what is a term?

Tokenization: how to get from raw text to words (or tokens)

Schutze: The term vocabulary and postings lists 9 / 62

Page 22: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Take-away

Understanding of the basic unit of classical informationretrieval systems: words and documents: What is adocument, what is a term?

Tokenization: how to get from raw text to words (or tokens)

More complex indexes: skip pointers and phrases

Schutze: The term vocabulary and postings lists 9 / 62

Page 23: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Outline

1 Recap

2 Documents

3 TermsGeneral + Non-EnglishEnglish

4 Skip pointers

5 Phrase queries

Schutze: The term vocabulary and postings lists 10 / 62

Page 24: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Documents

Last lecture: Simple Boolean retrieval system

Schutze: The term vocabulary and postings lists 11 / 62

Page 25: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Documents

Last lecture: Simple Boolean retrieval system

Our assumptions were:

Schutze: The term vocabulary and postings lists 11 / 62

Page 26: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Documents

Last lecture: Simple Boolean retrieval system

Our assumptions were:

We know what a document is.

Schutze: The term vocabulary and postings lists 11 / 62

Page 27: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Documents

Last lecture: Simple Boolean retrieval system

Our assumptions were:

We know what a document is.We can “machine-read” each document.

Schutze: The term vocabulary and postings lists 11 / 62

Page 28: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Documents

Last lecture: Simple Boolean retrieval system

Our assumptions were:

We know what a document is.We can “machine-read” each document.

This can be complex in reality.

Schutze: The term vocabulary and postings lists 11 / 62

Page 29: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Parsing a document

We need to deal with format and language of each document.

Schutze: The term vocabulary and postings lists 12 / 62

Page 30: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Parsing a document

We need to deal with format and language of each document.

What format is it in? pdf, word, excel, html etc.

Schutze: The term vocabulary and postings lists 12 / 62

Page 31: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Parsing a document

We 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?

Schutze: The term vocabulary and postings lists 12 / 62

Page 32: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Parsing a document

We 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?

Schutze: The term vocabulary and postings lists 12 / 62

Page 33: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Parsing a document

We 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 studylater in this course (IIR 13).

Schutze: The term vocabulary and postings lists 12 / 62

Page 34: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Parsing a document

We 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 studylater in this course (IIR 13).

Alternative: use heuristics

Schutze: The term vocabulary and postings lists 12 / 62

Page 35: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Schutze: The term vocabulary and postings lists 13 / 62

Page 36: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/formats.

Schutze: The term vocabulary and postings lists 13 / 62

Page 37: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/formats.

French email with Spanish pdf attachment

Schutze: The term vocabulary and postings lists 13 / 62

Page 38: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/formats.

French email with Spanish pdf attachment

What is the document unit for indexing?

Schutze: The term vocabulary and postings lists 13 / 62

Page 39: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/formats.

French email with Spanish pdf attachment

What is the document unit for indexing?

A file?

Schutze: The term vocabulary and postings lists 13 / 62

Page 40: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/formats.

French email with Spanish pdf attachment

What is the document unit for indexing?

A file?

An email?

Schutze: The term vocabulary and postings lists 13 / 62

Page 41: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/formats.

French email with Spanish pdf attachment

What is the document unit for indexing?

A file?

An email?

An email with 5 attachments?

Schutze: The term vocabulary and postings lists 13 / 62

Page 42: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/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)?

Schutze: The term vocabulary and postings lists 13 / 62

Page 43: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/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)?

Upshot: Answering the question “what is a document?” isnot trivial and requires some design decisions.

Schutze: The term vocabulary and postings lists 13 / 62

Page 44: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Format/Language: Complications

A single index usually contains terms of several languages.

Sometimes a document or its components contain multiplelanguages/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)?

Upshot: Answering the question “what is a document?” isnot trivial and requires some design decisions.

Also: XML

Schutze: The term vocabulary and postings lists 13 / 62

Page 45: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Outline

1 Recap

2 Documents

3 TermsGeneral + Non-EnglishEnglish

4 Skip pointers

5 Phrase queries

Schutze: The term vocabulary and postings lists 14 / 62

Page 46: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Outline

1 Recap

2 Documents

3 TermsGeneral + Non-EnglishEnglish

4 Skip pointers

5 Phrase queries

Schutze: The term vocabulary and postings lists 15 / 62

Page 47: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Definitions

Word – A delimited string of characters as it appears in thetext.

Schutze: The term vocabulary and postings lists 16 / 62

Page 48: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Definitions

Word – A delimited string of characters as it appears in thetext.

Term – A “normalized” word (case, morphology, spelling etc);an equivalence class of words.

Schutze: The term vocabulary and postings lists 16 / 62

Page 49: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Definitions

Word – A delimited string of characters as it appears in thetext.

Term – A “normalized” word (case, morphology, spelling etc);an equivalence class of words.

Token – An instance of a word or term occurring in adocument.

Schutze: The term vocabulary and postings lists 16 / 62

Page 50: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Definitions

Word – A delimited string of characters as it appears in thetext.

Term – A “normalized” word (case, morphology, spelling etc);an equivalence class of words.

Token – An instance of a word or term occurring in adocument.

Type – The same as a term in most cases: an equivalenceclass of tokens.

Schutze: The term vocabulary and postings lists 16 / 62

Page 51: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Schutze: The term vocabulary and postings lists 17 / 62

Page 52: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Example: We want to match U.S.A. and USA

Schutze: The term vocabulary and postings lists 17 / 62

Page 53: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Example: We want to match U.S.A. and USA

We most commonly implicitly define equivalence classes ofterms.

Schutze: The term vocabulary and postings lists 17 / 62

Page 54: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Example: We want to match U.S.A. and USA

We most commonly implicitly define equivalence classes ofterms.

Alternatively: do asymmetric expansion

Schutze: The term vocabulary and postings lists 17 / 62

Page 55: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Example: We want to match U.S.A. and USA

We most commonly implicitly define equivalence classes ofterms.

Alternatively: do asymmetric expansion

window → window, windows

Schutze: The term vocabulary and postings lists 17 / 62

Page 56: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Example: We want to match U.S.A. and USA

We most commonly implicitly define equivalence classes ofterms.

Alternatively: do asymmetric expansion

window → window, windowswindows → Windows, windows

Schutze: The term vocabulary and postings lists 17 / 62

Page 57: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Example: We want to match U.S.A. and USA

We most commonly implicitly define equivalence classes ofterms.

Alternatively: do asymmetric expansion

window → window, windowswindows → Windows, windowsWindows (no expansion)

Schutze: The term vocabulary and postings lists 17 / 62

Page 58: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Example: We want to match U.S.A. and USA

We most commonly implicitly define equivalence classes ofterms.

Alternatively: do asymmetric expansion

window → window, windowswindows → Windows, windowsWindows (no expansion)

More powerful, but less efficient

Schutze: The term vocabulary and postings lists 17 / 62

Page 59: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization

Need to “normalize” words in indexed text as well as queryterms into the same form.

Example: We want to match U.S.A. and USA

We most commonly implicitly define equivalence classes ofterms.

Alternatively: do asymmetric expansion

window → window, windowswindows → Windows, windowsWindows (no expansion)

More powerful, but less efficient

Why don’t you want to put window, Window, windows, andWindows in the same equivalence class?

Schutze: The term vocabulary and postings lists 17 / 62

Page 60: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization: Other languages

Normalization and language detection interact.

Schutze: The term vocabulary and postings lists 18 / 62

Page 61: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization: Other languages

Normalization and language detection interact.

PETER WILL NICHT MIT. → MIT = mit

Schutze: The term vocabulary and postings lists 18 / 62

Page 62: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Normalization: Other languages

Normalization and language detection interact.

PETER WILL NICHT MIT. → MIT = mit

He got his PhD from MIT. → MIT 6= mit

Schutze: The term vocabulary and postings lists 18 / 62

Page 63: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization: Recall construction of inverted index

Input:

Friends, Romans, countrymen. So let it be with Caesar . . .

Schutze: The term vocabulary and postings lists 19 / 62

Page 64: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization: Recall construction of inverted index

Input:

Friends, Romans, countrymen. So let it be with Caesar . . .

Output:

friend roman countryman so . . .

Schutze: The term vocabulary and postings lists 19 / 62

Page 65: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization: Recall construction of inverted index

Input:

Friends, Romans, countrymen. So let it be with Caesar . . .

Output:

friend roman countryman so . . .

Each token is a candidate for a postings entry.

Schutze: The term vocabulary and postings lists 19 / 62

Page 66: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization: Recall construction of inverted index

Input:

Friends, Romans, countrymen. So let it be with Caesar . . .

Output:

friend roman countryman so . . .

Each token is a candidate for a postings entry.

What are valid tokens to emit?

Schutze: The term vocabulary and postings lists 19 / 62

Page 67: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Exercises

In June, the dog likes to chase the cat in the barn. – How manyword tokens? How many word types?

Why tokenization is difficult – even in English. Tokenize: Mr.

O’Neill thinks that the boys’ stories about Chile’s capital aren’t

amusing.

Schutze: The term vocabulary and postings lists 20 / 62

Page 68: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

Schutze: The term vocabulary and postings lists 21 / 62

Page 69: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

State-of-the-art

Schutze: The term vocabulary and postings lists 21 / 62

Page 70: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

State-of-the-art

co-education

Schutze: The term vocabulary and postings lists 21 / 62

Page 71: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

State-of-the-art

co-education

the hold-him-back-and-drag-him-away maneuver

Schutze: The term vocabulary and postings lists 21 / 62

Page 72: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

State-of-the-art

co-education

the hold-him-back-and-drag-him-away maneuver

data base

Schutze: The term vocabulary and postings lists 21 / 62

Page 73: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

State-of-the-art

co-education

the hold-him-back-and-drag-him-away maneuver

data base

San Francisco

Schutze: The term vocabulary and postings lists 21 / 62

Page 74: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

State-of-the-art

co-education

the hold-him-back-and-drag-him-away maneuver

data base

San Francisco

Los Angeles-based company

Schutze: The term vocabulary and postings lists 21 / 62

Page 75: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

State-of-the-art

co-education

the hold-him-back-and-drag-him-away maneuver

data base

San Francisco

Los Angeles-based company

cheap San Francisco-Los Angeles fares

Schutze: The term vocabulary and postings lists 21 / 62

Page 76: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Tokenization problems: One word or two? (or several)

Hewlett-Packard

State-of-the-art

co-education

the hold-him-back-and-drag-him-away maneuver

data base

San Francisco

Los Angeles-based company

cheap San Francisco-Los Angeles fares

York University vs. New York University

Schutze: The term vocabulary and postings lists 21 / 62

Page 77: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

Schutze: The term vocabulary and postings lists 22 / 62

Page 78: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Schutze: The term vocabulary and postings lists 22 / 62

Page 79: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Mar 20, 1991

Schutze: The term vocabulary and postings lists 22 / 62

Page 80: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Mar 20, 1991

B-52

Schutze: The term vocabulary and postings lists 22 / 62

Page 81: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Mar 20, 1991

B-52

100.2.86.144

Schutze: The term vocabulary and postings lists 22 / 62

Page 82: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Mar 20, 1991

B-52

100.2.86.144

(800) 234-2333

Schutze: The term vocabulary and postings lists 22 / 62

Page 83: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Mar 20, 1991

B-52

100.2.86.144

(800) 234-2333

800.234.2333

Schutze: The term vocabulary and postings lists 22 / 62

Page 84: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Mar 20, 1991

B-52

100.2.86.144

(800) 234-2333

800.234.2333

Older IR systems may not index numbers . . .

Schutze: The term vocabulary and postings lists 22 / 62

Page 85: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Mar 20, 1991

B-52

100.2.86.144

(800) 234-2333

800.234.2333

Older IR systems may not index numbers . . .

. . . but generally it’s a useful feature.

Schutze: The term vocabulary and postings lists 22 / 62

Page 86: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Numbers

3/20/91

20/3/91

Mar 20, 1991

B-52

100.2.86.144

(800) 234-2333

800.234.2333

Older IR systems may not index numbers . . .

. . . but generally it’s a useful feature.

Google example

Schutze: The term vocabulary and postings lists 22 / 62

Page 87: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Chinese: No whitespace

莎拉波娃!在居住在美国"南部的佛#里$。今年4月

9日,莎拉波娃在美国第一大城市%&度'了18(生

日。生日派)上,莎拉波娃露出了甜美的微笑。

Schutze: The term vocabulary and postings lists 23 / 62

Page 88: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Ambiguous segmentation in Chinese

和尚 The two characters can be treated as one word meaning ‘monk’ oras a sequence of two words meaning ‘and’ and ‘still’.

Schutze: The term vocabulary and postings lists 24 / 62

Page 89: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Other cases of “no whitespace”

Compounds in Dutch, German, Swedish

Schutze: The term vocabulary and postings lists 25 / 62

Page 90: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Other cases of “no whitespace”

Compounds in Dutch, German, Swedish

Computerlinguistik → Computer + Linguistik

Schutze: The term vocabulary and postings lists 25 / 62

Page 91: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Other cases of “no whitespace”

Compounds in Dutch, German, Swedish

Computerlinguistik → Computer + Linguistik

Lebensversicherungsgesellschaftsangestellter

Schutze: The term vocabulary and postings lists 25 / 62

Page 92: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Other cases of “no whitespace”

Compounds in Dutch, German, Swedish

Computerlinguistik → Computer + Linguistik

Lebensversicherungsgesellschaftsangestellter

→ leben + versicherung + gesellschaft + angestellter

Schutze: The term vocabulary and postings lists 25 / 62

Page 93: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Other cases of “no whitespace”

Compounds in Dutch, German, Swedish

Computerlinguistik → Computer + Linguistik

Lebensversicherungsgesellschaftsangestellter

→ leben + versicherung + gesellschaft + angestellter

Inuit: tusaatsiarunnanngittualuujunga (I can’t hear very well.)

Schutze: The term vocabulary and postings lists 25 / 62

Page 94: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Other cases of “no whitespace”

Compounds in Dutch, German, Swedish

Computerlinguistik → Computer + Linguistik

Lebensversicherungsgesellschaftsangestellter

→ leben + versicherung + gesellschaft + angestellter

Inuit: tusaatsiarunnanngittualuujunga (I can’t hear very well.)

Many other languages with segmentation difficulties: Finnish,Urdu, . . .

Schutze: The term vocabulary and postings lists 25 / 62

Page 95: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Japanese

������������ ����������������

����� !" !$#�%��'(&*),-+./0*�

2�134678',95�:;:=�><?@BCA�+ED

795�:;:=*GH)IF):�J*K,MLN?OP�RQ

T�S�VUUXWY'[ZN?*�,]^;_\,�`4a,c

;b�ef)gUhiU+?dNjlmkn�:Bp��oN6,

rUsqtu'wvx*Ry{zi}'~����L?@B

Schutze: The term vocabulary and postings lists 26 / 62

Page 96: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Japanese

|������������������������������

����� ¡¢ ¡£¤�¥��¦§¨©�ª«¬­®¯°©��

±�²³´µ¶·¦«¸¹�º»º¼�½¾�¿ÀÁÂÃ�­ÄÅ

¶¸¹�º»º¼©ÆǪÈÉ�ªº�Ê©Ë«ÌÍοÏÐ�ÑÒ

Ó�Ô�ÕÖÖ×ØÙ¦ÚÛο©�«ÜÝ»Þß«�à´á«â

»ã�äåªæÖçèÖ­¿éÎêëìíî�ºÁï���ðε«

ñÖòóôõ¦ö÷ø©Ñùúûèü¦ý��þÿÍ¿ÀÁ

4 different “alphabets”: Chinese characters, hiragana syllabary forinflectional endings and function words, katakana syllabary fortranscription of foreign words and other uses, and latin. No spaces(as in Chinese).

Schutze: The term vocabulary and postings lists 26 / 62

Page 97: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Japanese

������������ ����������������

����� !" !$#�%��'(&*),-+./0*�

2�134678',95�:;:=�><?@BCA�+ED

795�:;:=*GH)IF):�J*K,MLN?OP�RQ

T�S�VUUXWY'[ZN?*�,]^;_\,�`4a,c

;b�ef)gUhiU+?dNjlmkn�:Bp��oN6,

rUsqtu'wvx*Ry{zi}'~����L?@B

4 different “alphabets”: Chinese characters, hiragana syllabary forinflectional endings and function words, katakana syllabary fortranscription of foreign words and other uses, and latin. No spaces(as in Chinese).End user can express query entirely in hiragana!

Schutze: The term vocabulary and postings lists 26 / 62

Page 98: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Arabic script

ك ت ا ب ⇐ آ��ب un b ā t i k

/kitābun/ ‘a book’

Schutze: The term vocabulary and postings lists 27 / 62

Page 99: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Arabic script: Bidirectionality

�ل ا������132 ��� 1962ا���� ا��ا�� �� ��� �� . #"!" ! ا�

← → ← → ← START

‘Algeria achieved its independence in 1962 after 132 years of French occupation.’

Schutze: The term vocabulary and postings lists 28 / 62

Page 100: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Arabic script: Bidirectionality

�ل ا������132 ��� 1962ا���� ا��ا�� �� ��� �� . #"!" ! ا�

← → ← → ← START

‘Algeria achieved its independence in 1962 after 132 years of French occupation.’

Bidirectionality is not a problem if text is coded in Unicode.

Schutze: The term vocabulary and postings lists 28 / 62

Page 101: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Accents and diacritics

Accents: resume vs. resume (simple omission of accent)

Schutze: The term vocabulary and postings lists 29 / 62

Page 102: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Accents and diacritics

Accents: resume vs. resume (simple omission of accent)

Umlauts: Universitat vs. Universitaet (substitution withspecial letter sequence “ae”)

Schutze: The term vocabulary and postings lists 29 / 62

Page 103: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Accents and diacritics

Accents: resume vs. resume (simple omission of accent)

Umlauts: Universitat vs. Universitaet (substitution withspecial letter sequence “ae”)

Most important criterion: How are users likely to write theirqueries for these words?

Schutze: The term vocabulary and postings lists 29 / 62

Page 104: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Accents and diacritics

Accents: resume vs. resume (simple omission of accent)

Umlauts: Universitat vs. Universitaet (substitution withspecial letter sequence “ae”)

Most important criterion: How are users likely to write theirqueries for these words?

Even in languages that standardly have accents, users oftendo not type them. (Polish?)

Schutze: The term vocabulary and postings lists 29 / 62

Page 105: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Outline

1 Recap

2 Documents

3 TermsGeneral + Non-EnglishEnglish

4 Skip pointers

5 Phrase queries

Schutze: The term vocabulary and postings lists 30 / 62

Page 106: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Case folding

Reduce all letters to lower case

Schutze: The term vocabulary and postings lists 31 / 62

Page 107: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Case folding

Reduce all letters to lower case

Even though case can be semantically meaningful

Schutze: The term vocabulary and postings lists 31 / 62

Page 108: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Case folding

Reduce all letters to lower case

Even though case can be semantically meaningful

capitalized words in mid-sentence

Schutze: The term vocabulary and postings lists 31 / 62

Page 109: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Case folding

Reduce all letters to lower case

Even though case can be semantically meaningful

capitalized words in mid-sentenceMIT vs. mit

Schutze: The term vocabulary and postings lists 31 / 62

Page 110: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Case folding

Reduce all letters to lower case

Even though case can be semantically meaningful

capitalized words in mid-sentenceMIT vs. mitFed vs. fed

Schutze: The term vocabulary and postings lists 31 / 62

Page 111: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Case folding

Reduce all letters to lower case

Even though case can be semantically meaningful

capitalized words in mid-sentenceMIT vs. mitFed vs. fed. . .

Schutze: The term vocabulary and postings lists 31 / 62

Page 112: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Case folding

Reduce all letters to lower case

Even though case can be semantically meaningful

capitalized words in mid-sentenceMIT vs. mitFed vs. fed. . .

It’s often best to lowercase everything since users will uselowercase regardless of correct capitalization.

Schutze: The term vocabulary and postings lists 31 / 62

Page 113: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stop words

stop words = extremely common words which would appearto be of little value in helping select documents matching auser need

Schutze: The term vocabulary and postings lists 32 / 62

Page 114: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stop words

stop words = extremely common words which would appearto be of little value in helping select documents matching auser need

Examples: a, an, and, are, as, at, be, by, for, from, has, he, in,

is, it, its, of, on, that, the, to, was, were, will, with

Schutze: The term vocabulary and postings lists 32 / 62

Page 115: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stop words

stop words = extremely common words which would appearto be of little value in helping select documents matching auser need

Examples: a, an, and, are, as, at, be, by, for, from, has, he, in,

is, it, its, of, on, that, the, to, was, were, will, with

Stop word elimination used to be standard in older IR systems.

Schutze: The term vocabulary and postings lists 32 / 62

Page 116: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stop words

stop words = extremely common words which would appearto be of little value in helping select documents matching auser need

Examples: a, an, and, are, as, at, be, by, for, from, has, he, in,

is, it, its, of, on, that, the, to, was, were, will, with

Stop word elimination used to be standard in older IR systems.

But you need stop words for phrase queries, e.g. “King ofDenmark”

Schutze: The term vocabulary and postings lists 32 / 62

Page 117: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stop words

stop words = extremely common words which would appearto be of little value in helping select documents matching auser need

Examples: a, an, and, are, as, at, be, by, for, from, has, he, in,

is, it, its, of, on, that, the, to, was, were, will, with

Stop word elimination used to be standard in older IR systems.

But you need stop words for phrase queries, e.g. “King ofDenmark”

Most web search engines index stop words.

Schutze: The term vocabulary and postings lists 32 / 62

Page 118: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

More equivalence classing

Soundex: IIR 3 (phonetic equivalence, Muller = Mueller)

Schutze: The term vocabulary and postings lists 33 / 62

Page 119: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

More equivalence classing

Soundex: IIR 3 (phonetic equivalence, Muller = Mueller)

Thesauri: IIR 9 (semantic equivalence, car = automobile)

Schutze: The term vocabulary and postings lists 33 / 62

Page 120: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Lemmatization

Reduce inflectional/variant forms to base form

Schutze: The term vocabulary and postings lists 34 / 62

Page 121: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Lemmatization

Reduce inflectional/variant forms to base form

Example: am, are, is → be

Schutze: The term vocabulary and postings lists 34 / 62

Page 122: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Lemmatization

Reduce inflectional/variant forms to base form

Example: am, are, is → be

Example: car, cars, car’s, cars’ → car

Schutze: The term vocabulary and postings lists 34 / 62

Page 123: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Lemmatization

Reduce inflectional/variant forms to base form

Example: am, are, is → be

Example: car, cars, car’s, cars’ → car

Example: the boy’s cars are different colors → the boy car be

different color

Schutze: The term vocabulary and postings lists 34 / 62

Page 124: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Lemmatization

Reduce inflectional/variant forms to base form

Example: am, are, is → be

Example: car, cars, car’s, cars’ → car

Example: the boy’s cars are different colors → the boy car be

different color

Lemmatization implies doing “proper” reduction to dictionaryheadword form (the lemma).

Schutze: The term vocabulary and postings lists 34 / 62

Page 125: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Lemmatization

Reduce inflectional/variant forms to base form

Example: am, are, is → be

Example: car, cars, car’s, cars’ → car

Example: the boy’s cars are different colors → the boy car be

different color

Lemmatization implies doing “proper” reduction to dictionaryheadword form (the lemma).

Inflectional morphology (cutting → cut) vs. derivationalmorphology (destruction → destroy)

Schutze: The term vocabulary and postings lists 34 / 62

Page 126: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stemming

Definition of stemming: Crude heuristic process that chops offthe ends of words in the hope of achieving what “principled”lemmatization attempts to do with a lot of linguisticknowledge.

Schutze: The term vocabulary and postings lists 35 / 62

Page 127: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stemming

Definition of stemming: Crude heuristic process that chops offthe ends of words in the hope of achieving what “principled”lemmatization attempts to do with a lot of linguisticknowledge.

Language dependent

Schutze: The term vocabulary and postings lists 35 / 62

Page 128: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stemming

Definition of stemming: Crude heuristic process that chops offthe ends of words in the hope of achieving what “principled”lemmatization attempts to do with a lot of linguisticknowledge.

Language dependent

Often inflectional and derivational

Schutze: The term vocabulary and postings lists 35 / 62

Page 129: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Stemming

Definition of stemming: Crude heuristic process that chops offthe ends of words in the hope of achieving what “principled”lemmatization attempts to do with a lot of linguisticknowledge.

Language dependent

Often inflectional and derivational

Example for derivational: automate, automatic, automation

all reduce to automat

Schutze: The term vocabulary and postings lists 35 / 62

Page 130: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Schutze: The term vocabulary and postings lists 36 / 62

Page 131: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Results suggest that it is at least as good as other stemmingoptions

Schutze: The term vocabulary and postings lists 36 / 62

Page 132: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Results suggest that it is at least as good as other stemmingoptions

Conventions + 5 phases of reductions

Schutze: The term vocabulary and postings lists 36 / 62

Page 133: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Results suggest that it is at least as good as other stemmingoptions

Conventions + 5 phases of reductions

Phases are applied sequentially

Schutze: The term vocabulary and postings lists 36 / 62

Page 134: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Results suggest that it is at least as good as other stemmingoptions

Conventions + 5 phases of reductions

Phases are applied sequentially

Each phase consists of a set of commands.

Schutze: The term vocabulary and postings lists 36 / 62

Page 135: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Results suggest that it is at least as good as other stemmingoptions

Conventions + 5 phases of reductions

Phases are applied sequentially

Each phase consists of a set of commands.

Sample command: Delete final ement if what remains is longerthan 1 character

Schutze: The term vocabulary and postings lists 36 / 62

Page 136: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Results suggest that it is at least as good as other stemmingoptions

Conventions + 5 phases of reductions

Phases are applied sequentially

Each phase consists of a set of commands.

Sample command: Delete final ement if what remains is longerthan 1 characterreplacement → replac

Schutze: The term vocabulary and postings lists 36 / 62

Page 137: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Results suggest that it is at least as good as other stemmingoptions

Conventions + 5 phases of reductions

Phases are applied sequentially

Each phase consists of a set of commands.

Sample command: Delete final ement if what remains is longerthan 1 characterreplacement → replaccement → cement

Schutze: The term vocabulary and postings lists 36 / 62

Page 138: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter algorithm

Most common algorithm for stemming English

Results suggest that it is at least as good as other stemmingoptions

Conventions + 5 phases of reductions

Phases are applied sequentially

Each phase consists of a set of commands.

Sample command: Delete final ement if what remains is longerthan 1 characterreplacement → replaccement → cement

Sample convention: Of the rules in a compound command,select the one that applies to the longest suffix.

Schutze: The term vocabulary and postings lists 36 / 62

Page 139: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Porter stemmer: A few rules

Rule Example

SSES → SS caresses → caressIES → I ponies → poniSS → SS caress → caressS → cats → cat

Schutze: The term vocabulary and postings lists 37 / 62

Page 140: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Three stemmers: A comparison

Sample text: Such an analysis can reveal features that are not easilyvisible from the variations in the individual genes and canlead to a picture of expression that is more biologicallytransparent and accessible to interpretation

Porter stemmer: such an analysi can reveal featur that ar not easili visiblfrom the variat in the individu gene and can lead to a picturof express that is more biolog transpar and access to interpret

Lovins stemmer: such an analys can reve featur that ar not eas vis from thvari in th individu gen and can lead to a pictur of expres thatis mor biolog transpar and acces to interpres

Paice stemmer: such an analys can rev feat that are not easy vis from thevary in the individ gen and can lead to a pict of express thatis mor biolog transp and access to interpret

Schutze: The term vocabulary and postings lists 38 / 62

Page 141: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Does stemming improve effectiveness?

In general, stemming increases effectiveness for some queries,and decreases effectiveness for others.

Schutze: The term vocabulary and postings lists 39 / 62

Page 142: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Does stemming improve effectiveness?

In general, stemming increases effectiveness for some queries,and decreases effectiveness for others.

Queries where stemming is likely to help: [tartan sweaters],[sightseeing tour san francisco]

Schutze: The term vocabulary and postings lists 39 / 62

Page 143: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Does stemming improve effectiveness?

In general, stemming increases effectiveness for some queries,and decreases effectiveness for others.

Queries where stemming is likely to help: [tartan sweaters],[sightseeing tour san francisco]

(equivalence classes: {sweater,sweaters}, {tour,tours})

Schutze: The term vocabulary and postings lists 39 / 62

Page 144: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Does stemming improve effectiveness?

In general, stemming increases effectiveness for some queries,and decreases effectiveness for others.

Queries where stemming is likely to help: [tartan sweaters],[sightseeing tour san francisco]

(equivalence classes: {sweater,sweaters}, {tour,tours})Porter Stemmer equivalence class oper contains all of operate

operating operates operation operative operatives operational.

Schutze: The term vocabulary and postings lists 39 / 62

Page 145: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Does stemming improve effectiveness?

In general, stemming increases effectiveness for some queries,and decreases effectiveness for others.

Queries where stemming is likely to help: [tartan sweaters],[sightseeing tour san francisco]

(equivalence classes: {sweater,sweaters}, {tour,tours})Porter Stemmer equivalence class oper contains all of operate

operating operates operation operative operatives operational.

Queries where stemming hurts: [operational AND research],[operating AND system], [operative AND dentistry]

Schutze: The term vocabulary and postings lists 39 / 62

Page 146: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Exercise: What does Google do?

Stop words

Normalization

Tokenization

Lowercasing

Stemming

Non-latin alphabets

Umlauts

Compounds

Numbers

Schutze: The term vocabulary and postings lists 40 / 62

Page 147: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Outline

1 Recap

2 Documents

3 TermsGeneral + Non-EnglishEnglish

4 Skip pointers

5 Phrase queries

Schutze: The term vocabulary and postings lists 41 / 62

Page 148: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒

Schutze: The term vocabulary and postings lists 42 / 62

Page 149: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒

Schutze: The term vocabulary and postings lists 42 / 62

Page 150: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒

Schutze: The term vocabulary and postings lists 42 / 62

Page 151: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2

Schutze: The term vocabulary and postings lists 42 / 62

Page 152: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2

Schutze: The term vocabulary and postings lists 42 / 62

Page 153: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2

Schutze: The term vocabulary and postings lists 42 / 62

Page 154: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2

Schutze: The term vocabulary and postings lists 42 / 62

Page 155: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 42 / 62

Page 156: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 42 / 62

Page 157: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 42 / 62

Page 158: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 42 / 62

Page 159: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Schutze: The term vocabulary and postings lists 42 / 62

Page 160: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Linear in the length of the postings lists.

Schutze: The term vocabulary and postings lists 42 / 62

Page 161: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Recall basic intersection algorithm

Brutus −→ 1 → 2 → 4 → 11 → 31 → 45 → 173 → 174

Calpurnia −→ 2 → 31 → 54 → 101

Intersection =⇒ 2 → 31

Linear in the length of the postings lists.

Can we do better?

Schutze: The term vocabulary and postings lists 42 / 62

Page 162: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Skip pointers

Skip pointers allow us to skip postings that will not figure inthe search results.

Schutze: The term vocabulary and postings lists 43 / 62

Page 163: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Skip pointers

Skip pointers allow us to skip postings that will not figure inthe search results.

This makes intersecting postings lists more efficient.

Schutze: The term vocabulary and postings lists 43 / 62

Page 164: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Skip pointers

Skip pointers allow us to skip postings that will not figure inthe search results.

This makes intersecting postings lists more efficient.

Some postings lists contain several million entries – soefficiency can be an issue even if basic intersection is linear.

Schutze: The term vocabulary and postings lists 43 / 62

Page 165: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Skip pointers

Skip pointers allow us to skip postings that will not figure inthe search results.

This makes intersecting postings lists more efficient.

Some postings lists contain several million entries – soefficiency can be an issue even if basic intersection is linear.

Where do we put skip pointers?

Schutze: The term vocabulary and postings lists 43 / 62

Page 166: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Skip pointers

Skip pointers allow us to skip postings that will not figure inthe search results.

This makes intersecting postings lists more efficient.

Some postings lists contain several million entries – soefficiency can be an issue even if basic intersection is linear.

Where do we put skip pointers?

How do we make sure insection results are correct?

Schutze: The term vocabulary and postings lists 43 / 62

Page 167: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Basic idea

Brutus

Caesar

34

2 4 8

128

34 35 64 128

8

1 2 3 5

31

8 17 21 31 75 81 84 89 92

Schutze: The term vocabulary and postings lists 44 / 62

Page 168: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Basic idea

Brutus

Caesar

34

2 4 8

128

34 35 64 128

8

1 2 3 5

31

8 17 21 31 75 81 84 89 92

Schutze: The term vocabulary and postings lists 44 / 62

Page 169: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Basic idea

Brutus

Caesar

34

2 4 8

128

34 35 64 128

8

1 2 3 5

31

8 17 21 31 75 81 84 89 92

Schutze: The term vocabulary and postings lists 44 / 62

Page 170: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Skip lists: Larger example

16 28 72

5 51 98

2 4 8 16 19 23 28 43

1 2 3 5 8 41 51 60 71

Brutus

Caesar

Schutze: The term vocabulary and postings lists 45 / 62

Page 171: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Intersecting with skip pointers

IntersectWithSkips(p1, p2)1 answer ← 〈 〉2 while p1 6= nil and p2 6= nil

3 do if docID(p1) = docID(p2)4 then Add(answer , docID(p1))5 p1 ← next(p1)6 p2 ← next(p2)7 else if docID(p1) < docID(p2)8 then if hasSkip(p1) and (docID(skip(p1)) ≤ docID(p2))9 then while hasSkip(p1) and (docID(skip(p1)) ≤ docID(p2))10 do p1 ← skip(p1)11 else p1 ← next(p1)12 else if hasSkip(p2) and (docID(skip(p2)) ≤ docID(p1))13 then while hasSkip(p2) and (docID(skip(p2)) ≤ docID(p1))14 do p2 ← skip(p2)15 else p2 ← next(p2)16 return answer

Schutze: The term vocabulary and postings lists 46 / 62

Page 172: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips?

Tradeoff: number of items skipped vs. frequency skip can betaken

Schutze: The term vocabulary and postings lists 47 / 62

Page 173: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips?

Tradeoff: number of items skipped vs. frequency skip can betaken

More skips: Each skip pointer skips only a few items, but wecan frequently use it.

Schutze: The term vocabulary and postings lists 47 / 62

Page 174: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips?

Tradeoff: number of items skipped vs. frequency skip can betaken

More skips: Each skip pointer skips only a few items, but wecan frequently use it.

Fewer skips: Each skip pointer skips many items, but we cannot use it very often.

Schutze: The term vocabulary and postings lists 47 / 62

Page 175: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips? (cont)

Simple heuristic: for postings list of length P , use√P

evenly-spaced skip pointers.

Schutze: The term vocabulary and postings lists 48 / 62

Page 176: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips? (cont)

Simple heuristic: for postings list of length P , use√P

evenly-spaced skip pointers.

This ignores the distribution of query terms.

Schutze: The term vocabulary and postings lists 48 / 62

Page 177: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips? (cont)

Simple heuristic: for postings list of length P , use√P

evenly-spaced skip pointers.

This ignores the distribution of query terms.

Easy if the index is static; harder in a dynamic environmentbecause of updates.

Schutze: The term vocabulary and postings lists 48 / 62

Page 178: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips? (cont)

Simple heuristic: for postings list of length P , use√P

evenly-spaced skip pointers.

This ignores the distribution of query terms.

Easy if the index is static; harder in a dynamic environmentbecause of updates.

How much do skip pointers help?

Schutze: The term vocabulary and postings lists 48 / 62

Page 179: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips? (cont)

Simple heuristic: for postings list of length P , use√P

evenly-spaced skip pointers.

This ignores the distribution of query terms.

Easy if the index is static; harder in a dynamic environmentbecause of updates.

How much do skip pointers help?

They used to help a lot.

Schutze: The term vocabulary and postings lists 48 / 62

Page 180: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Where do we place skips? (cont)

Simple heuristic: for postings list of length P , use√P

evenly-spaced skip pointers.

This ignores the distribution of query terms.

Easy if the index is static; harder in a dynamic environmentbecause of updates.

How much do skip pointers help?

They used to help a lot.

With today’s fast CPUs, they don’t help that much anymore.

Schutze: The term vocabulary and postings lists 48 / 62

Page 181: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Outline

1 Recap

2 Documents

3 TermsGeneral + Non-EnglishEnglish

4 Skip pointers

5 Phrase queries

Schutze: The term vocabulary and postings lists 49 / 62

Page 182: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Phrase queries

We want to answer a query such as [stanford university] – as aphrase.

Schutze: The term vocabulary and postings lists 50 / 62

Page 183: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Phrase queries

We want to answer a query such as [stanford university] – as aphrase.

Thus The inventor Stanford Ovshinsky never went to

university should not be a match.

Schutze: The term vocabulary and postings lists 50 / 62

Page 184: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Phrase queries

We want to answer a query such as [stanford university] – as aphrase.

Thus The inventor Stanford Ovshinsky never went to

university should not be a match.

The concept of phrase query has proven easily understood byusers.

Schutze: The term vocabulary and postings lists 50 / 62

Page 185: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Phrase queries

We want to answer a query such as [stanford university] – as aphrase.

Thus The inventor Stanford Ovshinsky never went to

university should not be a match.

The concept of phrase query has proven easily understood byusers.

Significant part of web queries are phrase queries (explicitlyentered or interpreted as such)

Schutze: The term vocabulary and postings lists 50 / 62

Page 186: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Phrase queries

We want to answer a query such as [stanford university] – as aphrase.

Thus The inventor Stanford Ovshinsky never went to

university should not be a match.

The concept of phrase query has proven easily understood byusers.

Significant part of web queries are phrase queries (explicitlyentered or interpreted as such)

Consequence for inverted index: it no longer suffices to storedocIDs in postings lists.

Schutze: The term vocabulary and postings lists 50 / 62

Page 187: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Phrase queries

We want to answer a query such as [stanford university] – as aphrase.

Thus The inventor Stanford Ovshinsky never went to

university should not be a match.

The concept of phrase query has proven easily understood byusers.

Significant part of web queries are phrase queries (explicitlyentered or interpreted as such)

Consequence for inverted index: it no longer suffices to storedocIDs in postings lists.

Two ways of extending the inverted index:

Schutze: The term vocabulary and postings lists 50 / 62

Page 188: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Phrase queries

We want to answer a query such as [stanford university] – as aphrase.

Thus The inventor Stanford Ovshinsky never went to

university should not be a match.

The concept of phrase query has proven easily understood byusers.

Significant part of web queries are phrase queries (explicitlyentered or interpreted as such)

Consequence for inverted index: it no longer suffices to storedocIDs in postings lists.

Two ways of extending the inverted index:

biword index

Schutze: The term vocabulary and postings lists 50 / 62

Page 189: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Phrase queries

We want to answer a query such as [stanford university] – as aphrase.

Thus The inventor Stanford Ovshinsky never went to

university should not be a match.

The concept of phrase query has proven easily understood byusers.

Significant part of web queries are phrase queries (explicitlyentered or interpreted as such)

Consequence for inverted index: it no longer suffices to storedocIDs in postings lists.

Two ways of extending the inverted index:

biword indexpositional index

Schutze: The term vocabulary and postings lists 50 / 62

Page 190: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Biword indexes

Index every consecutive pair of terms in the text as a phrase.

Schutze: The term vocabulary and postings lists 51 / 62

Page 191: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Biword indexes

Index every consecutive pair of terms in the text as a phrase.

For example, Friends, Romans, Countrymen would generatetwo biwords: “friends romans” and “romans countrymen”

Schutze: The term vocabulary and postings lists 51 / 62

Page 192: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Biword indexes

Index every consecutive pair of terms in the text as a phrase.

For example, Friends, Romans, Countrymen would generatetwo biwords: “friends romans” and “romans countrymen”

Each of these biwords is now a vocabulary term.

Schutze: The term vocabulary and postings lists 51 / 62

Page 193: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Biword indexes

Index every consecutive pair of terms in the text as a phrase.

For example, Friends, Romans, Countrymen would generatetwo biwords: “friends romans” and “romans countrymen”

Each of these biwords is now a vocabulary term.

Two-word phrases can now easily be answered.

Schutze: The term vocabulary and postings lists 51 / 62

Page 194: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Longer phrase queries

A long phrase like “stanford university palo alto” can berepresented as the Boolean query “stanford university”

AND “university palo” AND “palo alto”

Schutze: The term vocabulary and postings lists 52 / 62

Page 195: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Longer phrase queries

A long phrase like “stanford university palo alto” can berepresented as the Boolean query “stanford university”

AND “university palo” AND “palo alto”

We need to do post-filtering of hits to identify subset thatactually contains the 4-word phrase.

Schutze: The term vocabulary and postings lists 52 / 62

Page 196: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Issues with biword indexes

Why are biword indexes rarely used?

Schutze: The term vocabulary and postings lists 53 / 62

Page 197: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Issues with biword indexes

Why are biword indexes rarely used?

False positives, as noted above

Schutze: The term vocabulary and postings lists 53 / 62

Page 198: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Issues with biword indexes

Why are biword indexes rarely used?

False positives, as noted above

Index blowup due to very large term vocabulary

Schutze: The term vocabulary and postings lists 53 / 62

Page 199: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes

Schutze: The term vocabulary and postings lists 54 / 62

Page 200: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes

Positional indexes are a more efficient alternative to biwordindexes.

Schutze: The term vocabulary and postings lists 54 / 62

Page 201: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes

Positional indexes are a more efficient alternative to biwordindexes.

Postings lists in a nonpositional index: each posting is just adocID

Schutze: The term vocabulary and postings lists 54 / 62

Page 202: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes

Positional indexes are a more efficient alternative to biwordindexes.

Postings lists in a nonpositional index: each posting is just adocID

Postings lists in a positional index: each posting is a docIDand a list of positions

Schutze: The term vocabulary and postings lists 54 / 62

Page 203: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Schutze: The term vocabulary and postings lists 55 / 62

Page 204: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

Schutze: The term vocabulary and postings lists 55 / 62

Page 205: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 206: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 207: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 208: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 209: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 210: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 211: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 212: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 213: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 214: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 215: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 216: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 217: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 218: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 219: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 220: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Schutze: The term vocabulary and postings lists 55 / 62

Page 221: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Positional indexes: Example

Query: “to1 be2 or3 not4 to5 be6”

to, 993427:〈 1: 〈7, 18, 33, 72, 86, 231〉;2: 〈1, 17, 74, 222, 255〉;4: 〈8, 16, 190, 429, 433〉;5: 〈363, 367〉;7: 〈13, 23, 191〉; . . . 〉

be, 178239:〈 1: 〈17, 25〉;4: 〈17, 191, 291, 430, 434〉;5: 〈14, 19, 101〉; . . . 〉

Document 4 is a match!

Schutze: The term vocabulary and postings lists 55 / 62

Page 222: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

We just saw how to use a positional index for phrase searches.

Schutze: The term vocabulary and postings lists 56 / 62

Page 223: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

We just saw how to use a positional index for phrase searches.

We can also use it for proximity search.

Schutze: The term vocabulary and postings lists 56 / 62

Page 224: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

We just saw how to use a positional index for phrase searches.

We can also use it for proximity search.

For example: employment /4 place

Schutze: The term vocabulary and postings lists 56 / 62

Page 225: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

We just saw how to use a positional index for phrase searches.

We can also use it for proximity search.

For example: employment /4 place

Find all documents that contain employment and place

within 4 words of each other.

Schutze: The term vocabulary and postings lists 56 / 62

Page 226: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

We just saw how to use a positional index for phrase searches.

We can also use it for proximity search.

For example: employment /4 place

Find all documents that contain employment and place

within 4 words of each other.

Employment agencies that place healthcare workers are seeing

growth is a hit.

Schutze: The term vocabulary and postings lists 56 / 62

Page 227: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

We just saw how to use a positional index for phrase searches.

We can also use it for proximity search.

For example: employment /4 place

Find all documents that contain employment and place

within 4 words of each other.

Employment agencies that place healthcare workers are seeing

growth is a hit.

Employment agencies that have learned to adapt now place

healthcare workers is not a hit.

Schutze: The term vocabulary and postings lists 56 / 62

Page 228: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

Use the positional index

Schutze: The term vocabulary and postings lists 57 / 62

Page 229: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

Use the positional index

Simplest algorithm: look at cross-product of positions of (i)employment in document and (ii) place in document

Schutze: The term vocabulary and postings lists 57 / 62

Page 230: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

Use the positional index

Simplest algorithm: look at cross-product of positions of (i)employment in document and (ii) place in document

Very inefficient for frequent words, especially stop words

Schutze: The term vocabulary and postings lists 57 / 62

Page 231: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

Use the positional index

Simplest algorithm: look at cross-product of positions of (i)employment in document and (ii) place in document

Very inefficient for frequent words, especially stop words

Note that we want to return the actual matching positions,not just a list of documents.

Schutze: The term vocabulary and postings lists 57 / 62

Page 232: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Proximity search

Use the positional index

Simplest algorithm: look at cross-product of positions of (i)employment in document and (ii) place in document

Very inefficient for frequent words, especially stop words

Note that we want to return the actual matching positions,not just a list of documents.

This is important for dynamic summaries etc.

Schutze: The term vocabulary and postings lists 57 / 62

Page 233: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

“Proximity” intersection

PositionalIntersect(p1, p2, k)1 answer ← 〈 〉2 while p1 6= nil and p2 6= nil

3 do if docID(p1) = docID(p2)4 then l ← 〈 〉5 pp1 ← positions(p1)6 pp2 ← positions(p2)7 while pp1 6= nil

8 do while pp2 6= nil

9 do if |pos(pp1)− pos(pp2)| ≤ k

10 then Add(l , pos(pp2))11 else if pos(pp2) > pos(pp1)12 then break

13 pp2 ← next(pp2)14 while l 6= 〈 〉 and |l [0]− pos(pp1)| > k

15 do Delete(l [0])16 for each ps ∈ l

17 do Add(answer , 〈docID(p1), pos(pp1), ps〉)18 pp1 ← next(pp1)19 p1 ← next(p1)20 p2 ← next(p2)21 else if docID(p1) < docID(p2)22 then p1 ← next(p1)23 else p2 ← next(p2)24 return answer

Schutze: The term vocabulary and postings lists 58 / 62

Page 234: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Combination scheme

Biword indexes and positional indexes can be profitablycombined.

Schutze: The term vocabulary and postings lists 59 / 62

Page 235: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Combination scheme

Biword indexes and positional indexes can be profitablycombined.

Many biwords are extremely frequent: Michael Jackson,Britney Spears etc

Schutze: The term vocabulary and postings lists 59 / 62

Page 236: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Combination scheme

Biword indexes and positional indexes can be profitablycombined.

Many biwords are extremely frequent: Michael Jackson,Britney Spears etc

For these biwords, increased speed compared to positionalpostings intersection is substantial.

Schutze: The term vocabulary and postings lists 59 / 62

Page 237: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Combination scheme

Biword indexes and positional indexes can be profitablycombined.

Many biwords are extremely frequent: Michael Jackson,Britney Spears etc

For these biwords, increased speed compared to positionalpostings intersection is substantial.

Combination scheme: Include frequent biwords as vocabularyterms in the index. Do all other phrases by positionalintersection.

Schutze: The term vocabulary and postings lists 59 / 62

Page 238: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Combination scheme

Biword indexes and positional indexes can be profitablycombined.

Many biwords are extremely frequent: Michael Jackson,Britney Spears etc

For these biwords, increased speed compared to positionalpostings intersection is substantial.

Combination scheme: Include frequent biwords as vocabularyterms in the index. Do all other phrases by positionalintersection.

Williams et al. (2004) evaluate a more sophisticated mixedindexing scheme. Faster than a positional index, at a cost of26% more space for index.

Schutze: The term vocabulary and postings lists 59 / 62

Page 239: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

“Positional” queries on Google

For web search engines, positional queries are much moreexpensive than regular Boolean queries.

Schutze: The term vocabulary and postings lists 60 / 62

Page 240: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

“Positional” queries on Google

For web search engines, positional queries are much moreexpensive than regular Boolean queries.

Let’s look at the example of phrase queries.

Schutze: The term vocabulary and postings lists 60 / 62

Page 241: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

“Positional” queries on Google

For web search engines, positional queries are much moreexpensive than regular Boolean queries.

Let’s look at the example of phrase queries.

Why are they more expensive than regular Boolean queries?

Schutze: The term vocabulary and postings lists 60 / 62

Page 242: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

“Positional” queries on Google

For web search engines, positional queries are much moreexpensive than regular Boolean queries.

Let’s look at the example of phrase queries.

Why are they more expensive than regular Boolean queries?

Can you demonstrate on Google that phrase queries are moreexpensive than Boolean queries?

Schutze: The term vocabulary and postings lists 60 / 62

Page 243: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Take-away

Understanding of the basic unit of classical informationretrieval systems: words and documents: What is adocument, what is a term?

Tokenization: how to get from raw text to words (or tokens)

More complex indexes: skip pointers and phrases

Schutze: The term vocabulary and postings lists 61 / 62

Page 244: Introduction to Information Retrieval ` `%%%`#`&12 ...hs/teach/14s/ir/pdf/02voc.pdf · Simple Boolean vs. Ranking of result set Simple Boolean retrieval returns matching documents

Recap Documents Terms Skip pointers Phrase queries

Resources

Chapter 2 of IIR

Resources at http://cislmu.org

Porter stemmerA fun number search on Google

Schutze: The term vocabulary and postings lists 62 / 62