· 4 min read

Hey Neo, wo kann ich eine Maske kaufen? - Absichtsklassifizierung (Intent Classification)

Alles, was Sie darüber wissen müssen, wie Chatbots korrekt auf Ihre Anfragen antworten

Das Verstehen und korrekte Beantworten von Eingaben ist ein entscheidender Bestandteil jeder Konversation mit virtuellen Assistenten. Der Prozess der Erkennung des Ziels hinter einer Eingabe wird im Natural Language Processing (NLP) auch als Absichtsklassifizierung (Intent Classification) bezeichnet. In diesem Artikel wollen wir ein wenig über diese Aufgabe sprechen und warum sie für Chatbots so wichtig ist.

Bei der Entwicklung eines aufgabenorientiertes Dialogsystem, dass z.B. bei einer Hotelbuchung oder dem Finden eines Geschäftes in der Nähe unterstützt, ist es wichtig die Absicht (“intent”) des Nutzers korrekt mithilfe von Methoden des Natural Language Understandings (NLU) zu erkennen. Das Verstehen von Benutzeranfragen in natürlicher Sprache ist ein entscheidender Bestandteil einer erfolgreichen Konversation eines Nutzers mit einem Chatbot. Eine Anfrage kann nur dann richtig beantwortet werden, wenn der Chatbot diese inklusive deren Absicht auch richtig versteht.

In diesem Blogartikel wird zunächst ein Überblick darüber gegeben, was eine Absichtsklassifizierung ist, warum diese wichtig ist, um dann zu erklären wie man einen Datensatz entwirft, auf dem man ein maschinelles Lernmodell trainieren kann um diese Aufgabe zu lösen.

Was ist eine Absichtsklassifizierung?

Das Klassifizieren von Absichten ist die Aufgabe, eine umgangssprachliche Äußerung, die unsere Modelleingabe darstellt, aus einer vorgegebenen Menge von Absichten korrekt zu erkennen. Wir können dies als eine Klassifizierungsaufgabe mit mehreren Klassen behandeln und dafür ein diskriminatives Machine Learning (ML) Modell trainieren, um die richtige Absicht in Form eines “Absicht-Labels” vorherzusagen [1].

Beispiel: Absichtsklassifizierung im Anwendungsfall “Covid” auf Deutsch

Intent Classification Example

Stellen Sie sich den Anwendungsfall im Themenbereich “Covid” vor, in dem der Benutzer eine Maske kaufen möchte und den Chatbot fragt, wo er diese Maske kaufen kann. Für eine Absichtsklassifizierung ist die Nutzeraussage “Wo kann ich mir eine Maske kaufen?” die Modelleingabe. Im Anschluss an den Vorverarbeitungsschritt der Vektorisierung, der die semantische Bedeutung der Nutzeräußerung in einen Vektor fester Größe übersetzt, wird dieser als Eingabe dem ML-Modell übergeben. Die folgende Ausgabe des Chatbots ist dann die klassifizierte Absicht (“covid_masks”), welche die höchste vom ML-Modell vorhergesagte Wahrscheinlichkeit aller “Absicht-Labels” hat.

“Not all chatbots are created equal”[2]

Es wurde bereits in vielen Anwendungsfällen gezeigt, dass ein Chatbot-System, dass sich auf eine einzige Domäne und eine einzige Sprache konzentriert gute Ergebnisse liefert [3]. Die Entwicklung eines Chatbot-Systems, das mehr kann als nur eine Reihe spezifischer Fragen in einem einzigen Bereich zu beantworten, erfordert jedoch in der Regel viel zusätzlichen Aufwand. Mehrsprachige und domänenübergreifende Chatbots erweitern die Fähigkeiten der zuvor erwähnten einfacheren Chatbot-Systeme durch ihre Fähigkeit, mehrere Sprachen zu beherrschen und in einem domänenübergreifenden Setup gut zu funktionieren. Die Entwicklung eines solchen mehrsprachigen und domänenübergreifenden Chatbots ist eines der Projektziele des vorgestellten Multi2ConvAI-Projekts. Der komplexe Aufbau ist besser für den Einsatz in der realen Welt geeignet, erfordert jedoch einen höheren Aufwand bei der Sammlung von Trainingsdaten und dem Modelltraining. Daher ist die Entwicklung eines Chatbots, der für die Unterstützung im täglichen Leben eingesetzt wird nicht trivial.

Warum ist das Erkennen der Benutzerabsichten so wichtig?

Die Erkennung von Benutzerabsichten kann als erster Schritt betrachtet werden, damit das Dialogsystem versteht, was der Benutzer wünscht. Die korrekte Klassifizierung der Absicht des Benutzers, insbesondere des Grundes warum er/sie die Konversation überhaupt begonnen hat, ist eine entscheidendes Vorraussetzung für Chatbots, um in ihrem sozialen und wirtschaftlichen Umfeld erfolgreich agieren zu können. Wenn die Absicht des Benutzers anfangs richtig eingestuft wurde, kann das System dann im Folgenden präzise Maßnahmen ergreifen oder zusätzliche Fragen stellen, um die Bedürfnisse des Benutzers zu erfüllen.

Wie entwirft man einen passenden Datensatz?

Für das Training eines ML-Modells zur Absichtsklassifizierung werden Daten benötigt, bei denen Benutzeraussagen mit den entsprechenden Absichten in Form von Labels gepaart sind. Wie umfangreich diese Trainingsdaten sein müssen, hängt von der Komplexität des Szenarios ab, mit dem der Chatbot umgehen soll. Wenn die Aufgabe einfach ist (z. B. eine einzige Domäne), können regelbasierte Methoden ausreichen, um die Aufgabe der Intent-Klassifizierung gut zu bewältigen. Handelt es sich jedoch um ein mehrsprachiges oder multi-domänen Nutzerszenario, dann wäre ein komplexerer Deep-Learning-Ansatz besser geeignet.

[1] Charles Costello, Ruixi Lin, Vishwas Mruthyunjaya, Bettina Bolla, and Charles Jankowski. Multi-layer ensembling techniques for multilingual intent classification. CoRR, abs/1806.07914, 2018.

[2] Scott Horn, Why business chatbots must understand customer intent, https://venturebeat.com/2017/03/01/why-business-chatbots-must-understand-customer-intent/, March, 2017

[3] Nikola Mrkšić́, Diarmuid O Séaghdha, Tsung-Hsien Wen, Blaise Thomson, and Steve Young. 2016. Neural belief tracker: Data-driven dialogue state tracking. arXiv preprint arXiv:1606.03777.

[Top]

Share:
Zurück zu Blog