Wie funktioniert Natural Language Processing in Chatbots?

Chatbot einfach erklärt

Letztes Update am 19. Juli 2020

Chatbot einfach erklärt icon

Warum versteht mich ein Chatbot (nicht)?

Ein Chatbot sieht zwar was für Buchstaben du schreibst, hat aber kein Wissen über die Bedeutung der Worte. Die Bedeutung des Satzes “Ich möchte Milch kaufen” ist für dich ganz klar, aber für einen Computer ist es nur eine Liste von Buchstaben. Es hat für ihn zunächst Mal gleich viel Bedeutung wie “dit sugijstgli wek” für dich.

Der Begriff Natural Language Processing (NLP) beschreibt Technologien, die dem Computer ein Verständnis von diesem Kauderwelsch ermöglichen und dazu oft Künstliche Intelligenz (KI oder Artificial Intelligence AI) einsetzen. Im Deutschen wird oft von Computerlinguistik als Forschungsgebiet und Sprachtechnologie als Anwendung davon gesprochen. Vorneweg: Bis heute weiss niemand wie man die Bedeutung eines Wortes oder eines Satzes einem Computer tatsächlich beibringen kann.

An diesem Punkt kann man sagen, ein Computer ist unfähig unsere Sprache zu verstehen. Eine mögliche Konsequenz wäre, dass der Computer für jeden möglichen Satz einfach raten muss, was er bedeutet. In etwa so, wie wenn du entführt worden wärst und irgendwo aufwachst, wo niemand eine Sprache spricht, welche du kennst.

Wenn ein Computer nichts versteht, wieso gibt es dann überhaupt Chatbots und wie verstehen sie dich? Ein Computer kann zwar nicht die Bedeutung von Worten und Sätzen erkennen, aber er kann die Strukturen in der Sprache identifizieren. Mit diesen Strukturen können Programmierer dann eine entsprechende Logik bauen. Die Erkennung und Verarbeitung dieser Strukturen aus Sprache ist der Fokus von NLP.

Das ist jetzt alles sehr abstrakt, aber mit dem folgenden Beispiel wird das verständlich.

Natural Language Processing Strukturen

Nehmen wir an wir haben einen Chatbot, der mir sagen kann, wo ich etwas kaufen kann und wo ich es entsorgen sollte. Der Chatbot fragt “Was möchtest du kaufen oder entsorgen?” und der Benutzer antwortet “Ich möchte meine alten, kaputten Lampen wegwerfen.”. Diese Antwort ist also die Eingabe, die der Chatbot erhält. Der Chatbot startet nun einen stufenweisen Prozess (auch Pipeline genannt) um die nötigen Strukturen zu erkennen.

Die erste Struktur, die erkannt wird, sind die Grenzen der Sätze und Wörter. Für uns ist es immer klar welches die Worte sind, aber für den Computer ist es das nicht. Die Auftrennung in einzelne Worte nennt sich Tokenisierung. Er muss “wissen”, dass Satzzeichen nicht zum Wort gehören, also ist das Wort “alte” und nicht “alte,”. Er muss auch wissen, dass nicht jeder Punkt ein Satzende ist und allenfalls Abkürzungen auflösen.

Struktur 1: “Ich”, “möchte”, “meine”, “alten”, “kaputten”, “Lampen”, “wegwerfen”

Als Zweites geht es darum, die Grundform der Worte zu finden. Wir Menschen müssen nicht für jedes Wort die Grundform bestimmen um es zu verstehen. Für einen Computer ist es aber sehr nützlich die Anzahl verschiedener Wortformen zu reduzieren. Denn dies führt dazu, dass der Computer erkennt, dass er "Lampe" und "Lampen" in vielen Fällen gleichwertig behandeln darf. Zum Beispiel hat der Satz “Wir möchten eine Lampe wegwerfen” für die wichtigsten Worte die gleichen Grundformen wie unser Beispielsatz. Entsprechend kann der Computer erkennen, dass diese 2 Sätze wohl gleich behandelt werden sollen. Die Bestimmung der Grundform nennt sich Lemmatisierung.

Struktur 2: “ich”, “mögen”, “mein”, “alt”, “kaputt”, “Lampe“, “wegwerfen”

Die dritte Struktur sind die Wortarten. Als Mensch ist uns die Wortart auch egal. Für den Computer ist dies jedoch hilfreich, da Substantive und Verben für die grobe Bedeutung eines Satzes meistens wichtiger sind als andere Wortarten. Ausserdem hilft uns die Bestimmung der Wortarten im nächsten Schritt. Die Bestimmung der Wortarten wird auch Part of speech (Pos) Tagging genannt.

Struktur 3: “Personalpronomen”, “Modalverb”, “Possessivpronomen”, “Adjektiv”, “Adjektiv”, “Substantiv”, “Vollverb”

Kannst du dich noch an den Grammatik-Unterricht in der Schule erinnern? Die Erkennung von Subjekt, Objekt und Verb, sowie weiteren grammatischen Konstrukten ist die zweitletzte wichtige Struktur. Der Computer führt eine Syntaxanalyse mit Hilfe eines Parsers durch. Er nimmt die drei bereits erstellten Strukturen und erstellt ein Modell, das die Abhängigkeiten der Worte innerhalb eines Satzes definiert. Im einfachsten Fall definieren wir Subjekt, Objekt und bedeutungstragendes Verb um die wichtigsten Teile des Satzes abzudecken.

Struktur 4: Subjekt “Ich”, Objekt “Lampen”, Vollverb “wegwerfen”

Erkennung der Absicht

Als letzte Struktur geht es jetzt um die Bedeutung der Eingabe. Wie gesagt, weiss der Computer nicht was eine Lampe ist oder was wegwerfen bedeutet. Aber um eine korrekte Antwort zu geben brauchen wir nur folgende Informationen: Will er etwas kaufen oder etwas entsorgen oder etwas Anderes? (Absicht/Intent) Was für eine Sache soll gekauft oder entsorgt werden? (Parameter/Entity) Das ist für uns die Repräsentation der Bedeutung. Für diese semantische Analyse benötigt der Chatbot eine Liste von möglichen Sachen (z.B. Lampe) über die wir Antworten geben können, sowie Beispiele für jede Absicht (kaufen, entsorgen).

Der Chatbot benutzt dann die bisher erkannten Strukturen um sie mit den Strukturen der Beispiele zu vergleichen und zu erkennen ob es sich um ein Kauf oder eine Entsorgung handelt, sowie wo im Satz sich die Sache, welche er kaufen oder wegwerfen will befindet.

Struktur 5: Absicht: 《entsorgen》 Sache: 《Lampe》

Als Ausgabe haben wir daraus die Struktur, die wir benötigen um zu erkennen was er wissen will und können aus einer konventionellen Datenbank diese Informationen laden, in diesem Fall wie man eine Lampe entsorgt.

Auch Sprachassistenten wie Alexa und Google Assistant funktionieren so. Dort wird zuerst die Spracherkennung durchgeführt. Diese wandelt das Mikrofonsignal in eine Zeichenfolge um. Danach wird die gleiche Erstellung von Strukturen durchgeführt.

Fazit

Ein Computer kann die tatsächliche Bedeutung eines Satzes heute nicht erkennen. In vielen Chatbots und Voicebots kommt Natural Language Processing zum Einsatz um aus dem Eingabetext des Benutzers stufenweise Strukturen zu extrahieren. Die finale Struktur ist so entworfen, dass der Chatbot die nötigen Angaben erhält, damit er die gewünschten Informationen aufbereiten kann.

Als Spezialisten für Chatbots und Voicebots zeigt Paixon dir gerne auf was heute mit NLP möglich ist und wo die Grenzen sind. Kontaktiere uns für deine Chatbot- und Voicebot-Bedürfnisse.


David Klaper Foto

David Klaper


David ist Sprachtechnologie-Experte und ein erfahrener Softwareentwickler. Dank seiner hervorragenden Ausbildung kann er mächtige Technologie von purem Hype unterscheiden und findet für jeden Kunden die passende Lösung.


Teile diesen Artikel: