Statistische Verfahren in der Computerlinguistik Zweiter Teil Einführung in die Computerlinguistik Sommersemester 2009 Peter Kolb Übersicht Statistische vs. symbolische Verfahren in der CL Statistik beschreibende Statistik uni- und multivariate Deskription von Daten schließende Statistik Wahrscheinlichkeitsrechnung bedingte Wahrscheinlichkeit Modell des gestörten Kanals, Satz von Bayes Markov-Modelle Peter Kolb Bedingte Wahrscheinlichkeit P(B|A) Peter Kolb Bedingte Wahrscheinlichkeit Wort ist Kompositum P(B|A) Wort ist länger als 10 Buchstaben Peter Kolb Bedingte Wahrscheinlichkeit P(B|A) Wie wahrscheinlich ist B, wenn wir A beobachtet haben? a posteriori-Wahrscheinlichkeit (wir wissen, dass A bereits eingetreten ist) Peter Kolb gestörter Kanal P(B|A) modelliert gestörten Übertragungskanal: B A Wir sitzen am Ausgang des Kanals und beobachten A Wie hoch ist die Wahrscheinlichkeit, dass B die Ursache für A war (und nicht C, D, E, ...)? Dekodierung: dasjenige X finden, für das P(X|A) maximal ist Peter Kolb gestörter Kanal Wie berechnet man P(X|A)? Satz von Bayes: P(X) P(A|X) P(X|A) = P(A) Peter Kolb gestörter Kanal Beispielanwendung: maschinelle Übersetzung X A: „Good Morning“ Übersetzung Englisch → Deutsch Gegeben: englischer Ausdruck (Ereignis A) Gesucht: dasjenige X, das A verursacht hat dasjenige X, für das P(X|A) maximal ist Peter Kolb gestörter Kanal deutlichere Notation: P(X|A) → P(D|e) als Werte für Variable D kommen alle deutschen Ausdrücke in Frage: d1: Guten Tag d2: Gesundheit d3: Schönes Wetter heute d4: Zu Risiken und Nebenwirkungen fragen Sie Ihren Arzt oder Apotheker d5: Guten Morgen Peter Kolb gestörter Kanal für welches di wird P(D=di|e) maximal? P(D) P(e|D) dmax = argmaxdi P(e) P(d1|e) = (P(d1) P(e|d1)) / P(e) P(d2|e) = (P(d2) P(e|d2)) / P(e) P(d3|e) = (P(d3) P(e|d3)) / P(e) ... Peter Kolb gestörter Kanal für welches di wird P(D=di|e) maximal? P(D) P(e|D) dmax = argmaxdi P(e) P(d1|e) = (P(d1) P(e|d1)) / P(e) P(d2|e) = (P(d2) P(e|d2)) / P(e) P(d3|e) = (P(d3) P(e|d3)) / P(e) ... Nenner immer gleich gestörter Kanal für welches di wird P(D=di|e) maximal? dmax = argmaxdi P(D) P(e|D) Peter Kolb gestörter Kanal für welches di wird P(D=di|e) maximal? dmax = argmaxdi P(D) P(e|D) modelliert Übertragungsweg deutsch → englisch über gestörten Kanal Wahrscheinlichkeit des zugrunde liegenden deutschen Satzes → P(D|e) wird in zwei Faktoren zerlegt Peter Kolb gestörter Kanal Übertragungswahrscheinlichkeit P(e|D) wird aus parallelen Korpora gelernt modelliert z.B. dass P(„good“|„Guten“) > P(„good“|„Apotheker“) und dass P(„morning“|„Morgen“) > P(„morning“|„Tag“) P(„good“ ∩ „morning“|„Guten“ ∩ „Morgen“) = P(„good“|„Guten“) ∙ P(„morning“|„Morgen“) Problem: P(„good“ ∩ „morning“) = P(„morning“ ∩ „good“) Wie erkenne ich, dass „Guten Morgen“ richtiger ist als „Morgen Guten“? Peter Kolb gestörter Kanal Wie erkenne ich, dass „Guten Morgen“ richtiger ist als „Morgen Guten“? → zweiter Faktor: P(D) P(D) gibt Wahrscheinlichkeit eines Satzes an grammatische Sätze sollen höhere Wahrscheinlichkeit bekommen als ungrammatische: P(„Guten Morgen“) > P(„Morgen Guten“) Peter Kolb statistisches Sprachmodell Wahrscheinlichkeit eines Satzes P(D) = Wahrscheinlichkeit einer Folge von Wörtern w1, ..., wk: P(w1, ..., wk) = P(w1) P(w2|w1) P(w3|w1 ∩ w2) ... Auftretenswahrscheinlichkeit eines Wortes wi hängt von allen vorangehenden Wörtern w1, ..., wi-1 ab: z.B.: „das bewachte Haus ist eingestürzt“ P(eingestürzt | das ∩ bewachte ∩ Haus ∩ ist) Keine Treffer in Google für „das bewachte Haus ist“ zuviele Parameter! Peter Kolb statistisches Sprachmodell Keine Treffer in Google für „das bewachte Haus ist“ → P(eingestürzt | das ∩ bewachte ∩ Haus ∩ ist) = 0 → P(„das bewachte Haus ist eingestürzt“) = 0 obwohl Satz plausibel und grammatisch Markov-Annahme: Wahrscheinlichkeit von wi hängt nur von den n-1 vorangehenden Wörtern ab Peter Kolb statistisches Sprachmodell Markov-Annahme: Wahrscheinlichkeit von wi hängt nur von den n-1 vorangehenden Wörtern ab statistisches Sprachmodell = n-Gramm-Modell = Markov-Modell n-ter Ordnung Bigramm-Modell = Markov-Modell 2. Ordnung, Wahrscheinlichkeit von wi hängt nur vom direkt vorangehenden Wort ab Trigramm-Modell = Markov-Modell 3. Ordnung, Wahrscheinlichkeit von wi hängt nur von den beiden direkt vorangehenden Wörtern ab Peter Kolb statistisches Sprachmodell Bigramm-Modell: d: „das bewachte Haus ist eingestürzt“ P(d) = P(das) P(bewachte|das) P(Haus|bewachte) P(ist|Haus) P(eingestürzt|ist) Wie berechnet man P(Haus|bewachte)? Wie wahrscheinlich ist, dass „Haus“ auftritt, wenn zuvor „bewachte“ aufgetreten ist? =Wie wahrscheinlich ist Wortfolge „bewachte Haus“? 266 Treffer in Google für „bewachte Haus“ Peter Kolb statistisches Sprachmodell Wie wahrscheinlich ist Wortfolge „bewachte Haus“? 266 Treffer in Google für „bewachte Haus“ P(Haus|bewachte) = H(„bewachte Haus“) / H(„bewachte“) 141.000 Treffer für „bewachte“ P(Haus|bewachte) = 266 / 141.000 → Parameterbestimmung („Trainieren“ des Modells): Worthäufigkeiten und Bigrammhäufigkeiten im Korpus zählen Peter Kolb statistisches Sprachmodell Problem: angenommen Google liefert 0 Treffer für „bewachte Haus“: P(Haus|bewachte) = 0 / 141.000 = 0 → P(d) = 0 Lösung: Glätten der Wahrscheinlichkeiten (engl. smoothing) z.B. wenn ein Bigramm nicht im Korpus, stattdessen Produkt der Einzelworthäufigkeiten (backoff) oder add-one-smoothing: zu jeder Bigramm-Wahrscheinlichkeit z.B. 0,001 dazuaddieren Peter Kolb statistisches Sprachmodell Perplexität = - log2(P(d)) / N wie „überrascht“ ist das Modell von einem Satz? statistische Satz-Generierung: gegebene Wörter zu einem grammatischen Satz anordnen: Wie froh ich bin , daß ich weg bin ! 99,06 weg ! bin ich froh , Wie daß ich bin 327,19 Wie bin ich froh daß , bin ich weg ! 546,65 , froh daß weg bin ich Wie ich ! bin 856,54 Peter Kolb statistisches Sprachmodell Nachteil statistischer n-Gramm-Modelle: Fernabhängigkeiten nicht erfassbar Ich fahre wohl morgen früh um viertel nach drei um. Perplexität = 2966 Ich fahre wohl morgen früh um viertel nach drei los. Perplexität = 4267 Peter Kolb statistisches Sprachmodell Nachteil statistischer n-Gramm-Modelle: Fernabhängigkeiten nicht erfassbar Die alten Tücher 109,67 Die alten Tuch 386,04 Die alten , nach Öl stinkenden , Tücher 3734,32 Die alten , nach Öl stinkenden , Tuch 3115,87 Peter Kolb statistisches Sprachmodell Chomsky (1969): „It must be recognized that the notion of a 'probability of a sentence' is an entirely useless one, under any interpretation of this term.“ Peter Kolb statistisches Sprachmodell (1) Colorless green ideas sleep furiously. (2) Furiously sleep ideas green colorless. It is fair to assume that neither sentence (1) nor (2) (nor indeed any part of these sentences) has ever occurred in an English discourse. Hence, in any statistical model for grammaticalness, these sentences will be ruled out on identical grounds as equally `remote' from English.) [Chomsky 1957] Peter Kolb statistisches Sprachmodell [Pereira 2002] verwendet klassenbasiertes Bigramm-Sprachmodell, trainiert auf Zeitungstext, und findet: p(Colorless green ideas sleep furiously) p(Furiously sleep ideas green colorless) ≈ 200.000 Peter Kolb Modell vom gestörten Kanal weitere Anwendungen: ● Spracherkennung ● OCR (Optical Character Recognition) ● Tippfehlerkorrektur ● PoS-Tagging ● ... Peter Kolb Literatur Chris Manning u. Hinrich Schütze (1999): Foundations of Statistical Natural Language Processing. MIT Press. Kevin Knight (1999): A Statistical MT Tutorial Workbook. http://www.isi.edu/natural-language/mt/wkbk.rtf Fernando Pereira (2002): Formal grammar and information theory: together again? In The Legacy of Zellig Harris, Hrsg. v. B.E. Nevin u. S.B. Johnson. John Benjamins. Noam Chomsky (1957): Syntactic structures. Mouton. Noam Chomsky (1969): Quine's Empirical Assumptions. In Words and Objections, Hrsg. v. D. Davidson u. J. Hintikka. Reidel. Peter Kolb