-
Heute möchten wir euch eine Einführung in das Thema der Sprachmodellierung geben, eines der wichtigsten
-
Themen bei der Verarbeitung natürlicher Sprache. Das Ziel der Sprachmodellierung
-
ist es, einem Satz eine Wahrscheinlichkeit zuzuordnen. Aber warum würden wir einem Satz ein Wahrscheinlichkeit zuordnen wollen?
-
Dies kommt bei allen möglichen Anwendungen vor: Bei der maschinellen Übersetzung,
-
beispielsweise, möchten wir in der Lage sein, zwischen guten und schlechten Übersetzungen
-
anhand ihrer Übersetzungen zu unterscheiden. "High winds tonite" könnte eine bessere
-
Übersetzung als "large winds tonite" sein, da "high" und "wind" im Englischen besser zusammen passen.
-
Bei der Rechtschreibkorrektur sehen wir eine Formulierung wie "fünfzehn Minuette von meinem Haus (entfernt)". Das wird wohl
-
eher eine Falschschreibung von "Minuten" sein. Ein Hinweis, der uns zu entscheiden ermöglicht,
-
dass "fünfzehn Minuten von" eine viel wahrscheinlichere Wortgruppe als "fünfzehn Minuette von" ist.
-
Und bei der Spracherkennung ist eine Wortgruppe wie "I saw a Van" (Ich sah einen Van), viel wahrscheinlicher als
-
eine Phrase, die phonetisch ähnlich klingt, wie "eyes awe of an".
-
Es ist viel weniger wahrscheinlich, dass diese Wörter in dieser Reihenfolge auftreten. Und es stellt sich heraus,
-
dass Sprachmodellierung auch bei der Textzusammenfassung, dem Question Answering, eigentlich überall eine Rolle spielt.
-
Das Ziel eines Sprachmodells ist es, die Wahrscheinlichkeit von einem Satz
-
oder einer Folge von Wörtern zu berechnen. Für eine Sequenz von Wörtern w1 bis wn
-
berechnen wie deren Wahrscheinlichkeit P(W), und wir benutzen ein großes W
-
um die Sequenz w1 bis wn zu bezeichnen. Dies ist verwandt mit der Aufgabe,
-
die Wahrscheinlichkeit eines bevorstehenden Wortes zu berechnen, also P(w5) bei gegebenem w1 bis w4. Dies steht
-
in einer engen Verbindung zu der Aufgabe, P(w1, w2, w3, w4, w5) zu berechnen. Ein Modell, das eines dieser beiden Dinge berechnet,
-
entweder P(W) - wobei groß W, eine Zeichenfolge bezeichnet - die gemeinsame Wahrscheinlichkeit der gesamten
-
Zeichenfolge, oder die bedingte Wahrscheinlichkeit, dass das letzte Wort bei den gegebenen vorhergehenden Worte auftritt,
-
ein solches Model nenne wir ein Sprachmodell. Jetzt könnte es besser sein, dies
-
eine 'Grammatik' zu nennen. Ich meine, im Prinzip sagt uns dies etwas darüber,
-
wie gut diese Worte zusammen passen. Und wir verwenden normalerweise eine Wortgrammatik dafür,
-
aber es stellt sich heraus, dass das Wort Sprachmodell - oft sehen wir dafür die Abkürzung LM -
-
der Standard ist, und daher halten wir uns daran. Also, wie berechnen wir diese gemeinsame Wahrscheinlichkeit?
-
Sagen wir, wir wollen die Wahrscheinlichkeit, der Formulierung, "das Wasser ist so transparent, dass",
-
diesem kleinen Teil eines Satzes. Und die Intuition, wie die
-
Sprachmodellierung funktioniert, ist dass Sie sich auf die Kettenregel der Wahrscheinlichkeit verlassen.
-
Und nur um Sie an die Kettenregel der Wahrscheinlichkeitsrechnung zu erinnern: Denken wir
-
an die Definition der bedingten Wahrscheinlichkeit, also P von A gegeben B
-
gleich P von A, B geteilt durch P von B. Und wir können dies umschreiben, so dass P von A
-
gegeben B mal P von B gleich P von A, B oder andersherum
-
P von A, B entspricht P von A gegeben B - versicher dich, dass es gegeben ist - mal P von B.
-
Und können wird dies weiter verallgemeinern für mehr Variablen, also die gemeinsame Wahrscheinlichkeit
-
für eine ganze Sequenz A, B, C, D ist die Wahrscheinlichkeit von A mal die Wahrscheinlichkeit von B gegeben A
-
[usw.] Also das ist die Kettenregel.
-
In einer allgemeineren Form der Kettenregel wie wir sie hier haben, also der gemeinsamen Wahrscheinlichkeit
-
von einer beliebigen Sequenz von Variablen, ist dies die Wahrscheinlichkeit der ersten mal die
-
zweite bedingt durch die erste mal die dritte bedingt durch die erste und zweite usw.
-
ersten beiden, bis der letzte konditioniert auf die ersten n minus eins.
-
Okay, die Kettenregel. Die Kettenregel kann angewendet werden, um die gemeinsame Wahrscheinlichkeit von Wörtern
-
in einem Satz zu berechnen. Also angenommen, wir haben unseren Satz, "its water is so transparent".
-
Nach der Kettenregel ist die Wahrscheinlichkeit dieser Sequenz
-
die Wahrscheinlichkeit von "its" mal die Wahrscheinlichkeit von "water" gegeben "its" mal die Wahrscheinlichkeit
-
von "is" gegeben "its water" mal die Wahrscheinlichkeit von "so" gegeben "its water is" und
-
schließlich mal die Wahrscheinlichkeit von "transparent" gegeben "its water is so".
-
Oder formeller ausgedrückt, ist die gemeinsame Wahrscheinlichkeit einer Folge von Wörtern das
-
Produkt über alle i der Wahrscheinlichkeit jedes Worts gegeben den Teil des Satz bis zu diesem Wort.
-
Wie können wir diese Wahrscheinlichkeiten schätzen? Könnten wir einfach zählen und
-
teilen? Wir berechnen oft Wahrscheinlichkeiten durch zählen und teilen. Also, was die Wahrscheinlichkeit
-
von "the" angesichts "its water is so transparent that" angeht, könnten wir einfach zählen, wie viele Male
-
"its water is so transparent that the" auftritt, und das durch die Anzahl der Vorkommnisse von
-
"its water is so transparent that" teilen, also dies durch dies teilen, und, und so eine Wahrscheinlichkeit erhalten.
-
Wir können das nicht tun. Und der Grund, warum wir es nicht tun können, ist dass es einfach
-
viel zu viele mögliche Sätze gibt, um diese jemals schätzen zu können. Es ist unmöglich, genug Daten
-
zu bekommen, um die Anzahl aller möglichen Sätze des Englischen sehen zu können.
-
Was wir stattdessen tun, ist, dass wir eine vereinfachende Annahme - genannt die Markov-Annahme - geltend machen,
-
die nach Andrei Markow benannt wurde. Und der Markov-Annahme zufolge schätzen wir die
-
Wahrscheinlichkeit von "the" gegeben "its water is so transparent that", indem wir stattdessen nur
-
die Wahrscheinlichkeit des Wortes "the" berechnen, gegeben das Wort "that", also dem letzten Wort
-
"that" in der Sequenz. Oder vielleicht berechnen wir die Wahrscheinlichkeit von "the" gegeben
-
"its water is so transparent that" nur anhand der letzten beiden Worte also "the" gegeben
-
"transparent that". Das ist die Markov-Annahme. Lassen Sie uns nur das vorhergehende
-
oder vielleicht ein paar vorhergehende Worte anschauen, statt des gesamten Kontextes.
-
Formeller besagt die Markov-Annahme, dass die Wahrscheinlichkeit für eine Folge von Wörtern dem
-
Produkt der bedingten Wahrscheinlichkeiten für jedes Wort entspricht,
-
gegeben eine Sequenz der letzten paar vorhergegangene Wörter dieses Wortes. Mit anderen Worten, in dem Produkt
-
alle Wahrscheinlichkeiten die wir miteinander nach der Kettenregel multiplizieren, schätzen wir die
-
Wahrscheinlichkeit der wi, gegeben die gesamte vorhergehende Sequenz von eins bis i minus eins, durch eine einfacher
-
zu berechnende Wahrscheinlichkeit wi, für die nur die letzten paar Worte gegeben sind. Der einfachste Fall eines
-
Markov-Modells ist das Unigramm-Modell. Im Unigramm-Modell schätzen wir einfach
-
die Wahrscheinlichkeit für eine ganze Sequenz von Wörtern durch das Produkt von Wahrscheinlichkeiten
-
einzelner Wörter, die Unigramme, und wenn wir Sätze erzeugen würden, indem wir Wörter nach dem Zufallsprinzip auswählen würden,
-
dann können Sie sehen dass es wie ein Wortsalat aussehen würde. Hier also einige automatisch
-
generierte Sätze, generiert von Dan Klein, und Sie können sehen, das Wort "futures", das Wort "an",
-
das Wort "of", das Wort "futures", das sieht überhaupt nicht wie ein Satz aus. Es ist nur eine zufällige
-
Folge von Wörtern, "thrift, did, eighty, said". Das ist die Eigenschaft eines Unigramm-Models.
-
Worte sind in diesem Modell unabhängig. Etwas intelligenter ist ein
-
Bigramm-Model, bei dem jedes Wort durch ein einzelnes vorhergehendes Wort bedingt wird. Also noch einmal, wir
-
schätzen die Wahrscheinlichkeit eines Wortes, dass auf eine gegebene Sequenz vom Anfang bis zum vorherigen Wort folgt,
-
nur indem wir das vorherige Wort betrachten. Wenn wir dies nun also verwenden, um zufällige Sätze
-
aus einem Bigramm-Modell zu generieren, dann sehen die Sätze schon ein wenig mehr aus wie
-
Englisch. Klar, etwas ist daran noch falsch. "outside", "new", "car",
-
nun, "new car" sieht ganz gut aus. "car parking" ist ziemlich gut. "parking lot" (Parkplatz). Aber zusammen,
-
"outside new car parking lot of the agreement reached", das ist kein Englisch.
-
Selbst mit dem Bigramm-Modell vereinfachen wir also, durch den Verzicht auf die Angleichung, die das Englische hat,
-
die Fähigkeit dieses W zu modellieren, das um was in einer Sprache geht.
-
Jetzt können wir das N-Gramm-Modell zu Trigrammen, erweitern, also 3-Gramme, oder 4-Gramme und 5-Gramme.
-
Aber im Allgemeinen ist es deutlich, dass N-Gramm Modellierung ein unzureichendes Modell der Sprache ist.
-
Und der Grund ist, dass Sprache Abhängigkeiten über lange Entfernungen aufweist.
-
Also wenn ich, zum Beispiel,etwas vorhersagen will - "Der Computer, den ich gerade abgestellt hatte im
-
Geräteraum im fünften Stock, ...", und ich hätte das nächste Wort nicht gesehen und ich möchte sagen,
-
was die Wahrscheinlichkeit des nächsten Wortes ist, und ich hätte dies nur abhängig von dem
-
vorherige Wort "Stock" gemacht, dann wäre ich wohl kaum auf "stürzte ab" gekommen. Aber tatsächlich ist "stürzte ab"
-
das wichtigste Verb des Satzes und Computer ist das Subjekt, den Kopf der Subjekt-Nominalphrase.
-
Also, wenn wir gewusst hätten, dass "Computer" das Subjekt war, wären wir viel eher auf "stürzte ab" gekommen.
-
Solche weit gespannten Abhängigkeiten bedeuten, dass wir bei
-
wirklich guten Modellen, die englische Wörter vorhersagen, viele Informationen
-
über längere Entfernungen hinweg berücksichtigen müssen. Aber es stellt sich heraus, dass wir in der Praxis
-
oft mit diesen N-Gramm-Modellen auskommen, weil die lokalen Informationen, vor allem
-
wenn wir Trigramme und 4-Gramme erreichen, einschränkend genug sein werden,
-
dass in den meisten Fällen unsere Probleme damit gelöst werden können.