Natural Language Processing - eine kurze Geschichte

23. März, 2022 | Alexander Polzin


Computer sind wahnsinnig gut darin, Informationen geordnet zu speichern. Um diese Informationen aber für den Menschen benutzbar zu machen, braucht es entsprechende Interfaces. Schon früh in der Geschichte der Computer wurde begonnen an einem der komfortabelsten Interfaces zu forschen: Der Benutzer stellt dem Computer eine Frage in natürlicher Sprache und dieser liefert die Antwort in natürlicher Sprache zurück.

Im Folgenden werden an Beispielen verschiedene Techniken erklärt, die benutzt werden oder benutzt wurden, um den ’sprechenden Computer‘ Realität werden zu lassen. Nicht Thema dieses Textes sind Sprachsynthesizer und Speech-to-Text-Interfaces. Diese werden als gegeben angesehen.

Vor Siri und Alexa gab es Eliza


Der wohl berühmteste frühe Conversational Agent/ Chatbot ist Eliza. Entwickelt in den 60er Jahren verwendet Eliza Technologien, die auch heute noch in Gebrauch sind. Die Kerntechnologien hinter Eliza sind Pattern Matching, Kombinatorik und Eliza Scripts. Eliza Scripts sind im Kern Ontologien. Die Eingabe des Benutzers wurde also durch Pattern Matching erkannt, dann durch Rekombination so umgebaut, dass die Antwort tatsächlich eine semantisch korrekte Antwort ist und am Ende mit zusätzlichen Worten aus dem Informationsnetzwerk angereichert. Das Ergebnis war ein besserer Papagei aber immerhin das erste Projekt, das für den Turing Test überhaupt in Frage kam. Ontologien haben das Ziel Informationen nicht hierarchisch zu gliedern, sondern ein Netzwerk von verwandten Worten und Themen herzustellen. Bis heute werden Ontologien und Pattern Matching immer noch für NLP und vor allen Dingen für performante Suchen verwendet. Bis vor Kurzem basierte auch die Google Suche auf Ontologien.

Die bittere Lektion der AI-Community


In den folgenden Jahren entwickelten sich zwei Forschungszweige innerhalb der AI-Forschung, die auf komplett unterschiedlichen Wegen dem Computer das ‚Denken‘ und ‚Sprechen‘ beibringen wollten. Der eine Zweig beschäftigte sich mit tatsächlichen Konzepten menschlichen Denkens, tatsächlicher Grammatik, physikalischer Regeln usw. Der andere Zweig bediente sich genereller Methoden, Statistik und vor allen Dingen: der besten und schnellsten verfügbaren Computer.

Als 1997 ein Computer das erste Mal einen Schachgroßmeister besiegte, war es ein Computer, der keine Ahnung von den Schachregeln hatte. Er hatte nicht mal eine Ahnung davon, dass er gerade ein Spiel spielte. Alles was der Computer konnte, war Pattern Matching (in diesem Fall das Muster der Figuren auf dem Schachbrett), Statistik, extrem schnell viele Patterns durchsuchen und sie durchspielen, um die beste Patterntransition durchzuführen. All dies, um schnell die ‚win condition‘ zu erreichen. In diesem Fall war die ‚win condition‘ ein Feld ohne gegnerische Figuren. Spätestens zu diesem Zeitpunkt hat die AI-Community die ‚bitter lesson‚ gelernt. In der Geschichte bestätigt sich bis heute, dass generische Methoden, Statistik und schnelle Computer immer besser sind als probieren zu wollen, dem Computer tatsächliches Wissen beizubringen.

Was bedeutet das nun für NLP Anwendungen?

Zum einen haben sich erstmal Entscheidungsbaum-basierte Lösungen bei Conversational Agents/ Chatbots durchgesetzt. Bei BIG PICTURE verwenden wir unter anderem Googles Dialogflow, um für Kunden Chatbot-Projekte umzusetzen

Zum anderen: We need a bigger boat!

Der statistische Ansatz schien für lange Zeit auch für NLP Probleme erfolgversprechend, jedoch fehlte die Rechenleistung, um ähnlich gute Ergebnisse für die menschliche Sprache zu erzielen, wie sie beispielsweise schon seit längerer Zeit für die Bilderkennung erzielt werden. Erste Experimente waren allerdings schon recht erfolgreich. Computer sind in der Lage, semantisch korrekte Stabreime zu produzieren, ohne zu wissen, was ein Stabreim überhaupt ist. Allerdings war es sehr lange nicht möglich, inhaltlich sinnvollen Text durch statistische Methoden zu produzieren. Mit der Ankunft von GPT-3 sind wir diesem Ziel aber deutlich näher gekommen. Die zu Grunde liegenden Technologien sind dabei weiterhin generische Methoden und Statistik.

Was GPT-3 aber von seinen Vorgängern unterscheidet ist: ein riesen Datacenter von Microsoft und enorme Mengen an Daten. GPT-3 hat als Datenbasis nahezu das gesamte Internet. Dadurch ist es in der Lage, Texte zu produzieren, die für Menschen so gut wie nicht unterscheidbar sind von Texten, die tatsächlich von Menschen geschrieben wurden. GPT-3 ist im Kern eine Textvervollständigung. Es hat fast das gesamte Internet tokenized und versucht User Input zu ergänzen, indem es den am wahrscheinlichsten folgenden Token benutzt und danach den wahrscheinlichsten Token, der auf den Token folgt und so weiter und so weiter. Das alles basiert auf ’simpler‘ Statistik. Man könnte sagen, GPT-3 hat das ganze Internet gelesen und weiß, welche Phrase am häufigsten auf die vorangegangene Phrase folgt und liegt damit meistens richtig.

Was bedeutet das alles jetzt aber für unsere tägliche Arbeit an Chatbots/ Conversational Agents?

Entscheidungsbäume, wie die von Dialogflow werden auf absehbare Zeit weiterhin der Kern von vielen Chatbots/ Conversational Agents sein. Sie sind deterministisch und deutlich weniger fehleranfällig als GPT-3. Das macht Entscheidungsbäume ideal für z.B. die Voice Bedienung eines Fahrzeugs oder bei der Abfrage spezifischer Abläufe. Jedoch werden Modelle, wie GPT-3 in Zukunft immer mehr Verwendung finden. Sie sind z.B. ein ideales Interface für Betriebsanleitungen, Produktsortimente, usw. Die allermeisten Texte dieser Art sind hierarchisch gegliedert. Das bedeutet, dass sich die Texte mit Inhalt hinter eine Baumstruktur ‚verstecken‘. Das kann eine Suche schwer bis unmöglich machen, wenn der Benutzer den Einstieg in die Baumstruktur nicht weiß. Hier kann GPT-3 sinnvoll helfen.

Wir werden also in Zukunft viele Hybridlösungen sehen, die einen deterministischen Einstieg über einen Entscheidungsbaum haben und die bei Deadends auf ein feingetunetes GPT-3 Model zugreifen.

Die Aussagen in diesem Artikel spiegeln die Ansichten des Autors wieder und nicht die eines Unternehmens, einer Organisation oder Institution.

Titelbild: Photo by Claudio Schwarz on Unsplash