Felix Jungermann: Conditional Random Fields

Werbung
Conditional Random Fields
und die aktuelle
Umsetzung in RapidMiner
Felix Jungermann
Überblick
Entwicklung der CRFs
Definition der CRFs
Training von CRFs
Effiziente Nutzung von CRFs
 samt Beispiel
Umsetzung in RapidMiner
 altes/aktuelles Plugin
 Ausblick
09.10.2007
Felix Jungermann
2
Entwicklung – Allgemein
Entwicklung HMM – MEMM – CRF
Wiederholung:
HMM: gerichtet, generativ
MEMM: gerichtet, abhängig von Beobachtung
Vermeidung früherer Nachteile
HMM
Strikte Unabhängigkeitsannahme
Keine komplexen Merkmale
MEMM
Label Bias Problem (*Tafel*)
•„Conservation of score mass“
09.10.2007
Felix Jungermann
3
Entwicklung – Markov Random Fields (1/2)
Markov Random Fields
Ungerichtete graphische Modelle
Azyklischer Graph G=(V,E)
Knoten (Zustände) entsprechen Labels (1to1)
Es gilt die Markov-Eigenschaft:
p(yv|yw:v≠w) = p(yv|yw:v~w)
Aufgrund der Ungerichtetheit gibt es keine
„Vorgänger“, somit muss die Wahrscheinlichkeit
durch lokale Funktionen bestimmt werden!
09.10.2007
Felix Jungermann
4
Entwicklung – Markov Random Fields (2/2)
Potentialfunktion: Φ = Φci: Aci
R+
ci ist Clique auf G
Aci entspricht allen Belegungen der CliquenKnoten
Keine Wahrscheinlichkeit!
Φ
p(y1,...,yn)=1/Z * ∏Φci (yi1,...,yi|ci|)
Φ
Z=∑(ΠΦci (yi1,...,yi|ci|)) (Normalisierung)
Yn
09.10.2007
• (Erläuterung bei CRFs)
Felix Jungermann
5
Definition – Conditional Random Fields (1/4)
CRF ist MRF, welches von x abhängt!
p(y1,...,yn|x) anstatt p(y1,...,yn)
Annahme: Graph entspricht einer firstorder Kette
Cliquen sind dann verbundene Labels
09.10.2007
Y1
Y2
Y3
X1
X2
X3
Felix Jungermann
6
Definition – Conditional Random Fields (2/4)
Φci (yi1,...,yi|ci|) aus MRFs hat hier also die
Form: Φk (yi-1,yi,x,i)
bereits aus MEMMs bekannt
Beispiel: Φk(yi-1,yi,x,i) = b(x,i) wenn yi-1 =
[ORG] und yi = [LOC]
b(x,i) = 1 wenn Beobachtung an Position i
das Wort „Deutschland“ ist, sonst 0
09.10.2007
Felix Jungermann
7
Definition – Conditional Random Fields (3/4)
p(y1,...,yn|x)=(1/Z(x))n*
∏∑Φk (yi-1,yi,x,i)
k i=1
Nach Hammersley-Clifford (G ist
Baum):
p(y|x) = (1/Z(x)) * n
exp (∑∑Φk (yi-1,yi,x,i))
k i=1
Trainingsgewichte einführen:
p(y|x,λ) = (1/Z(x,λ)) n*
exp (∑∑λkΦk(yi-1,yi,x,i))
k i=1
09.10.2007
Felix Jungermann
8
Definition – Conditional Random Fields (4/4)
Z(x,λ) ist ein Normalisierungsfaktor
n
Z(x,λ) = ∑ exp(∑∑λkΦ k(yi-1,yi,x,i))
k i=1
Y
Z ist sozusagen die Summe aller „Treffer“
ALLER MÖGLICHER Labelsequenzen.
n
p ist sozusagen: Anzahl der Regeln, die für eine
Labelsequenz feuern, geteilt durch die Anzahl
der Regeln, die für alle Labelsequenzen feuern!
09.10.2007
Felix Jungermann
9
Training
Training: Logarithmus der bedingten
Wahrscheinlichkeit wird maximiert!
(Maximum log-likelihood)
n
Fk(y,x) = ∑Φk(yi-1,yi,x,i)
i=1
L(λ)=∑[log(1/Z(x(j))) + ∑λkFk(y(j),x(j))] =
∑[∑λkFk(y(j),x(j)) - log(Z(x(j)))]
Diese Funktion ist konvex und garantiert
daher Finden des glob. Max.!
alle j Beispiele
alle k PFkt.
alle j Beispiele alle k PFkt.
09.10.2007
Berechnung mit iterative Scaling od. gradientenb.
Felix Jungermann
Methoden
10
Effiziente Berechnung von p(y|x,λ)
Berechnung mithilfe von Matrizen
Bei n-langen Sequenzen: n+1 Matrizen
{Mi(x)|i=1,...,n+1} der Größe |Y|x|Y|, wobei Y dem
Alphabet für y entspricht.
Mi(y‘,y|x,λ)=exp(∑kλk Φk(y‘,y,x,i))
n+1
p(y|x,λ) = (1/Z(x,λ)) ∏ Mi(yi-1,yi|x,λ)
n+1
i=1
Z(x,λ) = [∏ Mi(x)]
i=1
09.10.2007
Felix Jungermann
11
Effiziente Nutzung – Beispiel (1/4)
x := Felix geht nach Hamburg.
y := [PER][NIX][NIX] [LOC]
Pseudo-Regeln:
f1 = 1, wenn yi-1 = NIX, yi = LOC, xi = Hamburg
f2 = 1, wenn yi-1 = NIX, yi = PER, xi = Felix
f3 = 1, wenn yi-1 = PER, yi = LOC, xi = Hamburg
LOC
PER
NIX
Jedes Feld enthält
abhängig von seiner
Position den Eintrag
exp(∑λf) – wobei ∑λf
die Anzahl der Regeln
ist, die für die aktuelle
Belegung feuern!
LOC
PER
NIX
09.10.2007
Felix Jungermann
12
Effiziente Nutzung – Beispiel (2/4)
Felix geht nach Hamburg.
1. Stelle
1. Matrix:
09.10.2007
LOC PER NIX
LOC
1
1
1
PER
1
1
1
NIX
1
e1
1
Felix Jungermann
13
Effiziente Nutzung – Beispiel (3/4)
1
1
1
1
1
1
1
1
2. Stelle
1
1
1
1
1
1
1
1
1
1
3. Stelle
+ 5. Stelle (auch 1-Matrix)
09.10.2007
Felix Jungermann
1
1
1
e1
1
1
e1
1
1
4. Stelle
14
Effiziente Nutzung – Beispiel (4/4)
n+1
p*(y|x,λ) = ∏ Mi(yi-1,yi|x) = e2
i=1
M1(start,PER|Felix) = e1
M2(PER,NIX|geht) = 1
M3(NIX,NIX|nach) = 1
M4(NIX,LOC|Hamburg) = e1
M5(LOC,NIX|stop) = 1
Z(x,λ)= alle Belegungen multipliziert =
e3
p(y|x, λ) = e2/e3 = e-1 ͌ 37%
09.10.2007
Felix Jungermann
15
Umsetzung in RapidMiner – CRF-plugin (1/2)
RapidMiner ist Lernumgebung zur Analyse
von Datensätzen
Eigentlich nur bedingt für NER geeignet.
Erweiterung der Datenstruktur um NERspezifische Details.
Einzelne Daten (Wort) sind nicht unabhängig
voneinander – somit nicht trennbar.
Sequentialität von Text erhalten!
Entwicklung des CRF-plugins (2006)
09.10.2007
Felix Jungermann
16
Umsetzung in RapidMiner – CRF-plugin (2/2)
Probleme:
Plugin zu sehr auf CRF
abgestimmt
Keine Möglichkeit, andere
Lerner zu nutzen
Vorverarbeitung zu primitiv
und zu überladen
Lösung:
Entwicklung eines eigenständigen
Textmining-/NER-plugins (2007)
09.10.2007
Felix Jungermann
17
Umsetzung in RapidMiner – NER-plugin (1/2)
Neuerungen:
Texte werden satzweise eingelesen
Sampling über
Sätze möglich
Vorverarbeitung
modular anwendbar
Neue Lerner einsetzbar
09.10.2007
Felix Jungermann
18
Umsetzung in RapidMiner – NER-plugin (2/2)
09.10.2007
Felix Jungermann
19
Umsetzung in RapidMiner – Ausblick
Neue Vorverarbeitungsoperatoren
Externe Resourcen
Google
Wikipedia
Neue Lerner
SVMhmm
SVMstruct
Vergleich verschiedener Verfahren
Laufzeit
Güte
09.10.2007
Felix Jungermann
20
Herunterladen