
Ihr Chatbot ist online, und nicht alles läuft rund? Dann ist Chatbot-Training angesagt. Jede Plattform ermöglicht es, den Chatbot zu trainieren, um sein Verständnis für die Eingaben (utterances) zu verbessern. Dieser Text orientiert sich an Dialogflow, einer der bekanntesten Plattformen. Da eigentlich alle Chatbots aber über die Komponenten Intents und Entities verfügen, können die wesentlichen Arbeitsweisen beim Chatbot-Training zumindest vorgestellt werden.
Schon zum Launch sollte die „Verstehensquote” bei mindestens 80 % liegen. Diese Quote beschreibt, wie viele der Eingaben der Chatbot erfolgreich verstehen und verarbeiten konnte. Für die Verarbeitung benutzt ein KI-Chatbot eine sogenannte NLP-Unit (Natural Language Processing; Verarbeitung natürlichsprachlicher Eingaben). Sie zerlegt und interpretiert die Eingabe. Um die Verarbeitung zu verbessern, ermöglicht die Plattform Dialogflow das Trainieren des Chatbots. Weitere Informationen zu Chatbot-Plattformen finden Sie hier.
Ein Verfahren aus der Künstlichen Intelligenz, Machine Learning, verbessert mit jeder Eingabe die Zerlegung und die Interpretation. Allerdings ist es nicht möglich, die Fortschritte genauer zu prognostizieren oder auch nur zu qualifizieren. Die Künstliche Intelligenz im Hintergrund ist eine Blackbox. Auch wenn Sie sich auf die KI-Fähigkeiten hinter der NLP verlassen möchten, sollten Sie Ihren Chatbot regelmäßig auf sein Verständnis der Kundeneingaben prüfen und nach Möglichkeit gezielt gegensteuern, wenn Unverständnis oder Missverständnisse auftreten.
Im folgenden wird ein Best Practice-Ansatz Chatbot-Training mit Dialogflow dargestellt. Der Chatbot arbeitet auf einer Online-Plattform mit Anbindung an ein CMS. Er soll Kundendaten aktuell halten und ergänzen, allgemeine Fragen (FAQ) beantworten, zu gesuchten Begriffen oder Kombinationen eine Datenbank abfragen. Und er kann ein bisschen Smalltalk.
Zu Beginn standen ca. 70 Intents ohne Smalltalk zur Verfügung, im Bereich Smalltalk waren es ca. 60 beim Start. Am Ende des Chatbot-Trainings lag die Zahl der Smalltalk-Intents mehr als doppelt so hoch, bei den anderen waren es ca. 35 % mehr. Man sagt oft, dass rund 100 Intents (ohne Smalltalk) in den meisten Fällen ausreichen. Das käme in diesem Fall hin.
Das Chatbot-Training erfolgte über rund sechs Wochen regelmäßig. Es erfolgte eine tägliche Kontrolle der Chatverläufe von Montag bis Freitag auf Unverständnis oder Missverständnisse. Schwächen wurden im Training korrigiert.
Die Datenbank blieb über den Betrachtungszeitraum unverändert, es wurden weder Stichwörter ergänzt noch korrigiert. Verbesserungen der Suchleistung können daher dem Training zugeschrieben werden.

Die geführten Dialoge wurden im Trainingsmodus von Dialogflow betrachtet. Dazu listet Dialogflow sie zeitlich absteigend mit der Angabe der Schrittanzahl und der Anzahl nicht zugeordneter Intents auf. Wir konnten uns aufgrund der Spezifika auf Dialoge beschränken, die mindestens zwei Intents getriggert hatten oder direkt mit einer Suche begannen.
Dialogflow führt jeden Einzelschritt auf, nennt den Intent, markiert den einem Entity zugeordneten Textblock und nennt das Entity. Nicht oder falsch verstandene Eingaben können Sie auf diese Weise leicht erkennen und das Problem identifizieren.
Charakteristisch für Chatbots ist das Nichtverstehen einer Nutzereingabe, weil diese den als Beispiel für die Intents eingegebenen Textsequenzen nicht ausreichend entspricht (mehr dazu unter Utterances). Ob es sich in einem solchen Fall um den Satz, einen einzelnen oder mehrere Begriffe oder um Vertipper handelt, kann – wenn überhaupt – aktuell nur der menschliche Bearbeiter identifizieren.
Vergleichsweise einfach sind Probleme nicht erkannter Intents zu lösen, denn Sie markieren die entsprechende Eingabe und ordnen sie dem richtigen Intent zu. Normalerweise antwortet ein Chatbot bei Unverständnis mit dem leicht identifizierbaren Fallback-Intent („Entschuldigung, das habe ich nicht verstanden.“). Kann die Eingabe einem vorhandenen Intent zugewiesen werden, ordnen Sie sie beim Chatbot-Training einfach dem passenden Intent zu. Klicken Sie dazu links unten auf den angegebenen Intent und suchen Sie den gewünschten über die Eingabemöglichkeit. Passenden Intent auswählen und dann rechts oben bestätigen. Das war’s. Den Erfolg können Sie direkt durch Aufruf des Intents und Kontrolle der Eingabebeispiele prüfen.

Für falsch erkannte Intents ist die Vorgehensweise nahezu identisch. Der Unterschied besteht darin, dass Dialogflow statt des Fallback-Intents den Namen des identifizierten Intents anzeigt.

Interpretiert Dialogflow bestimmte Eingaben trotz Chatbot-Training immer wieder falsch, kann ein zusätzlicher Intent die Abgrenzung erleichtern. Ggf. können Sie die Erkennung auch über einen zusätzliche Entity verbessern. Hier finden Sie mehr über Intentmissverständnisse.

Schwieriger ist es, wenn Entities nicht richtig erkannt oder falsch zugeordnet werden (mehr zu Entities). Werden in einem Chatbot Zahlenangaben in Entities genutzt, kann schon der unbestimmte Artikel „ein“ zum Problem werden, weil er als Anzahl interpretiert werden kann. Dann müssen Sie im Chatbot-Training diese Zuordnung explizit entfernen. Klicken Sie die Annotierung an und entfernen Sie die Annotierung durch einen Klick auf den Mülleimer. Danach wird die Anpassung rechts oben bestätigt.

Erkennt Dialogflow einen Begriff oder eine Kombination zwar, ordnet sie aber nicht vollständig dem Entity zu, muss passend markiert und zugewiesen werden. Künftig erfolgt die Erkennung deutlich sauberer.

Verwenden Sie Smalltalk-Intents, sind die 80 % Verstehensquote schnell Illusion. Das kann schon bei höflichen Menschen beginnen, die sich für eine Auskunft förmlich bedanken. Das wird schnell mal vergessen, wenn man Smalltalk-Intents erstellt.
Gehen Sie davon aus, dass sich Smalltalk-Intents im Chatbot-Training vervielfachen. Im Beispiel hat sich die Zahl innerhalb von sechs Wochen mehr als verdoppelt. Es waren allerdings auch viele Smalltalk-„Bedürfnisse“ zu bemerken.
In Dialogflow ist ein fehlender Intent zwar rasch nachgepflegt, ist dann aber noch nicht passend ausgestaltet. Sie können einfach innerhalb des Trainingsmoduls auf den falschen Intent klicken, dann öffnet sich eine Übersicht, in der Sie den richtigen finden oder mit „Create new“ einen neuen erstellen können. Die Neuerstellung führt Sie also nicht aus dem Training heraus, Sie sollten aber später die Utterances nachziehen.
Unterscheiden sich zwei Intents zwar inhaltlich, aber sprachlich nur geringfügig (Extremfälle: „Du bist ein Idiot.“ oder „Du bist kein Idiot.“ bzw. „Du bist wunderbar.“ oder „Du bist wunderlich.“), kann es später helfen, in den Utterances mehrere Beispiele zur Unterscheidung zu liefern.
Es ist nützlich, die Bearbeitungsschritte zu dokumentieren. Wir haben dazu eine Excel-Tabelle genutzt. Durch Dokumentieren sehen Sie, welchen Aufwand Sie in welcher Phase wirklich treiben (müssen). Außerdem können Sie Standards erarbeiten, wenn außer Ihnen noch andere den Chatbot trainieren. Wenn klar ist, wie bestimmte Eingaben zugewiesen werden sollen, kann man sich daran gut orientieren.
Zweiter großer Vorteil von Excel: Sie können relativ leicht zusätzliche Schwerpunkte angeben, die AutoFill-Features zur Arbeitserleichterung nutzen und die Probleme auswerten. Bei unserem Beispielchatbot kam heraus, dass rund 20 % der nicht gefundenen Suchbegriffe auf Defizite in der Datenbank zurückgingen.

Mit diesem Vorgehen haben Sie eine permanente Erfolgskontrolle, wie gut Ihr Chatbot arbeitet. Damit können Sie unternehmensintern nicht nur dokumentieren, was Sie tun, sondern auch, dass sich Ihr Chatbot-Training auszahlt. Greifen Sie die Überlegung der Excel-Tabelle auf, können Sie auch Auffälligkeiten schnell erkennen und deren Anteil an den Problemfällen ermitteln.
Im Rahmen des geschilderten Verfahrens nahmen die Aufwände für das Training immer stärker ab. Das war sowohl in quantitativer wie in zeitlicher Hinsicht zu beobachten.
Martin Koch