Utterances – alle Eingaben Ihrer Besucher

Groß war das Medienecho, als bekannt wurde, dass die großen Plattformen von Apple, Amazon und Google Dialoge aus ihren Applikationen von Menschen prüfen lassen. Für alle, die sich damit ein wenig näher beschäftigt hatten, war es allerdings wenig verblüffend: Wenn ein Voicebot oder auch ein Chatbot eine Utterance (Äußerung) nicht erkennt, was soll er dann tun? Und: Wenn der Voicebot/Chatbot es nicht versteht, wer anders als Menschen könnte ihm helfen? Natürlich kann man das explizit ausschließen, dann helfen nur von anderen Nutzern erlaubte Utterances bei der Verbesserung. Doch worum geht es genau? Um es präzise zu formulieren: Wenn Sie einen Voicebot oder Chatbot einsetzen und die Verstehensquote nicht hoch genug ist, müssen Sie prüfen, woran das liegt. Und dem Bot helfen, indem Sie die nicht verstandenen Utterances den Intents zuordnen. Wie das beispielsweise mit Dialogflow funktioniert, erfahren Sie im Beitrag zum Training. Doch zunächst zu den Grundlagen.

Alle Eingaben eines Nutzers im Chatbot bezeichnet man als Utterances (aus dem Englischen, utterance = Äußerung). Dabei ist zunächst unerheblich, ob ein Kontext vorhanden ist oder welche Inhalte vorhanden sind. Auch die Länge oder die Wortanzahl spielt keine Rolle. Eine Äußerung muss nicht einmal ein bekanntes Wort enthalten, auch Kurzformen wie „nö“ oder Emojis sind möglich.

Zusammenspiel Utterances und Intents

Ein Intent enthält typischerweise mehrere Utterances. Anders gesagt: Es gibt verschiedene Möglichkeiten einen Kaffee oder einen Espresso zu bestellen. Diese verschiedenen Möglichkeiten entsprechend in ihrer Unterschiedlichkeit den Utterances, die als Beispiele hinterlegt werden.

Damit der Chatbot eine Utterance sicher zuordnen kann, ist ein Entity nützlich. Im Entity befindet sich die Angabe, worum es geht – also Kaffee oder Espresso. Mit verschiedenen Entities können die gleichen Beispiele unterschiedlichen Intents zugeordnet werden. „Ich möchte … bestellen“, kann mit der Entity Getränke andere Bestellungen einsammeln als mit der Entity Speisen.

In Verbindung mit den Entity-Inhalten kann also die gleiche Formulierung in mehreren Intents genutzt werden – Äußerungen von Menschen unterscheiden sich ja auch meist genau an dieser Stelle, am Objekt –, um unterschiedliche Intents auszulösen. Ob im Anschluss eine Aktion erfolgt oder nur eine Antwort, ist Bestandteil der Konzeption der Intents.

Der Score-Wert entscheidet
Zusammenspiel Utterances und Intents

Die einzelne Utterance nutzt der Chatbot zur Intenterkennung. Kann er mit hinreichend großer Wahrscheinlichkeit einen gespeicherten Intent identifizieren, löst er diesen aus. Zur Bewertung, ob eine Auslösung erfolgt, ermittelt der Chatbot einen Score-Wert durch Vergleich. Findet der Chatbot mehrere Intents oberhalb des Schwellenwerts, löst er den mit dem höchsten Score-Wert aus. Das Maximum ist typischerweise 1. Ab welchem Schwellenwert ein Intent als hinreichend sicher erkannt gilt, können Sie einstellen. Der Standardwert bei Dialogflow ist 0,3, alles, was darunter liegt, löst keinen spezifischen Intent aus.

Gibt es für keinen gespeicherten Intent keinen Score-Wert oberhalb des Schwellenwerts, löst der Chatbot den Default Fallback oder einen anderen Fallback-Intent aus. Dieser Intent enthält meist als Antwort einen Hinweis, dass die Eingabe nicht verstanden wurde. Es ist wenig zielführend, Verständnisprobleme des Chatbots durch Herabsetzen des Schwellenwerts zu lösen. Dadurch erscheint dann lediglich seltener der Fallback-Intent, aber die ausgelösten Intents müssen nicht zwingend zutreffend sein. Besser ist es, die Anzahl der unterschiedlichen Beispiele zu vergrößern.

Score-Werte prüfen

Sie können die Score-Werte in jedem uns bekannten Chatbot-Framework prüfen, um sich ein Bild von der Erkennungsqualität zu machen. Wenn Ihr Framework über eine Testmöglichkeit verfügt, verbirgt sich dort zumeist auch die Anzeigemöglichkeit des Score-Werts. Um ein Gefühl dafür zu entwickeln, wie stark sich kleine Änderungen in den Äußerungen auswirken, sollten Sie sich genaue und weniger genaue Übereinstimmungen näher ansehen. Wie stark der Score-Wert abfällt, hängt direkt mit dem Parsing und der Analyse der Eingabe zusammen. Es lassen sie keine Daumenregeln angeben. Die ermittelten Werte müssen auch nicht gleichbleiben: Durch das Machine Learning auf der Plattform kann die Erkennung besser werden.

Welche Toleranz ein Chatbot-Framework bei der Erkennung an den Tag legt, sollten Sie gezielt testen. Es ist nicht möglich, aus der Erkennung von „Nö“ für „nein“ abzuleiten, dass er auch „jo“ für „ja“ verstehen würde. Aber wenn Sie sicher wissen, dass „nö“ funktioniert, brauchen Sie diese Phrase nicht gesondert in den Intent aufzunehmen.

Aus den Erfahrungen lernen

Es dürfte klar sein, dass Sie oder jemand anderes nicht verstandene Eingaben prüfen und den Chatbot trainieren wird. Nur so wird sein Verständnis besser. Sie sollten allerdings unbedingt in Ihrer Datenschutzerklärung darauf hinweisen, dass Menschen die Dialoge ggf. prüfen und zu welchem Zweck sie das tun. Um Bedenken in Grenzen zu halten, sollten Sie außerdem darauf verweisen, dass Sie keine Eingaben zuordnen, wenn das nicht zwingend der Fall sein muss. Eine Terminvereinbarung ohne weitere Angaben zur Person hat nur bei sehr zuverlässigen Menschen einen Wert, macht aber eine Vorbereitung möglicherweise schwierig. Daher sollten Sie auch diese Information vermitteln: Es ist möglich, Dialoge zuzuordnen, aber das wird beispielsweise nicht zu Trainingszwecken gemacht. Eine Zuordnung erfolgt operativ, indem beispielsweise ein Name, eine Telefonnummer und der Anlass im Terminplaner gespeichert werden.

Erklären Sie außerdem, wie lange Sie die Dialoge in der identifizierbaren Form speichern und was mit den gespeicherten Daten geschieht. Sie können Dialoge nach dem Training löschen, die Anpassungen bleiben erhalten. Wie lange Sie sich Zeit lassen können, kann vermutlich aktuell niemand genau sagen. Allerdings wird Ihnen ein auf Datenschutzfragen spezialisierter Rechtsanwalt sagen können, ab welchem Zeitraum der Verweis auf den Erhebungszweck nicht mehr greift.

Wer trennen kann, der trenne

Wenn es möglich ist, sollten Sie zwischen datenabfragenden Dialogelementen und allgemeinen Utterances trennen. Natürlich kann es passieren, dass jemand schreibt: „Mein Name ist Tobias Meier, und ich brauche einen Werkstatttermin.“ Das wird aber wahrscheinlich sehr viel seltener vorkommen als eine anonyme Anfrage. Wenn Sie im Verlauf des Chats Daten abfragen, werden diese auch in das CRM gelangen. Sie werden das vermutlich wie ein Formular in Einzelschritten darstellen. Wenn Sie diese Intents namentlich klar kennzeichnen (z. B. Präfix CRM), können Sie sie beim Training ignorieren. Es befindet sich darin ja nichts, was mit dem Verständnis der Äußerungen zu tun hat.

Speicherung ist anbieterabhängig

Die DSGVO-konforme Speicherung persönlicher Daten im minimalen Umfang mit einem definierten Zweck ist das eine, die Verarbeitung dieser Daten irgendwo auf der Welt das andere. Das gern genutzte Dialogflow kommt in zwei Versionen: gratis und ohne DSGVO-Konformität oder in einer kostenpflichtigen, konformen Variante. Bei deutschen bzw. in der EU ansässigen Anbietern ist DSGVO-Konformität sehr wahrscheinlich. Darauf sollten Sie achten, um Verstöße zu vermeiden.

Bedenken Sie bitte: Jede Eingabe im Chatbot geht auch an die Plattform, das ist nur zu vermeiden, wenn Sie den Chatbot selbst hosten. Auch die Trennung zwischen trainingsrelevanten Utterances und Dateneingaben löst die Verarbeitungsfrage nicht, denn der Chatbot verarbeitet typischerweise alles. Und sei es auch nur, um es in ein Entity zu schreiben.