conditional random fields
DESCRIPTION
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. Entwicklung – Allgemein. - PowerPoint PPT PresentationTRANSCRIPT
Conditional Random Fields
und die aktuelle
Umsetzung in RapidMiner
Felix Jungermann
09.10.2007 Felix Jungermann 2
Überblick
Entwicklung der CRFsDefinition der CRFsTraining von CRFsEffiziente Nutzung von CRFs
samt Beispiel
Umsetzung in RapidMiner altes/aktuelles Plugin Ausblick
09.10.2007 Felix Jungermann 3
Entwicklung – Allgemein
Entwicklung HMM – MEMM – CRF Wiederholung:
HMM: gerichtet, generativ MEMM: gerichtet, abhängig von Beobachtung
Vermeidung früherer Nachteile HMM
MEMM
Strikte UnabhängigkeitsannahmeKeine komplexen Merkmale
Label Bias Problem (*Tafel*)•„Conservation of score mass“
09.10.2007 Felix Jungermann 4
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 5
Entwicklung – Markov Random Fields (2/2)
Potentialfunktion: Φ = Φci: Aci R+
ci ist Clique auf G
Aci entspricht allen Belegungen der Cliquen-Knoten
Keine Wahrscheinlichkeit!
p(y1,...,yn)=1/Z * ∏Φci (yi1,...,yi|ci|)
Z=∑(ΠΦci (yi1,...,yi|ci|)) (Normalisierung)• (Erläuterung bei CRFs)
Φ
Yn
Φ
09.10.2007 Felix Jungermann 6
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 first-order Kette Cliquen sind dann verbundene Labels
Y3
X1 X2 X3
Y1 Y2 Y3
09.10.2007 Felix Jungermann 7
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 8
Definition – Conditional Random Fields (3/4)
p(y1,...,yn|x)=(1/Z(x)) * ∏∑Φk (yi-1,yi,x,i)
Nach Hammersley-Clifford (G ist Baum):
p(y|x) = (1/Z(x)) * exp (∑∑Φk (yi-1,yi,x,i))
Trainingsgewichte einführen:
p(y|x,λ) = (1/Z(x,λ)) * exp (∑∑λkΦk(yi-1,yi,x,i))
k
n
i=1
n
i=1k
k
n
i=1
09.10.2007 Felix Jungermann 9
Definition – Conditional Random Fields (4/4)
Z(x,λ) ist ein NormalisierungsfaktorZ(x,λ) = ∑ exp(∑∑λkΦ k(yi-1,yi,x,i))
Z ist sozusagen die Summe aller „Treffer“ ALLER MÖGLICHER Labelsequenzen. p ist sozusagen: Anzahl der Regeln, die für eine
Labelsequenz feuern, geteilt durch die Anzahl der Regeln, die für alle Labelsequenzen feuern!
k
n
i=1Yn
09.10.2007 Felix Jungermann 10
Training
Training: Logarithmus der bedingten Wahrscheinlichkeit wird maximiert! (Maximum log-likelihood) Fk(y,x) = ∑Φk(yi-1,yi,x,i)
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.!
Berechnung mit iterative Scaling od. gradientenb. Methoden
alle j Beispiele alle k PFkt.
n
i=1
alle j Beispielealle k PFkt.
09.10.2007 Felix Jungermann 11
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))
p(y|x,λ) = (1/Z(x,λ)) ∏ Mi(yi-1,yi|x,λ)
Z(x,λ) = [∏ Mi(x)]i=1
n+1
i=1
n+1
09.10.2007 Felix Jungermann 12
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
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!
09.10.2007 Felix Jungermann 13
Felix geht nach Hamburg.
1. Stelle1. Matrix:
Effiziente Nutzung – Beispiel (2/4)
LOC PER NIX
LOC 1 1 1
PER 1 1 1
NIX 1 e1 1
09.10.2007 Felix Jungermann 14
Effiziente Nutzung – Beispiel (3/4)
1 1 1
1 1 1
1 1 11 1 1
1 1 1
1 1 1 1 1 1
e1 1 1
e1 1 1
2. Stelle
3. Stelle
4. Stelle
+ 5. Stelle (auch 1-Matrix)
09.10.2007 Felix Jungermann 15
Effiziente Nutzung – Beispiel (4/4)
p*(y|x,λ) = ∏ Mi(yi-1,yi|x) = e2
M1(start,PER|Felix) = e1
M2(PER,NIX|geht) = 1M3(NIX,NIX|nach) = 1M4(NIX,LOC|Hamburg) = e1
M5(LOC,NIX|stop) = 1Z(x,λ)= alle Belegungen multipliziert = e3
p(y|x, λ) = e2/e3 = e-1 ͌ 37%
i=1
n+1
09.10.2007 Felix Jungermann 16
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 NER-
spezifische 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 17
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 18
Umsetzung in RapidMiner – NER-plugin (1/2)
Neuerungen: Texte werden satz-
weise eingelesen Sampling über
Sätze möglich Vorverarbeitung
modular anwendbar Neue Lerner ein-
setzbar
09.10.2007 Felix Jungermann 19
Umsetzung in RapidMiner – NER-plugin (2/2)
09.10.2007 Felix Jungermann 20
Umsetzung in RapidMiner – Ausblick
Neue Vorverarbeitungsoperatoren Externe Resourcen
Google Wikipedia
Neue Lerner SVMhmm SVMstruct
Vergleich verschiedener Verfahren Laufzeit Güte