Felix Jungermann: Conditional Random Fields

January 20, 2018 | Author: Anonymous | Category: Mathematik, Statistik Und Wahrscheinlichkeitsrechnung
Share Embed Donate


Short Description

Download Felix Jungermann: 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 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

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF