Natural Language Processing (NLP hat bereits zahlreiche Bereiche in der Lebens- und Arbeitswelt durchdrungen, der Einsatz von NLP wird weiter zunehmen. Wir kennen alle Sprachassistenzsysteme wie Alexa oder Cortana, wir diktieren Emails und Briefe, wir haben es in Hotlines bisweilen mit Conversational AI zu tun; die App Woebot setzt ebenfalls eine Chatbot-Technologie ein, und zwar in der Therapie mit Nutzern, die an Depression, Angst oder Burn-Out leiden.

Juristen setzen NLP ein, um bei Firmenübernahmen große Bestände an Verträgen auf rechtliche Risiken zu durchforsten, Übersetzungsprogramme wie DeepL oder Google.Translate sind aus dem Alltag aus international operierenden Unternehmen nicht mehr wegzudenken; im Personalbereich wird NLP eingesetzt zur Vorauswahl von Bewerbungen, in manchen Unternehmen führen Kandidaten zunächst Telefoninterviews mit künstlichen Intelligenzen; und die Sentiment Analysis wird eingesetzt, um die Wahrnehmung von Unternehmen in den Social Media zu bewerten (positiv, negativ)

Natural Language Processing ist grundsätzlich der Einsatz von Künstlicher Intelligenz (häufig: Deep Learning), um natürliche Sprache zu verarbeiten oder Sprache zu generieren: Speech-To-Text (Umwandlung von gesprochener Sprache in Text), Text-to-Speech, Übersetzungen, Bedeutungsanalysen und derlei mehr.

Wir schauen uns im Folgenden an: Was sind die Grundlagen von NLP? Wo stehen wir? Welche Trends und Durchbrüche gab es in jüngster Zeit? Was sind die aktuellen Herausforderungen?

Kurzer Überblick zu den Grundlagen der Computerlinguistik

Was man grundsätzlich vorab zum Status Quo von NLP sagen kann: Der Computer besitzt kein Verständnis für das Gesagte, eben dies ist auch in absehbarer Zukunft nicht zu erwarten. Natural Language Processing basiert (wie Deep Learning ganz grundsätzlich) auf statistischen Korrelationen, Sätze werden auf Basis statistischer Zusammenhänge aus Trainingsdaten generiert (im einfachsten Fall: Subjekt-Prädikat-Objekt), es werden Wahrscheinlichkeiten für die Nutzung bestimmter Vokabeln in sprachlichen Kontexten ermittelt, etcetera.

Die Computerlinguistik basiert im Übrigen nicht grundsätzlich auf Deep Learning-Methoden; es gibt eine klassische Computerlinguistik, die vor der Ära der Künstlichen Neuronalen Netze angesiedelt ist und vor allem regelbasierte Verfahren umfasst. Es ist jedoch richtig, dass Deep Learning-Methoden immer mehr die herkömmlichen Ansätze der klassischen Computerlinguistik verdrängen.

Computerlinguistik lässt sich grundsätzlich in einige Teilbereiche aufgliedern, oder anders formuliert: Die Sprachverarbeitung lässt sich in verschiedene Prozessschritte untergliedern. Betrachten wir dies für den Fall der Analyse gesprochener Sprache:

Der Erste Schritt besteht grundsätzlich einmal in der Spracherkennung selbst, wie er etwa bei Sprachassistenten wie Alexa oder Cortana stattfindet. Gesprochene Sprache wird in analysierbaren Text umgewandelt (Speech-to-Text): Tatsächlich gilt, dass Sprachassistent hierbei inzwischen sehr gut sind, wenn nur eine einzelne Person spricht: Die Spracherkennung funktioniert verlässlich, auch wenn man von einer gewissen Entfernung mit Sprachassistenten spricht, oder wenn man sich gar nicht direkt dem Gerät zuwendet.

Im Zweiten Schritt erfolgt die grammatikalische und syntaktische Analyse (diese Schritte könnte man natürlich auch weiter ausdifferenzieren). Es wird etwa bestimmt, ob ein Wort als Singular oder Plural vorliegt, in welchem Kasus ein Wort vorliegt (Nominativ, Genitiv, …). Es wird die Satzstruktur erkannt (Hauptsatz, Nebensatz, Subjekt-Prädikat-Objekt) und derlei mehr.

Nutzt man beispielsweise die Suchmaschine www.wolframalpha.com, dann wird eine Frage mithilfe solcher linguistischen Methoden analysiert, die erkannten Elemente werden – neben dem eigentlichen Suchergebnis – ebenfalls angezeigt:

Suchmaschine Wolfram AlphaAbbildung: Suchmaschine Wolfram Alpha

Im Dritten Schritt schließlich erfolgt die semantische Analyse. Hierbei geht es darum, die Bedeutung von einzelnen Sätzen zu verstehen oder die Aussage eines Absatzes. Hier gibt es verschiedene Methoden, sich der Bedeutung zu nähern.

Im einfachsten Fall will man nur wissen, ob sich ein Sprecher positiv oder negativ zu einem Unternehmen oder einem Produkt verhält. Die sogenannte Sentiment Analysis lässt sich mit vergleichsweise einfachen Mitteln vornehmen: Man nehme einen Textkorpus, dieser wird zunächst um sogenannte Stoppwörter bereinigt; dabei handelt es sich um Bindeworte oder Artikel („und“, „oder“, „der“, „die“, „das“); solche Stoppwortlisten finden sich übrigens zuhauf zum Download im Internet. Dann vergleicht man den verbliebenen Textkorpus mit annotierten Texten, die als „positiv“ oder „negativ“ klassifiziert wurden. Mehr zu dieser Methode in diesem Blogartikel.

Eine weitere wichtige Methode ist die Entitäten-Analyse: Es geht darum, referenzierte Objekte zu erkennen, etwa Orte, Unternehmen, historische Events, Städte und derlei mehr. Zunächst geht es darum, den Typ von Entität zu erkennen (Unternehmen, Stadt oder Person). Es gibt zudem Möglichkeiten, zu einmal identifizierten Entitäten ergänzende Informationen abzufragen (in Maschinensprache), die ein besseres Textverständnis ermöglichen. Derlei maschinenlesbare Informationen zu Entitäten finden sich etwa auf wikidata oder dbpedia (salopp formuliert: Ein Wikipedia für Maschinen).

Was Computern ebenfalls die semantische Einordnung von Texten vereinfacht, ist das sogenannte Word Embedding. Dabei handelt es sich um mehrdimensionale Räume (dies können mehrere Hundert Dimensionen sein), in denen Wörter eingeordnet werden. Die einfachste Anwendung besteht darin, dass bedeutungsähnliche Wörter (also: Synonyme) dicht beeinander stehen. Da es sich hierbei allerdings um Räume handelt, wo auch die Vektorrechnung Anwendung findet: Man kann also ausgehend von einem Wort wie „Kajak“ + „groß“ zu einem Wort gelangen wie „Passagierschiff“. Oder anderes Beispiel: „Chef“ + „Frau“ wird zu „Chefin“. Die Forschung zu Word Embedding steht aber noch am Anfang.

Zum Punkt semantische Analyse möchte ich noch den Wissengraphen nennen: Hier werden (wie in einem MindMap) Bezüge zwischen den verschiedenen Elementen in einem Text hergestellt; soweit möglich gerichtete Beziehungen (z.B. Unternehmen + Zulieferer) oder Beziehungen mit Polarität (Eva „mag“ ein Produkt oder: Peter hasst das Unterrichtsfacht XYZ).

Der Vierte Schritt und letzte Schritt besteht in der (sehr anspruchsvollen) Dialog- und Diskursanalyse. Hier wird eine übergeordnete Struktur analysiert, also etwa die Bezüge zwischen den Sätzen oder die Struktur eines Absatzes, die etwa darin bestehen kann, dass zu Beginn eine Aussage/Hypothese steht, die nachfolgend begründet wird.

Status Quo & Wichtige Trends

Auf der Digital X in Köln, 2019 habe ich einen sehr guten Vortrag von Jan Morgenthal gehört (und anschließend mit ihm gesprochen), damals noch Chief Product Owner Künstliche Intelligenz, Deutsche Telekom AG. Er hat einen Überblick zum Thema Conversational AI gegeben. Er machte klar, dass viele Lösungen im Markt mit dem Label „KI“ keineswegs immer KI-basiert arbeiten, sondern noch vielfach regelgesteuert funktionierten. Das seit auch der Fall gewesen für die ersten Versionen von Alexa, die aber zunehmend „intelligenter“ wurde. Morgenthal schätzte (Stand: Oktober 2019) die Anzahl auf StartUps, die in diesem Bereich mit „echter“ KI arbeiten auf etwa 30 – in ganz Europa.

Ein wichtiger Trend ist das Transfer Learning: Während lange Zeit Conversational AI-Modelle mit umfangreichen annotierten Textkorpora trainiert werden mussten, lassen sich nun mit vortrainierten Modellen sehr viel schneller und mit weniger Bereichsspezifischen Datensätzen gewünschte Ergebnisse erzielen. Die Idee ist im Grunde genommen simpel: Ein Modell wird mit einem großen Textkorpus vortrainiert (z.B. ist Wikipedia ein solcher umfangreicher annotierter Textkorpus, wo Bedeutungen zu Querverweise für Maschinen gut erkennbar sind); ein solches vortrainiertes Modell wird für den Einsatz in einem bestimmten Bereich noch mit spezifischeren Datensätzen feinabgestimmt.

Anwender können heute auf diverse vortrainierte NLP Frameworks zugreifen, darunter etwa: Google Word2Vec, PyText (vortrainiertes Open-Source NLP Framework von Facebook), Generative Pre-trained Transformer Modell (vortrainiertes Modell von OpenAI); Bidirectional Representation from Transformers (BERT) (vortrainiertes Modell von Google;

Eine weitere interessante Entwicklung ist jene der bi-direktionalen neuronalen Netzwerke. Da Sprache selten eindeutig ist, spielt der Kontext für die Bedeutungsanalye (also: die semantische Analyse) eine herausragende Bedeutung. Der Kontext zu einem Wort (oder einem Satz) lässt sich etwa aus dem vorher Gesagten erschließen – oder aber auch aus dem DANACH gesagten. Und eben darin besteht die Idee von Bi-Direktionalität: Es wird sowohl der einem Satz vorausgehende Text-Kontext berücksichtigt, als auch der der einem Satz folgende Text-Kontext. Dies verbessert das Textverständnis. Hierfür werden bestimmte Kurz-/Langspeicher-Technologien angewandt.

Und schließlich: Vom Computer generierte Sprache – auch wenn diese grammatikalisch richtig ist – zeichnet sich bislang durch eine verräterische Monotonie aus. Eine eher natürliche Sprache wird nun dadurch erzeugt, indem gewisse Verzögerungen eingebaut werden, arhythmische Passagen oder künstliche Denkpausen.

Ausblick: Herausforderungen & Forschungsbereiche

Was sind nun Herausforderungen von NLP in der Praxis, worauf Forschung und Unternehmen eine Antwort suchen?

Das ist zum einen der Cocktailpartyeffekt. Sprachassistenten funktionieren heutzutage sehr gut, wenn nur ein Sprecher/eine Sprecherin mit Alexa oder Magenta spricht. Versuchen Sie aber mal, in der U-Bahn oder im Bus mit Umgebungsgeräuschen eine Email zu diktieren, die Erkennungsrate sinkt unmittelbar auf Werte, die den praktischen Einsatz de facto verhindern. Anders formuliert: Die Fähigkeit, die Stimme eines Gesprächspartners auch aus dem Stimmengewirr in U-Bahn oder S-Bahn herauszufiltern, ist für uns Menschen eine leichte Übung – für den Sprachassistenten hingegen ist diese Aufgabe gegenwärtig noch eine Riesenherausforderung.

Kommen wir zu einem anderen Punkt: Wenn Sie das Verhalten von Nutzern in der Interaktion mit Sprachassistenten beobachten, dann fällt etwas auf: „Alexa, spiel mein Lieblingslied“; „Alexa, Licht im Wohnzimmer dimmen“, „Alexa, wann herrschte Karl der Fünfte?“. Es handelt sich um Anweisungen; die Interaktionen sind keine Dialoge oder Konversationen, sondern unilaterale Sprachakte. Denn die Fähigkeit zur Führung eines echten Dialogs ist weit anspruchsvoller, hieran wird ebenfalls gearbeitet.

Eine generelle Herausforderung für die Computerlinguistik ist grundsätzlich die Mehrdeutigkeit der Sprache; eine eindeutige Bedeutung muss häufig erst aus dem Kontext erschlossen werden. Der Satz „Bringst Du mal Eis“ heißt ja typischerweise nicht, dass der Angesprochene am Nordpol arktisches Eis holt, sondern gemeint ist etwa (a) Der Angesprochene solle das Speiseeis als Dessert bringen oder (b) der Angesprochene sollte Eiswürfel für Cocktails besorgen oder auch (c) der Angesprochene solle Eis bzw. einen Eisbeutel bringen, um eine Platzwunde zu kühlen. Es kommt hinzu, dass sich die Bedeutung eines Satzes nicht ausschließlich aus dem Gesagten erschließen lässt; Ton und Mimik können die Bedeutung von Sprechakten nochmals verändern. Ironie, Sarkasmus – dies ist für Computer nur schwer zu verstehen.

Die meisten Menschen sprechen zudem selten „Oxford-Englisch“ oder „Duden-Hochdeutsch“: Es werden Wörter weggelassen, es wird Dialekt gesprochen, es werden Sätze wiederholt undsoweiter.

Sebastian Zang
Author

Der Autor ist Manager in der Softwareindustrie mit internationaler Expertise: Prokurist bei einem der großen Beratungshäuser - Verantwortung für den Aufbau eines IT Entwicklungszentrums am Offshore-Standort Bangalore - Director M&A bei einem Softwarehaus in Berlin.