20
Conditional Random Fields und die aktuelle Umsetzung in RapidMiner Felix Jungermann

Conditional Random Fields

  • Upload
    karah

  • View
    96

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

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