55
INFO 4300 / CS4300 Information Retrieval slides adapted from Hinrich Sch¨utze’s, linked from http://informationretrieval.org/ IR 2: The term vocabulary and postings lists Paul Ginsparg Cornell University, Ithaca, NY 30 Aug 2011 1 / 55

INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

INFO 4300 / CS4300Information Retrieval

slides adapted from Hinrich Schutze’s,linked from http://informationretrieval.org/

IR 2: The term vocabulary and postings lists

Paul Ginsparg

Cornell University, Ithaca, NY

30 Aug 2011

1 / 55

Page 2: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Administrativa (tentative)

Course Webpage:http://www.infosci.cornell.edu/Courses/info4300/2011fa/

Lectures: Tuesday and Thursday 11:40-12:55, Kimball B11

Instructor: Paul Ginsparg, ginsparg@..., 255-7371,Physical Sciences Building 452

Instructor’s Office Hours: Wed 1-2pm, Fri 2-3pm, or e-mailinstructor to schedule an appointment

Teaching Assistant: Saeed Abdullah, [email protected]

Course text at: http://informationretrieval.org/Introduction to Information Retrieval , C.Manning, P.Raghavan, H.Schutze

see alsoInformation Retrieval , S. Buttcher, C. Clarke, G. Cormack

http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=12307

2 / 55

Page 3: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Overview

1 Recap

2 Query optimization

3 Discussion Section (Thu 1 Sep)

4 The term vocabularyGeneral + Non-EnglishEnglish

3 / 55

Page 4: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Outline

1 Recap

2 Query optimization

3 Discussion Section (Thu 1 Sep)

4 The term vocabularyGeneral + Non-EnglishEnglish

4 / 55

Page 5: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Major Steps

1. Collect documents

2. Tokenize text

3. linguistic preprocessing

4. Index documents

5 / 55

Page 6: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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

6 / 55

Page 7: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Intersecting two postings lists

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.

7 / 55

Page 8: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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

8 / 55

Page 9: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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 to access a workplace Query: disab! /p

access! /s work-site work-place (employment /3 place) Information

need: Cases about a host’s responsibility for drunk guests Query:

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

9 / 55

Page 10: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Outline

1 Recap

2 Query optimization

3 Discussion Section (Thu 1 Sep)

4 The term vocabularyGeneral + Non-EnglishEnglish

10 / 55

Page 11: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Query optimization

Consider a query that is an and of n terms, n > 2

For each of the terms, get its postings list, then and themtogether

Example query: Brutus AND Calpurnia AND Caesar

What is the best order for processing this query?

11 / 55

Page 12: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Query optimization

Example query: Brutus AND Calpurnia AND Caesar

Simple and effective optimization: Process in order ofincreasing frequency

Start with the shortest postings list, then keep cutting further

In this example, first Caesar, then Calpurnia, thenBrutus

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

Calpurnia −→ 2 → 31 → 54 → 101

Caesar −→ 5 → 31

12 / 55

Page 13: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Optimized intersection algorithm for conjunctive queries

Intersect(〈t1, . . . , tn〉)1 terms ← SortByIncreasingFrequency(〈t1, . . . , tn〉)2 result ← postings(first(terms))3 terms ← rest(terms)4 while terms 6= nil and result 6= nil

5 do result ← Intersect(result, postings(first(terms)))6 terms ← rest(terms)7 return result

13 / 55

Page 14: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

More general optimization

Example query: (madding or crowd) and (ignoble or

strife)

Get frequencies for all terms

Estimate the size of each or by the sum of its frequencies(conservative)

Process in increasing order of or sizes

14 / 55

Page 15: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

In addition

determine set of terms in dictionary and provide retrievaltolerant to spelling mistakes and inconsistent choice of words

search for compounds or phrases that denote a concept suchas “operating system” or proximity queries such as GatesNEAR Microsoft: augment index to capture proximities ofterms in documents

Boolean model only records term presence or absence, butperhaps give more weight to documents that have a termseveral times? Need term frequency information (number oftimes a term occurs in a document) in postings lists

Boolean queries retrieve a set of matching documents, butneed effective method to order (or “rank”) returned results:requires mechanism for determining document scoremeasuring goodness of match to query

15 / 55

Page 16: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Summary

Ad hoc searching over documents has recently conquered theworld, powering not only web search engines but the kind ofunstructured search that lies behind large eCommerce websites.

But web search engines have added at least partialimplementations of some of the most popular operators fromextended Boolean models: phrase search, Boolean operators

16 / 55

Page 17: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Outline

1 Recap

2 Query optimization

3 Discussion Section (Thu 1 Sep)

4 The term vocabularyGeneral + Non-EnglishEnglish

17 / 55

Page 18: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Discussion 1, Thu 1 Sep

The course uses the Computer Science Course ManagementSystem (CMS) to manage assignments.

Between now and class on Thu, login using your NetID andpassword at http://cms.csuglab.cornell.edu/.Go to CS 4300 and follow the instructions for “assignment 0”.If you do not see CS 4300, contact [email protected].

In preparation, explore three information retrieval systems andcompare them:

Bing — a Web search engine (http://bing.com/).

The Library of Congress catalog — a very large bibliographiccatalog (http://catalog.loc.gov/).

PubMed — an indexing and abstracting service for medicineand related fields(http://www.ncbi.nlm.nih.gov/entrez/query.fcgi).

18 / 55

Page 19: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Use each service separately for the following information discoverytask:

What is the medical evidence that vaccines can cause autism?

Evaluate each search service. What do you consider the strengthsand weaknesses of each service? When would you use them?

(a) Does the service search full text or surrogates? What is theunderlying corpus? What effect does this have on your results?

(b) Is fielded searching offered? What Boolean operators aresupported? What regular expressions? How does it handlenon-Roman character sets? What is the stop list? How are resultsranked? Are they sorted, if so in what order?

(c) From a usability viewpoint. What style of user interface(s) isprovided? What training or help services? If there are basic andadvanced user interfaces, what does each offer?

N.B.: Use these questions to guide your thoughts — It is not necessaryto write detailed answers to these questions in a write-up. Just give the“best URL”, explaining in a sentence or two why you found thatparticular resource definitive, comprehensive or authoritative.

19 / 55

Page 20: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Outline

1 Recap

2 Query optimization

3 Discussion Section (Thu 1 Sep)

4 The term vocabularyGeneral + Non-EnglishEnglish

20 / 55

Page 21: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Major Steps

Recall the major steps in inverted index construction:

1. Collect the documents to be indexed

2. Tokenize the text

3. Do linguistic preprocessing of tokens

4. Index the documents in which each term occurs

21 / 55

Page 22: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Terms and documents

Last lecture: Simple Boolean retrieval system

Our assumptions were:

We know what a document is.We know what a term is.

Both issues can be complex in reality.

We’ll look a little bit at what a document is.

But mostly at terms: How do we define and process thevocabulary of terms of a collection?

22 / 55

Page 23: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Term Statistics

Next Lecture: statistical properties of term occurrences

Heap’s Law M = kT b: empirical growth of vocabulary withsize of collection

Zipf’s Law cf i ∝1i: empirical distribution of term usage

Both are power laws

But first. . .

23 / 55

Page 24: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Parsing a document

Before we can even start worrying about terms . . .

. . . 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

Alternative: use heuristics

24 / 55

Page 25: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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

Issues with books (again precision vs. recall)

25 / 55

Page 26: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

What is a document?

Take-away: potentially non-trivial; in many cases requiressome design decisions.

26 / 55

Page 27: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Outline

1 Recap

2 Query optimization

3 Discussion Section (Thu 1 Sep)

4 The term vocabularyGeneral + Non-EnglishEnglish

27 / 55

Page 28: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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.

28 / 55

Page 29: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Type/token distinction: Example

In June, the dog likes to chase the cat in the barn.

(How many word tokens? How many word types?)

29 / 55

Page 30: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Recall: Inverted index construction

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?

30 / 55

Page 31: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Why tokenization is difficult – even in English

Example: Mr. O’Neill thinks that the boys’ stories about Chile’s

capital aren’t amusing.

Tokenize this sentence

(neill , oneill , o’neill , o’ neill , o neill)(aren’t , arent , are n’t , aren t)

choices determine which Boolean queries will match

31 / 55

Page 32: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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

32 / 55

Page 33: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Numbers

3/20/91

20/3/91

Mar 20, 1991

100.2.86.144

(800) 234-2333

800.234.2333

Older IR systems may not index numbers . . .

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

33 / 55

Page 34: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Etc

C++

C#

B-52

M*A*S*H

[email protected]

http://stuff.big.com/new/specials.html

1Z9999W99845399981

34 / 55

Page 35: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Other languages

English dominant on the WWW: approximately 60% of web pagesin English (Gerrand 2007).But still 40% of the web non-English, expected to grow over time(less than one third of Internet users and less than 10% of theworlds population primarily speak English)

Signs of change: Sifry (2007) only about one third of blog postsare in English.

30 Aug 2011: Google search for ”percentage of web pages inenglish” brings up (page dated 26 Feb, 2011)http://www.quora.com/

How-many-websites-percentage-or-absolute-numbers-are-not-in-English:“. . . best guess would be about 40% of webpages today are inEnglish, and 60% (or about 170 billion websites) are non-English.”

35 / 55

Page 36: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Chinese: No whitespace莎拉波娃 � 在居住在美国� 南部的佛 � 里 � 。今年4月9日,莎拉波娃在美国第一大城市 � � 度 � 了18 � 生日。生日派� 上,莎拉波娃露出了甜美的微笑。36 / 55

Page 37: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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’.

37 / 55

Page 38: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Other cases of “no whitespace”

Compounds in Dutch and German

Computerlinguistik → Computer + Linguistik

Lebensversicherungsgesellschaftsangestellter

→ leben + versicherung + gesellschaft + angestellter

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

Swedish, Finnish, Greek, Urdu, many other languages

38 / 55

Page 39: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Japanese � � � � � � � � � � � � � � � � � � � � � ! " � # $% & ' ( ( ) * + ) * , - � . � / 0 1 2 � 3 4 5 6 7 8 9 2 � �: � ; < = > ?@ / 4 A B � C D C E � F G � H I J K L � 6 M N?A B � C D C E 2 O P 3 Q R � 3 C % S 2 T 4 U V W H X Y % Z [\ ] � ^ _ _ ` a b / c d W H 2 $ 4 e f D g h 4 � i = j 4 kD l � m n 3 o _ p q _ 6 H r W s t u v w � C J x � � � y W > 4z _ { | } ~ / � � � 2 Z � � � q � / � � � � � V H I J4 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!

39 / 55

Page 40: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Arabic script

ك ت ا ب ⇐ آ��ب un b ā t i k /kitābun/ ‘a book’

40 / 55

Page 41: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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.

41 / 55

Page 42: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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

42 / 55

Page 43: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Outline

1 Recap

2 Query optimization

3 Discussion Section (Thu 1 Sep)

4 The term vocabularyGeneral + Non-EnglishEnglish

43 / 55

Page 44: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Normalization

Need to “normalize” terms 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?

44 / 55

Page 45: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Normalization: Other languages

Normalization and language detection interact.

PETER WILL NICHT MIT. → MIT = mit

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

45 / 55

Page 46: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Case folding

Reduce all letters to lower case

Possible exceptions: capitalized words in mid-sentence

MIT vs. mit

Fed vs. fed

Windows vs. windows

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

46 / 55

Page 47: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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”, “flights to London”, “As we may think”, “To beor not to be”, “Let It Be”, “I don’t want to be”

Most web search engines index stop words.

47 / 55

Page 48: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

More equivalence classing

Soundex: (phonetic equivalence, Muller = Mueller)

Thesauri: (semantic equivalence, car = automobile)

48 / 55

Page 49: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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)

49 / 55

Page 50: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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

50 / 55

Page 51: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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.

51 / 55

Page 52: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Porter stemmer: A few rules

Rule Example

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

52 / 55

Page 53: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

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

http://www.tartarus.org/∼martin/PorterStemmer/

http://www.cs.waikato.ac.nz/∼eibe/stemmers/

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

53 / 55

Page 54: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

Does stemming improve effectiveness?

In general, stemming increases effectiveness for some queries,and decreases effectiveness for others (increases recall atexpense of precision)

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”

54 / 55

Page 55: INFO 4300 / CS4300 Information Retrieval [0.5cm] slides ... · times a term occurs in a document) in postings lists Boolean queries retrieve a set of matching documents, but need

What does Google do?

Stop words

Normalization

Tokenization

Lowercasing

Stemming

Non-latin alphabets

Umlauts

Compounds

Numbers

55 / 55