Stochastische Attribut-WertGrammatiken Universität Potsdam – Institut für Linguistik Hauptseminar Stochastische Lernalgorithmen Gerhard Jäger – Referent: Rainer Ludwig Überblick • Stochastische kontextfreie Grammatiken – Empirical Relative Frequency • Übergang von (S)CFG zu (S)AVG • Stochastische AVG – Random Fields – Improved Iterative Scaling Stochastische CFG 1. 2. 3. 4. 5. 6. S AA SB Aa Ab Baa Bbb 1 = 1/2 2 = 1/2 3 = 2/3 4 = 1/3 5 = 1/2 6 = 1/2 S x= 3 1 A A a a 3 1 2 2 2 q1 ( x) 1 3 3 2 3 3 9 Parameterabschätzung • Bestimmung der Werte der Gewichte i • Diese sollen das Trainingskorpus bestmöglich reflektieren • D. h.: Die Distribution q(x), die durch die i bestimmt wird, soll der Distribution im p(x) möglichst nahe Trainingskorpus ~ kommen Empirische Distribution in einem Korpus c= ~p x1 x2 x3 x4 S S S S B B A A A A a a b b 4x 4/12 q1 = 2/9 a a b b 2x 2/12 3x 3x 3/12 3/12 1/18 1/4 1/4 Kullback-Leibler-Divergenz • Maß für die Unähnlichkeit zwischen Distributionen (≙ relative Entropie) ~ p ( x) ~ ~ D( p || q) p ( x) ln q ( x) x Empirical Relative Frequency (ERF) • Jede Regel i der Grammatik bekommt eine Häufigkeitsfunktion fi(x) zugewiesen • p[f]: Erwartungswert von f unter Wahrscheinlichkeitsverteilung p, d. h. p f p( x) f ( x) x • i werden so gewählt, dass sie proportional ~ zu p f i sind Empirical Relative Frequency (ERF) • ERF ermittelt die besten Gewichte für eine gegebene CFG bei einer gegebenen empirischen Distribution x1 x2 x3 x4 p 1/3 1/6 1/4 1/4 p[f] = beta = S -> AA S ->B pf1 pf2 1/3 0 1/6 0 0 1/4 0 1/4 1/2 1/2 1/2 1/2 A -> a pf3 2/3 0 0 0 2/3 2/3 A -> b pf4 0 1/3 0 0 1/3 1/3 B -> aa B -> bb pf5 pf6 0 0 0 0 1/4 0 0 1/4 1/4 1/4 1/2 1/2 Empirische Distribution in einem Korpus x1 S x2 S A A A A a a b b x3 S x4 S B B a a b b c= 4x 2x 3x 3x ~ p 4/12 2/12 3/12 3/12 1/18 1/4 1/4 q1 = 2/9 4 q (x ) 7 9 1 i 1 1 i Attribut-Wert-Grammatiken und DAGs 1. 2. 3. 4. 5. 6. S 1:A 2:A S 1:B A 1:a A 1:b B 1:a B 1:b <1 1> = <2 1> S 1 2 A A 1 1 a Attribut-Wert-Grammatiken und DAGs x1 x2 x3 x4 S S S S B B a b A A a A A b S 1:A 2:A <1 1> = <2 1> A 1:a B 1:a S 1:B A 1:b B 1:b Stochastische AVG 1. 2. 3. 4. 5. 6. S 1:A 2:A S 1:B A 1:a A 1:b B 1:a S B 1:b 1 A 3 <1 1> = <2 1> 1 2 A 1 1 a 3 1 = 1/2 2 = 1/2 3 = 2/3 4 = 1/3 5 = 1/2 6 = 1/2 1 2 2 2 2 ( x ) 1 3 3 2 3 3 9 n Allgemein: ( x) i f i ( x ) i 1 Empirische Distribution in einem Korpus x1 x2 x3 x4 S S S S B B A c= ~p A A A a b a b 4x 4/12 2x 2/12 3x 3x 3/12 3/12 1/18 1/14 1/4 9/28 1/4 9/28 2 = 2/9 q2 = 2/7 Σ = 7/9 Σ=1 Alternative Regelgewichte 1. S 1:A 2:A <1 1> = <2 1> 1 3 2 2 2. S 1:B 2 3 3. A 1:a 3 2 4. A 1:b 4 1 5. B 1:a 5 12 6. B 1:b 6 12 62 2 62 2 1 2 1 2 Wahrscheinlichkeitsverteilung mit den neuen Gewichten x1 x2 x3 x4 S S S S B B A c= ~p A A A a b a b 4x 4/12 2x 2/12 3x 3x 3/12 3/12 3 2 14 93 2 28 93 2 28 1/6 1/4 3 2 = 7 q = 1/3 1/4 3 3 2 Random Fields • Wahrscheinlichkeitsverteilung über Konfigurationen (hier DAGs) • Gewicht einer Konfiguration ist das Produkt der Gewichte bestimmter Merkmale dieser Konfiguration ( x) i fi ( x ) i • Wahrscheinlichkeit einer Konfiguration ergibt sich aus der Normalisierung des Gewichts Merkmale in Random Fields • Merkmale können lokale Bäume (Regelanwendungen) sein, müssen aber nicht • Keine Beschränkung für die Summe der Gewichte von Regeln mit gleicher LHS (vorher: =1) Ein Beispiel für Merkmale S Merkmale: A 1 a = A B 2 2 3/2 ~ qp S A A A S S B B a b a b 0 0 0 0 f2 = 2 0 1 1 = 2 1 3/2 3/2 q= 1/3 1/6 1/4 1/4 f1 = Parameterabschätzung • Es müssen nicht mehr nur die Werte der Gewichte i bestimmt werden, sondern auch die Merkmale fi ausgewählt werden • Ziel weiterhin: Minimierung der Kullbackp || q ) Leibler-Divergenz D ( ~ • Lösung: Improved Iterative Scaling Improved Iterative Scaling (IIS) 1. Beginne mit dem Nullfeld, i. e. ohne Merkmale 2. Merkmalsauswahl. Wähle das beste Merkmal und füge es dem Feld hinzu. 3. Anpassen der Gewichte. Passe für alle Merkmale die Gewichte an. 4. Iteriere, bis das Feld nicht mehr besser wird. Das Nullfeld S A S A A A S S B B a b a b ~ p 1/3 1/6 1/4 1/4 = 1 1 1 1 q= 1/4 1/4 1/4 1/4 D( ~ p || q ) 0,03 Bestandteile eines Modells 1. Eine AVG G 2. Eine Menge von Initialgewichten θ für die Regeln in G Initialdistribution p0 3. Eine Menge von Merkmalen f1,..., fn mit Gewichten β1,..., βn Felddistribution q 1 fi ( x ) q( x) p0 ( x) i Z i Merkmalsauswahl • Merkmale sind in unserem Beispiel Sub-DAGs • Diese werden aus atomaren Merkmalen (= einzelnen DAG-Knoten) zusammengebaut • In Schritt 2 von IIS werden alle möglichen neuen Merkmale mit ihrem jeweils besten Gewicht betrachtet • Es wird dasjenige Merkmal ausgewählt, das die größte Reduktion der KLD bringt Merkmalsauswahl – Beispiel S A ~ p a = qa = ~ p ~ p ln qa ~ p ~ p ln qB B = qB = S A A A S S B B b a b a 1/3 7/5 7/24 1/6 1 5/24 1/4 7/5 7/24 1/4 1 5/24 0,04 – 0,04 – 0,04 0,05 1 1/4 1 1/4 1 1/4 1 1/4 0,10 – 0,07 0 0 D = 0,01 D = 0,03 Auswahl des Gewichts für ein gewähltes Merkmal • Das neue Gewicht β soll so gewählt werden, dass der Erwartungswert von f dem p f empirischen entspricht, also q f ~ • Wenn L(G) sehr groß (unendlich) ist, lässt sich die Gleichung nicht ohne weiteres lösen Random Sampling Anpassen der Gewichte • Nach dem Hinzufügen eines neuen Merkmals mit einem bestimmten Gewicht ist es i. a. nötig, die Gewichte (β1,..., βn) aller Merkmale anzupassen (Schritt 3 von IIS) • D. h. gesucht sind Faktoren (δ1,...,δn), um die neuen Gewichte (δ1β1,...,δnβn) zu ermitteln Anpassen der Gewichte • Auch hier soll gelten: qneu f i ~ p f i 1 f j ( x) • Für qneu gilt: qneu ( x) p0 ( x) j j Z j 1 f j ( x) qalt ( x) j Z j Annäherung: qneu ( x) qalt ( x) i f j ( x) j qalt ( x) i f #( x ) Anpassen der Gewichte • Annäherungsformel für die Faktoren δi: qalt i f# ~ f i p f i • Iterieren, um die besten Gewichte zu erhalten • Auch hier muss eventuell auf Sampling zurückgegriffen werden