Upload
truongtuyen
View
230
Download
5
Embed Size (px)
Citation preview
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