Statistische Methoden in der Computerlinguistik

Werbung
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
Herunterladen