Statistische Methoden in der Maschinellen Sprachverarbeitung Helmut Schmid und Thomas Müller IMS, Universität Stuttgart SNLP Literatur Christopher Manning und Hinrich Schütze: Foundations of Statistical Natural Language Processing, MIT Press. Geforderte Leistungen • Bearbeitung der 7 Übungen – Rechenübungen – Programmierübungen • Abschlussprüfung (schriftl. oder mündl.) Webseite zum Seminar: http://www.ims.uni-stuttgart.de/∼schmid/SNLP Helmut Schmid 2 SNLP Überblick • Textkorpora • Mathematische Grundlagen • Kollokationsextraktion • Wortbedeutungsdesambiguierung • Sprachidentifizierung (Language Guesser) • Wortart-Annotierung (Tagger) • Parsen mit statistischen Methoden • Übersetzung mit statistischen Methoden Helmut Schmid 3 SNLP Textkorpora Korpus: Textsammlung für linguistische Zwecke Einfache Häufigkeitsangaben zu Korpora: • Gesamtzahl der Wörter (Tokens) Tom Sawyer: 71 370 Tokens • Zahl der unterschiedlichen Wörter (Types) Tom Sawyer: 8 018 Types • Zahl der Wörter, die einmal aufgetreten sind (Hapax Legomena) Tom Sawyer: 3 993 Hapax Legomena Helmut Schmid 4 SNLP Wortzählung Wort the and a to of was it in that he I his you Tom with Häufigkeit 3332 2972 1775 1725 1440 1161 1027 906 877 877 783 772 686 679 642 • Funktionswörter: Artikel, Präpositionen, Konjunktionen, Pronomina etc. • Inhaltswörter: Verben, Substantive, Adjektive, Adverbien Helmut Schmid 5 SNLP Häufigkeiten 2. Ordnung Wieviele Wörter tauchen genau n-mal auf? n 1 2 3 4 5 6 7 8 9 10 11-50 51-100 >100 fn 3993 1292 664 410 243 199 172 131 82 91 540 99 102 ⇒ Die meisten Wörter sind selten. Helmut Schmid 6 SNLP Rang vs. Häufigkeit Daten: Korpus der Wochenzeitung “Die Zeit” 5000 Zeit 4500 4000 Frequenz 3500 3000 2500 2000 1500 1000 500 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Rang 1/r Zeit 100000 Frequenz 10000 1000 100 10 1 1 Zipf’s Gesetz: Helmut Schmid 10 f ∼ 1r 100 1000 Rang 10000 100000 (f · r ≈ K) 7 SNLP Statistik I • Statistik beschäftigt sich mit der Frage, wie wahrscheinlich ein Ereignis ist. Beispiel: Wahrscheinlichkeit von sechs Richtigen beim Lotto • Zufallsexperiment: Experiment, bei dem mehrere Ergebnisse möglich sind. (Werfen von 2 Würfeln) • Zufallsereignis: Das Ergebnis eines Zufallsexperimentes (7 Augen mit 2 Würfeln) • Elementarereignis: Ereignis, das sich nicht als Summe zweier anderer Ereignisse darstellen läßt. • Stichprobe: Folge der Ereignisse, die sich bei wiederholter Durchführung eines Zufallsexperimentes ergeben. Helmut Schmid 8 SNLP Statistik II • Stichprobenraum Ω: Menge der möglichen Elementarereignisse • Ereignisraum ℘(Ω): Menge der möglichen Ereignisse • Wahrscheinlichkeitsverteilung: eine Funktion p, die jedem Elementarereignis e einen Wert zwischen 0 und 1 zuweist, wobei gilt X p(e) = 1 e • Die Wahrscheinlichkeit eines Ereignisses ist gleich der Summe der Wahrscheinlichkeiten der entsprechenden Elementarereignisse. Beispiel: Augenzahl 5 mit 2 Würfeln Helmut Schmid 9 SNLP Statistik III • Bedingte Wahrscheinlichkeit: P (A|B) Wahrscheinlichkeit eines Ereignisses A, wenn das Ereignis B bereits bekannt ist. P (A|B) = P (A ∩ B) P (B) Beispiele: – Würfel: Wahrscheinlichkeit, dass die Augenzahl eines Würfels gerade ist, wenn die Augenzahl größer als 3 ist. – Wörter eines Zeitungsartikels: Wahrscheinlichkeit des Wortes Einstein, wenn das Wort Albert vorausgeht. • Apriori-Wahrscheinlichkeit: P (A) Wahrscheinlichkeit eines Ereignisses A ohne das zusätzliche Wissen über B Helmut Schmid 10 SNLP Statistik IV • Kettenregel P (A1 ∩ A2) = P (A1)P (A2|A1) P (A1∩A2∩A3∩...) = P (A1)P (A2|A1)P (A3|A1∩A2)... • Theorem von Bayes: P (B|A)P (A) P (A|B) = P (B) →• Helmut Schmid 11 SNLP Statistik V • Zufallsvariable: Funktion X : Ω → <, welche jedem Ereignis ω eine reelle Zahl X(ω) zuordnet. Beispiel: Schulnoten • Vorteil: Allgemeinere Betrachtung von Zufallsexperimenten möglich • Falls X : Ω → S, wobei S ⊂ < eine abzählbare Menge ist, so ist X eine diskrete Zufallsvariable. • Falls X : Ω → {0, 1}, so handelt es sich um ein Bernoulli-Experiment. • Wahrscheinlichkeitsfunktion p(X = x) = p(x) = P (Ax), wobei Ax = {ω ∈ Ω|X(ω) = x} Helmut Schmid 12 SNLP Statistik VI • Erwartungswert: der Mittelwert einer Zufallsvariablen E(X) = X p(x) x x • Beispiel: Wenn ein Würfel geworfen wird und Y die Augenzahl auf der Oberseite ist, dann ist der Erwartungswert von Y 6 X 6 1 X 21 E(Y ) = p(y) y = y= 6 6 y=1 y=1 • Varianz: Maß für die Streuung der Werte einer Zufallsvariablen V ar(X) = E((X − E(X))2) = E(X 2) − E 2(X) →• • Standardabweichung: Quadratwurzel der Varianz Helmut Schmid 13 SNLP Statistik VII • Mittelwert einer Stichprobe x1, x2, ..., xn n 1 X x̄ = xi n i=1 • Varianz einer Stichprobe s2 = Helmut Schmid n 1 X (xi − x̄)2 n − 1 i=1 14 SNLP Statistik VIII • Wenn mehrere Zufallsvariablen über einem Ereignisraum definiert werden, können gemeinsame Verteilungen (joint probability) definiert werden. p(x, y) = P (X = x, Y = y) Beispiel: Wurf mit 2 Würfeln X=Augenzahl des 1. Würfels Y=Augenzahl des 2. Würfels • Randverteilungen (marginal probabilities) erhält man aus gemeinsamen Verteilungen, indem man über alle Werte einer Zufallsvariablen summiert. pX (x) = pY (y) = X y X p(x, y) p(x, y) x • Unabhängigkeit: Zwei Zufallsvariablen X und Y sind unabhängig, falls p(x, y) = pX (x) pY (y) Helmut Schmid 15 SNLP Verteilungen I Eine Binomialverteilung ergibt sich, wenn ein Versuch mit zwei Ausgängen (Bernoulli-Experiment) wiederholt ausgeführt wird. (Beispiel: Münzwurf) Die Wahrscheinlichkeit, dass ein Bernoulli-Ereignis mit der Wahrscheinlichkeit p bei n Versuchen r-mal auftritt, beträgt n b(r; n, p) = pr (1 − p)n−r r n n! = r (n − r)! r! 0.3 b(r;10,0.5) b(r;10,0.75) 0.25 Wahrsch. 0.2 0.15 0.1 0.05 0 0 2 4 6 8 10 Frequenz Helmut Schmid 16 SNLP Verteilungen II • Der Erwartungswert (Mittelwert) einer Binomialverteilung b(r; n, p) beträgt np. • Die Varianz einer Binomialverteilung beträgt np(1 − p). • Für große Werte von n nähert sich die Kurve der (diskreten) Binomialverteilung der Kurve der kontinuierlichen Normalverteilung an. Helmut Schmid 17 SNLP 0.25 ’data10’ Wahrsch. 0.2 0.15 0.1 0.05 0 0 2 4 6 8 10 Frequenz 0.08 ’data100’ 0.07 Wahrsch. 0.06 0.05 0.04 0.03 0.02 0.01 0 0 20 40 60 Frequenz 0.03 80 100 ’data1000’ 0.025 Wahrsch. 0.02 0.015 0.01 0.005 0 0 Helmut Schmid 200 400 600 Frequenz 800 1000 18 SNLP Verteilungen IV • Die Normalverteilung ist gegeben durch 1 − (x−µ) e 2σ2 n(x; µ, σ) = √ 2π σ 2 0.4 n(x;0,1) n(x;1.5,2) 0.35 Wahrsch. 0.3 0.25 0.2 0.15 0.1 0.05 0 -4 -2 0 Frequenz 2 4 • Ein Beispiel für annähernd normalverteilte Werte ist die Körpergröße (bei einem Geschlecht). • Normalverteilungen werden auch als Gauß’sche Verteilungen bezeichnet. Wenn sich eine Verteilung als Summe von Normalverteilungen darstellen lässt, so spricht man von einer Mischung von Gauß-Verteilungen (Beispiel: Körpergröße) Helmut Schmid 19 SNLP Wahrscheinlichkeits-Schätzung • Relative Häufigkeit: Wenn in einer Stichprobe der Größe N ein Ereignis n-mal auftritt, so ist n seine relative Häufigkeit. N • Für zunehmende Stichprobengröße konvergiert die relative Häufigkeit eines Ereignisses zu seiner Wahrscheinlichkeit. genauer ausgedrückt: Die Wahrscheinlichkeit, daß die relative Häufigkeit um mehr als eine Konstante von der Wahrscheinlichkeit abweicht, konvergiert für zunehmende Größe der Stichprobe gegen Null. Helmut Schmid 20 SNLP Entropie I • Welche Schlagzeile hat die größeren Chancen in einer Zeitung zu erscheinen? – Hund beißt Briefträger – Briefträger beißt Hund • Eine Nachricht ist umso informativer, je unerwarteter sie ist. • Entropie: Wenn p(x) die Verteilungsfunktion einer Zufallsvariablen X ist, dann ist die Entropie folgendermaßen definiert: 1 p(x) log2 p(x) = E(log2 H(X) = H(p) = − ) p(x) x∈X X Beispiele: Münzwurf, Würfel • Anwendung: Die Entropie gibt an, wieviele Bits im Mittel mindestens benötigt werden, um ein Symbol zu kodieren. Helmut Schmid 21 SNLP Entropie II • Die gemeinsame Entropie zweier Zufallsvariablen X und Y ist definiert als: X X H(X, Y ) = − p(x, y) log2 p(x, y) x∈X y∈Y • Die bedingte Entropie der Zufallsvariablen Y , wenn die Zufallsvariable X gegeben ist, lautet: H(Y |X) = X p(x)H(Y |X = x) x∈X = X p(x) − x∈X X X = − X p(y|x) log2 p(y|x) y∈Y p(x, y) log2 p(y|x) x∈X y∈Y • Es gilt: H(X, Y ) = H(X) + H(Y |X) →• • Die Kettenregel für bedingte Entropie H(X1 , X2 , X3 , ...) = H(X1 ) + H(X2 |X1 ) + H(X3 |X1 , X2 )... Helmut Schmid 22 SNLP Mutual Information I • Aufgrund der Kettenregel für die Entropie gilt H(X, Y ) = H(X) + H(Y |X) = H(Y ) + H(X|Y ) und somit H(X) − H(X|Y ) = H(Y ) − H(Y |X) = I(X; Y ) • Mutual Information I(X; Y ): Menge der Information, die eine Zufallsvariable über eine andere enthält p(x, y) I(X; Y ) = p(x, y) log2 p(x)p(y) x,y X →• • MI ist ein symmetrisches nicht-negatives Maß der gemeinsamen Information zweier Zufallsvariablen. • Punktweise Mutual Information: ein Maß für die Korreliertheit von bspw. zwei Wörtern p(x, y) I(x; y) = log2 p(x)p(y) Helmut Schmid 23 SNLP Relative Entropie • Relative Entropie (Kullback-Leibler-Abstand) zweier Verteilungsfunktionen p(x) und q(x) ist definiert als p(x) D(p||q) = p(x) log2 q(x) x∈X X • Die relative Entropie ist ein Maß für die Unterschiedlichkeit zweier Verteilungen. • Sie gibt an, wieviel Bits im Mittel verschwendet werden, wenn Ereignisse mit der Verteilung p mit einem Code, der für die Verteilung q optimal ist, kodiert werden. →• • Die relative Entropie ist immer nicht-negativ und D(p||q) = 0 gilt gdw. p = q. • Die Mutual Information ist ein Maß dafür, wie weit die gemeinsame Verteilung von einer unabhängigen Verteilung entfernt ist: I(X; Y ) = D(p(x, y) || p(x)p(y)) →• Helmut Schmid 24 SNLP Cross-Entropie • Cross-Entropie zwischen einer Zufallsvariablen X, die p-verteilt ist, und einer Verteilungsfunktion q H(X, q) = − X p(x) log2 q(x) x 1 ) q(x) = H(X) + D(p||q) = Ep(log2 →• • Die Cross-Entropie eines Korpus x1n ist folgendermaßen definiert: 1 H(x1n, p) = − log2 p(x1n) n →• • Statt der Cross-Entropie wird gelegentlich auch die Perplexität verwendet 1 perp(x1n, p) = 2H(x1n,p) = p(x1n)− n Helmut Schmid 25 SNLP Kollokationen Kollokationen sind mehr oder weniger feste Wortverbindungen, die beim Erwerb einer Sprache gelernt werden müssen. Die genaue Definition ist bei verschiedenen Autoren unterschiedlich. Häufig verwendete Kriterien für Kollokationen sind • fehlende Kompositionalität: Die Bedeutung einer Kollokation ergibt sich nicht kompositionell aus der Bedeutung der Einzelwörter Beispiele: auf die Palme bringen, mit den Wölfen heulen, eine Rede halten • fehlende Ersetzbarkeit: Teile einer Kollokation können nicht frei gegen semantisch äquivalente Wörter ausgetauscht werden. Beispiele: steife Brise, ?steifer Wind, hohe Achtung, tiefste Verachtung • fehlende Modifizierbarkeit: Viele Kollokationen können nicht modifiziert werden. Beispiele: im Auge behalten, ?in beiden Augen behalten Guten Morgen, Mit freundlichen Grüßen Helmut Schmid 26 SNLP Kollokationen II Weiteres Kriterium: fehlende direkte Übersetzbarkeit “eine Entscheidung treffen” kann nicht als “to hit a decision” ins Englische übersetzt werden. Für manche Autoren sind auch stark miteinander assoziierte Wörter Kollokationen, wie bspw. Hund – bellen oder Arzt – Krankenhaus Da Kollokationen wie Vokabeln gelernt werden müssen, sind Methoden der automatischen Extraktion interessant für die Erstellung von entspr. Wörterbüchern Helmut Schmid 27 SNLP Kollokationen III • häufigste Wortpaare in New York Times Häufigkeit 80871 58841 26430 21842 21839 18568 16121 15630 15494 13899 13689 13361 Wort of in to on for and that at to in of by Wort the the the the the the the the be a a the • Adjektiv-Nomen-Paare im Hansard-Korpus Häufigkeit 87655 20997 12260 8447 8071 7871 7683 7532 7511 6980 6814 6724 Helmut Schmid Wort hon. federal hon. private last supplementary Canadian same unanimous small great federal Wort member government members sector year question people time consent business deal Government 28 SNLP Kollokationen IV • Kollokationen mit variablem Wortabstand ⇒ Fenster (Abstand x bis y) • häufigste Verb-Nomen-Paare mit maximalem Abstand 5 (lemmatisiert) Verb spielen sagen stellen sehen geben schütteln geben geben sagen erzählen kosten erscheinen machen tragen Helmut Schmid Nomen Rolle Mann Frage Seite Grund Kopf Zeit Möglichkeit Frau Geschichte Geld Buch Spaß Name Häufigkeit 28 20 18 16 16 16 14 12 12 12 11 11 10 10 29 SNLP Statistische Tests • Wortpaare sind häufig – wenn die einzelnen Wörter häufig sind – wenn sie eine Kollokation bilden • Bei der Suche nach Kollokationen interessieren diejenigen Paare, die häufiger sind als auf Grund der Wahrscheinlichkeiten der Einzelwörter zu erwarten ist. • Welche Paare das sind, sagt ein statistischer Test. Helmut Schmid 30 SNLP Statistische Tests II • Nullhypothese: Es besteht keine Beziehung zwischen den Einzelwörtern, also p(w1, w2) = p(w1)p(w2) • Erstelle eine Stichprobe (Korpus von Wortpaaren) • Berechne die Gesamtwahrscheinlichkeit p aller möglichen Stichprobenergebnisse, die mindestens so weit vom Erwartungswert (bei Annahme der Nullhypothese) abweichen wie das beobachtete Ergebnis. • Verwerfe die Nullhypothese, falls p zu klein ist – p < 0.05 (signifikante Abweichung) – p < 0.01 – p < 0.001 Helmut Schmid 31 SNLP Statistische Tests III • Beispiel: Ist das Bigram “new companies” signifikant häufiger als erwartet? • Datenbasis: 14.307.668 15.828 4.675 8 Adjektiv-Nomen-Paare Adjektiv new Nomen companies new companies • Nullhypothese: Das Bigramm hat die Wahrscheinfc lichkeit p0 = p̃new p̃companies = fNn N • Die Wahrscheinlichkeit, bei N = 14.307.668 Wiederholungen eines Bernoulli-Experimentes mit der Wahrscheinlichkeit p0 mind. 8 Einser-Ereignisse zu bekommen, ist b(≥ 8, N, p0) = 1 − 7 X b(i, N, p0) ≈ 0.15 i=0 • Bei Ablehnung der Nullhypothese beträgt die Irrtumswahrscheinlichkeit 15 %. ⇒ Ergebnis nicht signifikant Helmut Schmid 32 SNLP χ2-Test Der χ2-Test wird auf Kontingenz-Tabellen angewendet. w2 = companies w2 6= companies w1 6= new 4667 14287173 14291840 w1 = new 8 15820 15828 4675 14302993 14307668 Der χ2-Test ist definiert durch χ2 = X (Oij − Eij )2 i,j Eij Oij sind die Werte aus der Kontingenztabelle Eij sind die entsprechenden Erwartungswerte unter der Annahme der Unabhängigkeit. Eij = pi−p−j N = Oi−O−j O−− Das zugehörige Signifikanzniveau liest man aus einer Tabelle ab. Beispiel: χ2 ≈ 1.55 < 3.84 Helmut Schmid ⇒ nicht signifikant 33 SNLP Probleme Statistischer Tests • Viele Bigramme sind signifikant häufig, weil die Unabhängigkeitsannahme auch für NichtKollokationen oft nicht erfüllt ist. ⇒ Sortierung nach Stärke der Assoziation • Bigramme mit niedrigen Frequenzen erhalten oft zu hohe Bewertungen. ⇒ Mindesthäufigkeit von bspw. 5 verwenden Helmut Schmid 34 SNLP Weitere Assoziationsmaße • t-Score: O11 − E11 t= √ O11 • Log-Likelihood Ratio Oij L=2 Oij log Eij ij X • punktweise Mutual Information O11 M I = log E11 Helmut Schmid 35 SNLP Statistische Sprachmodelle • Für verschiedene Anwendungen (z.B. Spracherkennung, Sprachidentifizierung, statistische Übersetzung) benötigt man Sprachmodelle, die Sätzen Wahrscheinlichkeiten zuordnen. Spracherkennung wreck a nice beach – recognize speech maschinelle Übersetzung He will tomorrow come – He will come tomorrow • Mit der Kettenregel kann die Gesamtwahrscheinlichkeit eines Textes xn 1 = x1 , ..., xn folgendermaßen zerlegt werden p(xn 1 ) = p(x1 ) p(x2 |x1 ) p(x3 |x1 , x2 )...p(xn |x1 ...xn−1 ) Die xi können Wörter (SE, MÜ) oder Buchstaben (SI) sein. • Wegen ihrer großen Zahl, können diese Wahrscheinlichkeiten nicht direkt geschätzt werden. Helmut Schmid 36 SNLP Statistische Sprachmodelle Vereinfachende Annahme: Der Text wurde von einem Markow-Prozess k-ter Ordnung generiert, d.h. p(x1...xn) = n Y p(xi|xi−k ...xi−1) i=1 • Jedes Wort hängt nur von den k vorhergehenden ab. p(xi|x1...xi−1) = p(xi|xi−k ...xi−1) • Zeitinvarianz (hier für Markowprozesse 1. Ordnung) p(Xi = a|Xi−1 = b) = p(Xk = a|Xk−1 = b) für beliebige i, k Hinzufügen eines Startsymbols x0 = hsi damit p(x1|x0) definiert ist Hinzufügen eines Endesymbols xn+1 = hei damit P n xn p(x1 ) = 1 1 Helmut Schmid 37 SNLP Statistische Sprachmodelle Beispiel Trainingskorpus: I can can a can Häufigkeiten: f(hsi, I) f(I, can) f(can, can) f(can, a) f(a, can) f(can, hei) = = = = = = 1 1 1 1 1 1 Modell-Wahrscheinlichkeiten: p(I | hsi) p(can | I) p(can | can) p(a | can) p(can | a) p(hei | can) Wahrscheinlichkeit von = = = = = = 1 1 1/3 1/3 1 1/3 I can a can p(I can a can) = p(I | hsi) p(can | I) p(a | can) p(can | a) p(hei | can) = 1 * 1 * 1/3 * 1 * 1/3 = 1/9 Helmut Schmid 38 SNLP Vergleich von Englischen Buchstabenmodellen Modellierung von englischem Text mit Markow-Modellen unterschiedlicher Ordnung über Buchstabenfolgen p(It is ...) = p(I|hsi) p(t|I) p( |t)... Cross-Entropie misst, wie gut die verschiedenen Modelle englischen Text beschreiben. (Je kleiner die Entropie desto besser.) 1 n H(x1 , p) = − log2 p(xn 1) n Modell 1 Uniforme Verteilung 27 0-ter Ordnung p(a) 1-ter Ordnung p(a|b) Mensch (Shannon) Helmut Schmid Cross-Entropie 1) 4,76 Bit (= −log2 27 4,03 Bit 2,8 Bit 1,3 Bit 39 SNLP Sprachidentifikation Bei der Sprachidentifikation gilt es, die Sprache eines Textes zu bestimmen. Beispiel: Este sistema de ensaio é ideal. Spanisch, Italienisch, Portugiesisch, Rumänisch? Helmut Schmid 40 SNLP Sprachidentifikation Theoretische Herleitung Bei der Sprachidentifikation suchen wir die wahrscheinlichste Sprache L für einen Text bestehend aus den Zeichen an 1 = a1 , ..., an , d.h. arg max p(L|an 1) L Anwendung des Bayes’schen Theorems: n |L) p(L) p(a 1 arg max p(L|an 1 ) = arg max L L p(an 1) Da p(an 1 ) nicht von L abhängt, hat es keinen Einfluss auf das Ergebnis arg max p(an 1 |L) p(L) L Falls keine Information über die Apriori-Wahrscheinlichkeit p(L) der Sprachen gegeben ist, wird eine uniforme Verteilung angenommen und somit n arg max p(an 1 |L) = arg max pL (a1 ) L L Man wählt also die Sprache L, deren Wahrscheinlichkeitsmodell pL die Daten mit der höchsten Wahrscheinlichkeit generiert. pL(an 1) = n+1 Y pL(ai|ai−k ...ai−1) (Markowmodell) i=1 Helmut Schmid 41 SNLP Sprachidentifikation Anwendung • Erstellung eines Trainingskorpus für jede mögliche Sprache (Deutsch, Englisch, Spanisch, ...) • Schätzung der Parameter eines Markowmodelles für jede Sprache L p (a, b, c) pL(c|a, b) = P L x pL (a, b, x) NL fL(a, b, c) = P NL x fL (a, b, x) f (a, b, c) = P L x fL (a, b, x) (Häufigkeiten fL(a, b, c) aus Trainingskorpus) • Berechnung der Wahrscheinlichkeit pL(a1, a2, ..., an) für jede Sprache L • Rückgabe der Sprache L, für die pL(a1, a2, ..., an) maximal wird Helmut Schmid 42 SNLP Sprachidentifikation II Beispielergebnisse (Cross-Entropie statt Wahrscheinlichkeiten) H(pL, xn 1) = − 1 log2 pL(xn 1) n Text: Das ist ein deutscher Satz. Modell danish dutch english finnish french german italian portuguese spanish swedish Bits/Symbol 4.048654 3.027868 3.604354 3.976386 3.426143 1.754679 4.256318 4.362893 4.314057 3.879200 Text: This is an English sentence. Modell danish dutch english finnish french german italian portuguese spanish swedish Helmut Schmid Bits/Symbol 3.588310 3.558052 1.578621 4.080841 3.091803 2.806066 3.980872 3.839128 3.833479 3.492607 43 SNLP Parameter-Schätzung Parameter werden üblicherweise mit relativen Frequenzen aus Trainingsdaten geschätzt. Beispiel: Wort-Bigramm-Wahrscheinlichkeiten p(trinkt, T ee) = f (trinkt, T ee) N N ist die Gesamtzahl der Bigramme im Korpus Dies ist die Maximum-Likelihood-Schätzung (MLE) bzgl. der Trainingsdaten. D.h. bei keiner anderen Wahl der Parameter wäre die Wahrscheinlichkeit der Trainingsdaten höher. Problem: Viele Wortkombinationen tauchen in den Trainingsdaten nicht auf. Deren Wahrscheinlichkeit wird auf 0 geschätzt. Damit haben Texte mit einer solchen Kombination die Wahrscheinlichkeit 0. Die Parameter sind zu sehr an die Trainingsdaten angepasst und generalisieren schlecht zu neuen Daten. Helmut Schmid 44 SNLP Glättung von Verteilungen Generelle Idee: Ungesehene Ereignisse erhalten eine positive Wahrscheinlichkeit. Gleichzeitig muss die Wahrscheinlichkeit beobachteter Ereignisse etwas reduziert werden. Lösung 1: Addiere 1 zu allen Häufigkeiten f (w, w0) + 1 0 p(w, w ) = N +B B ist die Gesamtzahl aller möglichen Wortbigramme. Es läßt sich zeigen, daß dieses Verfahren optimale Ergebnisse liefert, wenn die Gleichverteilung a priori die wahrscheinlichste Verteilung ist. Das ist aber in der Computerlinguistik meist nicht der Fall (Zipf-Verteilung). In der Praxis überschätzt die Addiere-1-Methode die Wahrscheinlichkeit nicht aufgetretener N-Gramme und unterschätzt die der aufgetretenen. Helmut Schmid 45 SNLP Glättung von Verteilungen Lösung 2: Addiere λ zu allen Häufigkeiten, wobei der Wert von λ zwischen 0 und 1 liegt. f (w, w0) + λ 0 p(w, w ) = N + Bλ Addiere λ entspricht einer Interpolation der MLEWahrscheinlichkeit mit einer uniformen Verteilung N . mit dem Interpolationsfaktor µ = N +Bλ 0) f (w, w 1 0 p(w, w ) = µ + (1 − µ) N B →• Nachteile: • Verfahren nötig, das gute λ-Werte liefert. • Die Wahrscheinlichkeiten häufiger Ereignisse werden nicht adäquat geschätzt. In einem neuen Korpus derselben Größe würden nur f ∗(w, w0) viele Wortpaare w,w’ erwartet: N {z B} f ∗(w, w0) = N p(w, w0) = µf (w, w0) + (1 − µ) | C ⇒ relative discounting Helmut Schmid 46 SNLP Held-Out-Schätzung Idee: Teile das Trainingskorpus in zwei Teile und berechne für jedes Korpus die Worthäufigkeiten. Die Gesamthäufigkeit in Korpus 2 (Held-Out-Daten) von Wörtern mit der Häufigkeit r in Korpus 1 ist dann Cr12 = X f2(w, w0) hw,w0 i:f1 (w,w0 )=r Nr1: Zahl der Tupel in Korpus 1 mit Häufigkeit r Damit kann eine geglättete Wahrscheinlichkeitsverteilung definiert werden: Cr12 0) = r falls f (w, w 1 Nr1 f ∗(w, w0) 0 p(w, w ) = P ∗ 0 w,w0 f (w, w ) f ∗(w, w0) = Verbesserung: Ausnutzung beider Teile zur Schätzung (Deleted Estimation) Cr12 + Cr21 ∗ 0 f (w, w ) = Nr1 + Nr2 Helmut Schmid 47 SNLP Good-Turing-Methode Good-Turing Theorem: Wenn zwei unabhängige Stichproben B1 und B2 gleicher Größe von einer Zufallsvariablen gezogen werden, bei der jeder Wert für sich binomialverteilt ist, so ist die erwartete Häufigkeit f ∗ in Stichprobe B2 von den Types mit Häufigkeit f in B1 gegeben durch E(Nf +1) ∗ f ≈ (f + 1) E(Nf ) wobei Nf die Zahl der Types mit Häufigkeit f ist und E(Nf ) deren Erwartungswert. Helmut Schmid 48 SNLP Good-Turing-Methode E(Nf +1) ∗ f ≈ (f + 1) E(Nf ) Bestimmung von E(Nf ) • Verwendung der beobachteten Werte Nf aus der Stichprobe – funktioniert gut für kleine f – Probleme mit Nullwerten bei großen f ⇒ Glätten bis zur Häufigkeit k (bspw. k = 10), darüber f ∗ = f • Approximierung der beobachteten Werte (f, Nf ) durch eine glatte Funktion S Berechnung der Wahrscheinlichkeiten: f ∗(w, w0) 0 p(w, w ) = P ∗ 0 w,w0 f (w, w ) Helmut Schmid 49 SNLP Vergleich von Glättungsverfahren ∗ ), Praktische Ergebnisse mit Good-Turing (fGT ∗ ∗ ) im Addiere-1 (fadd1 ) und Deleted Estimation (fdel Vergleich zu den empirischen Ergebnissen auf un∗ ). abhängigen Testdaten (femp f 0 1 2 3 4 5 6 7 8 9 ∗ femp 0.000027 0.448 1.25 2.24 3.23 4.21 5.23 6.21 7.21 8.26 Helmut Schmid ∗ fGT 0.000027 0.446 1.26 2.24 3.24 4.22 5.19 6.21 7.24 8.25 ∗ fadd1 0.000137 0.000274 0.000411 0.000548 0.000685 0.000822 0.000959 0.00109 0.00123 0.00137 ∗ fdel 0.000037 0.396 1.24 2.23 3.22 4.22 5.20 6.21 7.18 8.18 50 SNLP Absolute Discounting • Relative Discounting (Addiere-λ) führt zu falschen Schätzungen bei häufigen Ereignissen. • Good-Turing ist schwerer anwendbar, wenn die Nf -Werte klein sind. • einfache Alternative: Absolute Discounting. – Subtraktion eines festen Betrags von allen positiven Häufigkeiten – Die Summe der Abzüge wird gleichmäßig auf die nicht aufgetretenen Ereignisse verteilt. 0 f (w,w )−δ N p(w, w0) = (B−N0)δ N0 N falls f (w, w0) > 0 sonst N : Gesamtzahl der Tokens B: Gesamtzahl der Types N0 : Zahl der unbeobachteten Types δ: Discount Helmut Schmid 51 SNLP Absolute Discounting II • Beim Kneser-Ney-Glätten wird der Discount δ folgendermaßen definiert: δ= N1 N1 + 2N2 • Nachteil von Absolute Discounting: Ergebnisse für Ereignisse der Häufigkeit 1 sind nicht optimal. • Verbesserung – Chen, Goodman: unterschiedliche Discounts für die Häufigkeiten 1, 2 und >2. Helmut Schmid 52 SNLP Backoff-Verfahren von Katz • Glättung bedingter Wahrscheinlichkeiten p(ci|ci−k , ..., ci−1) • Statt die Abzüge (Discounts) gleichmäßig über alle ungesehenen ci zu verteilen, werden sie gemäß einer “Backoff”-Verteilung verteilt. f (ci−k ,...,ci)−δ falls f (...) > 0 f (ci−k ,...,ci−1 ) p(ci|ci−k , ..., ci−1) = α p(c |c i i−k+1 , ..., ci−1 ) sonst • Der Backoff-Faktor α stellt sicher, dass die Wahrscheinlichkeiten alle zu 1 summieren. →• • Das Backoff-Verfahren geht schrittweise bspw. von Trigramm- zu Bigramm- und zu UnigrammWahrscheinlichkeiten über. Helmut Schmid 53 SNLP Addiere-Backoff f (C, w) + αp̂(w|C 0) p̂(w|C) = f (C) + α • Je kleiner f(C) ist, desto mehr Gewicht erhält p(w|C 0). • Je größer α ist, desto mehr Gewicht erhält p(w|C 0). Wie sollte α am besten gewählt werden? Helmut Schmid 54 SNLP Witten-Bell Glättung Welcher Kontext hat mehr verschiedene Fortsetzungen? New York Stock ... New York Times ... ⇒ Glätte stärker, wenn viele verschiedene Fortsetzungen existieren ⇒ Setze α = N1+(C, •) = Anzahl der Types, die auf C in den Trainingsdaten folgen Witten-Bell f (C, w) + N1+(C, •) p̂(w|C 0)) p̂(w|C) = f (C) + N1+(C, •) Helmut Schmid 55 SNLP Evaluierung Unterschiedliche Sprachmodelle pM können miteinander verglichen werden, indem die Cross-Entropie für jedes Modell auf neuen(!) Testdaten xn 1 = x1 , ..., xn berechnet wird. 1 n) log p (x H(xn , p ) = − 2 M M 1 1 n Alternative: Perplexität n 1 H(x1 ,p) = p(xn )− n P erp(xn , p) = 2 1 1 Helmut Schmid 56 SNLP Wortbedeutungsdesambiguierung • Wörter sind häufig mehrdeutig (ambig): – Hahn (Vogel / Wasserhahn / Abzugshahn) – Bank (Geldbank / Sitzbank / Sandbank) – (einen Text / mit dem Boot) übersetzen • Die richtige Bedeutung ergibt sich jeweils aus dem Textkontext. (⇒ Desambiguierung) • Wieviele Bedeutungen einem Wort zugeschrieben werden, variiert oft stark. • Desambiguierung kann daher nur relativ zu einem bestimmten Wörterbuch erfolgen. Helmut Schmid 57 SNLP Wortbedeutungsdesamb. II • Häufig sind die verschiedenen Bedeutungen eines Wortes nicht scharf gegeneinander abgegrenzt: – Er geht zur Bank (→ Gebäude) – Er eröffnet ein Konto bei der Bank (→ Geldinstitut) – Die Bank bestritt die Vorwürfe (→ Gruppe von Personen) – Er hebt bei der Bank Geld ab (→ Gebäude oder Geldinstitut?) – Er schreibt ein Buch (→ Text) – Er hält ein Buch in der Hand (→ Gegenstand) – Er liest ein Buch (→ Text?) – Er hat das Buch gekauft aber nicht gelesen (→ Text und Gegenstand?) Helmut Schmid 58 SNLP Wortbedeutungsdesamb. III • Wortbedeutungsdesambiguierung in der maschinellen Übersetzung – Hahn → tap, cock – Karte → ticket, map, card – Bank → bench, bank – bank → Ufer, Bank • Desambiguierung zwischen verschiedenen Bedeutungen eines Wortes mit unterschiedlichen Wortarten (straffen, einen, sichern, der ) wird als Wortart-Desambiguierung bezeichnet. Helmut Schmid 59 SNLP Wortbedeutungsdesamb. IV Grundidee: Kontextwörter (v.a Inhaltswörter) sind starke Indizien für die Wortbedeutung Er öffnete den Hahn und ließ das Wasser laufen. Der Hahn saß auf dem Mist und krähte. Die Desambiguierung erfolgt auf Basis der n benachbarten Inhaltswörter (n beispielsweise 100) Helmut Schmid 60 SNLP Naiver Bayes-Klassifikator • Wir suchen die wahrscheinlichste Bedeutung s gegeben die Kontextwörter C = w1, ..., wn p(C|s)p(s) arg max p(s|C) = arg max s s p(C) = arg max p(C|s)p(s) s • Annahme: Die Kontextwörter sind statistisch unabhängig gegeben die Wortbedeutung, d.h. p(w1n|s) = p(w1|s) p(w2|s, w1)...p(wn|s, w1, ..., wn−1) = p(w1|s) p(w2|s)...p(wn|s) = n Y p(wi|s) i=1 (nicht exakt erfüllt, ergibt aber ein einfaches Modell) • Die Parameter p(w|s) können mit (geglätteten) ML-Schätzungen auf manuell desambiguierten Daten bestimmt werden. f (w, s) p(w|s) = P 0 w0 f (w , s) • Es gibt viele weitere Desambiguierungs-Verfahren. Helmut Schmid 61 SNLP Anwendung Training • Korpus, in dem alle Vorkommen des ambigen Wortes “w” mit der jeweils richtigen Bedeutung annotiert • Extraktion aller Vorkommen von “w” mit 100 Kontextwörtern und korrekter Bedeutung • Berechnung der Häufigkeit f (s, c) des Auftretens der einzelnen Kontextwörter c mit den verschiedenen Bedeutungen s • Schätzung der Wahrscheinlichkeiten p(c|s) mit Glättung Desambiguierung • Vorkommen von “w” identifizieren • Menge W mit den 100 Kontextwörtern extrahieren • Wahrscheinlichkeit p(W |s) = w∈W p(w|s) für alle möglichen Bedeutungen s berechnen Q • Bedeutung s mit maximalem p(W |s) zurückgeben Beispiel: → • Helmut Schmid 62 SNLP Evaluierung • Evaluierung mit Pseudo-Desambiguierung – keine manuelle Annotation notwendig – Wähle zwei Wörter w1 und w2. – Ersetze alle Vorkommen von w2 in einem Korpus durch w1. – Teile das Korpus in zwei Teile. – Training auf dem ersten Teil – Evaluierung auf dem zweiten Teil durch Vergleich mit den Originalwörtern – Vorteil: minimaler Aufwand für die Erzeugung der Daten, perfekte Genauigkeit • Obergrenze für die Evaluierung: menschliche Performanz bei der Desambiguierung • Untergrenze: Wahl der häufigsten Bedeutung unabhängig vom Kontext Helmut Schmid 63 SNLP Wortart-Desambiguierung Viele Wörter sind nicht nur bzgl. ihrer Bedeutung sondern auch bzgl. ihrer Wortart ambig. Beispiele: sichere bezahlte ab der sein Müller Adjektiv, finites Verb Adjektiv, Partizip Präposition, Verbpartikel Artikel, Demonstrativpron., Relativpron. Possessivpronomen, infinites Verb normales Nomen, Eigennamen Zur Desambiguierung wird der Kontext herangezogen. Es wird aber nicht das Bag-of-Words-Modell verwendet, da für die Desambiguierung der Wortart in der Regel die unmittelbar benachbarten Wörter (bzw. deren Wortart) entscheidend ist. • der Müller - Martin Müller • sein Auto - zu sein Helmut Schmid 64 SNLP Wortart-Desambiguierung II • Annahmen des statistischen Modelles: 1. Die Wortart des nächsten Wortes in einer Folge hängt nur von den Wortarten der k vorhergehenden Wörter ab. 2. Das nächste Wort selbst hängt nur von seiner Wortart ab. • Unter diesen Annahmen ist die Wahrscheinlichkeit eines mit Wortart annotierten Textes folgendermaßen definiert: p(w1n, tn 1) = n Y i=1 p(w |t ) | {zi i } {z } Lexikalische Wk. Übergangswk. p(ti|ti−k , ..., ti−1) | k ist meist 2 (Trigramm-Tagger). • Es handelt sich um ein Hidden-Markow-Modell, weil die Zustände (= Wortarten) nicht direkt beobachtet werden können. Beispiel: → • Helmut Schmid 65 SNLP Wortart-Desambiguierung III • Die Wahrscheinlichkeiten können aus manuell annotierten Trainingsdaten geschätzt werden. • Übergangswahrscheinlichkeiten: Glättung mit Backoff oder Interpolation • lexikalische Wahrscheinlichkeiten: – Anwendung von Bayes’ Gesetz: p(w|t) = p(t|w)p(w) p(t) – Der Faktor p(w) kann bei der Optimierung weggelassen werden. – ML-Schätzwerte für p(t|w) und p(t) Wenn ein Lexikon mit der Liste möglicher Wortarten für jedes Wort gegeben ist, werden die lexikalischen Wahrscheinlichkeiten geglätte so dass jede Wortart eine positive Wahrscheinlichkeit erhält. – Problem: unbekannte Wörter Helmut Schmid 66 SNLP Wortart-Desambiguierung IV Behandlung unbekannter Wörter • Falls alle Funktionswörter im Lexikon gelistet sind, können unbekannte Wörter nur die Wortarten Nomen, Adjektiv, Adverb oder Verb besitzten. • Die Wortendung und in geringerem Maß der Wortanfang sagen viel über die Wortart aus. Beispiele: ...liche, ...ungen, ...keit, ...te, Un... • lexikalische Wahrscheinlichkeiten eines unbekannten Wortes w = an 1: p(t|an 1 ) = p(t|an−k , ..., an ) Schätzung z.B. mit Backoff oder Interpolation Helmut Schmid 67 SNLP Anwendung 1. Korpus manuell mit Wortart annotieren 2. Häufigkeiten von Wortart-Trigrammen f (t, t0, t00) und Wort/Wortart-Paaren f (w, t) aus Korpus extrahieren 3. geglättete Wahrscheinlichkeiten für p(t|t0, t00), p(t|w) und p(t) berechnen 4. wahrscheinlichste Wortartfolge tn 1 für den Eingabetext w1n berechnen Helmut Schmid 68 SNLP Wortart-Desambiguierung V Berechnung der wahrscheinlichsten Wortartfolge tn 1 def δj (i) = maxt1...ti−1 p(w1...wi−1, t1...ti−1, ti = j) Viterbi-Algorithmus 1. Initialisierung: δj (0) = πj 2. Berechnung: δj (k) = maxN i=1 δi (k − 1) aij bjwk N ψj (k) = arg max δi(k − 1) aij bjwk i=1 3. Ausgabe N tn = arg max δi(n) i=1 tk = ψtk+1 (k + 1) Bigramm-Tagger: aij = p(tj |ti) bjwk = p(wk |tj ) oder bjwk = p(tj |wk )/p(tj ) Helmut Schmid 69 SNLP Wortart-Desambiguierung VI Trigramm-Tagger • Transformation eines Markow-Modelles 2. Ordnung in ein Markow-Modell 1. Ordnung • Jeder Zustand entspricht einem Wortartpaar ht, t0i. • Übergänge sind nur zwischen Zuständen ht, t0i und ht0, t00i erlaubt. • Definition der Übergangswahrscheinlichkeiten: aht,t0i,ht0,t00i = p(t00|t, t0) • Definition der lexikalischen Wahrscheinlichkeiten: bht,t0i,w = p(w|t0) Helmut Schmid 70 SNLP Wortart-Desambiguierung VII EM-Training • Vorteil: Training ohne manuell annotierte Daten möglich • Grundidee: 1. Nimm ein unannotiertes Korpus und ein Lexikon 2. Wähle Startwerte für die Taggerparameter 3. Annotiere das Korpus mit dem Tagger 4. Zähle die Häufigkeiten 5. Schätze die Taggerparameter neu 6. weiter mit 3. • Statt des Viterbi-Algorithmus wird zur Annotierung der Forward-Backward-Algorithmus verwendet. Helmut Schmid 71 SNLP Wortart-Desambiguierung VIII Der Forward-Backward-Algorithmus berechnet: • Forward-Wahrscheinlichkeiten αj (k) = P (w1k , tk = posj ) N X = αi(k − 1) aij bjwk i=1 Bigramm-Tagger: αt(k) = X αt0 (k − 1) p(t|t0) p(wk |t) t0 ∈T • Backward-Wahrscheinlichkeiten n βj (k) = P (wk+1 |tk = posj ) N X = aji biwk+1 βi(k + 1) i=1 Bigramm-Tagger: βt(k) = X p(t0|t) p(wk+1|t0) βt0 (k + 1) t0 ∈T Helmut Schmid 72 SNLP Wortart-Desambiguierung IX • geschätzte Wortart-Wahrscheinlichkeiten γj (k) = P (tk = posj |w1n) P n, wn) p(t tn :t =pos 1 1 j 1 k = P n n tn p(t1 , w1 ) 1 αj (k) βj (k) = Pn i=1 αi (n) • geschätzte Übergangswahrscheinlichkeiten γij (k) = P (tk = posi, tk+1 = posj |w1n) P p(tn , w1n) tn :t =pos ,t =pos 1 i j k k+1 1 = P n n tn p(t1 , w1 ) 1 αi(k) aij bjwk+1 βj (k + 1) = Pn i=1 αi (n) Helmut Schmid 73 SNLP Wortart-Desambiguierung X • geschätzte Wort+Wortart-Häufigkeiten X cjw = γj (k) 1≤k≤n:wk =w • geschätzte Übergangshäufigkeiten cij = n X γij (k) k=1 Helmut Schmid 74 SNLP Wortart-Desambiguierung XI EM-Training 1. Initialisierung von p(t|t0) und p(w|t) 2. Berechnung geschätzter Werte für f (t0, t) und f (t, w) mit dem Forward-Backward-Algorithmus 3. Neuschätzung von p(t|t0) und p(w|t) 4. weiter mit 2. bis Abbruchkriterium erfüllt Initialisierung • uniform • einzelne Wahrscheinlichkeiten von Hand wählen Abbruchkriterium • vorgegebene Anzahl von Iterationen (z.B. 2) • Genauigkeit auf Testdaten sinkt Helmut Schmid 75 SNLP Wortart-Desambiguierung XI Warum funktioniert das EM-Training? • Das Lexikon schränkt die Tags eines Wortes ein. ⇒ unterschiedliche Wahrscheinlichkeit der Tagfolgen • Kontext präferiert bestimmte Tags eines Wortes ⇒ unterschiedliche Wahrscheinlichkeit der Tags eines Wortes Helmut Schmid 76 SNLP Wortart-Desambiguierung XII • Typische Anzahl der Wortarten: 50-150 • Größe des Trainingskorpus: 104 − 106 Wörter • Typische Genauigkeit: 95 % – 97 % • Training mit dem EM-Algorithmus liefert meist schlechtere Resultate als das Training auf manuell annotierten Daten • viele andere Taggingverfahren – Brill-Tagger – Constraint-Grammar – Maximum-Entropy-Tagger – Support Vector Machines Helmut Schmid 77 SNLP Wortart-Desambiguierung XIII Evaluierung Zwei Tagger werden auf einem manuell annotierten Testkorpus verglichen. Der erste Tagger macht 960 Fehler, der zweite 940 Fehler. 900-mal annotieren beide dasselbe Wort falsch. Also macht in 100 Fällen genau einer der Tagger einen Fehler. 60 dieser Fehler macht der erste Tagger. Frage: Gibt es einen signifikanten Unterschied in der Genauigkeit? Nullhypothese: Bei Wörtern, die genau einer der Tagger falsch macht, beträgt die Wahrscheinlichkeit, dass Tagger 1 den Fehler machte, 0,5. Wie wahrscheinlich sind unter Annahme der Nullhypothese Ergebnisse, die mindestens so weit vom Mittelwert entfernt sind wie das Testergebnis? 2 ∗ b(≥ 60, 100, 0.5) ≈ 0.0568 ⇒ kein signifikanter Unterschied Helmut Schmid 78 SNLP Wortart-Desambiguierung XIV Anwendungen • Vorstufe zum Parsen • Extraktion von Lexikondaten • Informations-Extraktion • Prosodie-Generierung • Sprachsynthese Helmut Schmid 79 SNLP Probabilistische Kontextfreie Grammatiken • “Traditionelle” Parser desambiguieren ihre Analysen nicht, sondern liefern eine Menge von Analysen (Parses). • Sätze mittlerer und größerer Länge sind meistens syntaktisch ambig. • Mit einem Wahrscheinlichkeitsmodell für Parses könnte man für jeden Satz den wahrscheinlichsten Parse auswählen. • Probabilistische kontextfreie Grammatiken (PCFGs) liefern ein solches Modell für kontextfreie Grammatiken. • Eine PCFG ist eine CFG, bei der jeder Regel eine Wahrscheinlichkeit zugewiesen wurde mit der Einschränkung ∀A∈V X pA(A → α) = 1 α ⇒ Familie von Wahrscheinlichkeitsverteilungen Helmut Schmid 80 SNLP PCFG II Die Wahrscheinlichkeit eines Parsebaumes T ergibt sich aus dem Produkt der Regelwahrscheinlichkeiten: P (T ) = = Y p(rule(n)) n in T Y p(r)fT (r) r Das Wahrscheinlichkeitsmodell beschreibt einen Generator für eine kontextfreie Grammatik, der in jedem Schritt das am weitesten links stehende Nichtterminal im (partiellen) Parsebaum zufällig gemäß der Wahrscheinlichkeitsverteilung expandiert. Helmut Schmid 81 SNLP PCFG III Beispielgrammatik: S VP VP NP PP V → → → → → → NP VP VP PP V NP NP PP P NP saw 1.0 0.3 0.7 0.4 1.0 1.0 P NP NP NP NP NP → → → → → → with saw stars ears telescopes astronomers 1.0 0.04 0.18 0.18 0.1 0.1 Satz: astronomers saw stars with ears Analyse t1: (S (NP astronomers) (VP (V saw) (NP (NP stars) (PP (P with) (NP ears))))) p(t1) = 0.0009072 Analyse t2: (S (NP astronomers) (VP (VP (V saw) (NP stars)) (PP (P with) (NP ears)))) p(t2) = 0.0006804 Helmut Schmid 82 SNLP PCFG IV Kontextfreie Parser liefern die Menge der möglichen Analysen in der Regel in Form eines Parsewaldes. • Gemeinsame Teilbäume werden nur einmal repräsentiert. • Knoten derselben Kategorie, die denselben Teil der Eingabe überdecken, werden zusammengefaßt. Parsewälder können auch als spezialisierte Grammatiken dargestellt werden: S1 NP1 VP1 VP1 V1 VP2 → → → → → → NP1 VP1 astronomers VP2 PP1 V1 NP2 saw V1 NP3 Helmut Schmid PP1 NP2 NP3 P1 NP4 → → → → → P1 NP4 NP3 PP1 stars with ears 83 SNLP PCFG V Wie extrahiert man den wahrscheinlichsten Parse aus einem Parsewald? Viterbi-Algorithmus Parsewald P = hN, Σ, S, Ri 1. Initialisierung: δ[s] = 1 für alle s ∈ Σ δ[s] = 0 für alle s ∈ N δ[r] = 0 für alle r ∈ R 2. Berechnung für alle r ∈ R in Bottomup-Reihenfolge Q δ[r] = p(r) s∈rhs(r) δ[s] Falls δ[lhs(r)] < δ[r] δ[lhs(r)] = δ[r] ψ[lhs(r)] = r 3. Ausgabe durch Auslesen von ψ Helmut Schmid 84 SNLP PCFG VI Wie werden PCFGs trainiert? 1. durch überwachtes Lernen (supervised training) • erfordert ein (manuell) geparstes Korpus (Treebank) • Auszählung der Regelanwendungen f (r) • Schätzung der Parameter durch MLE (eventuell mit Glättung) f (A → α) p(A → α) = P β f (A → β) 2. durch unüberwachtes Lernen auf ungeparsten Texten (EM-Training) ⇒ Inside-Outside-Algorithmus Helmut Schmid 85 SNLP PCFG VII Expectation-Maximization(EM)-Training stellt die Parameter so ein, dass die Wahrscheinlichkeit P (C) eines Trainingskorpus C maximiert wird. Es gibt keine Garantie dafür, dass eine PCFG, welche die Wahrscheinlichkeit der Trainingsdaten maximiert, auch die richtigen Parsebäume am besten bewertet. In der Praxis ist dies aber tendenziell der Fall. Bei PCFGs wird der Inside-Outside-Algorithmus für EM-Training verwendet. Helmut Schmid 86 SNLP PCFG VIII Inside-Outside-Algorithmus Parsewald P = hN, Σ, S, Ri end(v) i[v] = p(wstart(v)|cat(v)) start(v)−1 o[v] = p(w1 n , cat(v), wend(v)+1 |S) 1. Berechnung der Inside-Wahrscheinlichkeiten i[s] ← 1 für alle s ∈ Σ i[x] ← 0 für alle x ∈ N ∪ R für alle r ∈ R in Bottomup-Reihenfolge Q i[r] ← p(r) v∈rhs(r) i[v] i[lhs(r)] ← i[lhs(r)] + i[r] 2. Berechnung der Outside-Wahrscheinlichkeiten o[S] ← 1 o[x] ← 0 für alle x ∈ N ∪ Σ\{S} für alle r ∈ R in Topdown-Reihenfolge für alle v ∈ rhs(r) i[r] o[v] ← o[v] + o[lhs(r)] i[v] Helmut Schmid 87 SNLP PCFG IX Inside-Outside-Algorithmus (Forts.) 3. Schätzung der Regelhäufigkeiten (E-Schritt) für alle r ∈ R i[r] f [rule(r)] ← f [rule(r)] + o[lhs(r)] i[S] 4. Parameterschätzung (M-Schritt) für alle Regeln A → α pneu(A → α) ← Pf [A→α] f [A→β] β Helmut Schmid 88 SNLP PCFG X Inside-Outside-Algorithmus (Forts.) • Das EM-Training mit dem Inside-Outside-Algorithmus wird mehrfach auf denselben Daten wiederholt. • Dabei erhöht sich die Wahrscheinlichkeit der Daten. • Statt unannotierter Daten können auch partiell annotierte Daten für das Training verwendet werden. ⇒ bessere Ergebnisse als mit Rohdaten ⇒ weniger Aufwand als bei voller Annotation Helmut Schmid 89 SNLP PCFG XI Inside-Outside-Algorithmus (Forts.) Probleme: • Das Training kann in einem lokalen Maximum stecken bleiben, so dass die optimale Lösung (bzgl. Wahrscheinlichkeit der Daten) nicht gefunden wird. • Es gibt keine Garantie, dass diejenigen Parameter, welche die Wahrscheinlichkeit der Daten maximieren, auch die höchste Genauigkeit bei der Desambiguierung aufweisen. Tatsächlich gibt es in der Regel keine exakte Übereinstimmung. ⇒ Wenn genügend Trainingsdaten vorhanden sind, ist überwachtes Training genauer. Helmut Schmid 90 SNLP PCFG XIV Lexikalisierung • PCFGs sind nicht in der Lage, die häufig auftretenden Ambiguitäten bei Koordination und PP-Attachment richtig aufzulösen. • Solche Ambiguitäten erfordern Information über die lexikalischen Köpfe der Konstituenten. • Daher wurden lexikalisierte PCFGs entwickelt: – Die Regelwahrscheinlichkeiten p(α|C) werden durch lexikalisierte Regel-Wahrscheinlichkeiten p(α|C, h) ersetzt: – Ferner werden Wahrscheinlichkeiten für die lexikalische Auswahl p(h|C, Cp, hp) benötigt. Helmut Schmid 91 SNLP PCFG XV Head-Lexicalised PCFGs (HL-PCFGs) Definition der Wahrscheinlichkeit eines Parsebaumes P (T ) = Pstart (c(root(T ))) ∗ Pstart (h(root(T )) | c(root(T ))) ∗ Y Prule (rule(n) | c(n), h(n)) ∗ nonterm n in T Y Pchoice (h(n) | c(n), c(m(n)), h(m(n))) ∗ nonroot n in T Y Prule (htermi | c(n), h(n)) Plex (w(n) | c(n), h(n)) term n in T root(T ) liefert den Wurzelknoten von T . c(n) liefert die Kategorie des Knotens n. w(n) liefert das Wort des terminalen Knotens n. m(n) liefert den Mutterknoten von n. h(n) liefert den lexikalischen Kopf von n. HL-PCFGs können in äquivalente PCFGs umgewandelt werden. Der Viterbi- und der Inside-Outside-Algorithmus sind auch bei HL-PCFGs verwendbar. Helmut Schmid 92 SNLP Parse Reranking Problem: PCFGs können nicht alle Informationen repräsentieren, die für die syntaktische Desambiguierung relevant sind. Beispiel: Robben in Alaska und Eisbären in Grönland hat zwei Analysen NP NP N C und PP Robben P in NP NP N Alaska N Robben PP Eisbären P in PP N NP NP N Grönland NP P in NP C N und Alaska NP N PP Eisbären P in NP N Grönland Bei Koordinationen werden Analysen bevorzugt, bei denen die Konjunkte eine ähnliche Struktur besitzen. Aber: Diese Art von Information kann in einer PCFG schlecht repräsentiert werden. Helmut Schmid 93 SNLP Parse Reranking Idee: • Definition eines Merkmales “Koordination parallel bis Ebene X” mit X=1,2,3 • Zuweisung einer Wahrscheinlichkeit zu diesem Merkmal • Diese Wahrscheinlichkeit wird zur Parsebaumwahrscheinlichkeit hinzumultipliziert. Aber: • Es ergibt sich keine Wahrscheinlichkeitsverteilung mehr. • Die üblichen Parameterschätzmethoden sind nicht mehr anwendbar! ⇒ Log-lineare Modelle (Maximum-Entropie-Modelle) Helmut Schmid 94 SNLP Log-Lineare Modelle Zusammenhang zwischen PCFGs und log-linearen Modellen p(T ) = Y P f (T ) r p(r) = e r∈P logp(r)fr (T ) r∈P Pm = e i=1 λi fi (T ) Damit sich auch nach dem Hinzufügen des Koordinationsmerkmals noch eine Wahrscheinlichkeitsverteilung ergibt, wird normalisiert: 1 Pm λifi(T ) p(T |S) = e i=1 Z(S) P Z(S) = X e m i=1 λi fi (T ) T ∈Analysen(S) Helmut Schmid 95 SNLP Parse Reranking Merkmal(schemata) für Parsing (Auswahl aus Charniak 05) • wichtigstes Merkmal: Viterbi-Wahrscheinlichkeit des Basis-Parsers • Häufigkeiten – der Grammatikregeln – der lexikalisierten Grammatikregeln – der Kategorien – der Elternkategorie-Tochterkategorie-Paare – von Koordinationen, die bis zur Ebene X parallel sind. – der Wort-Regens-Kombinationen • Zahl der Knoten auf dem Weg vom Wurzelknoten zum letzten Wort des Satzes (→ Präferenz für rechtsverzweigende Strukturen) Helmut Schmid 96 SNLP Log-Lineare Modelle • Modelliert wird die bedingte Wahrscheinlichkeit p(y|x) einer Annotation y gegeben die Daten x • Über m Merkmalen {f1, ..., fm} wird die binäre Funktion fi(x, y) definiert. ( fi(x, y) = 1 0 falls x, y das Merkmal erfüllt sonst • Definition der Wahrscheinlichkeit Pm 1 pλ(y|x) = e i=1 λifi(x,y) Zλ(x) • λi ist das Gewicht von fi • Die Normalisierungskonstante ist wie folgt definiert: Zλ(x) = X Pm e i=1 λi fi (x,y) y • Die Modellparameter λ = (λ1, ..., λm) werden aus Trainingsdaten gelernt. Helmut Schmid 97 SNLP Log-Lineare Modelle II Maximum-Likelihood Schätzung der Parameter • Die Log-Likelihood der Trainingsdaten ist wie folgt definiert: L(λ) = log Y x,y = X x,y X pλ(x, y)N (x,y) m X N (x, y) λifi(x, y) − i=1 P X m N (x)log x e i=1 λi fi (x,y) y • Minimierung der Log-Likelihood durch Nullsetzen der partiellen Ableitung: δL/δλi = 0 X N (x, y)fi(x, y) = x,y X x N (x) X y pλ(y|x)fi(x, y) →• • Interpretation: Die beobachtete Häufigkeit eines Merkmals im Korpus muss gleich seiner erwarteten Häufigkeit bei zufälliger Generierung des unannotierten Korpus (mit den Parametern λ) sein. Helmut Schmid 98 SNLP Generalized Iterative Scaling Voraussetzung: konstante Anzahl von Merkmalen: ∀x,y K X fi(x, y) = C i=1 Definition eines Hilfsmerkmals: fK+1(x, y) = C − K X fi(x, y) i=1 Update-Regel: P 1 x,y N (x, y)fi (x, y) (n+1) (n) λi = λi + log P P C N (x) x y pλ (y|x)fi (x, y) Die Folge λ1, λ2, ... konvergiert zu der eindeutigen Lösung λ, für die gilt: • λ maximiert die Likelihood der Trainingsdaten • λ hat eine höhere Entropie H(pλ) als alle anderen λ0, die ebenfalls die Likelihood maximieren. ⇒ Maximum-Entropy Klassifikator Helmut Schmid 99 SNLP Generalized Iterative Scaling II • Es sind nur bedingte Wahrscheinlichkeitsmodelle möglich. • Das Training ist iterativ und damit relativ langsam. • Im Training müssen auch die Merkmale ausgewählt werden. • verbesserte Trainingsalgorithmen: Improved Iterative Scaling, L-BFGS Helmut Schmid 100 SNLP Diskriminatives Training Ziel: Statt die Wahrscheinlichkeit einer Analyse möglichst genau zu schätzen, zielt diskriminatives Training darauf ab, direkt die Parsinggenauigkeit zu maximieren. Averaged-Perceptron Algorithmus: (si, ti) i = 1..N : Sätze si mit richtiger Analyse ti Analysen(s): Menge der Analysen des Satzes s F (s, t): Merkmalsvektor für Satz s und Analyse t M : Zahl der Trainingsiterationen W ← 0 S ← 0 for n←1 to M for i←1 to N t0 ← argmaxt∈Analysen(si)W F (si, t) if t0 6= ti W ← W + F (si, ti) − F (si, t0) S ← S + W return S / (M N) Helmut Schmid 101 SNLP Reranking: Anwendung Training auf einer Baumbank: • Aufteilung der Baumbank in Trainingsdaten, HeldOut-Daten und Testdaten • Training des Parsers auf den Trainingsdaten • N-best Parsing der Held-Out-Daten • Extraktion der Merkmale für jeden Parsebaum • Training des Rerankers auf den Held-Out-Daten Helmut Schmid 102 SNLP Reranking: Anwendung Evaluierung auf den Testdaten: • N-best Parsing der Testdaten • Extraktion der Merkmale für jeden Parsebaum • Reranking mit Ausgabe des besten Parsebaumes • Berechnung des F-Scores Helmut Schmid 103 SNLP Statistische Übersetzung Statistische Übersetzung basiert auf einem NoisyChannel-Modell. Beispiel: Übersetzung eines deutschen Satzes g in einen englischen Satz e. “Noisy-Channel-Modell”: Ein englischer Satz wird durch ein Übertragungsmedium geschickt. Auf Grund von Verzerrungen kommt dabei ein deutscher Satz heraus. Der Empfänger versucht, durch Entzerren der erhaltenen Nachricht den ursprünglichen Satz wiederherzustellen. Das Noisy-Channel-Modell beschreibt also die umgekehrte Übersetzungsrichtung Englisch → Deutsch. arg max p(e|g) = arg max p(g|e) p(e)/p(g) e e = arg max p(e) p(g|e) e englisches Sprachmodell p(e) = Qn i=1 p(ei |ei−k ...ei−1 ) Übersetzungsmodell p(g|e) Helmut Schmid 104 SNLP Übersetzungsmodell Das Übersetzungsmodell p(g|e) nimmt an, dass die Wörter einzeln übersetzt werden. Die Alignierung zweier Sätze zeigt, welches englische Wort mit welchem deutschen Wort übersetzt wurde. Beispielübersetzungen mit Alignierung der Wörter. Er liest ein Buch He reads a book Er hat ein Buch gelesen He has read a book Er ist sich dessen bewusst He is aware of this Die Wahrscheinlichkeit einer Übersetzung ist die Summe der Wahrscheinlichkeiten aller möglichen Alignierungen: (a ist ein versteckter Parameter.) p(g|e) = X p(g, a|e) a Helmut Schmid 105 SNLP Übersetzungsmodell Alignierung • a5 = 3 bedeutet dass das 5. deutsche Wort mit dem 3. engl. Wort verbunden ist. • a5 = 0 bedeutet dass das 5. deutsche Wort unverbunden ist. • e0 ist ein englisches Pseudowort, mit dem alle unverbundenen deutschen Wörter aligniert werden. Die deutschen Wörter werden von links nach rechts generiert. Die Länge des deutschen Satzes wird zu Beginn festgelegt. Falls m die deutsche Satzlänge ist, gilt folgende Gleichung p(g, a|e) = p(m|e) m Y i−1 i−1 p(ai|a1 , g1 , e)p(gi|ai1, g1i−1, e) i=1 Helmut Schmid 106 SNLP Übersetzungsmodell p(g, a|e) = p(m|e) m Y i−1 i−1 p(ai|a1 , g1 , e)p(gi|ai1, g1i−1, e) i=1 Vereinfachungen • uniforme Verteilung für die Alignmentwahrscheinlichkeiten (l = Länge des englischen Strings) 1 i−1 i−1 p(ai|a1 , g1 , e) = l+1 • Das deutsche Wort gi hängt nur von eai ab: p(gi|ai1, g1i−1, e) = p(gi|eai ) • konstante Wahrscheinlichkeit p(m|e) = IBM-Modell 1: m Y p(gi|eai ) p(g, a|e) = m (l + 1) i=1 Helmut Schmid 107 SNLP Training IBM-Modell 1: m Y p(gi|eai ) p(g, a|e) = (l + 1)m i=1 Training mit dem EM-Algorithmus: Berechnung der geschätzten Häufigkeiten: Qm P p(gk |eab ) a:ak =b i=0 p(gi|eai ) f (ak = b) = = P Qm Pm p(g |e ) i ai a i=0 b=0 p(gk |eab ) E-Schritt: Für alle Satzpaare (g, e) = (g1m, el1) Für i=1 bis m Für k=1 bis l p(g |e ) c(gi, ek ) ← c(gi, ek ) + Pl i k j=0 p(gi |ej ) M-Schritt: c(g, e) p(g|e) = P 0 g 0 f (g , e) Helmut Schmid 108 SNLP IBM-Modell 1 • Modell 1 ist für maschinelle Übersetzung zu simpel. Die folgenden Übersetzungen des Satzes “Peter isst eine Banane und Hans isst einen Apfel.” sind alle gleich möglich: – Peter eats a banana and Hans eats an apple. – Peter eats an apple and Hans eats a banana. • Aber für die Alignierung von bilingualen Korpora und die Extraktion von Übersetzungslexika ist Modell 1 sehr nützlich. • Alignierte Korpora werden für das Training benötigt. Helmut Schmid 109 SNLP IBM-Modell 2 fügt Alignmentwahrscheinlichkeiten hinzu p(g, a|e) = p(m|e) m Y i−1 i−1 p(ai|a1 , g1 , e)p(gi|ai1, g1i−1, e) i=1 Neue Vereinfachung: i−1 p(ai|ai−1 , g 1 1 , e) = p(ai |i, l) Neues Modell: p(g, a|e) = m Y p(ai|i, l)p(gi|eai ) i=1 Helmut Schmid 110 SNLP HMM-Modell Alignment hängt von der Distanz zum zuletzt übersetzten Wort ab. p(g, a|e) = p(m|e) m Y i−1 i−1 p(ai|a1 , g1 , e)p(gi|ai1, g1i−1, e) i=1 Neue Vereinfachung: i−1 p(ai|ai−1 , g 1 1 , e) = p(ai |ai−1 , l) Neues Modell: p(g, a|e) = m Y p(ai|ai−1, l)p(gi|eai ) i=1 Helmut Schmid 111 SNLP IBM-Modell III Fruchtbarkeit (fertility) = Zahl der deutschen Wörter, die mit einem englischen Wort aligniert sind. p(φ|e) = Wahrscheinlichkeit, dass e mit k deutschen Wörtern übersetzt wird. (übermorgen → the day after tomorrow) b ⊂ {1, ..., m} ist die umgekehrte Alignmentfunktion. p(g, b|e) = p(b0|bl1) l Y l Y Y p(bi|bi−1, ei) i=1 p(gk |ei) i=0 k∈bi Vereinfachung in Modell III: p(bi|bi−1, ei) = p(φi|ei)φi! Y p(k|i, m) k∈bi Helmut Schmid 112 SNLP IBM-Modell IV p(g, b|e) = p(b0|bl1) l Y p(bi|bi−1, ei) i=1 l Y Y p(gk |ei) i=0 k∈bi Vereinfachung in Modell IV: p(bi|bi−1, ei) = p(φi|ei) p=1(bi1 − bρ(i)|...) φi Y p>1(bik − bi,k−1|...) k=2 ρi = Index des letzten nicht gelöschten engl. Wortes. b = Mittelwert der Zielwortpositionen in b Die Positionswahrscheinlichkeiten hängen auch noch von den Wortklassen der umgebenden Wörter ab. Alle Möglichkeiten der Positionierung der eingefügten 1 ). Die Zahl Wörter sind gleich wahrscheinlich ( phi 0! der eingefügten Wörter ist binomialverteilt: m − φ φo 1 0 l m−2φ 0 p(b0|b1) = (1 − p1) p1 φ0 phi0! Der Parameter p1 wird extern definiert. Helmut Schmid 113 SNLP IBM-Modell IV Modell III und Modell IV sind beide defizitär, da Zielpositionen außerhalb des Bereiches 1...l und auch Positionen mehrfach generiert werden können. Modell V ist nicht defizitär, aber deutlich komplizierter, langsamer und nicht besser. Helmut Schmid 114 SNLP Statistische Übersetzung III • Übersetzung ê = arg maxe p(f |e)p(e) • Wegen der Größe des Suchraumes ist nur eine heuristische Suche möglich. • Training auf bilingualen Texten mit dem EMAlgorithmus • Das Training liefert ein zweisprachiges Wörterbuch und kann auch ausschließlich zu diesem Zweck erfolgen. Helmut Schmid 115