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