1 / 20

Conditional Random Fields

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.

karah
Télécharger la présentation

Conditional Random Fields

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conditional Random Fields und die aktuelle Umsetzung in RapidMiner Felix Jungermann

  2. Überblick • Entwicklung der CRFs • Definition der CRFs • Training von CRFs • Effiziente Nutzung von CRFs • samt Beispiel • Umsetzung in RapidMiner • altes/aktuelles Plugin • Ausblick 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ängigkeitsannahme • Keine komplexen Merkmale • Label Bias Problem (*Tafel*) • „Conservation of score mass“ 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! 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 Felix Jungermann

  6. Y1 Y2 Y3 Y3 X1 X2 X3 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 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 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)) n k i=1 n k i=1 n k i=1 Felix Jungermann

  9. Definition – Conditional Random Fields (4/4) • Z(x,λ) ist ein Normalisierungsfaktor • Z(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! n i=1 k Yn 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 n i=1 alle j Beispiele alle k PFkt. alle j Beispiele alle k PFkt. Felix Jungermann

  11. n+1 n+1 i=1 i=1 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)] 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 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! Felix Jungermann

  13. Effiziente Nutzung – Beispiel (2/4) • Felix geht nach Hamburg. • 1. Stelle1. Matrix: Felix Jungermann

  14. Effiziente Nutzung – Beispiel (3/4) 2. Stelle 3. Stelle + 5. Stelle (auch 1-Matrix) 4. Stelle Felix Jungermann

  15. n+1 i=1 Effiziente Nutzung – Beispiel (4/4) • p*(y|x,λ) = ∏ Mi(yi-1,yi|x) = e2 • 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% 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) Felix Jungermann

  17. Umsetzung in RapidMiner – CRF-plugin (2/2) • Probleme: • Plugin zu sehr auf CRFabgestimmt • Keine Möglichkeit, andereLerner zu nutzen • Vorverarbeitung zu primitivund zu überladen • Lösung: • Entwicklung eines eigenständigenTextmining-/NER-plugins (2007) Felix Jungermann

  18. Umsetzung in RapidMiner – NER-plugin (1/2) • Neuerungen: • Texte werden satz-weise eingelesen • Sampling überSätze möglich • Vorverarbeitungmodular anwendbar • Neue Lerner ein-setzbar Felix Jungermann

  19. Umsetzung in RapidMiner – NER-plugin (2/2) Felix Jungermann

  20. Umsetzung in RapidMiner – Ausblick • Neue Vorverarbeitungsoperatoren • Externe Resourcen • Google • Wikipedia • Neue Lerner • SVMhmm • SVMstruct • Vergleich verschiedener Verfahren • Laufzeit • Güte Felix Jungermann

More Related