Grundbegriffe Chatbots

Drei bzw. vier Grundbegriffe lesen Sie bei Chatbots immer wieder. Hier finden Sie die Kurzerläuterungen zu Utterance, Intent und Entity. Auf das Zusammenspiel gehen einzelne Beiträge genauer ein. Sie finden jeweils den Link dazu. Anhand zweier Beispiele werden die Spezifika verdeutlicht: Einmal mit der Aktion, eine Lampe einzuschalten (vergleichbar einem Voice-Bot wie Alexa), einmal mit einer Flugbuchung.

Die Erläuterungen beziehen sich auf typische, NLP-basierte Chatbots. NLP steht für Natural Language Processing. NLP-Chatbots erkennen auch abweichende Formulierungen und sind daher in der Eingabe freier. Mehr dazu finden Sie hier.

Voice-Bots arbeiten im Prinzip genauso wie Chatbots, allerdings wird zunächst eine Spracherkennung vorgenommen. Dann verarbeitet der Voice-Bot das Resultat genauso wie die Eingabe in einem Chatbot.

Utterances (Äußerungen)

Typische Beispiele:

  • Ich möchte …
  • Haben Sie …
  • Ich brauche …
  • Können Sie …
  • Ich will …

Utterances (Äußerungen) sind alles, was in den Chatbot eingegeben wird. Die meisten Äußerungen enthalten ein Ziel, eine Absicht. Bei einer Eingabe versucht der Chatbot, die Äußerung den vorab eingegebenen Absichten zuzuordnen. Ist das nicht möglich, reagiert der Chatbot mit einem Fallback-Intent wie: „Das habe ich nicht verstanden.“

Da Äußerungen mit identischer Absicht ganz unterschiedlich sein können, werden sie als Beispiele in einem Intent zusammengefasst. Diese Beispiele helfen bei der Verarbeitung, den passenden Intent zu finden. Typische Äußerung für das Lampenbeispiel wären: „Schalte … ein“, „Ich möchte Licht in …“usw.  Für die Flugbuchung wären mögliche Äußerungen: „Ich möchte von … nach … fliegen). „Ich suche einen Flug …“ oder auch „Ich muss nächsten Montag nach …“

Da sich Absichten anhand des Zieles unterscheiden lassen („Schalte das Licht in der Küche ein.“ „Schalte das Licht im Bad ein.“), können Äußerungen nahezu identisch sein. Die Unterscheidung erfolgt dann über die Zuordnung zu Intents und durch Zuweisung des Objekts zu einem Entity.

Hier finden Sie mehr zum Grundbegriff Utterances.

Intents (Absichten)

Typische Beispiele:

  • Pizza bestellen
  • Zusätzlichen Käse ordern
  • Werkstatt-Termin festlegen
  • Zimmer buchen
  • Produkt suchen

Kommunikation mit einem Chatbot beginnt (meist) mit einer Äußerung, der Absicht („Ich möchte …“ oder „Kann ich …“ usw.). Je nach Komplexität genügt eine Äußerung („Schalte das Licht in der Küche ein.“) oder der Chatbot benötigt zur Flugbuchung weitere Informationen. Wie in einem Gespräch zwischen Menschen, erfragt er diese Informationen meist in mehreren Schritten. Anhand vorhandener Beispiele versucht der Chatbot dann, einer Eingabe (Äußerung) einen Intent zuzuordnen.

Bei mehrschrittigen Kommunikationen verwendet man oft für jeden Schritt eigene Intents. Auf diese Weise ist die Zuordnung erfolgreicher. Die erhaltenen Informationen speichert und verarbeitet der Chatbot dann in Slots/Entities. Sie können auch an andere Applikationen weitergegeben werden.

In einem Intent stehen mehrere verschiedene Beispiele von Äußerungen, anhand derer die Absicht identifiziert werden kann. Da sich Äußerungen manchmal nur in Objekten unterscheiden, werden die Beispiele dann in jedem Intent angepasst, das jeweilige Objekt dem entsprechenden Entity zugeordnet. Die Äußerung, „ich möchte nach München fliegen“, unterscheidet sich von, „ich möchte ab München fliegen“, nur an einer Stelle, diese ist aber entscheidend. Es werden daher entweder zwei Intents (Flug nach und Flug ab) benötigt oder zwei Entities: Startflughafen, Zielflughafen. Ideal ist die Kombination beider Ansätze: zwei Intents und zwei Entities.

Hier finden Sie mehr zum Grundbegriff Intents.

Näheres zum Zusammenspiel zeigt der Beitrag über Intentmissverständnisse.

Slots/Entities (Slot: Aussparung; Entity: Objekt/Einheit)

Typische Beispiele:

  • Pizza-Toppings
  • Automarke
  • Produktname
  • Produktnummer
  • Startdatum

Die Begriffe Slots/Entities werden häufig synonym gebraucht und dienen als Variablen zur Erfassung und Verarbeitung von festgelegten Informationen. Jeder Informationseinheit wird ein Slot, ein Entity zugeordnet. Der Begriff „Einheit“ meint dabei „ein Ganzes“, ein Objekt, keine Maßeinheit o. ä. Beim Lichtbeispiel wäre das die Lampe oder der Raum, bei der Flugbuchung Start und Ziel, Datum, Zeit, Fluglinie, Klasse usw. Typischerweise werden die Slots über Intents schrittweise abgefragt bzw. „gefüllt“. Der Chatbot verwaltet dann einen Slot für den Startflughafen, einen für den Zielflughafen usw. Im Slot, in der Entity wird diese Angabe als Wert gespeichert und verarbeitet.

Für diese Werte können die Entities Strukturinformationen verwalten (ein Datumsformat, ein numerischer Wert, ein Text). Allerdings sind die meisten Slots nicht über Äußerungen beliebig füllbar, sondern verfügen bereits über vorgegebene Inhalte. Auf diese Weise ist nicht nur ein Abgleich möglich, sondern auch eine Verbesserung der Intenterkennung. Die vorhandenen Inhalte können mit Synonymen versehen werden, um auch alternative Begriffe zuordnen zu können.

Hier finden Sie mehr zum Grundbegriff  Entities.