text-mining: klassifikation i - naive bayes vs. · pdf fileklassi kation im text-mining naive...

Post on 06-Feb-2018

230 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Text-Mining:Klassifikation I - Naive Bayes vs. Rocchio

Claes NeuefeindFabian Steeg

17. Juni 2010

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Text-MiningKlassifikationTextkategorisierung

Naive BayesBayes’sche KlassifikatorenBeispielrechnung

RocchioKlassifikation im VektorraumRocchio-Algorithmus

Literatur

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Text-MiningKlassifikationTextkategorisierung

Naive BayesBayes’sche KlassifikatorenBeispielrechnung

RocchioKlassifikation im VektorraumRocchio-Algorithmus

Literatur

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation

Klassifikationsprobleme im TM

I Vorverarbeitung (Kodierung, Sprache, etc.)

I Sortieren/filtern (Spam, Sicherheit)

I ’Stimmungen’ erkennen (Produktfeedback)

I Tracking (Standing Queries)

I Informationsextraktion

I Wortklassen/Hierarchien

I . . .

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation

Herangehensweisen

I Manuell:I Erstellen von Klassenprofilen durch ExpertenI z.B. Bibliotheken, Yahoo

I Musterbasiert:I Regeln erstellen bzw. ableitenI z.B. Eigennamenerkennung, google alerts

I Statistisch:I Klassifikation als Lernproblem

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation

Generische Architektur eines Klassifikationssystems

Abbildung: [Bruckner, 2004]

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation

Verfahren

I Naive Bayes

I Rocchio

I k-Nearest-Neighbour

I Support Vector Machines

I . . .

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Textkategorisierung

Formale Definition

Gegeben:

I Ein Dokumentraum X mit Dokumentvektoren

I Eine Menge an Klassen C = {c1, c2, . . . , cJ},idR manuell definiert

I Eine Trainingsmenge D mit annotiertenDokumenten, mit 〈d , c〉∈ X× C

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Textkategorisierung

Formale Definition

Training:

I Der Lernalgorithmus leitet aus Trainingsbeispielen einen’Klassifikator’ γ ab, der die Dokumente verschiedenen Klassenzuordnet:

γ : X→ C

Anwendung/Test:

I Gegeben: Beschreibung eines Dokuments d ∈ XI Gesucht: γ(d) ∈ C, d.h. die ’beste’ Klasse fur d

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Textkategorisierung

Formale Definition

Training:

I Der Lernalgorithmus leitet aus Trainingsbeispielen einen’Klassifikator’ γ ab, der die Dokumente verschiedenen Klassenzuordnet:

γ : X→ C

Anwendung/Test:

I Gegeben: Beschreibung eines Dokuments d ∈ XI Gesucht: γ(d) ∈ C, d.h. die ’beste’ Klasse fur d

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Textkategorisierung

Beispiel

Abbildung: [Manning et al., 2008]

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Text-MiningKlassifikationTextkategorisierung

Naive BayesBayes’sche KlassifikatorenBeispielrechnung

RocchioKlassifikation im VektorraumRocchio-Algorithmus

Literatur

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Naive Bayes

I Wahrscheinlichkeit, dass ein Dokument d zu Klasse c gehort:

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

1≤k≤nd

P(tk |c)

I P(tk |c): Wahrscheinlichkeit fur einen Term tk , in einemDokument der Klasse c aufzutreten→ Evidenz, die tk fur c liefert

I P(c) ist die”prior probability“ von c

→ entscheidet, wenn Terme keine ausreichendeEvidenz liefern

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

”Maximum a posteriori“

I Gesucht ist die ’beste’ Klasse: sog.”maximum a

posteriori“-Klasse cmap:

cmap = argmaxc∈CP(c |d) = argmaxc∈C P(c)∏

1≤k≤nd

P(tk |c)

I Man schreibt P fur P, da diese Werte nurNaherungen aus der Trainingsmenge sind

I Problem: Multiplikation von Wahrscheinlichkeitenfuhrt schnell zu winzigen Werten

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

”Maximum a posteriori“

I Gesucht ist die ’beste’ Klasse: sog.”maximum a

posteriori“-Klasse cmap:

cmap = argmaxc∈CP(c |d) = argmaxc∈C P(c)∏

1≤k≤nd

P(tk |c)

I Man schreibt P fur P, da diese Werte nurNaherungen aus der Trainingsmenge sind

I Problem: Multiplikation von Wahrscheinlichkeitenfuhrt schnell zu winzigen Werten

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Summe statt Produkt

I Da log(xy) = log(x) + log(y), konnen stattdessen auch dieLogarithmen der Wahrscheinlichkeiten aufsummiert werden

I IdR wird das Maximum deshalb wie folgt berechnet:

cmap = argmaxc∈C [log P(c) +∑

1≤k≤nd

log P(tk |c)]

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Bayes’sche Klassifikatoren

I Klassifikator:

cmap = argmaxc∈C [ log P(c) +∑

1≤k≤nd

log P(tk |c)]

I Interpretation:

I log P(tk |c) zeigt an, wie gut tk als Indikator fur c istI log P(c) zeigt die relative Frequenz von cI Summe liefert Evidenz fur KlassenzugehorigkeitI Klassifikation erfolgt durch Auswahl der

Klasse mit der großten Evidenz

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Bayes’sche Klassifikatoren

I Klassifikator:

cmap = argmaxc∈C [ log P(c) +∑

1≤k≤nd

log P(tk |c)]

I Interpretation:

I log P(tk |c) zeigt an, wie gut tk als Indikator fur c istI log P(c) zeigt die relative Frequenz von cI Summe liefert Evidenz fur KlassenzugehorigkeitI Klassifikation erfolgt durch Auswahl der

Klasse mit der großten Evidenz

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Bayes’sche Klassifikatoren

I Klassifikator:

cmap = argmaxc∈C [ log P(c) +∑

1≤k≤nd

log P(tk |c)]

I Interpretation:I log P(tk |c) zeigt an, wie gut tk als Indikator fur c ist

I log P(c) zeigt die relative Frequenz von cI Summe liefert Evidenz fur KlassenzugehorigkeitI Klassifikation erfolgt durch Auswahl der

Klasse mit der großten Evidenz

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Bayes’sche Klassifikatoren

I Klassifikator:

cmap = argmaxc∈C [ log P(c) +∑

1≤k≤nd

log P(tk |c)]

I Interpretation:I log P(tk |c) zeigt an, wie gut tk als Indikator fur c istI log P(c) zeigt die relative Frequenz von c

I Summe liefert Evidenz fur KlassenzugehorigkeitI Klassifikation erfolgt durch Auswahl der

Klasse mit der großten Evidenz

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Bayes’sche Klassifikatoren

I Klassifikator:

cmap = argmaxc∈C [ log P(c) +∑

1≤k≤nd

log P(tk |c)]

I Interpretation:I log P(tk |c) zeigt an, wie gut tk als Indikator fur c istI log P(c) zeigt die relative Frequenz von cI Summe liefert Evidenz fur Klassenzugehorigkeit

I Klassifikation erfolgt durch Auswahl derKlasse mit der großten Evidenz

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Bayes’sche Klassifikatoren

I Klassifikator:

cmap = argmaxc∈C [ log P(c) +∑

1≤k≤nd

log P(tk |c)]

I Interpretation:I log P(tk |c) zeigt an, wie gut tk als Indikator fur c istI log P(c) zeigt die relative Frequenz von cI Summe liefert Evidenz fur KlassenzugehorigkeitI Klassifikation erfolgt durch Auswahl der

Klasse mit der großten Evidenz

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Ermittlung der Parameter

I P(c) und P(tk |c) werden mittels ’maximum likelihoodestimation’ (MLE) aus Trainingsdaten ermittelt

I”prior probability“:

P(c) =Nc

N

I Nc : Anzahl der Dokumente in c ; N: Dokumente insgesamt

I Bedingte Wahrscheinlichkeiten:

P(t|c) =Tct∑

t′∈V Tct′

I Tct entspricht der Anzahl an Tokens eines Terms tin den Trainingsdokumenten der Klasse c

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Ermittlung der Parameter

I P(c) und P(tk |c) werden mittels ’maximum likelihoodestimation’ (MLE) aus Trainingsdaten ermittelt

I”prior probability“:

P(c) =Nc

N

I Nc : Anzahl der Dokumente in c ; N: Dokumente insgesamt

I Bedingte Wahrscheinlichkeiten:

P(t|c) =Tct∑

t′∈V Tct′

I Tct entspricht der Anzahl an Tokens eines Terms tin den Trainingsdokumenten der Klasse c

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Ermittlung der Parameter

I P(c) und P(tk |c) werden mittels ’maximum likelihoodestimation’ (MLE) aus Trainingsdaten ermittelt

I”prior probability“:

P(c) =Nc

N

I Nc : Anzahl der Dokumente in c ; N: Dokumente insgesamt

I Bedingte Wahrscheinlichkeiten:

P(t|c) =Tct∑

t′∈V Tct′

I Tct entspricht der Anzahl an Tokens eines Terms tin den Trainingsdokumenten der Klasse c

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

Problem mit MLE

I Tritt ein Term beim Training nicht in den Dokumenten einerKlasse auf, liegt der Wert fur P(t|c) bei 0

I Beispiel:

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

= 0

I Das Problem:Damit ist P(China|d) = 0 fur jedes Dokument,das WTO enthalt

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bayes’sche Klassifikatoren

”Add-one smoothing“

I Um dies zu vermeiden, addiert man 1 zu jedem Wert:

P(t|c) =Tct + 1∑

t′∈V (Tct′ + 1)=

Tct + 1

(∑

t′∈V Tct′) + B

I Mit B = Anzahl verschiedener Worter(i.e. Große des Vokabulars: |V | = M)

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Beispielrechnung

Daten

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 ?

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Beispielrechnung

Beispiel: Ermittlung der Parameter

Prior probabilities: 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

Die Nenner sind (8 + 6) und (3 + 6), weil die Langenvon Textc und Textc 8 bzw. 3 sind, und weil dieKonstante B = 6, da das Vokabular aus insgesamt6 verschiedenen Termen besteht

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Beispielrechnung

Beispiel: Klassifikation

Berechnung mit:

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

1≤k≤nd

P(tk |c)

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

Der Klassifikator weist das Testdokument d5 der Klassec = China zu, weil die 3 Vorkommen des Indikator-Terms Chinese die Vorkommen der zwei negativenIndikatoren Japan und Tokyo uberwiegen.

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Beispielrechnung

Zusammenfassung

I Bestimmung der Parameter aus der TrainingsmengeI Berechne fur jedes Dokument zu jeder Klasse die Summe aus:

I log der”prior probability“ und

I logs der bedingten Wahrscheinlichkeiten der Terme

I Zuordnung zur Klasse mit dem hochsten Wert

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Beispielrechnung

Fazit

I Robuster gegenuber nichtrelevanten Merkmalen als andere,komplexere Lernmethoden

I Verlassliche baseline fur Textkategorisierung

I Sehr schnell

I Geringer Speicherbedarf

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Text-MiningKlassifikationTextkategorisierung

Naive BayesBayes’sche KlassifikatorenBeispielrechnung

RocchioKlassifikation im VektorraumRocchio-Algorithmus

Literatur

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Vektorraum

Reprasentation im Vektorraum

I Dokumente = Vektoren

I Terme sind Achsen

I Hohe Dimensionalitat

I Langennormalisierte Vektoren

I Wie wird in diesem Raum klassifiziert?

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Vektorraum

Reprasentation im Vektorraum

I Dokumente = Vektoren

I Terme sind Achsen

I Hohe Dimensionalitat

I Langennormalisierte Vektoren

I Wie wird in diesem Raum klassifiziert?

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Vektorraum

Klassifikation im Vektorraum

Zwei Pramissen:

I Dokumente der gleichen Klasse bilden einezusammenhangende Region (’contiguity hypothesis’)

I Dokumente verschiedener Klassen sind uberschneidungsfrei(’uberlappen’ nicht)

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Vektorraum

Klassen im Vektorraum

I Ziel: Einteilung des Raums in Regionen

I Training mit einer Menge von gelabelten Dokumenten(= gelabelte Vektoren)

I Aufgabe: Definition von Grenzen zwischen den Klassen→ Klassifikation erfolgt auf Grundlage der Grenzen

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Vektorraum

Klassen im Vektorraum

I Ziel: Einteilung des Raums in Regionen

I Training mit einer Menge von gelabelten Dokumenten(= gelabelte Vektoren)

I Aufgabe: Definition von Grenzen zwischen den Klassen→ Klassifikation erfolgt auf Grundlage der Grenzen

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Vektorraum

Klassen im Vektorraum

I Ziel: Einteilung des Raums in Regionen

I Training mit einer Menge von gelabelten Dokumenten(= gelabelte Vektoren)

I Aufgabe: Definition von Grenzen zwischen den Klassen→ Klassifikation erfolgt auf Grundlage der Grenzen

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Rocchio-Algorithmus

Rocchio: Grundidee

I Berechne fur jede Klasse einen Schwerpunkt (Zentroid)

~µ(c) =1

|Dc |∑d∈Dc

~v(d)

wobeiDc die Menge aller Dokumente der Klasse c und~v(d) die Reprasentation von d im Vektorraum ist

I Ordne jedes Dokument derjenigen Klasse zu,zu deren Schwerpunkt es am ahnlichsten ist

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Rocchio-Algorithmus

Der Rocchio-Algorithmus

TrainRocchio(C,D)1 for each cj ∈ C2 do Dj ← {d : 〈d , cj〉 ∈ D}3 ~µj ← 1

|Dj |∑

d∈Dj~v(d)

4 return {~µ1, . . . , ~µJ}

ApplyRocchio({~µ1, . . . , ~µJ}, d)1 return arg minj |~µj − ~v(d)|

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Rocchio-Algorithmus

Eigenschaften von Rocchio

I Einfache Reprasentation von Klassen: Zentroid bzw. ’Prototyp’

I Klassifikation basiert auf Ahnlichkeit/Distanz zum Prototyp

I Rocchio garantiert nicht, dass Klassifikationen konsistent mitden Trainingsdaten erfolgen

I Problem mit multimodalen Klassen (>1 Prototyp)

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Klassifikation im Text-MiningKlassifikationTextkategorisierung

Naive BayesBayes’sche KlassifikatorenBeispielrechnung

RocchioKlassifikation im VektorraumRocchio-Algorithmus

Literatur

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

Klassifikation im Text-Mining Naive Bayes Rocchio Literatur

Bruckner, T. (2004).Textklassifikation.In Klabunde, R., editor, Computerlinguistik undSprachtechnologie, pages 496–501. Elsevier, Heidelberg.

Manning, C. D., Raghavan, P., and Schutze, H. (2008).Introduction to Information Retrieval.Cambridge University Press.

Text-Mining - Sommersemester 2010 - Informationsverarbeitung - Universitat zu Koln

top related