Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Textklassifikation und...

Post on 06-Apr-2015

106 views 3 download

transcript

Universität PotsdamInstitut für Informatik

Lehrstuhl Maschinelles Lernen

Textklassifikation und Informationsextraktion

Tobias Scheffer

Peter Haider

Paul Prasse

Uwe Dick

Scheffer/S

awade: S

prachtechnologie

2

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Textklassifikation,Informationsextraktion

Scheffer/S

awade: S

prachtechnologie

3

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Textklassifikation, Informationsextraktion

Textklassifikator: Ordnet einen Text einer Menge von inhaltlichen Kategorien zu.

Wird aus annotierten Daten gelernt. Anwendungsbeispiel: Posteingangsverarbeitung.

Informationsextraktion: Identifikation definierter Felder in Dokument.

Auch aus Daten gelernt. Anwendungsbeispiel: Automatisierung von

Dokumentenverarbeitungsprozessen.

Scheffer/S

awade: S

prachtechnologie

4

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Textklassifikation: Repräsentation

Nach Tokenisierung wird Text durch Vektor repräsentiert.

Vektorraummodell: Vektor der Worthäufigkeiten für probabilistische

Modelle. TFIDF-Repräsentation für lineare Verfahren.

Wortreihenfolge bleibt unberücksichtigt. Vektorraummodell mit N-Grammen:

Wird für Spamerkennung verwendet. Jedes N-Gramm durch Dimension repräsentiert, oder Sparse Binary Polynomial Hashing oder Orthogonal Sparse N-Grams.

Scheffer/S

awade: S

prachtechnologie

5

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Repräsentation

Jedes N-Gramm durch Dimension repräsentiert, Nur N-Gramme, die auch tatsächlich auftreten.

Sparse Binary Polynomial Hashing Fenster der Breite N wird über Text geschoben, Jede Teilmenge von bis zu N Tokens, die in dieser

Reihenfolge auftauchen und das am weitesten rechts stehende Token beinhalten, ist eine Dimension,

Orthogonal Sparse Bigrams. Fenster der Breite N wird über Text geschoben, Jedes Paar aus einem beliebigen Token im Fenster

und dem am rechten Fensterrand stehenden Token ist ein Merkmal.

SBPH und OSB: N-Gramme mit Platzhaltern.

Scheffer/S

awade: S

prachtechnologie

6

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Klassifikator / Entscheidungsfunktion

Für eine binäre Klassifikation (y= +1 oder -1) wird eine Entscheidungsfunktion f(x) gelernt.

Je größer f(x), desto wahrscheinlicher ist, dass x zur Klasse gehört.

Wenn f(x) , dann entscheide h(x) = +1, sonst h(x) = -1.

Klassifikator h(x), Entscheidungsfunktion f(x). Der Wert für verschiebt „false positives“ zu „false

negatives“. Optimaler Wert hängt von Kosten einer positiven

oder negativen Fehlklassifikation ab.

Scheffer/S

awade: S

prachtechnologie

7

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Evaluation von Textklassifikatoren

Fehlklassifikationswahrscheinlichkeit Häufig nicht aussagekräftig, weil P(+1) sehr klein. Wie gut sind 5% Fehler, wenn P(+1)=3%? Idee: Nicht Klassifikator bewerten, sondern

Entscheidungsfunktion. Precision / Recall

Precision-Recall-Kurve bewertet Entscheidungsfunktion, Jeder Wert für entspricht Punkt auf P-R-Kurve. F-Measure: „Durchschnitt“ aus Precision und Recall.

Receiver Operating Characteristic (ROC-Kurve) Bewertet Entscheidungsfunktion, Fläche unter ROC-Kurve = P(positives Beispiel hat

höheren f-Wert als negatives Beispiel)

Scheffer/S

awade: S

prachtechnologie

8

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

ROC-Analyse

Entscheidungsfunktion + Schwellwert = Klassifikator.

Großer Schwellwert: Mehr positive Bsp falsch. Kleiner Schwellwert: Mehr negative Bsp falsch. Bewertung der Entscheidungsfunktion unabhängig

vom konkreten Schwellwert. Receiver-Operating-Characteristic-Analyse Kommt aus der Radartechnik, im 2. Weltkrieg

entwickelt. Bewertung der Qualität von

Entscheidungsfunktionen.

Scheffer/S

awade: S

prachtechnologie

9

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

ROC-Kurven Charakterisieren das Verhalten des

Klassifikators für alle möglichen Schwellwerte. X-Achse: „False Positives“: Anzahl negativer

Beispiele, die als positiv klassifiziert werden. Y-Achse: „True Positives“: Anzahl positiver

Beispiele, die als positiv klassifiziert werden.

True

Pos

itive

s

False Positives

zufälliges Ratenbessere Funktionperfekte Funktion

Scheffer/S

awade: S

prachtechnologie

10

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Bestimmen der ROC-Kurve von f

Für alle positiven Beispiele xp in Testmenge Füge f(xp) in sortierte Liste Lp ein.

Für alle negativen Beispiele xn in Testmenge Füge f(xn) in sortierte Liste Ln ein.

tp = fp = 0 Wiederhole solange Lp und Ln nicht leer sind.

Wenn Lp Element Ln Element dann increment(tp) und Lp = LP Next.

Wenn Ln Element Lp Element dann increment(fp) und Ln = Ln Next.

Zeichne neuen Punkt (fp, tp)

Scheffer/S

awade: S

prachtechnologie

11

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Flächeninhalt der ROC-Kurve

Flächeninhalt AUC kann durch Integrieren (Summieren der Trapez-Flächeninhalte) bestimmt werden.

p = zufällig gezogenes Positivbeispiel n = zufällig gezogenes Negativbeispiel Theorem: AUC = P(f(p) > f(n)).

Beweisidee: ROC-Kurve mit nur einem Positiv- und einem Negativbeispiel (Flächeninhalt 0 oder 1); Durchschnitt vieler solcher Kurven = AUC.

Scheffer/S

awade: S

prachtechnologie

12

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Precision / Recall Alternative zur ROC-Analyse. Stammt aus dem Information Retrieval.

Precision: P(richtig | als positiv erkannt) Recall: P(als positiv erkannt | ist positiv)

True positivesPrecision=

True + false positives

True positivesRecall=

True positive + false negatives

Scheffer/S

awade: S

prachtechnologie

13

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Precision / Recall

Zusammenfassungen der Kurve in einer Zahl: Maximum F-Measure: Maximum über alls (p,r)-Paare

auf der Kurve:

Precision-Recall-Breakeven-Point: Derjenige Wert für den gilt:

Precision() = Recall() = PRBEP.

2 Precision RecallF-measure=

Precision + Recall

Scheffer/S

awade: S

prachtechnologie

14

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Precision / Recall Trade-Off

Precision-/Recall-Kurven Welcher Klassifikator ist der Beste / Schlechteste

precision

recall

Scheffer/S

awade: S

prachtechnologie

15

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Bestimmen der Performance-Maße

Performance auf Trainingsmenge extrem optimistischer Schätzer für Performance für unbekannte Texte.

Zum Schätzen der Performance werden Texte verwendet, die nicht zum Trainieren verwendet wurden.

Training-und-Test: Verwende 80% der Daten zum Trainieren, 20% der Daten zum Messen der ROC-Kurve, P-R-Kurve, oder Fehlklassifikationswahrsch.

N-Fold-Cross-Validation: Teile Daten in n Teile, wiederholtes Trainieren mit n-1 Teilen.

Scheffer/S

awade: S

prachtechnologie

16

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Fehlerschätzung

Algorithmus Training-and-Test Aufteilen der Datenbank in Trainingsmenge und

Testmenge. h1 = Lernalgorithmus (Trainingsmenge) Bestimme Ê anhand der Testmenge. h = Lernalgorithmus (alle Beispiele) Liefere Hypothese h zusammen mit Fehlerschätzer

Training-and-Test ist für große Datenbanken gut anwendbar.

Problematisch für kleine Datenbanken

m

ÊÊÊ

%20

)1(

Scheffer/S

awade: S

prachtechnologie

17

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

N-Fold Cross-Validation Algorithmus N-CV (Beispiele S)

Bilde n etwa gleich große Blöcke S1, ..., Sn von Beispielen, die zusammen S ergeben. Ê=0.

For i = 1 ... N h = Lernalgorithmus (S \ Si) Ê = Ê + empirischer Fehler von h auf Si

Ê = Ê/N h = Lernalgorithmus (S) Liefere Hypothese h mit Fehlerschätzer

Wenn |S| = n, heisst das Verfahren Leave-one-Out. Nur leicht pessimistischer Schätzer.

m

ÊÊÊ

)1(

Scheffer/S

awade: S

prachtechnologie

18

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Lineare Klassifikatoren

||

)(

w

xf

||0

w

w

0T)( wf xwx

))(()( xx fsigny

Scheffer/S

awade: S

prachtechnologie

19

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Lineare Klassifikatoren

Umformulierung mit zusätzlichem, konstanten Eingabeattribut x0=1:

0T)( wf xwx

))(()( xx fsigny

)..0(T

)..0(

1

0

100

1

1

0)..1(T

)..1(

...)...(...)...(

)(

nn

n

n

n

n

nn

x

x

x

wwww

x

x

ww

wf

xw

xwx

Scheffer/S

awade: S

prachtechnologie

20

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Rocchio

: Mittelpunkt der neg. Beispiele : Mittelpunkt der pos. Beispiele Trennebene: Normalenvektor = (x+1-x-1)

Bestimmung von w0: Mittelpunkt (x+1+x-1)/2 muss auf der Ebene liegen.

+

--

--

++

+

+

x-1

x+1

w

011 )()( wf xxxx

1x

1x

0

0111111 02/))(()2/)((

w

wf xxxxxx

Scheffer/S

awade: S

prachtechnologie

21

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Rocchio

Trennebenen hat maximalen Abstand von den Mittelpunkten der Klassen.

Trainingsbeispiele können falsch klassifiziert werden.

Differenz der Mittelwerte kann schlechter Normalenvektor fürDiskrimination sein.

Scheffer/S

awade: S

prachtechnologie

22

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Perzeptron

Lineares Modell:

Ziel: Für alle Beispiele (xi, +1):

Für alle Beispiele (xi, -1):

+

--

--

++

+

+

xwx T)( f

0)( T iif xwx

0)( T iif xwx

Scheffer/S

awade: S

prachtechnologie

23

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Perzeptron

Lineares Modell:

Ziel: Für alle Beispiele (xi, +1):

Für alle Beispiele (xi, -1):

Ziel: Für alle Beispiele: = Beispiel liegt auf der richtigen

Seite der Ebene.

0)( T iiii yfy xwx

+

--

--

++

+

+

xwx T)( f

0)( T iif xwx

0)( T iif xwx

Scheffer/S

awade: S

prachtechnologie

24

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Perzeptron

Lineares Modell:

Ziel: Für alle Beispiele:

Perzeptron-Optimierungskriterium:

0)( T iiii yfy xwx

+

--

--

++

+

+

xwx T)( f

Ly

iiP

ii

yJ),(

T 0,min)(x

xww

Scheffer/S

awade: S

prachtechnologie

25

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Perzeptron

Lineares Modell:

Ziel: Für alle Beispiele:

Perzeptron-Optimierungskriterium:

Subgradient für Beispiel (xi, yi):

0)( T iiii yfy xwx

+

--

--

++

+

+

xwx T)( f

Ly

iiP

ii

yJ),(

T 0,min)(x

xww

sonst

0wenn,0)(

T

ii

iiPi

y

yJ

x

xww

Scheffer/S

awade: S

prachtechnologie

26

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Perzeptron

Lineares Modell:

Perzeptron-Optimierungskriterium:

Subgradient für Beispiel (xi, yi):

Gradientenaufstieg: Wiederhole, für alle Beispiele mit

+

--

--

++

+

+

xwx T)( f

Ly

iiP

ii

yJ),(

T 0,min)(x

xww

sonst

0wenn,0)(

T

ii

iiPi

y

yJ

x

xww

iiy xww

0T iiy xw

Scheffer/S

awade: S

prachtechnologie

27

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Perzeptron-Algorithmus

Lineares Modell:

Perzeptron-Trainingsalgorithmus: Solange noch Beispiele (xi, yi) mit der Hypothese

inkonsistent sind, iteriere über alle Beispiele Wenn dann

xwx T)( f

0T iiy xwiiy xww

Scheffer/S

awade: S

prachtechnologie

28

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Perzeptron-Algorithmus

Perzeptron findet immer eine Trennebene, wenn eine existiert (Optimierungskriterium ist konkav).

Existiert immer eine Trennebene?

Scheffer/S

awade: S

prachtechnologie

29

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Margin-Perzeptron

Perzeptron-Klassifikation:

Perzeptron: für alle Beispiele muss gelten = Beispiel liegt auf der richtigen

Seite der Ebene. Margin-Perzeptron:

= Beispiel mindestens von

Trennebene entfernt.

0T iiy xw

+

--

--

++

+

+

+

--

--

++

+

+

iiy x

ww

||

T

xwx T)( f

Scheffer/S

awade: S

prachtechnologie

30

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Margin-Perzeptron-Algorithmus

Lineares Modell:

Perzeptron-Trainingsalgorithmus: Solange noch Beispiele (xi, yi) mit der Hypothese

inkonsistent sind, iteriere über alle Beispiele

Wenn dann

xwx T)( f

iiy x

w

w

||

T

iiy xww

Scheffer/S

awade: S

prachtechnologie

31

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Margin-Maximierung

Perzeptron: für alle Beispiele muss gelten

Margin-Perzeptron: Finde Ebene, die alle Beispiele

mindestens von Ebene entfernt. Fester, voreingestellter Wert .

Margin-Maximierung: Finde Ebene, die alle Beispiele

mindestens von Ebene entfernt. Für den größtmöglichen Wert .

+

--

--

++

+

+

+

--

--

++

+

+

iiy x

ww

||

T

0T iiy xw

Scheffer/S

awade: S

prachtechnologie

32

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Margin-Maximierung

Margin-Maximierung: Finde Ebene, die alle Beispiele

mindestens von Ebene entfernt. Für den größtmöglichen Wert .

Maximiere unter der Nebenbedingungen: für alle Beispiele (xi, yi) gelte

= Minimiere |w| unter der Nebenbedingung: für alle Beispiele (xi, yi):

+

--

--

++

+

+

||

1

w1T iiy xw

iiy x

ww

||

T

iiy x

ww

||

T

+

--

--

++

+

+

Scheffer/S

awade: S

prachtechnologie

33

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Soft-Margin-Maximierung

Hard-Margin-Maximierung: Minimiere |w| unter der

Nebenbedingungen: für alle Beispiele (xi, yi):

Soft-Margin-Maximierung: Minimiere unter den

Nebenbedingungen: für alle Beispiele (xi, yi):

Alle i 0. Soft-Margin-Ebene existiert immer,

Hard-Margin-Ebene nicht!

+

--

--

++

+

+

1T iiy xw

+

--

--

++

+

+

Slack i

Margin 1/|w|

iiiy 1Txw

i iC || w

||

1

w

Scheffer/S

awade: S

prachtechnologie

34

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Soft-Margin-Maximierung

Soft-Margin-Maximierung: Minimiere unter den

Nebenbedingungen: für alle Beispiele (xi, yi):

Alle i 0.

Einsetzen von i in Optimierungskriterium ergibt Minimiere:

+

--

--

++

+

+

Margin 1/|w|

iiiy 1Txw

i iC || w

i iiyC }1,0max{|| Txww

+

--

--

++

+

+

Slack i

Scheffer/S

awade: S

prachtechnologie

35

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Soft-Margin-Maximierung

Soft-Margin-Maximierung: Minimiere:

Minimierung mit Gradientenverfahren.

Annäherung durch differenzierbare Variante (Huber- statt Hinge-Loss), dann Newton-Verfahren.

Kriterium ist konvex, es gibt genau ein Minimum.

Primale Support Vector Machine.

+

--

--

++

+

+

Margin 1/|w|

i iiyC }1,0max{|| Txww

+

--

--

++

+

+

Slack i

Scheffer/S

awade: S

prachtechnologie

36

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Soft-Margin-Maximierung

Soft-Margin-Maximierung: Minimiere:

Minimierung mit Gradientenverfahren.

Wiederhole:

+

--

--

++

+

+

i iiH yCE }1,0max{||)( Txwww

w

www

)(HE

Enthält Summe über alle Beispiele

Scheffer/S

awade: S

prachtechnologie

37

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Logistische Regression

SVM: großer Entscheidungsfunktionswert ~ hohe Sicherheit der Vorhersage.

Aber: beim lernen nicht auf korrekte Kalibrierung der Klassenwahrscheinlichkeiten optimiert.

f(x)=18.3 Risiko eines Fehlers?

Logistische Regression: Vorhersage der Klassenwahrscheinlichkeit.

Scheffer/S

awade: S

prachtechnologie

38

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Logistische Regression

Bayes‘ Regel:

Log-odd ratio:

)()exp(1

1

)1()1|()1()1|(

1

1

)1()1|()1()1|(

)1()1|()|1(

aa

yPypyPyp

yPypyPyp

yPypyP

xx

xx

xx

)1()1|(

)1()1|(ln

yPyp

yPypa

x

x

Scheffer/S

awade: S

prachtechnologie

39

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Logistische Regression

Likelihood jeder Klasse normalverteilt, gemeinsame Kovarianzmatrix für beide Klassen.

Logg-odds ratio:

)()(

2

1exp

||)2(

1)|( 1T

2/12/

xxx

dyp

0

)1(

)1(ln)(

2

1)(

2

1)(

)1(

)1(ln)()(

2

1)()(

2

1

)1()()(21

exp||)2(

1

)1()()(21

exp||)2(

1

ln

11T

111T

1111

11T

111T

1

11T

12/12/

11T

12/12/

w

d

d

yP

yP

yP

yP

yP

yPa

x

xxxx

xx

xx

w

Scheffer/S

awade: S

prachtechnologie

40

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Logistische Regression

Likelihood jeder Klasse normalverteilt, gemeinsame Kovarianzmatrix für beide Klassen.

Logg-odds ratio:

)()(

2

1exp

||)2(

1)|( 1T

2/12/

xxx

dyp

0

)1(

)1(ln)(

2

1)(

2

1)( 1

1T11

1T111

1

w

yP

yPa

x

w

Scheffer/S

awade: S

prachtechnologie

41

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Logistische Regression

Wenn zwei klassen jeweils normalverteilte Likelihood mit derselben Kovarianzmatrix haben, dann nimmt P(y|x) diese Form an:

Funktion elogistisch

torKlassifikalinearer

00

)()exp(1

1)|( wy

wyyP

wx

wxx

P(y|x)

ywx+w0

Scheffer/S

awade: S

prachtechnologie

42

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Logistische Regression

Bisher: Motivation der Form des logistischen Klassifikationsmodells.

Falls Klassenverteilungen bekannt wären, könnten wir w und w0 aus +1, -1 und herleiten.

Sind aber nicht bekannt. Verteilungsannahme muss auch nicht stimmen.

Jetzt: Wie finden wir tatsächlich Parameter w und w0?

Scheffer/S

awade: S

prachtechnologie

43

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Logistische Regression

Prior über Parameter: Normalverteilung, w ~ N[0,‘].

Posterior:

Verlustfunktion:

1

[[ 1]] [[ 1]]T T

1

( | ) ( | , ) ( )

( ) (1 ( )) ( )i i

N

i ii

N y yi ii

P L p y p

p

w x w w

w x w x w

2

TTT

1 '))(1log(]]1[[)(log]]1[[

)|(log),(

ww

xwxw

ww

iii

N

i i yy

LpLE

Scheffer/S

awade: S

prachtechnologie

44

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Logistische Regression

Verlustfunktion ist konvex und differenzierbar. Gradientenabstieg führt zum Minimum.

Verlustfunktionen Logistic Regression und SVM

Scheffer/S

awade: S

prachtechnologie

45

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Multiklassen-Klassifikation

Binäre Klassifikation: Lineare Klassifikation:

Multiklassen-Klassifikation: Endliche Menge von Klassen-Labels,

Ansatz: Statt jetzt

}1,1{ x

)( 0wsign wxx

yx

Yy

)( 0wsign wxx ),(maxarg yfy xx

Scheffer/S

awade: S

prachtechnologie

46

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Lernen mit strukturierten Ausgaben

Klassifikation bei mehr als zwei Klassen: f bekommt jetzt zwei Parameter.

Gemeinsame Merkmale von Ein- und Ausgabe:

Gleicher Ansatz für Multiklassen, Sequenz- und Struktur-Lernen, Ranking.

),(maxarg* yfy y x

),),( T yyf xwx

Scheffer/S

awade: S

prachtechnologie

47

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Lernen mit strukturierten Ausgaben

Constraints bei normaler SVM: Für alle (xi, yi):

Constraints mit strukturierten Ausgaben: Für alle (xi, yi): und alle y ≠ yi:

iiiy 1Txw

iiii

iiii

yy

yy

1),(),(

1),(),(T

TT

xxw

xwxw

Scheffer/S

awade: S

prachtechnologie

48

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Lernen mit strukturierten Ausgaben

Gegeben: Wiederhole bis alle Sequenzen korrekt

vorhergesagt werden. Iteriere über alle Beispiele (xi, yi).

Bestimme Wenn (Margin-Verletzung) dann

füge Constraint dem Working Set hinzu.

Löse Optimierungsproblem für Eingabe xi, Ausgabe yi, und negative Pseudo-Beispiele y (working set).

Liefere w zurück.

),(),...,,( 11 mmL yxyx

),maxarg T yxwy yy ii

1),), TT yxwyxw iii

iiii 1),), TT yxwyxw

Scheffer/S

awade: S

prachtechnologie

49

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Multiklassen-SVM

Klassifikation bei mehr als zwei Klassen:

Multiklassen-Merkmale:

),(maxarg* yfy y x

),),( T yyf xwx

]])[[

...

]])[[

)()),

]][[

...

]][[

)(

1

1

k

k

yy

yy

yy

yy

yy

y

x

x

xx

Scheffer/S

awade: S

prachtechnologie

50

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Multiklassen-SVM

Jede Klasse hat privaten Abschnitt des Gewichtsvektors:

]][[

...

]][[

...

]][[

...

]][[

...

...

...

]][[

...

]][[

),

1

1

11

T

1

1

1TT

1

1

kn

k

n

ny

y

ny

y

k

yyx

yyx

yyx

yyx

w

w

w

w

yy

yy

y

k

k

xwxw

Scheffer/S

awade: S

prachtechnologie

51

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Multiklassen-SVM

Jede Klasse hat privaten Abschnitt des Gewichtsvektors: Beispiel:

0

0

0

0

]][[

]][[

]][[

),2

1

T

2

1

2

1

2

1

3

2

1

2

1T2

T

3

3

2

2

1

1

x

x

w

w

w

w

w

w

yy

yy

yy

x

xy

y

y

y

y

y

y

wxw

Scheffer/S

awade: S

prachtechnologie

52

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Klassifikation mit Taxonomien

Klassen in Baumstruktur:

),(maxarg* yxy fy

),),( T yxwyx f

),...,( 1 dyyy

)(

...

)(

)(

1

dy

y

y

]][[

...

]][[...

]][[

...

]][[

)(

...

)(

)(),1

11

11

1

1

dn

d

dd

n

d

yy

yy

yy

yy

y

y

xxyxyx

Scheffer/S

awade: S

prachtechnologie

53

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Klassifikation mit Taxonomien

Jeder Knoten hat einen privaten Abschnitt des Gewichtsvektors.

Pfade teilen sich Abschnitte, wenn sie gemeinsame Knoten beinhalten.

1

1 1 1

T T T

1 11

1 1

T

1

y y ( )

, ... ... ...

( )

[[ ]]

...

[[ ]]

...

[[ ]]

...

[[ ]]d

dd d

k

d d

d dk

y

yy y

y y

y y

y y

y y

w x w x w x

w x

11

11

1 11 1 1

1 11

T

1 1

11

[[ ]]... ...

[[ ]]

... ...

[[ ]]

......

[[ ]]

i

ij

ddkd

ddkd

y

y n n kd

yi jd d

ky

d dn ky n

w x y y

w x y y

w x y y

w x y y

w x

Scheffer/S

awade: S

prachtechnologie

54

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Sequentielle Ein-/Ausgaben

Z.B. Wortarterkennung:

Eigennamenerkennung, Informationsextraktion:

Gemeinsame Repräsentation von Ein- und Ausgabe.

),(maxarg* yxfy y

“Curiosity kills the cat.” y=x= <Noun, Verb, Determiner, Noun>→

“Barbie meets Ken.” y=x= <Person, -, Person>→

),),( T yxwx yf

Scheffer/S

awade: S

prachtechnologie

55

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Label-label: Label-Beobachtung:

Gemeinsamer Merkmalsvektor (x,y)=∑t(…,φ123(yt,yt+1),…,φ234(xt,yt),...)T

Gewichtsvektor w=(…,w123,…,w234,…)T

y1 y3 y4y2

x1 x3x2 x4φ123(yt,yt+1) = [[yt=“Noun” yt+1=“Verb”]]

φ234(xt,yt) = [[yt=“Noun” xt = “cat”]]∑tφi(yt,yt+1).

∑tφi(xt,yt).

Curiosity kills the cat

Sequentielle Ein-/Ausgaben Attribut für jedes Paar benachbarter

Labels yt und yt+1.

Attribut für jedes Paar aus Eingabe und Ausgabe.

Scheffer/S

awade: S

prachtechnologie

56

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Sequentielle Ein-/Ausgaben: Dekodierung

Um eine Sequenz zu klassifizieren, muss

berechnet werden. Das argmax geht über alle möglichen Sequenzen

(exponentiell viele in der Länge). summiert über Merkmale

benachbarter Label-Paare und Merkmale von xi-yi-Paaren.

Mit dynamischer Programmierung kann argmax in linearer Zeit berechnet werden (Viterbi).

),(maxarg* yxy y f

),),( T yxwyx f

Scheffer/S

awade: S

prachtechnologie

57

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Gemeinsamer Merkmalsvektor (x,y)=∑t(…,φ123(yt,yt+1),…,φ234(xt,yt),...)T

Finde argmaxy wT(x,y) effizient mit Transitionsmatrix A={a,} und Beobachtungsmatrix Bx={bt,(x)}, , {•,N,V,D}:

HM SVM benutzt 2-best Viterbi Dekodierung.

y1 y3 y4y2

x1 x3x2 x4

φ123(yt,yt+1) = [[yt=“Noun” yt+1=“Verb”]]

φ234(xt,yt) = [[yt=“Noun” xt = “John”]]

NNN

VV V

D DDCuriosity kills the cat

N

V

D

aN,V aV,D

aD,N

a•,N

b4,N(x)b2,N(x)

b3,N(x)b1,N(x)

Sequentielle Ein-/Ausgaben: Dekodierung

Scheffer/S

awade: S

prachtechnologie

58

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Viterbi-Algorithmus

Definition: =Score, der in wT(x,y) erzeugt wird, wenn

yt= und yt+1=. Definition: =Score, der in wT(x,y) erzeugt wird, wenn

yt= und Wort xt erscheint.

Gesucht:

),( 1 tt yySa

),()( ttt xySxb

),...,,,...,(maxarg),(maxarg 11,...,T

1 NNyy xxyySN

yxwy

Scheffer/S

awade: S

prachtechnologie

59

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Viterbi-Algorithmus, Theorem

Theorem:

Beweis:

Lineare Bestimmung des höchst-scorenden Pfades mit dynamischer Programmierung.

)|,...,,,,...,(max)( 111,..., 11 tttyyt yyyS

txx

)()(max)( 11 ttt ba x

)()(max

)()),...,,,...,((maxmax

,...)|(,...)|(),...,,,...,(max

),...,,,,...,(max)(

1

111,...,

11111,...,

1111,...,1

11

1

1

tt

tttyy

ttttttyy

tttyyt

xba

xbaxxyyS

yxSyySxxyyS

xxyyyS

t

t

t

Scheffer/S

awade: S

prachtechnologie

60

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

wT(x,<N,V,Det,N>) ≥ wT(x,<N,N,N,N>)

wT(x,<N,V,Det,N>) ≥ wT(x,<N,N,N,V>)

wT(x,<N,V,Det,N>) ≥ wT(x,<N,N,V,N>)

wT(x,<N,V,Det,N>) ≥ wT(x,<N,V,N,N>)

Beispiel: POS-Tagging (Wortarterkennung) Satz x=“Curiosity kills the cat” Gewünscht:

Explizit:argmaxy wT( x , y ) = <N,V,Det,N>… …

ZU VIELE!!!

Lernen mit strukturierten Ausgaben

Scheffer/S

awade: S

prachtechnologie

61

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Lernen mit strukturierten Ausgaben

Hidden Markov Support Vector Machine.

Large-Margin-Ansatz: = 1/|w|.

Iteratives Training. Negative Constraints werden hinzugefügt, wenn

beim Training Fehler auftritt.

s.d. "i "yyi wT((xi,yi) - (xi,y)) ≥ 1

min ½ |w|2 + C∑iξi

- ξi

"i ξi ≥ 0.

Scheffer/S

awade: S

prachtechnologie

62

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Lernen mit strukturierten Ausgaben

Gegeben: Wiederhole bis alle Sequenzen korrekt

vorhergesagt werden. Iteriere über alle Beispiele (xi, yi).

Bestimme Wenn (Margin-Verletzung) dann

füge Constraint dem Working Set hinzu.

Löse Optimierungsproblem für Eingabe xi, Ausgabe yi, und negative Pseudo-Beispiele y (working set).

Liefere w zurück.

),(),...,,( 11 mmL yxyx

),maxarg T yxwy yy ii

1),), TT yxwyxw iii

iiii 1),), TT yxwyxw

Scheffer/S

awade: S

prachtechnologie

63

Scheffer/H

aider/Prasse/D

ick: Sprachtechnologie

Fragen?