introduction to information retrieval http ...recap text classification naive bayes nb theory...

192
Recap Text classification Naive Bayes NB theory Evaluation of TC Introduction to Information Retrieval http://informationretrieval.org IIR 13: Text Classification & Naive Bayes Hinrich Sch¨ utze Center for Information and Language Processing, University of Munich 2014-05-15 Sch¨ utze: Text classification & Naive Bayes 1 / 58

Upload: others

Post on 17-Jan-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Introduction to Information Retrievalhttp://informationretrieval.org

IIR 13: Text Classification & Naive Bayes

Hinrich Schutze

Center for Information and Language Processing, University of Munich

2014-05-15

Schutze: Text classification & Naive Bayes 1 / 58

Page 2: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Overview

1 Recap

2 Text classification

3 Naive Bayes

4 NB theory

5 Evaluation of TC

Schutze: Text classification & Naive Bayes 2 / 58

Page 3: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Outline

1 Recap

2 Text classification

3 Naive Bayes

4 NB theory

5 Evaluation of TC

Schutze: Text classification & Naive Bayes 3 / 58

Page 4: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Relevance feedback: Basic idea

The user issues a (short, simple) query.

The search engine returns a set of documents.

User marks some docs as relevant, some as nonrelevant.

Search engine computes a new representation of theinformation need – should be better than the initial query.

Search engine runs new query and returns new results.

New results have (hopefully) better recall.

Schutze: Text classification & Naive Bayes 4 / 58

Page 5: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

Schutze: Text classification & Naive Bayes 5 / 58

Page 6: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

~µR

Schutze: Text classification & Naive Bayes 5 / 58

Page 7: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

~µR

Schutze: Text classification & Naive Bayes 5 / 58

Page 8: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

~µNR

Schutze: Text classification & Naive Bayes 5 / 58

Page 9: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

~µR

~µNR

Schutze: Text classification & Naive Bayes 5 / 58

Page 10: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

~µR

~µNR

~µR − ~µNR

Schutze: Text classification & Naive Bayes 5 / 58

Page 11: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

~µR

~µNR

~µR − ~µNR

Schutze: Text classification & Naive Bayes 5 / 58

Page 12: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

~µR

~µNR

~µR − ~µNR~qopt

Schutze: Text classification & Naive Bayes 5 / 58

Page 13: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx

~µR

~µNR

~µR − ~µNR~qopt

Schutze: Text classification & Naive Bayes 5 / 58

Page 14: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Rocchio illustrated

x

x

x

x

xx~qopt

Schutze: Text classification & Naive Bayes 5 / 58

Page 15: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Types of query expansion

Manual thesaurus (maintained by editors, e.g., PubMed)

Automatically derived thesaurus (e.g., based on co-occurrencestatistics)

Query-equivalence based on query log mining (common on theweb as in the “palm” example)

Schutze: Text classification & Naive Bayes 6 / 58

Page 16: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Query expansion at search engines

Main source of query expansion at search engines: query logs

Example 1: After issuing the query [herbs], users frequentlysearch for [herbal remedies].

→ “herbal remedies” is potential expansion of “herb”.

Example 2: Users searching for [flower pix] frequently click onthe URL photobucket.com/flower. Users searching for [flowerclipart] frequently click on the same URL.

→ “flower clipart” and “flower pix” are potential expansions ofeach other.

Schutze: Text classification & Naive Bayes 7 / 58

Page 17: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Take-away today

Schutze: Text classification & Naive Bayes 8 / 58

Page 18: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Take-away today

Text classification: definition & relevance to informationretrieval

Schutze: Text classification & Naive Bayes 8 / 58

Page 19: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Take-away today

Text classification: definition & relevance to informationretrieval

Naive Bayes: simple baseline text classifier

Schutze: Text classification & Naive Bayes 8 / 58

Page 20: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Take-away today

Text classification: definition & relevance to informationretrieval

Naive Bayes: simple baseline text classifier

Theory: derivation of Naive Bayes classification rule & analysis

Schutze: Text classification & Naive Bayes 8 / 58

Page 21: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Take-away today

Text classification: definition & relevance to informationretrieval

Naive Bayes: simple baseline text classifier

Theory: derivation of Naive Bayes classification rule & analysis

Evaluation of text classification: how do we know it worked /didn’t work?

Schutze: Text classification & Naive Bayes 8 / 58

Page 22: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Outline

1 Recap

2 Text classification

3 Naive Bayes

4 NB theory

5 Evaluation of TC

Schutze: Text classification & Naive Bayes 9 / 58

Page 23: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A text classification task: Email spam filtering

From: ‘‘’’ <[email protected]>

Subject: real estate is the only way... gem oalvgkay

Anyone can buy real estate with no money down

Stop paying rent TODAY !

There is no need to spend hundreds or even thousands for similar courses

I am 22 years old and I have already purchased 6 properties using the

methods outlined in this truly INCREDIBLE ebook.

Change your life NOW !

=================================================

Click Below to order:

http://www.wholesaledaily.com/sales/nmd.htm

=================================================

Schutze: Text classification & Naive Bayes 10 / 58

Page 24: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Training

Schutze: Text classification & Naive Bayes 11 / 58

Page 25: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Training

Given:

A document space X

Schutze: Text classification & Naive Bayes 11 / 58

Page 26: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Training

Given:

A document space X

Documents are represented in this space – typically some typeof high-dimensional space.

Schutze: Text classification & Naive Bayes 11 / 58

Page 27: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Training

Given:

A document space X

Documents are represented in this space – typically some typeof high-dimensional space.

A fixed set of classes C = {c1, c2, . . . , cJ}

Schutze: Text classification & Naive Bayes 11 / 58

Page 28: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Training

Given:

A document space X

Documents are represented in this space – typically some typeof high-dimensional space.

A fixed set of classes C = {c1, c2, . . . , cJ}

The classes are human-defined for the needs of an application(e.g., spam vs. nonspam).

Schutze: Text classification & Naive Bayes 11 / 58

Page 29: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Training

Given:

A document space X

Documents are represented in this space – typically some typeof high-dimensional space.

A fixed set of classes C = {c1, c2, . . . , cJ}

The classes are human-defined for the needs of an application(e.g., spam vs. nonspam).

A training set D of labeled documents. Each labeleddocument 〈d , c〉 ∈ X× C

Schutze: Text classification & Naive Bayes 11 / 58

Page 30: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Training

Given:

A document space X

Documents are represented in this space – typically some typeof high-dimensional space.

A fixed set of classes C = {c1, c2, . . . , cJ}

The classes are human-defined for the needs of an application(e.g., spam vs. nonspam).

A training set D of labeled documents. Each labeleddocument 〈d , c〉 ∈ X× C

Using a learning method or learning algorithm, we then wish tolearn a classifier γ that maps documents to classes:

γ : X→ C

Schutze: Text classification & Naive Bayes 11 / 58

Page 31: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Application/Testing

Schutze: Text classification & Naive Bayes 12 / 58

Page 32: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Formal definition of TC: Application/Testing

Given: a description d ∈ X of a document

Determine: γ(d) ∈ C, that is, the class that is most appropriatefor d

Schutze: Text classification & Naive Bayes 12 / 58

Page 33: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Topic classification

classes:

trainingset:

testset:

regions industries subject areas

γ(d ′) =China

first

private

Chinese

airline

UK China poultry coffee elections sports

London

congestion

Big Ben

Parliament

the Queen

Windsor

Beijing

Olympics

Great Wall

tourism

communist

Mao

chicken

feed

ducks

pate

turkey

bird flu

beans

roasting

robusta

arabica

harvest

Kenya

votes

recount

run-off

seat

campaign

TV ads

baseball

diamond

soccer

forward

captain

team

d ′

Schutze: Text classification & Naive Bayes 13 / 58

Page 34: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Exercise

Schutze: Text classification & Naive Bayes 14 / 58

Page 35: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Exercise

Find examples of uses of text classification in informationretrieval

Schutze: Text classification & Naive Bayes 14 / 58

Page 36: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Examples of how search engines use classification

Schutze: Text classification & Naive Bayes 15 / 58

Page 37: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Examples of how search engines use classification

Language identification (classes: English vs. French etc.)

Schutze: Text classification & Naive Bayes 15 / 58

Page 38: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Examples of how search engines use classification

Language identification (classes: English vs. French etc.)

The automatic detection of spam pages (spam vs. nonspam)

Schutze: Text classification & Naive Bayes 15 / 58

Page 39: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Examples of how search engines use classification

Language identification (classes: English vs. French etc.)

The automatic detection of spam pages (spam vs. nonspam)

Sentiment detection: is a movie or product review positive ornegative (positive vs. negative)

Schutze: Text classification & Naive Bayes 15 / 58

Page 40: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Examples of how search engines use classification

Language identification (classes: English vs. French etc.)

The automatic detection of spam pages (spam vs. nonspam)

Sentiment detection: is a movie or product review positive ornegative (positive vs. negative)

Topic-specific or vertical search – restrict search to a“vertical” like “related to health” (relevant to vertical vs. not)

Schutze: Text classification & Naive Bayes 15 / 58

Page 41: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 1. Manual

Schutze: Text classification & Naive Bayes 16 / 58

Page 42: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 1. Manual

Manual classification was used by Yahoo in the beginning ofthe web. Also: ODP, PubMed

Schutze: Text classification & Naive Bayes 16 / 58

Page 43: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 1. Manual

Manual classification was used by Yahoo in the beginning ofthe web. Also: ODP, PubMed

Very accurate if job is done by experts

Schutze: Text classification & Naive Bayes 16 / 58

Page 44: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 1. Manual

Manual classification was used by Yahoo in the beginning ofthe web. Also: ODP, PubMed

Very accurate if job is done by experts

Consistent when the problem size and team is small

Schutze: Text classification & Naive Bayes 16 / 58

Page 45: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 1. Manual

Manual classification was used by Yahoo in the beginning ofthe web. Also: ODP, PubMed

Very accurate if job is done by experts

Consistent when the problem size and team is small

Scaling manual classification is difficult and expensive.

Schutze: Text classification & Naive Bayes 16 / 58

Page 46: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 1. Manual

Manual classification was used by Yahoo in the beginning ofthe web. Also: ODP, PubMed

Very accurate if job is done by experts

Consistent when the problem size and team is small

Scaling manual classification is difficult and expensive.

→ We need automatic methods for classification.

Schutze: Text classification & Naive Bayes 16 / 58

Page 47: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 2. Rule-based

Schutze: Text classification & Naive Bayes 17 / 58

Page 48: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 2. Rule-based

E.g., Google Alerts is rule-based classification.

Schutze: Text classification & Naive Bayes 17 / 58

Page 49: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 2. Rule-based

E.g., Google Alerts is rule-based classification.

There are IDE-type development enviroments for writing verycomplex rules efficiently. (e.g., Verity)

Schutze: Text classification & Naive Bayes 17 / 58

Page 50: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 2. Rule-based

E.g., Google Alerts is rule-based classification.

There are IDE-type development enviroments for writing verycomplex rules efficiently. (e.g., Verity)

Often: Boolean combinations (as in Google Alerts)

Schutze: Text classification & Naive Bayes 17 / 58

Page 51: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 2. Rule-based

E.g., Google Alerts is rule-based classification.

There are IDE-type development enviroments for writing verycomplex rules efficiently. (e.g., Verity)

Often: Boolean combinations (as in Google Alerts)

Accuracy is very high if a rule has been carefully refined overtime by a subject expert.

Schutze: Text classification & Naive Bayes 17 / 58

Page 52: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 2. Rule-based

E.g., Google Alerts is rule-based classification.

There are IDE-type development enviroments for writing verycomplex rules efficiently. (e.g., Verity)

Often: Boolean combinations (as in Google Alerts)

Accuracy is very high if a rule has been carefully refined overtime by a subject expert.

Building and maintaining rule-based classification systems iscumbersome and expensive.

Schutze: Text classification & Naive Bayes 17 / 58

Page 53: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A Verity topic (a complex classification rule)

Schutze: Text classification & Naive Bayes 18 / 58

Page 54: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A Verity topic (a complex classification rule)

Schutze: Text classification & Naive Bayes 18 / 58

Page 55: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 3. Statistical/Probabilistic

Schutze: Text classification & Naive Bayes 19 / 58

Page 56: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 3. Statistical/Probabilistic

This was our definition of the classification problem – textclassification as a learning problem

Schutze: Text classification & Naive Bayes 19 / 58

Page 57: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 3. Statistical/Probabilistic

This was our definition of the classification problem – textclassification as a learning problem

(i) Supervised learning of a the classification function γ and(ii) application of γ to classifying new documents

Schutze: Text classification & Naive Bayes 19 / 58

Page 58: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 3. Statistical/Probabilistic

This was our definition of the classification problem – textclassification as a learning problem

(i) Supervised learning of a the classification function γ and(ii) application of γ to classifying new documents

We will look at two methods for doing this: Naive Bayes andSVMs

Schutze: Text classification & Naive Bayes 19 / 58

Page 59: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 3. Statistical/Probabilistic

This was our definition of the classification problem – textclassification as a learning problem

(i) Supervised learning of a the classification function γ and(ii) application of γ to classifying new documents

We will look at two methods for doing this: Naive Bayes andSVMs

No free lunch: requires hand-classified training data

Schutze: Text classification & Naive Bayes 19 / 58

Page 60: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Classification methods: 3. Statistical/Probabilistic

This was our definition of the classification problem – textclassification as a learning problem

(i) Supervised learning of a the classification function γ and(ii) application of γ to classifying new documents

We will look at two methods for doing this: Naive Bayes andSVMs

No free lunch: requires hand-classified training data

But this manual classification can be done by non-experts.

Schutze: Text classification & Naive Bayes 19 / 58

Page 61: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Outline

1 Recap

2 Text classification

3 Naive Bayes

4 NB theory

5 Evaluation of TC

Schutze: Text classification & Naive Bayes 20 / 58

Page 62: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The Naive Bayes classifier

The Naive Bayes classifier is a probabilistic classifier.

Schutze: Text classification & Naive Bayes 21 / 58

Page 63: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The Naive Bayes classifier

The Naive Bayes classifier is a probabilistic classifier.

We compute the probability of a document d being in a classc as follows:

P(c |d) ∝ P(c)∏

1≤k≤nd

P(tk |c)

Schutze: Text classification & Naive Bayes 21 / 58

Page 64: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The Naive Bayes classifier

The Naive Bayes classifier is a probabilistic classifier.

We compute the probability of a document d being in a classc as follows:

P(c |d) ∝ P(c)∏

1≤k≤nd

P(tk |c)

nd is the length of the document. (number of tokens)

Schutze: Text classification & Naive Bayes 21 / 58

Page 65: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The Naive Bayes classifier

The Naive Bayes classifier is a probabilistic classifier.

We compute the probability of a document d being in a classc as follows:

P(c |d) ∝ P(c)∏

1≤k≤nd

P(tk |c)

nd is the length of the document. (number of tokens)

P(tk |c) is the conditional probability of term tk occurring in adocument of class c

Schutze: Text classification & Naive Bayes 21 / 58

Page 66: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The Naive Bayes classifier

The Naive Bayes classifier is a probabilistic classifier.

We compute the probability of a document d being in a classc as follows:

P(c |d) ∝ P(c)∏

1≤k≤nd

P(tk |c)

nd is the length of the document. (number of tokens)

P(tk |c) is the conditional probability of term tk occurring in adocument of class c

P(tk |c) as a measure of how much evidence tk contributesthat c is the correct class.

Schutze: Text classification & Naive Bayes 21 / 58

Page 67: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The Naive Bayes classifier

The Naive Bayes classifier is a probabilistic classifier.

We compute the probability of a document d being in a classc as follows:

P(c |d) ∝ P(c)∏

1≤k≤nd

P(tk |c)

nd is the length of the document. (number of tokens)

P(tk |c) is the conditional probability of term tk occurring in adocument of class c

P(tk |c) as a measure of how much evidence tk contributesthat c is the correct class.

P(c) is the prior probability of c .

Schutze: Text classification & Naive Bayes 21 / 58

Page 68: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The Naive Bayes classifier

The Naive Bayes classifier is a probabilistic classifier.

We compute the probability of a document d being in a classc as follows:

P(c |d) ∝ P(c)∏

1≤k≤nd

P(tk |c)

nd is the length of the document. (number of tokens)

P(tk |c) is the conditional probability of term tk occurring in adocument of class c

P(tk |c) as a measure of how much evidence tk contributesthat c is the correct class.

P(c) is the prior probability of c .

If a document’s terms do not provide clear evidence for oneclass vs. another, we choose the c with highest P(c).

Schutze: Text classification & Naive Bayes 21 / 58

Page 69: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Maximum a posteriori class

Our goal in Naive Bayes classification is to find the “best”class.

Schutze: Text classification & Naive Bayes 22 / 58

Page 70: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Maximum a posteriori class

Our goal in Naive Bayes classification is to find the “best”class.

The best class is the most likely or maximum a posteriori(MAP) class cmap:

cmap = argmaxc∈C

P(c |d) = argmaxc∈C

P(c)∏

1≤k≤nd

P(tk |c)

Schutze: Text classification & Naive Bayes 22 / 58

Page 71: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Taking the log

Schutze: Text classification & Naive Bayes 23 / 58

Page 72: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Taking the log

Multiplying lots of small probabilities can result in floatingpoint underflow.

Schutze: Text classification & Naive Bayes 23 / 58

Page 73: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Taking the log

Multiplying lots of small probabilities can result in floatingpoint underflow.

Since log(xy) = log(x) + log(y), we can sum log probabilitiesinstead of multiplying probabilities.

Schutze: Text classification & Naive Bayes 23 / 58

Page 74: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Taking the log

Multiplying lots of small probabilities can result in floatingpoint underflow.

Since log(xy) = log(x) + log(y), we can sum log probabilitiesinstead of multiplying probabilities.

Since log is a monotonic function, the class with the highestscore does not change.

Schutze: Text classification & Naive Bayes 23 / 58

Page 75: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Taking the log

Multiplying lots of small probabilities can result in floatingpoint underflow.

Since log(xy) = log(x) + log(y), we can sum log probabilitiesinstead of multiplying probabilities.

Since log is a monotonic function, the class with the highestscore does not change.

So what we usually compute in practice is:

cmap = argmaxc∈C

[log P(c) +∑

1≤k≤nd

log P(tk |c)]

Schutze: Text classification & Naive Bayes 23 / 58

Page 76: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes classifier

Schutze: Text classification & Naive Bayes 24 / 58

Page 77: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes classifier

Classification rule:

cmap = argmaxc∈C

[ log P(c) +∑

1≤k≤nd

log P(tk |c)]

Schutze: Text classification & Naive Bayes 24 / 58

Page 78: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes classifier

Classification rule:

cmap = argmaxc∈C

[ log P(c) +∑

1≤k≤nd

log P(tk |c)]

Simple interpretation:

Schutze: Text classification & Naive Bayes 24 / 58

Page 79: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes classifier

Classification rule:

cmap = argmaxc∈C

[ log P(c) +∑

1≤k≤nd

log P(tk |c)]

Simple interpretation:

Each conditional parameter log P(tk |c) is a weight thatindicates how good an indicator tk is for c .

Schutze: Text classification & Naive Bayes 24 / 58

Page 80: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes classifier

Classification rule:

cmap = argmaxc∈C

[ log P(c) +∑

1≤k≤nd

log P(tk |c)]

Simple interpretation:

Each conditional parameter log P(tk |c) is a weight thatindicates how good an indicator tk is for c .The prior log P(c) is a weight that indicates the relativefrequency of c .

Schutze: Text classification & Naive Bayes 24 / 58

Page 81: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes classifier

Classification rule:

cmap = argmaxc∈C

[ log P(c) +∑

1≤k≤nd

log P(tk |c)]

Simple interpretation:

Each conditional parameter log P(tk |c) is a weight thatindicates how good an indicator tk is for c .The prior log P(c) is a weight that indicates the relativefrequency of c .The sum of log prior and term weights is then a measure ofhow much evidence there is for the document being in theclass.

Schutze: Text classification & Naive Bayes 24 / 58

Page 82: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes classifier

Classification rule:

cmap = argmaxc∈C

[ log P(c) +∑

1≤k≤nd

log P(tk |c)]

Simple interpretation:

Each conditional parameter log P(tk |c) is a weight thatindicates how good an indicator tk is for c .The prior log P(c) is a weight that indicates the relativefrequency of c .The sum of log prior and term weights is then a measure ofhow much evidence there is for the document being in theclass.We select the class with the most evidence.

Schutze: Text classification & Naive Bayes 24 / 58

Page 83: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Parameter estimation take 1: Maximum likelihood

Schutze: Text classification & Naive Bayes 25 / 58

Page 84: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Parameter estimation take 1: Maximum likelihood

Estimate parameters P(c) and P(tk |c) from train data: How?

Schutze: Text classification & Naive Bayes 25 / 58

Page 85: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Parameter estimation take 1: Maximum likelihood

Estimate parameters P(c) and P(tk |c) from train data: How?

Prior:

P(c) =Nc

N

Schutze: Text classification & Naive Bayes 25 / 58

Page 86: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Parameter estimation take 1: Maximum likelihood

Estimate parameters P(c) and P(tk |c) from train data: How?

Prior:

P(c) =Nc

N

Nc : number of docs in class c ; N: total number of docs

Schutze: Text classification & Naive Bayes 25 / 58

Page 87: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Parameter estimation take 1: Maximum likelihood

Estimate parameters P(c) and P(tk |c) from train data: How?

Prior:

P(c) =Nc

N

Nc : number of docs in class c ; N: total number of docs

Conditional probabilities:

P(t|c) =Tct∑

t′∈V Tct′

Schutze: Text classification & Naive Bayes 25 / 58

Page 88: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Parameter estimation take 1: Maximum likelihood

Estimate parameters P(c) and P(tk |c) from train data: How?

Prior:

P(c) =Nc

N

Nc : number of docs in class c ; N: total number of docs

Conditional probabilities:

P(t|c) =Tct∑

t′∈V Tct′

Tct is the number of tokens of t in training documents fromclass c (includes multiple occurrences)

Schutze: Text classification & Naive Bayes 25 / 58

Page 89: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Parameter estimation take 1: Maximum likelihood

Estimate parameters P(c) and P(tk |c) from train data: How?

Prior:

P(c) =Nc

N

Nc : number of docs in class c ; N: total number of docs

Conditional probabilities:

P(t|c) =Tct∑

t′∈V Tct′

Tct is the number of tokens of t in training documents fromclass c (includes multiple occurrences)

We’ve made a Naive Bayes independence assumption here:P(tk |c) = P(tk |c), independent of position

Schutze: Text classification & Naive Bayes 25 / 58

Page 90: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The problem with maximum likelihood estimates: Zeros

Schutze: Text classification & Naive Bayes 26 / 58

Page 91: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The problem with maximum likelihood estimates: Zeros

C=China

X1=Beijing X2=and X3=Taipei X4=join X5=WTO

P(China|d) ∝ P(China) · P(Beijing|China) · P(and|China)

· P(Taipei|China) · P(join|China) · P(WTO|China)

If WTO never occurs in class China in the train set:

P(WTO|China) =TChina,WTO∑t′∈V TChina,t′

=0∑

t′∈V TChina,t′= 0

Schutze: Text classification & Naive Bayes 26 / 58

Page 92: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The problem with maximum likelihood estimates: Zeros

C=China

X1=Beijing X2=and X3=Taipei X4=join X5=WTO

P(China|d) ∝ P(China) · P(Beijing|China) · P(and|China)

· P(Taipei|China) · P(join|China) · P(WTO|China)

If WTO never occurs in class China in the train set:

P(WTO|China) =TChina,WTO∑t′∈V TChina,t′

=0∑

t′∈V TChina,t′= 0

Schutze: Text classification & Naive Bayes 26 / 58

Page 93: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The problem with maximum likelihood estimates: Zeros

(cont)

If there are no occurrences of WTO in documents in classChina, we get a zero estimate:

P(WTO|China) =TChina,WTO∑t′∈V TChina,t′

= 0

Schutze: Text classification & Naive Bayes 27 / 58

Page 94: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

The problem with maximum likelihood estimates: Zeros

(cont)

If there are no occurrences of WTO in documents in classChina, we get a zero estimate:

P(WTO|China) =TChina,WTO∑t′∈V TChina,t′

= 0

→ We will get P(China|d) = 0 for any document thatcontains WTO!

Schutze: Text classification & Naive Bayes 27 / 58

Page 95: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

To avoid zeros: Add-one smoothing

Schutze: Text classification & Naive Bayes 28 / 58

Page 96: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

To avoid zeros: Add-one smoothing

Before:

P(t|c) =Tct∑

t′∈V Tct′

Schutze: Text classification & Naive Bayes 28 / 58

Page 97: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

To avoid zeros: Add-one smoothing

Before:

P(t|c) =Tct∑

t′∈V Tct′

Now: Add one to each count to avoid zeros:

P(t|c) =Tct + 1∑

t′∈V (Tct′ + 1)=

Tct + 1

(∑

t′∈V Tct′) + B

Schutze: Text classification & Naive Bayes 28 / 58

Page 98: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

To avoid zeros: Add-one smoothing

Before:

P(t|c) =Tct∑

t′∈V Tct′

Now: Add one to each count to avoid zeros:

P(t|c) =Tct + 1∑

t′∈V (Tct′ + 1)=

Tct + 1

(∑

t′∈V Tct′) + B

B is the number of bins – in this case the number of differentwords or the size of the vocabulary |V | = M

Schutze: Text classification & Naive Bayes 28 / 58

Page 99: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Summary

Schutze: Text classification & Naive Bayes 29 / 58

Page 100: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Summary

Estimate parameters from the training corpus using add-onesmoothing

Schutze: Text classification & Naive Bayes 29 / 58

Page 101: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Summary

Estimate parameters from the training corpus using add-onesmoothing

For a new document, for each class, compute sum of (i) log ofprior and (ii) logs of conditional probabilities of the terms

Schutze: Text classification & Naive Bayes 29 / 58

Page 102: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Summary

Estimate parameters from the training corpus using add-onesmoothing

For a new document, for each class, compute sum of (i) log ofprior and (ii) logs of conditional probabilities of the terms

Assign the document to the class with the largest score

Schutze: Text classification & Naive Bayes 29 / 58

Page 103: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Training

Schutze: Text classification & Naive Bayes 30 / 58

Page 104: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Training

TrainMultinomialNB(C,D)1 V ← ExtractVocabulary(D)2 N ← CountDocs(D)3 for each c ∈ C

4 do Nc ← CountDocsInClass(D, c)5 prior [c]← Nc/N6 textc ← ConcatenateTextOfAllDocsInClass(D, c)7 for each t ∈ V

8 do Tct ← CountTokensOfTerm(textc , t)9 for each t ∈ V

10 do condprob[t][c]← Tct+1∑t′(Tct′+1)

11 return V , prior , condprob

Schutze: Text classification & Naive Bayes 30 / 58

Page 105: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Testing

Schutze: Text classification & Naive Bayes 31 / 58

Page 106: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Testing

ApplyMultinomialNB(C,V , prior , condprob, d)1 W ← ExtractTokensFromDoc(V , d)2 for each c ∈ C

3 do score[c] ← log prior [c]4 for each t ∈W

5 do score[c]+ = log condprob[t][c]6 return argmaxc∈C score[c]

Schutze: Text classification & Naive Bayes 31 / 58

Page 107: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Exercise: Estimate parameters, classify test set

docID words in document in c = China?

training set 1 Chinese Beijing Chinese yes2 Chinese Chinese Shanghai yes3 Chinese Macao yes4 Tokyo Japan Chinese no

test set 5 Chinese Chinese Chinese Tokyo Japan ?

P(c) =Nc

N

P(t|c) =Tct + 1∑

t′∈V (Tct′ + 1)=

Tct + 1

(∑

t′∈V Tct′) + B

(B is the number of bins – in this case the number of different words or thesize of the vocabulary |V | = M)

cmap = argmaxc∈C

[P(c) ·∏

1≤k≤nd

P(tk |c)]

Schutze: Text classification & Naive Bayes 32 / 58

Page 108: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Schutze: Text classification & Naive Bayes 33 / 58

Page 109: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Example: Parameter estimates

Schutze: Text classification & Naive Bayes 34 / 58

Page 110: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Example: Parameter estimates

Priors: P(c) = 3/4 and P(c) = 1/4Conditional probabilities:

P(Chinese|c) = (5 + 1)/(8 + 6) = 6/14 = 3/7

P(Tokyo|c) = P(Japan|c) = (0 + 1)/(8 + 6) = 1/14

P(Chinese|c) = (1 + 1)/(3 + 6) = 2/9

P(Tokyo|c) = P(Japan|c) = (1 + 1)/(3 + 6) = 2/9

The denominators are (8 + 6) and (3 + 6) because the lengths oftextc and textc are 8 and 3, respectively, and because the constantB is 6 as the vocabulary consists of six terms.

Schutze: Text classification & Naive Bayes 34 / 58

Page 111: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Example: Classification

Schutze: Text classification & Naive Bayes 35 / 58

Page 112: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Example: Classification

P(c |d5) ∝ 3/4 · (3/7)3 · 1/14 · 1/14 ≈ 0.0003

P(c |d5) ∝ 1/4 · (2/9)3 · 2/9 · 2/9 ≈ 0.0001

Thus, the classifier assigns the test document to c = China.The reason for this classification decision is that the threeoccurrences of the positive indicator Chinese in d5 outweigh theoccurrences of the two negative indicators Japan and Tokyo.

Schutze: Text classification & Naive Bayes 35 / 58

Page 113: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Time complexity of Naive Bayes

Schutze: Text classification & Naive Bayes 36 / 58

Page 114: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Time complexity of Naive Bayes

mode time complexity

training Θ(|D|Lave + |C||V |)testing Θ(La + |C|Ma) = Θ(|C|Ma)

Lave: average length of a training doc, La: length of the testdoc, Ma: number of distinct terms in the test doc, D:training set, V : vocabulary, C: set of classes

Schutze: Text classification & Naive Bayes 36 / 58

Page 115: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Time complexity of Naive Bayes

mode time complexity

training Θ(|D|Lave + |C||V |)testing Θ(La + |C|Ma) = Θ(|C|Ma)

Lave: average length of a training doc, La: length of the testdoc, Ma: number of distinct terms in the test doc, D:training set, V : vocabulary, C: set of classes

Θ(|D|Lave) is the time it takes to compute all counts.

Schutze: Text classification & Naive Bayes 36 / 58

Page 116: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Time complexity of Naive Bayes

mode time complexity

training Θ(|D|Lave + |C||V |)testing Θ(La + |C|Ma) = Θ(|C|Ma)

Lave: average length of a training doc, La: length of the testdoc, Ma: number of distinct terms in the test doc, D:training set, V : vocabulary, C: set of classes

Θ(|D|Lave) is the time it takes to compute all counts.

Θ(|C||V |) is the time it takes to compute the parametersfrom the counts.

Schutze: Text classification & Naive Bayes 36 / 58

Page 117: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Time complexity of Naive Bayes

mode time complexity

training Θ(|D|Lave + |C||V |)testing Θ(La + |C|Ma) = Θ(|C|Ma)

Lave: average length of a training doc, La: length of the testdoc, Ma: number of distinct terms in the test doc, D:training set, V : vocabulary, C: set of classes

Θ(|D|Lave) is the time it takes to compute all counts.

Θ(|C||V |) is the time it takes to compute the parametersfrom the counts.

Generally: |C||V | < |D|Lave

Schutze: Text classification & Naive Bayes 36 / 58

Page 118: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Time complexity of Naive Bayes

mode time complexity

training Θ(|D|Lave + |C||V |)testing Θ(La + |C|Ma) = Θ(|C|Ma)

Lave: average length of a training doc, La: length of the testdoc, Ma: number of distinct terms in the test doc, D:training set, V : vocabulary, C: set of classes

Θ(|D|Lave) is the time it takes to compute all counts.

Θ(|C||V |) is the time it takes to compute the parametersfrom the counts.

Generally: |C||V | < |D|Lave

Test time is also linear (in the length of the test document).

Schutze: Text classification & Naive Bayes 36 / 58

Page 119: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Time complexity of Naive Bayes

mode time complexity

training Θ(|D|Lave + |C||V |)testing Θ(La + |C|Ma) = Θ(|C|Ma)

Lave: average length of a training doc, La: length of the testdoc, Ma: number of distinct terms in the test doc, D:training set, V : vocabulary, C: set of classes

Θ(|D|Lave) is the time it takes to compute all counts.

Θ(|C||V |) is the time it takes to compute the parametersfrom the counts.

Generally: |C||V | < |D|Lave

Test time is also linear (in the length of the test document).

Thus: Naive Bayes is linear in the size of the training set(training) and the test document (testing). This is optimal.

Schutze: Text classification & Naive Bayes 36 / 58

Page 120: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Outline

1 Recap

2 Text classification

3 Naive Bayes

4 NB theory

5 Evaluation of TC

Schutze: Text classification & Naive Bayes 37 / 58

Page 121: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Analysis

Schutze: Text classification & Naive Bayes 38 / 58

Page 122: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Analysis

Now we want to gain a better understanding of the propertiesof Naive Bayes.

Schutze: Text classification & Naive Bayes 38 / 58

Page 123: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Analysis

Now we want to gain a better understanding of the propertiesof Naive Bayes.

We will formally derive the classification rule . . .

Schutze: Text classification & Naive Bayes 38 / 58

Page 124: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes: Analysis

Now we want to gain a better understanding of the propertiesof Naive Bayes.

We will formally derive the classification rule . . .

. . . and make our assumptions explicit.

Schutze: Text classification & Naive Bayes 38 / 58

Page 125: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Derivation of Naive Bayes rule

Schutze: Text classification & Naive Bayes 39 / 58

Page 126: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Derivation of Naive Bayes rule

We want to find the class that is most likely given the document:

cmap = argmaxc∈C

P(c |d)

Apply Bayes rule P(A|B) = P(B|A)P(A)P(B) :

cmap = argmaxc∈C

P(d |c)P(c)

P(d)

Drop denominator since P(d) is the same for all classes:

cmap = argmaxc∈C

P(d |c)P(c)

Schutze: Text classification & Naive Bayes 39 / 58

Page 127: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Too many parameters / sparseness

cmap = argmaxc∈C

P(d |c)P(c)

= argmaxc∈C

P(〈t1, . . . , tk , . . . , tnd 〉|c)P(c)

Schutze: Text classification & Naive Bayes 40 / 58

Page 128: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Too many parameters / sparseness

cmap = argmaxc∈C

P(d |c)P(c)

= argmaxc∈C

P(〈t1, . . . , tk , . . . , tnd 〉|c)P(c)

There are too many parameters P(〈t1, . . . , tk , . . . , tnd 〉|c), onefor each unique combination of a class and a sequence ofwords.

Schutze: Text classification & Naive Bayes 40 / 58

Page 129: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Too many parameters / sparseness

cmap = argmaxc∈C

P(d |c)P(c)

= argmaxc∈C

P(〈t1, . . . , tk , . . . , tnd 〉|c)P(c)

There are too many parameters P(〈t1, . . . , tk , . . . , tnd 〉|c), onefor each unique combination of a class and a sequence ofwords.

We would need a very, very large number of training examplesto estimate that many parameters.

Schutze: Text classification & Naive Bayes 40 / 58

Page 130: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Too many parameters / sparseness

cmap = argmaxc∈C

P(d |c)P(c)

= argmaxc∈C

P(〈t1, . . . , tk , . . . , tnd 〉|c)P(c)

There are too many parameters P(〈t1, . . . , tk , . . . , tnd 〉|c), onefor each unique combination of a class and a sequence ofwords.

We would need a very, very large number of training examplesto estimate that many parameters.

This is the problem of data sparseness.

Schutze: Text classification & Naive Bayes 40 / 58

Page 131: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes conditional independence assumption

To reduce the number of parameters to a manageable size, wemake the Naive Bayes conditional independence assumption:

P(d |c) = P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

We assume that the probability of observing the conjunction ofattributes is equal to the product of the individual probabilitiesP(Xk = tk |c).Recall from earlier the estimates for these conditional probabilities:P(t|c) = Tct+1

(∑

t′∈V Tct′)+B

Schutze: Text classification & Naive Bayes 41 / 58

Page 132: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Generative model

Schutze: Text classification & Naive Bayes 42 / 58

Page 133: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Generative model

C=China

X1=Beijing X2=and X3=Taipei X4=join X5=WTO

P(c |d) ∝ P(c)∏

1≤k≤ndP(tk |c)

Generate a class with probability P(c)

Schutze: Text classification & Naive Bayes 42 / 58

Page 134: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Generative model

C=China

X1=Beijing X2=and X3=Taipei X4=join X5=WTO

P(c |d) ∝ P(c)∏

1≤k≤ndP(tk |c)

Generate a class with probability P(c)

Generate each of the words (in their respective positions),conditional on the class, but independent of each other, withprobability P(tk |c)

Schutze: Text classification & Naive Bayes 42 / 58

Page 135: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Generative model

C=China

X1=Beijing X2=and X3=Taipei X4=join X5=WTO

P(c |d) ∝ P(c)∏

1≤k≤ndP(tk |c)

Generate a class with probability P(c)

Generate each of the words (in their respective positions),conditional on the class, but independent of each other, withprobability P(tk |c)

To classify docs, we “reengineer” this process and find theclass that is most likely to have generated the doc.

Schutze: Text classification & Naive Bayes 42 / 58

Page 136: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Second independence assumption

Schutze: Text classification & Naive Bayes 43 / 58

Page 137: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Second independence assumption

P(Xk1 = t|c) = P(Xk2 = t|c)

Schutze: Text classification & Naive Bayes 43 / 58

Page 138: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Second independence assumption

P(Xk1 = t|c) = P(Xk2 = t|c)

For example, for a document in the class UK, the probabilityof generating queen in the first position of the document isthe same as generating it in the last position.

Schutze: Text classification & Naive Bayes 43 / 58

Page 139: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Second independence assumption

P(Xk1 = t|c) = P(Xk2 = t|c)

For example, for a document in the class UK, the probabilityof generating queen in the first position of the document isthe same as generating it in the last position.

The two independence assumptions amount to the bag ofwords model.

Schutze: Text classification & Naive Bayes 43 / 58

Page 140: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A different Naive Bayes model: Bernoulli model

UAlaska=0 UBeijing=1 U India=0 U join=1 UTaipei=1 UWTO=1

C=China

Schutze: Text classification & Naive Bayes 44 / 58

Page 141: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Schutze: Text classification & Naive Bayes 45 / 58

Page 142: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Conditional independence:

P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

Schutze: Text classification & Naive Bayes 45 / 58

Page 143: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Conditional independence:

P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

Positional independence:

Schutze: Text classification & Naive Bayes 45 / 58

Page 144: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Conditional independence:

P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

Positional independence:

P(Xk1 = t|c) = P(Xk2 = t|c)

Schutze: Text classification & Naive Bayes 45 / 58

Page 145: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Conditional independence:

P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

Positional independence:

P(Xk1 = t|c) = P(Xk2 = t|c)

The independence assumptions do not really hold ofdocuments written in natural language.

Schutze: Text classification & Naive Bayes 45 / 58

Page 146: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Conditional independence:

P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

Positional independence:

P(Xk1 = t|c) = P(Xk2 = t|c)

The independence assumptions do not really hold ofdocuments written in natural language.

Exercise

Schutze: Text classification & Naive Bayes 45 / 58

Page 147: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Conditional independence:

P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

Positional independence:

P(Xk1 = t|c) = P(Xk2 = t|c)

The independence assumptions do not really hold ofdocuments written in natural language.

ExerciseExamples for why conditional independence assumption is notreally true?

Schutze: Text classification & Naive Bayes 45 / 58

Page 148: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Conditional independence:

P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

Positional independence:

P(Xk1 = t|c) = P(Xk2 = t|c)

The independence assumptions do not really hold ofdocuments written in natural language.

ExerciseExamples for why conditional independence assumption is notreally true?Examples for why positional independence assumption is notreally true?

Schutze: Text classification & Naive Bayes 45 / 58

Page 149: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Violation of Naive Bayes independence assumptions

Conditional independence:

P(〈t1, . . . , tnd 〉|c) =∏

1≤k≤nd

P(Xk = tk |c)

Positional independence:

P(Xk1 = t|c) = P(Xk2 = t|c)

The independence assumptions do not really hold ofdocuments written in natural language.

ExerciseExamples for why conditional independence assumption is notreally true?Examples for why positional independence assumption is notreally true?

How can Naive Bayes work if it makes such inappropriateassumptions?

Schutze: Text classification & Naive Bayes 45 / 58

Page 150: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Why does Naive Bayes work?

Naive Bayes can work well even though conditionalindependence assumptions are badly violated.

Schutze: Text classification & Naive Bayes 46 / 58

Page 151: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Why does Naive Bayes work?

Naive Bayes can work well even though conditionalindependence assumptions are badly violated.

Example:c1 c2 class selected

true probability P(c |d) 0.6 0.4 c1

P(c)∏

1≤k≤ndP(tk |c) 0.00099 0.00001

NB estimate P(c |d) 0.99 0.01 c1

Schutze: Text classification & Naive Bayes 46 / 58

Page 152: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Why does Naive Bayes work?

Naive Bayes can work well even though conditionalindependence assumptions are badly violated.

Example:c1 c2 class selected

true probability P(c |d) 0.6 0.4 c1

P(c)∏

1≤k≤ndP(tk |c) 0.00099 0.00001

NB estimate P(c |d) 0.99 0.01 c1

Double counting of evidence causes underestimation (0.01)and overestimation (0.99).

Schutze: Text classification & Naive Bayes 46 / 58

Page 153: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Why does Naive Bayes work?

Naive Bayes can work well even though conditionalindependence assumptions are badly violated.

Example:c1 c2 class selected

true probability P(c |d) 0.6 0.4 c1

P(c)∏

1≤k≤ndP(tk |c) 0.00099 0.00001

NB estimate P(c |d) 0.99 0.01 c1

Double counting of evidence causes underestimation (0.01)and overestimation (0.99).

Classification is about predicting the correct class and notabout accurately estimating probabilities.

Schutze: Text classification & Naive Bayes 46 / 58

Page 154: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Why does Naive Bayes work?

Naive Bayes can work well even though conditionalindependence assumptions are badly violated.

Example:c1 c2 class selected

true probability P(c |d) 0.6 0.4 c1

P(c)∏

1≤k≤ndP(tk |c) 0.00099 0.00001

NB estimate P(c |d) 0.99 0.01 c1

Double counting of evidence causes underestimation (0.01)and overestimation (0.99).

Classification is about predicting the correct class and notabout accurately estimating probabilities.

Naive Bayes is terrible for correct estimation . . .

Schutze: Text classification & Naive Bayes 46 / 58

Page 155: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Why does Naive Bayes work?

Naive Bayes can work well even though conditionalindependence assumptions are badly violated.

Example:c1 c2 class selected

true probability P(c |d) 0.6 0.4 c1

P(c)∏

1≤k≤ndP(tk |c) 0.00099 0.00001

NB estimate P(c |d) 0.99 0.01 c1

Double counting of evidence causes underestimation (0.01)and overestimation (0.99).

Classification is about predicting the correct class and notabout accurately estimating probabilities.

Naive Bayes is terrible for correct estimation . . .

. . . but if often performs well at accurate prediction (choosingthe correct class).

Schutze: Text classification & Naive Bayes 46 / 58

Page 156: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Schutze: Text classification & Naive Bayes 47 / 58

Page 157: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Naive Bayes has won some bakeoffs (e.g., KDD-CUP 97)

Schutze: Text classification & Naive Bayes 47 / 58

Page 158: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Naive Bayes has won some bakeoffs (e.g., KDD-CUP 97)

More robust to nonrelevant features than some more complexlearning methods

Schutze: Text classification & Naive Bayes 47 / 58

Page 159: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Naive Bayes has won some bakeoffs (e.g., KDD-CUP 97)

More robust to nonrelevant features than some more complexlearning methods

More robust to concept drift (changing of definition of classover time) than some more complex learning methods

Schutze: Text classification & Naive Bayes 47 / 58

Page 160: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Naive Bayes has won some bakeoffs (e.g., KDD-CUP 97)

More robust to nonrelevant features than some more complexlearning methods

More robust to concept drift (changing of definition of classover time) than some more complex learning methods

Better than methods like decision trees when we have manyequally important features

Schutze: Text classification & Naive Bayes 47 / 58

Page 161: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Naive Bayes has won some bakeoffs (e.g., KDD-CUP 97)

More robust to nonrelevant features than some more complexlearning methods

More robust to concept drift (changing of definition of classover time) than some more complex learning methods

Better than methods like decision trees when we have manyequally important features

A good dependable baseline for text classification (but not thebest)

Schutze: Text classification & Naive Bayes 47 / 58

Page 162: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Naive Bayes has won some bakeoffs (e.g., KDD-CUP 97)

More robust to nonrelevant features than some more complexlearning methods

More robust to concept drift (changing of definition of classover time) than some more complex learning methods

Better than methods like decision trees when we have manyequally important features

A good dependable baseline for text classification (but not thebest)

Optimal if independence assumptions hold (never true fortext, but true for some domains)

Schutze: Text classification & Naive Bayes 47 / 58

Page 163: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Naive Bayes has won some bakeoffs (e.g., KDD-CUP 97)

More robust to nonrelevant features than some more complexlearning methods

More robust to concept drift (changing of definition of classover time) than some more complex learning methods

Better than methods like decision trees when we have manyequally important features

A good dependable baseline for text classification (but not thebest)

Optimal if independence assumptions hold (never true fortext, but true for some domains)

Very fast

Schutze: Text classification & Naive Bayes 47 / 58

Page 164: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Naive Bayes is not so naive

Naive Bayes has won some bakeoffs (e.g., KDD-CUP 97)

More robust to nonrelevant features than some more complexlearning methods

More robust to concept drift (changing of definition of classover time) than some more complex learning methods

Better than methods like decision trees when we have manyequally important features

A good dependable baseline for text classification (but not thebest)

Optimal if independence assumptions hold (never true fortext, but true for some domains)

Very fast

Low storage requirements

Schutze: Text classification & Naive Bayes 47 / 58

Page 165: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Outline

1 Recap

2 Text classification

3 Naive Bayes

4 NB theory

5 Evaluation of TC

Schutze: Text classification & Naive Bayes 48 / 58

Page 166: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Evaluation on Reuters

classes:

trainingset:

testset:

regions industries subject areas

γ(d ′) =China

first

private

Chinese

airline

UK China poultry coffee elections sports

London

congestion

Big Ben

Parliament

the Queen

Windsor

Beijing

Olympics

Great Wall

tourism

communist

Mao

chicken

feed

ducks

pate

turkey

bird flu

beans

roasting

robusta

arabica

harvest

Kenya

votes

recount

run-off

seat

campaign

TV ads

baseball

diamond

soccer

forward

captain

team

d ′

Schutze: Text classification & Naive Bayes 49 / 58

Page 167: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Example: The Reuters collection

symbol statistic value

N documents 800,000L avg. # word tokens per document 200M word types 400,000

Schutze: Text classification & Naive Bayes 50 / 58

Page 168: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Example: The Reuters collection

symbol statistic value

N documents 800,000L avg. # word tokens per document 200M word types 400,000

type of class number examples

region 366 UK, Chinaindustry 870 poultry, coffeesubject area 126 elections, sports

Schutze: Text classification & Naive Bayes 50 / 58

Page 169: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A Reuters document

Schutze: Text classification & Naive Bayes 51 / 58

Page 170: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A Reuters document

Schutze: Text classification & Naive Bayes 51 / 58

Page 171: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Evaluating classification

Schutze: Text classification & Naive Bayes 52 / 58

Page 172: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Evaluating classification

Evaluation must be done on test data that are independent ofthe training data, i.e., training and test sets are disjoint.

Schutze: Text classification & Naive Bayes 52 / 58

Page 173: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Evaluating classification

Evaluation must be done on test data that are independent ofthe training data, i.e., training and test sets are disjoint.

It’s easy to get good performance on a test set that wasavailable to the learner during training (e.g., just memorizethe test set).

Schutze: Text classification & Naive Bayes 52 / 58

Page 174: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Evaluating classification

Evaluation must be done on test data that are independent ofthe training data, i.e., training and test sets are disjoint.

It’s easy to get good performance on a test set that wasavailable to the learner during training (e.g., just memorizethe test set).

Measures: Precision, recall, F1, classification accuracy

Schutze: Text classification & Naive Bayes 52 / 58

Page 175: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Precision P and recall R

in the class not in the classpredicted to be in the class true positives (TP) false positives (FP)predicted to not be in the class false negatives (FN) true negatives (TN)

TP, FP, FN, TN are counts of documents. The sum of these fourcounts is the total number of documents.

precision:P = TP/(TP + FP)

recall:R = TP/(TP + FN)

Schutze: Text classification & Naive Bayes 53 / 58

Page 176: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A combined measure: F

F1 allows us to trade off precision against recall.

Schutze: Text classification & Naive Bayes 54 / 58

Page 177: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A combined measure: F

F1 allows us to trade off precision against recall.

F1 =1

121P+ 1

21R

=2PR

P + R

Schutze: Text classification & Naive Bayes 54 / 58

Page 178: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

A combined measure: F

F1 allows us to trade off precision against recall.

F1 =1

121P+ 1

21R

=2PR

P + R

This is the harmonic mean of P and R : 1F= 1

2(1P+ 1

R)

Schutze: Text classification & Naive Bayes 54 / 58

Page 179: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

Schutze: Text classification & Naive Bayes 55 / 58

Page 180: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

Schutze: Text classification & Naive Bayes 55 / 58

Page 181: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

But we also want a single number that measures theaggregate performance over all classes in the collection.

Schutze: Text classification & Naive Bayes 55 / 58

Page 182: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

But we also want a single number that measures theaggregate performance over all classes in the collection.

Macroaveraging

Schutze: Text classification & Naive Bayes 55 / 58

Page 183: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

But we also want a single number that measures theaggregate performance over all classes in the collection.

Macroaveraging

Compute F1 for each of the C classes

Schutze: Text classification & Naive Bayes 55 / 58

Page 184: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

But we also want a single number that measures theaggregate performance over all classes in the collection.

Macroaveraging

Compute F1 for each of the C classesAverage these C numbers

Schutze: Text classification & Naive Bayes 55 / 58

Page 185: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

But we also want a single number that measures theaggregate performance over all classes in the collection.

Macroaveraging

Compute F1 for each of the C classesAverage these C numbers

Microaveraging

Schutze: Text classification & Naive Bayes 55 / 58

Page 186: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

But we also want a single number that measures theaggregate performance over all classes in the collection.

Macroaveraging

Compute F1 for each of the C classesAverage these C numbers

Microaveraging

Compute TP, FP, FN for each of the C classes

Schutze: Text classification & Naive Bayes 55 / 58

Page 187: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

But we also want a single number that measures theaggregate performance over all classes in the collection.

Macroaveraging

Compute F1 for each of the C classesAverage these C numbers

Microaveraging

Compute TP, FP, FN for each of the C classesSum these C numbers (e.g., all TP to get aggregate TP)

Schutze: Text classification & Naive Bayes 55 / 58

Page 188: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Averaging: Micro vs. Macro

We now have an evaluation measure (F1) for one class.

But we also want a single number that measures theaggregate performance over all classes in the collection.

Macroaveraging

Compute F1 for each of the C classesAverage these C numbers

Microaveraging

Compute TP, FP, FN for each of the C classesSum these C numbers (e.g., all TP to get aggregate TP)Compute F1 for aggregate TP, FP, FN

Schutze: Text classification & Naive Bayes 55 / 58

Page 189: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

F1 scores for Naive Bayes vs. other methods

(a) NB Rocchio kNN SVMmicro-avg-L (90 classes) 80 85 86 89macro-avg (90 classes) 47 59 60 60

(b) NB Rocchio kNN trees SVMearn 96 93 97 98 98acq 88 65 92 90 94money-fx 57 47 78 66 75grain 79 68 82 85 95crude 80 70 86 85 89trade 64 65 77 73 76interest 65 63 74 67 78ship 85 49 79 74 86wheat 70 69 77 93 92corn 65 48 78 92 90micro-avg (top 10) 82 65 82 88 92micro-avg-D (118 classes) 75 62 n/a n/a 87

Schutze: Text classification & Naive Bayes 56 / 58

Page 190: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

F1 scores for Naive Bayes vs. other methods

(a) NB Rocchio kNN SVMmicro-avg-L (90 classes) 80 85 86 89macro-avg (90 classes) 47 59 60 60

(b) NB Rocchio kNN trees SVMearn 96 93 97 98 98acq 88 65 92 90 94money-fx 57 47 78 66 75grain 79 68 82 85 95crude 80 70 86 85 89trade 64 65 77 73 76interest 65 63 74 67 78ship 85 49 79 74 86wheat 70 69 77 93 92corn 65 48 78 92 90micro-avg (top 10) 82 65 82 88 92micro-avg-D (118 classes) 75 62 n/a n/a 87

Naive Bayes does pretty well, but some methods beat it consistently (e.g., SVM).

Schutze: Text classification & Naive Bayes 56 / 58

Page 191: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Take-away today

Text classification: definition & relevance to informationretrieval

Naive Bayes: simple baseline text classifier

Theory: derivation of Naive Bayes classification rule & analysis

Evaluation of text classification: how do we know it worked /didn’t work?

Schutze: Text classification & Naive Bayes 57 / 58

Page 192: Introduction to Information Retrieval http ...Recap Text classification Naive Bayes NB theory Evaluation of TC Relevance feedback: Basic idea The user issues a (short, simple) query

Recap Text classification Naive Bayes NB theory Evaluation of TC

Resources

Chapter 13 of IIR

Resources at http://cislmu.org

Weka: A data mining software package that includes animplementation of Naive BayesReuters-21578 – text classification evaluation setVulgarity classifier fail

Schutze: Text classification & Naive Bayes 58 / 58