Die Sprache modellieren: Ein Ausblick in die Vergangenheit und Zukunft der Linguistik
Voice- und Chatbot Technologie
Letztes Update am 03. Mai 2022
Was sind Sprachmodelle?
Ein Sprachmodell gibt einer Folge von Wörtern eine Wahrscheinlichkeit. Diese Wahrscheinlichkeit soll darstellen wie gut die Folge von Wörtern in der modellierten Sprache zusammen passt. Dies wird schon seit vielen Jahren erforscht und ich möchte euch die wichtigsten Sprachmodelle aus der Vergangenheit bis heute kurz vorstellen.
Wo liegt der Ursprung der linguistischen Modelle?
Schon bevor es Computer gab, haben Linguisten begonnen die Wörter in Texten zu zählen. In der ersten Hälfte des 20. Jahrhunderts wurde Zipf’s Gesetz beschrieben. Dieses beschreibt, dass es sehr wenige Wörter gibt, die sehr oft gebraucht werden (z.B. das Wort “es” hat eine sehr hohe Wahrscheinlichkeit) und sehr viele Wörter, welche auch über grosse Textsammlungen nur sehr wenige Male vorkommen. Das einfachst mögliche Sprachmodell orientiert sich an diesem Prinzip. Es schaut alle Wörter in einem Satz einzeln an und multipliziert deren Wahrscheinlichkeiten (gemessen anhand wie oft es in einer grossen Textsammlung auftritt). Das ist das sogenannte Unigramm-Modell. Weil das Unigramm-Modell jedes Wort einzeln ohne Kontext anschaut ist es klar, dass die Wortreihenfolge nicht berücksichtigt wird. Spätere Modelle verbessern dieses Problem.
Was sind Syntaxmodelle?
In den 1950er Jahren widmet sich Noam Chomsky der Frage, ob Sprache etwas Angeborenes ist. Er und andere Linguisten glauben, dass ein Grundkonstrukt an Sprache angeboren ist. Sie arbeiten an Theorien für eine universelle Grammatik die alle Sprachen verbindet. Diese Forschung wird später in den 90er Jahren aufgegriffen um sogenannte Syntaxparser zu bauen. Diese interpretieren einen Satz als grammatische Struktur. Syntax-Sprachmodelle schauen diese grammatische Struktur an. Sie interessiert nicht, welche Worte im Satz sind, sondern ob die grammatische Struktur des Satzes plausibel ist. Es handelt sich also sozusagen um einen konträren Ansatz zum Unigramm, statt nur auf Worte zu achten geht es bei diesen Modellen nur um den grammatischen Kontext.
Was sind N-Gramme?
Noch bevor Syntaxmodelle wirklich Auftrieb bekamen wurden die N-Gramm-Modelle populär. Sie sind die Allrounder der einfachen Sprachmodelle und geben (mit ein paar Tricks) bereits nützliche Wahrscheinlichkeiten. Dank Computern wurde es in den 80er Jahren möglich auch grosse Textsammlungen automatisiert zu analysieren. Dadurch konnte man nicht nur Worte zählen sondern auch Wortfolgen von 2 (Bigramm), 3 (Trigramm), oder noch mehr Worten und für diese die Wahrscheinlichkeit berechnen. Also z. B. “ist sehr schön” ist wahrscheinlicher als “schön sehr ist”. Dadurch, dass man mehrere Worte anschaute, hatte man auch einen Kontext und auch die Wortreihenfolge wurde dadurch berücksichtigt.
Es gab an den N-Gramm-Modellen verschiedene Erweiterungen. Zwei wichtige Ideen sind Smoothing und Cache-Modelle. Bei Smoothing geht es darum, dass man einem N-Gramm eine höhere Wahrscheinlichkeit als 0 gibt, auch wenn das N-Gramm in den Trainingsdaten für das Sprachmodel nie vorgekommen ist. Es gibt verschiedene Smoothingmethoden, die definieren, wie man diese Wahrscheinlichkeit korrekt berechnet in einem N-Gramm-Modell. Bei Cache-Modellen geht es darum, dass Worte, die bereits vor Kurzem in einem Text vorgekommen sind mit höherer Wahrscheinlichkeit bald wieder vorkommen. Konkret mit dem Wort “Enzym”: Es ist generell ein seltenes Wort aber liest man einen Artikel über Enzyme aus einer Biochemiezeitschrift so ist die Wahrscheinlichkeit sehr viel höher, dass das Wort immer wieder vorkommt. Cache-Modelle merken sich was bereits vorgekommen ist, um die Wahrscheinlichkeiten entsprechend anzupassen.
Wie funktionieren faktorielle Sprachmodelle?
Am Anfang des neuen Jahrtausends wurden verschiedene Sprachmodelle kombiniert. Das heisst, es wurden verschiedene Syntaxmodelle mit einem N-Gramm-Modell kombiniert. Dies nennt man faktorielle Sprachmodelle, da jedes Modell für sich einen Faktor beiträgt. Die Kombination ist nicht ganz einfach, weil die Wahrscheinlichkeiten verschiedener Modelle nur bedingt vergleichbar sind. Nichtsdestotrotz brachten solche faktoriellen Modelle eine starke Verbesserung, da nicht mehr entschieden werden musste, ob vor allem Worte oder vielmehr die Struktur in einem Sprachmodell berücksichtigt werden müssen.
Was sind einfache neuronale Netze?
Fast gleichzeitig haben Yoshua Bengio und seine Koautoren mit ihrem Paper “a Neural Probabilistic Language Model” den Grundstein für Sprachmodelle basierend auf künstlichen neuronalen Netzen gelegt. Das Modell funktionierte besser als die populären N-Gramm Modelle. Die Autoren konnten zeigen, wie ein neuronales Netz aufgebaut werden kann, dass einerseits eine Wahrscheinlichkeit für einen Satz berechnet, aber gleichzeitig auch eine Repräsentation eines Wortes als Vektor von Zahlen lernt. Dies war sehr wichtig für den nächsten grossen Schritt der Sprachmodelle.
Warum Word Embeddings und Deep Learning?
Im Jahr 2013 hat ein Forschungsteam von Google das word2vec Modell publiziert. Dabei geht es darum, dass die Repräsentation eines Wortes als Vektor von Zahlen noch viel besser lernen kann. Dafür werden Skip-Gramme betrachtet, d. h. Die Wortfolge um ein gegebenes Wort. Zum Beispiel für “Haus” ist “Dieses ___ ist sehr schön” ein mögliches Skip-Gramm. Bei vielen solcher Skip-Gramme kann man lernen, dass “Haus” sehr ähnlich ist wie “Gebäude” und daher ihre zugeordneten Vektoren sehr ähnlich sein sollten. Das geht soweit, dass Worte ein bisschen addiert werden können: Der Vektor von “König” + Der Vektor von “Frau” ist sehr ähnlich zum Vektor von “Königin”.
Die zweite Entwicklung in den 2010er Jahren war die Entwicklung von ultraeffizienten Trainingsverfahren für mehrschichtige und rekurrente neuronale Netze (oft Deep Learning genannt). Das führte zu einer Explosion von Forschungen in dem Bereich, die alle auf den Word Embeddings aufbauten. Die Zeit von Big Data (riesigen Datenmengen) hatte begonnen.
Wie funktionieren Transformer-Modelle?
Die neueste Ära von Sprachmodellen basiert auf einer alten Idee. Alles beginnt mit einer Idee die schon bei Caching-Modellen 20 Jahre früher zentral war: Was bereits vorkam ist wahrscheinlich wichtig. Der sogenannte “Attention” Mechanismus wird 2017 populär für neuronale Sprachmodelle. Dabei geht es darum, dass der Mechanismus nicht einfach wie die Caching-Modelle annimmt alles was vor Kurzem kam ist relevant. Sondern das Modell lernt, welche Teile für die nächste Entscheidung relevant sind. So kann die Sprache noch viel kontext-sensitiver modelliert werden.
Als klar wurde, dass dieser Mechanismus sehr gut funktionierte, trieben Forscher von Google das Ganze auf die Spitze und schrieben das Paper Attention is all you need. In diesem Paper stellen sie eine neue Architektur für neuronale Sprachmodelle vor, die sie “Transformer” nennen. Diese ist wesentlich effizienter zu trainieren als die damals führenden rekurrenten neuronalen Netzwerke.
Auch heute noch sind verschiedene Varianten der Transformerarchitektur die führenden Sprachmodelle so auch GPT-3, das in den Medien einige Beachtung fand. Diese Modelle sind sehr gross, schwierig zu trainieren, aber wenn sie einmal trainiert sind unglaublich vielseitig einsetzbar. Es bleibt spannend was als Nächstes auf uns zukommt!
Bild: GPT-Modelle lassen sich auf Hugging Face selbst ausprobieren
Was bringen Sprachmodelle?
Zusammengefasst ermöglichen sie einiges:
- Spracherkennung: Sie ermöglichen die Unterscheidung gleich klingender Worte (sog. Homophone) wie z. B. ob “Häute” oder “heute” gesagt wurde im Kontext.
- Autokorrektur: Was ist wahrscheinlicher “Mein Feler” oder “Mein Fehler”? Das Sprachmodell weiss das.
- Intelligente Suche: Eine Suche nach “Autoversicherung” findet auch Dokumente über “Kraftfahrzeugversicherungen” ohne, dass es nötig ist sich die Synonyme selbst zu überlegen.
Warum Sprachmodelle bei intelligente Anwendungen notwendig sind
Dieser Blogbeitrag soll als Übersicht dienen und darüber aufklären, wie Sprachmodelle entwickelt wurden und welche Ideen dahinter stecken. Die heutigen Sprachmodelle sind sehr mächtig aber auch sehr gross. Sie erlauben viele Anwendungen und können den Mensch dabei unterstützen seine unglaublichen Sprachfähigkeiten auch mit Maschinen zu nutzen.
Wir bei Paixon arbeiten oft mit bereits vortrainierten Sprachmodellen, da diese für viele Anwendungen günstig und gut sind. So können wir von den langjährigen Erfahrungen der Techgiganten profitieren und erst noch die Umwelt schützen, da wir selber nicht riesige Modelle trainieren müssen.