Download ppt - Conditional Random Fields

Transcript
Page 1: Conditional Random Fields

Conditional Random Fields

und die aktuelle

Umsetzung in RapidMiner

Felix Jungermann

Page 2: Conditional Random Fields

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

Page 3: Conditional Random Fields

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“

Page 4: Conditional Random Fields

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!

Page 5: Conditional Random Fields

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

Φ

Page 6: Conditional Random Fields

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

Page 7: Conditional Random Fields

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

Page 8: Conditional Random Fields

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

Page 9: Conditional Random Fields

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

Page 10: Conditional Random Fields

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.

Page 11: Conditional Random Fields

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

Page 12: Conditional Random Fields

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!

Page 13: Conditional Random Fields

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

Page 14: Conditional Random Fields

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)

Page 15: Conditional Random Fields

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

Page 16: Conditional Random Fields

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)

Page 17: Conditional Random Fields

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)

Page 18: Conditional Random Fields

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

Page 19: Conditional Random Fields

09.10.2007 Felix Jungermann 19

Umsetzung in RapidMiner – NER-plugin (2/2)

Page 20: Conditional Random Fields

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


Recommended