Conditional Random Fields

download Conditional Random Fields

of 20

  • date post

    13-Jan-2016
  • Category

    Documents

  • view

    74
  • 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

Transcript of Conditional Random Fields

  • Conditional Random Fieldsund die aktuelleUmsetzung in RapidMiner

    Felix Jungermann

    Felix Jungermann

  • berblickEntwicklung der CRFsDefinition der CRFsTraining von CRFsEffiziente Nutzung von CRFs samt BeispielUmsetzung in RapidMiner altes/aktuelles Plugin Ausblick

    Felix Jungermann

  • Entwicklung AllgemeinEntwicklung HMM MEMM CRFWiederholung:HMM: gerichtet, generativMEMM: gerichtet, abhngig von BeobachtungVermeidung frherer NachteileHMM

    MEMMStrikte UnabhngigkeitsannahmeKeine komplexen MerkmaleLabel Bias Problem (*Tafel*)Conservation of score mass

    Felix Jungermann

  • Entwicklung Markov Random Fields (1/2)Markov Random FieldsUngerichtete graphische ModelleAzyklischer Graph G=(V,E)Knoten (Zustnde) entsprechen Labels (1to1)Es gilt die Markov-Eigenschaft:p(yv|yw:vw) = p(yv|yw:v~w)Aufgrund der Ungerichtetheit gibt es keine Vorgnger, somit muss die Wahrscheinlichkeit durch lokale Funktionen bestimmt werden!

    Felix Jungermann

  • Entwicklung Markov Random Fields (2/2)Potentialfunktion: = ci: Aci R+ci ist Clique auf GAci entspricht allen Belegungen der Cliquen-KnotenKeine Wahrscheinlichkeit!p(y1,...,yn)=1/Z * ci (yi1,...,yi|ci|)Z=(ci (yi1,...,yi|ci|)) (Normalisierung)(Erluterung bei CRFs)Yn

    Felix Jungermann

  • Definition Conditional Random Fields (1/4)CRF ist MRF, welches von x abhngt!p(y1,...,yn|x) anstatt p(y1,...,yn)Annahme: Graph entspricht einer first-order KetteCliquen sind dann verbundene Labels

    Felix Jungermann

  • 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 bekanntBeispiel: 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

  • 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 einfhren:p(y|x,) = (1/Z(x,)) * exp (kk(yi-1,yi,x,i))

    kni=1ni=1kkni=1

    Felix Jungermann

  • 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 MGLICHER Labelsequenzen.p ist sozusagen: Anzahl der Regeln, die fr eine Labelsequenz feuern, geteilt durch die Anzahl der Regeln, die fr alle Labelsequenzen feuern!

    kni=1Yn

    Felix Jungermann

  • TrainingTraining: 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. Methodenalle j Beispielealle k PFkt.ni=1alle j Beispielealle k PFkt.

    Felix Jungermann

  • Effiziente Berechnung von p(y|x,)Berechnung mithilfe von MatrizenBei n-langen Sequenzen: n+1 Matrizen {Mi(x)|i=1,...,n+1} der Gre |Y|x|Y|, wobei Y dem Alphabet fr y entspricht.Mi(y,y|x,)=exp(kk k(y,y,x,i))p(y|x,) = (1/Z(x,)) Mi(yi-1,yi|x,)Z(x,) = [ Mi(x)]

    Felix Jungermann

  • 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 = Hamburgf2 = 1, wenn yi-1 = NIX, yi = PER, xi = Felixf3 = 1, wenn yi-1 = PER, yi = LOC, xi = Hamburg

    Jedes Feld enthlt abhngig von seiner Position den Eintrag exp(f) wobei f die Anzahl der Regeln ist, die fr die aktuelle Belegung feuern!

    LOCPERNIXLOCPERNIX

    Felix Jungermann

  • Effiziente Nutzung Beispiel (2/4)Felix geht nach Hamburg.

    1. Stelle 1. Matrix:

    LOCPERNIXLOC111PER111NIX1e11

    Felix Jungermann

  • Effiziente Nutzung Beispiel (3/4)2. Stelle3. Stelle4. Stelle+ 5. Stelle (auch 1-Matrix)

    111111111

    111111111

    111e111e111

    Felix Jungermann

  • Effiziente Nutzung Beispiel (4/4)p*(y|x,) = Mi(yi-1,yi|x) = e2M1(start,PER|Felix) = e1M2(PER,NIX|geht) = 1M3(NIX,NIX|nach) = 1M4(NIX,LOC|Hamburg) = e1M5(LOC,NIX|stop) = 1Z(x,)= alle Belegungen multipliziert = e3p(y|x, ) = e2/e3 = e-1 37%

    Felix Jungermann

  • Umsetzung in RapidMiner CRF-plugin (1/2)RapidMiner ist Lernumgebung zur Analyse von DatenstzenEigentlich nur bedingt fr NER geeignet.Erweiterung der Datenstruktur um NER-spezifische Details.Einzelne Daten (Wort) sind nicht unabhngig voneinander somit nicht trennbar.Sequentialitt von Text erhalten!Entwicklung des CRF-plugins (2006)

    Felix Jungermann

  • Umsetzung in RapidMiner CRF-plugin (2/2)Probleme:Plugin zu sehr auf CRF abgestimmtKeine Mglichkeit, andere Lerner zu nutzenVorverarbeitung zu primitiv und zu berladenLsung:Entwicklung eines eigenstndigen Textmining-/NER-plugins (2007)

    Felix Jungermann

  • Umsetzung in RapidMiner NER-plugin (1/2)Neuerungen:Texte werden satz- weise eingelesenSampling ber Stze mglichVorverarbeitung modular anwendbarNeue Lerner ein- setzbar

    Felix Jungermann

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

    Felix Jungermann

  • Umsetzung in RapidMiner AusblickNeue VorverarbeitungsoperatorenExterne ResourcenGoogleWikipediaNeue LernerSVMhmmSVMstructVergleich verschiedener VerfahrenLaufzeitGte

    Felix Jungermann