KI & Daten

Erwartungsmanagement: Warum es klug ist, stumme Chatbots zu bauen

Erwartungsmanagement trifft Chatbot: Einige Gedanken zum Abgleich von Erwartungen und Benutzererfahrung für einen besseren Chatbot.

Mai 2020
25
min Lesezeit
Daniel Wessel
Machine Learning Specialist
AI Cluster Lead bei Motius
Diesen Beitrag teilen

In vielen unserer Projekte kommen unsere Kunden mit einem gemeinsamen Anliegen zu uns: Sie wollen einen Chatbot bauen, der jede relevante Frage sofort und ohne menschliches Zutun beantworten kann. Klingt nach einem coolen Projekt, oder?

Leider ist ein solches Projekt oft mit vielen unvorhergesehenen Fallen und Problemen behaftet. Da die erforderliche Technologie für die Entwicklung eines so leistungsfähigen Chatbots noch nicht wirklich existiert, müssen die Entwickler oft Abstriche machen, um einen dummen Chatbot intelligent erscheinen zu lassen. Aber vielleicht gibt es eine bessere Lösung. Vielleicht müssen wir unsere Erwartungen korrigieren. Vielleicht ist es klüger, stumme Chatbots zu bauen.

Was Benutzer von Chatbots erwarten

Lass uns zunächst mit zwei kurzen Definitionen beginnen:

Dummer Chatbot: ein einfacher, dedizierter Chatbot mit einem bestimmten Arbeitsablauf für ein bestimmtes Problem. Ein Beispiel ist ein Bot für die Bearbeitung von Umfragen im Kundenservice. Intelligenter Chatbot: ein hochentwickelter Chatbot mit der Fähigkeit, mehrere Probleme zu lösen. Diese Chatbots könnten eher als intelligente persönliche Assistenten denn als Chatbots betrachtet werden. Ein Beispiel sind intelligente Assistenten wie Siri, Alexa oder Google Assistant. Meistens bewegen sich die Erwartungen der Nutzer an Chatbots zwischen zwei Extremen. Bei stummen Chatbots sind die Erwartungen meist begrenzt. In diesen Fällen ist der Chatbot oft nur eine weitere Methode zum Ausfüllen eines Formulars.

Bei intelligenten Chatbots jedoch geht ein Anstieg der Funktionalität mit einem Anstieg der Erwartungen der Nutzer einher. Auch wenn die Kluft zwischen dummen und intelligenten Chatbots groß zu sein scheint, kann ein dummer Chatbot sehr leicht versehentlich in den Bereich der intelligenten Chatbots übergehen, obwohl er für einen solchen Zweck entwickelt wurde oder gedacht ist. Mit zunehmendem Funktionsumfang steigen auch die Erwartungen der Benutzer, um dies an einem Beispiel zu verdeutlichen. Stellen Sie sich vor, Sie möchten einen Chatbot entwickeln, der den Zimmerbuchungsprozess für Benutzer innerhalb eines bestimmten Ökosystems abwickelt. Dieser Chatbot folgt nur einem Arbeitsablauf, um ein bestimmtes Problem zu lösen, d. h. er ist ein stummer Chatbot. Mithilfe bestehender Frameworks können Sie schnell eine funktionierende Lösung zusammenstellen und sie für die Nutzer bereitstellen.

Irgendwann in der Zukunft möchten Sie dann eine neue Funktion einführen, z. B. eine Funktion, die verschiedene Personen innerhalb des Ökosystems bei Problemen miteinander verbindet. Da du bereits einen Chatbot implementiert hast, mit dem die Nutzer jeden Tag interagieren müssen, beschließt du, diesen neuen Arbeitsablauf einfach zu dem bestehenden Chatbot hinzuzufügen. Plötzlich ist dein Chatbot nicht mehr der "Raumbuchungs-Chatbot", sondern der "Ökosystem-Chatbot". Mit dieser kleinen Änderung werden sich die Erwartungen Ihrer Nutzerbasis stark verändern, da von deinem Chatbot nun erwartet wird, dass er sich mit Aufgaben im Zusammenhang mit dem gesamten Ökosystem befasst, was ein viel größerer Bereich ist als nur die Zimmerbuchung.

Da Sie bereits Menschen miteinander verbinden, denken Sie, dass es hilfreich wäre, eine Funktion zu haben, die ähnliche Menschen automatisch durch ein Empfehlungssystem verbindet (ähnlich wie die Kontaktvorschläge auf LinkedIn). Eine weitere Funktion, ein weiterer Arbeitsablauf, und nun ist Ihr Chatbot nicht mehr nur reaktiv (er reagiert nur auf die Nachrichten eines Nutzers), sondern proaktiv (er kann Gespräche mit dem Nutzer beginnen). Wenn ein Chatbot eine Konversation mit einer offenen Nachricht wie "Hey, ich habe diese Person gefunden, mit der Sie sich verbinden sollten" oder "Hallo, ich bin Ihr persönlicher Assistent" beginnt, hat der Benutzer keine Hinweise darauf, wie er reagieren soll. Aus der Sicht des Nutzers weiß er nicht, welche Funktionen er erwarten kann, und reagiert möglicherweise auf unerwartete Weise. Wenn Sie schon dabei sind, ist es vielleicht an der Zeit, einige grundlegende Chat-Funktionen hinzuzufügen, wie z. B. Gespräche über das Wetter, Nachrichten oder den Verkehr? Durch das Hinzufügen solch harmloser Funktionen werden sich die Erwartungen Ihrer Nutzer erneut ändern. Sie haben nun nicht mehr einen Chatbot, der bestimmte Aufgaben erfüllt, sondern einen, von dem erwartet wird, dass er in der Lage ist, einfache Unterhaltungen zu führen. Wie Sie sehen, sind wir nach nur wenigen kleinen Änderungen von einem dummen Chatbot, der ein Problem sehr gut lösen kann, zu einem "intelligenten Chatbot" übergegangen, von dem erwartet wird, dass er viel mehr kann, als in der ursprünglichen Lösung vorgesehen war. Vom technischen Standpunkt aus wäre es zwar machbar, alle diese Funktionen in einem einzigen Chatbot zu implementieren, aber in diesem Szenario könnte die Implementierung eines oder mehrerer stummer Chatbots die bessere Option sein. Dies ist auf zwei Probleme zurückzuführen.

Die Erwartungskurve wächst unproportional. Das erste ist das Problem der Nutzererwartungen. Wenn die Funktionalität eines Chatbots zunimmt, steigen die Erwartungen der Nutzer an einen Chatbot viel schneller. Sobald die Leute bemerken, dass Ihr Chatbot ein paar verschiedene Anwendungsfälle sehr gut bewältigen kann, neigen Ihre Nutzer dazu, anzunehmen, dass er noch viel mehr kann. Dieses Problem lässt sich an unserem Beispiel der Zimmerbuchung verdeutlichen. Ohne viel Vorerfahrung in diesem Bereich könnte man erwarten, dass das Diagramm von Funktionalität und Nutzererwartungen in etwa wie folgt aussehen würde.


Diese Grafik zeigt, dass die Erwartungen der Nutzer an den Chatbot proportional steigen, wenn wir dem ursprünglichen Chatbot für die Raumbuchung neue Funktionen hinzufügen. Wenn wir jedoch neue Funktionen hinzufügen, entwickelt sich die Wahrnehmung des Raumbuchungs-Chatbots zu einem Chatbot für das gesamte Ökosystem, der Unterhaltungen beginnen und führen kann. Dann sieht die Erwartungskurve für den Chatbot eher wie folgt aus.


Bei jedem neuen Anwendungsfall, den ein Chatbot unterstützt, entkoppelt sich die Wahrnehmung der Nutzer darüber, was der Chatbot tatsächlich tun kann, von der Realität. Dies macht es schwierig, die Nutzer zufriedenzustellen, wenn ein Chatbot mehrere verschiedene Aufgaben übernehmen kann.

Eine interessante Anekdote: In den USA sind sogenannte "Robocalls" seit einiger Zeit sehr beliebt. Dabei handelt es sich um Anrufe von Chatbots, die bestimmte Vorgänge wie Kundenwerbung oder Kundendienst automatisieren sollen. In den letzten Jahren haben sie jedoch versucht, sich wie Menschen zu verhalten und anzuhören. Obwohl sie die menschliche Sprache recht gut imitieren können, tun sie sich schwer mit der Beantwortung grundlegender Fragen wie "Wer ist der Präsident der USA", weil sie auf der Grundlage vordefinierter Pfade für verschiedene Eingaben handeln. Sobald der Benutzer eine unerwartete Eingabe tätigt, wissen sie nicht, was sie tun sollen, was dem Benutzer das Erlebnis verdirbt (er legt wahrscheinlich auf) und das Unternehmen daran hindert, sein Ziel zu erreichen.

Im Vergleich zu ihren Vorgängern versuchen diese "unechten menschlichen" Anrufer, den Nutzer davon zu überzeugen, dass sie auch eine echte Person sind. Dies ist jedoch kontraintuitiv, da die Erwartungen des Nutzers geweckt werden und er dadurch eher unzufrieden ist.


Den glücklichen Weg finden

Das zweite ist das Problem der unvorhergesehenen unglücklichen Wege. Bei der Entwicklung eines Chatbots versuchen die Entwickler, alle möglichen Wege zu finden, auf denen ein Benutzer mit dem Chatbot interagiert. Diejenigen, die dem erwarteten, vom Chatbot definierten Arbeitsablauf folgen, werden als glückliche Wege bezeichnet . Es ist auch möglich, dass ein Benutzer einen unbeabsichtigten Weg einschlägt, der auch als unglücklicher Weg bezeichnet wird. Wenn der Benutzer mit dem Chatbot über ein Freitext-Eingabefeld interagieren kann, ist die Anzahl der möglichen unglücklichen Pfade praktisch unendlich, so dass es für den Entwickler unmöglich ist, alle möglichen Optionen vorherzusehen. Dies kann zu vielen unbeabsichtigten Konsequenzen und unzufriedenen Benutzern führen. Aufgrund dieser beiden Probleme müssen wir uns fragen, ob die Erweiterung der Funktionalität sinnvoll ist.


Nlp, Nlu-Engines und die Technik hinter Chatbots

Ein Grund, warum die Erwartungen an Chatbots so hoch sein können, ist, dass die Nutzer oft nicht wissen, wie Chatbots aufgebaut sind. Manche denken, dass sie einfach aus "Wenn-dann"-Anweisungen bestehen, während andere denken, dass sie aus fortgeschrittenen KI-Lernmethoden bestehen, die auf jede Situation reagieren können. In Wirklichkeit liegen die meisten Chatbots irgendwo in der Mitte. Es gibt zwar einige bestehende Implementierungen, die nur glorifizierte "if-else"-Anweisungen sind, aber es gibt auch viele bestehende Frameworks und Tools für den Aufbau von Chatbots, die fortschrittlicher sind.

Mit Frameworks wie Rasa können Sie einen Chatbot erstellen, der die modernen Fortschritte im Bereich der Verarbeitung natürlicher Sprache (NLP) nutzt. Genauer gesagt können Sie mit dem Rasa-Framework Chatbots erstellen, die aus zwei Teilen bestehen: einer NLU-Engine (Natural Language Understanding) und einer Dialog-Engine (genannt Rasa Core). Die NLU-Engine nimmt die Eingabe des Benutzers (Äußerung) auf und versucht, die Absicht des Benutzers (Intention) und relevante Informationen/Daten (Entitäten) durch die Anwendung von maschinellem Lernen zu extrahieren. Die aus den Äußerungen des Benutzers extrahierten Informationen werden dann an die Dialog-Engine weitergeleitet, die auf der Grundlage der Benutzereingaben und des Kontexts der aktuellen Unterhaltung vorhersagt, welche Aktionen der Chatbot ausführen sollte. Einfach ausgedrückt: Die NLU-Engine erkennt, was der Nutzer will, und die Core-Engine bestimmt die Reaktion des Chatbots.


Grenzen der aktuellen Chatbot-Frameworks

So leistungsfähig diese Systeme auch sein mögen, sie haben leider auch ihre Grenzen. Ein Hauptproblem solcher Systeme ist, dass sie auf maschinelles Lernen und vorprogrammierte Antworten angewiesen sind.

So kann es vorkommen, dass die NLU-Engine für die Äußerung eines Benutzers die falsche Absicht vorhersagt. Dies kann insbesondere dann passieren, wenn nicht genügend Trainingsdaten vorhanden sind oder die Äußerung grammatikalisch nicht korrekt ist. Darüber hinaus kann der Benutzer beim Versuch, Entitäten wie Datum und Uhrzeit zu extrahieren, ein Format verwenden, das entweder unerwartet ist (z. B. die Verwendung des US-Formats Monat/Tag/Jahr, wenn ein Chatbot auf nicht-amerikanische Benutzer abzielt) oder zweideutig ist (wenn er einfach "um 8" für eine Uhrzeit sagt, obwohl das "um 8 Uhr morgens" oder "um 8 Uhr abends" bedeuten könnte). In solchen Fällen kann der Chatbot stecken bleiben und die vorprogrammierten Antworten sind möglicherweise nicht mehr hilfreich. Wenn Sie schon einmal in einer Schleife stecken geblieben sind, während Sie mit einem Chatbot gesprochen haben, wissen Sie genau, wovon ich spreche. Das ist frustrierend und schadet dem Benutzererlebnis. Im obigen Beispiel der Zimmerbuchung mussten wir einen Weg finden, das Eingabeformat zu steuern, damit der Chatbot genau weiß, was der Nutzer will und entsprechend reagieren kann. Auf diese Weise konnten wir Probleme vermeiden, die sich aus einer falschen Absichtsvorhersage und unerwarteten/uneindeutigen Entity-Formaten ergeben. Bis zu einem gewissen Grad ist es immer möglich, die Eingaben des Benutzers so zu steuern, dass sie in ein bestimmtes Format passen. Anstelle eines Textfeldes, in das der Benutzer schreiben kann, was er will, können Sie eine Kombination aus Schaltflächen, Auswahlmöglichkeiten für Entitäten (z. B. Datum/Uhrzeit) und anderen Chat-Elementen verwenden, um sicherzustellen, dass die Eingaben des Benutzers richtig verstanden werden. Im Fall des Chatbots für die Zimmerbuchung haben wir das Problem der Entitätsextraktion durch die Implementierung von Datums-, Zeit- und Dauer-Pickern gelöst, die die Benutzereingaben automatisch im gewünschten Format an den Chatbot weitergeben. Aber manchmal ist es nicht so einfach, Probleme mit Chatbots zu lösen.


Glückliche Pfade halten den Benutzer und den Entwickler bei Laune

Wie bereits erwähnt, ist ein glücklicher Pfad ein Pfad, der vom Chatbot erwartet und definiert wird, um einen bestimmten Arbeitsablauf abzuschließen. Einfach ausgedrückt, ein Chatbot folgt einem glücklichen Pfad, wenn der Benutzer sich auf den Chatbot einlässt, alle richtigen Dinge sagt und am Ende das gewünschte Ergebnis erzielt wird. Zur Veranschaulichung eines glücklichen Pfades können Sie sich die folgende Konversation als Beispiel vorstellen.


Es gibt vor allem zwei Möglichkeiten, wie der Chatbot die glücklichen Pfade verlassen und auf einem so genannten unglücklichen Pfad landen kann. Der erste ist auf Probleme auf der Softwareseite des Chatbots zurückzuführen. Dazu können Fehler oder Ausnahmen gehören, die vom Chatbot selbst oder von externen Systemen, in die er integriert wurde, ausgelöst werden. In diesen Fällen muss der Entwickler sicherstellen, dass er alle möglichen Probleme abfängt, bevor sie den Endbenutzer erreichen. Eine Möglichkeit, dies zu tun, besteht darin, für jeden Schritt, bei dem ein Fehler auftreten kann, eine Fallback-Aktion vorzusehen.

Die zweite Möglichkeit, wie der Chatbot auf einen unglücklichen Weg geraten könnte, sind unerwartete Benutzereingaben. Wie bereits erläutert, haben moderne Chatbot-Frameworks ihre Grenzen, die sie anfällig für unerwartete Benutzereingaben machen. Im Folgenden finden Sie ein Beispiel für einen unglücklichen Pfad, der durch einen Benutzer verursacht wurde.


Unglückliche Pfade, die durch Benutzereingaben verursacht werden, sind viel schwieriger zu handhaben und erfordern von den Entwicklern viel mehr Aufwand, um sie zu vermeiden. Wenn du neue Arbeitsabläufe und Funktionen zu deinem Chatbot hinzufügst, wird die Komplexität deines Systems zunehmen, was es für deine Entwickler schwieriger macht, es zu pflegen und zu erweitern. Noch wichtiger ist, dass die Wahrscheinlichkeit steigt, dass ein Benutzer auf einem unglücklichen Weg landet, was zu unzufriedenen Benutzern und unzufriedenen Entwicklern führt.

Die Frage ist also, wie wir die Nutzer davon abhalten können, von den glücklichen Pfaden abzuweichen.


Fokus auf Benutzererfahrung

Um diese Frage zu beantworten, müssen wir zunächst eines der Hauptziele von Chatbots klären, nämlich die Verbesserung der Benutzererfahrung (UX) in einem bestimmten Anwendungsfall. Niemand sollte einen Chatbot bauen, der es dem Nutzer erschwert, Aufgaben zu erledigen, die er mit einer herkömmlichen Benutzeroberfläche leicht erledigen könnte. Mit Blick auf unser obiges Beispiel bedeutet die Verbesserung der UX, dass Aufgaben wie die Buchung von Zimmern, das Knüpfen von Kontakten oder das Einholen von Expertenrat über einen Chatbot einfacher sein sollten als über herkömmliche Methoden. Verbessert ein Chatbot, der Zimmer über eine einfache Texteingabe buchen kann, die UX? Wenn er richtig implementiert ist, ja. Aber verbessert ein Chatbot, der die Eingaben eines Nutzers missversteht oder leicht in unglückliche Bahnen gerät, die UX? Ich bezweifle es.

Die einfachsten und effektivsten Möglichkeiten, um sicherzustellen, dass die Nutzer auf einem guten Weg bleiben, sind folgende: Schränken Sie die Art und Weise ein, wie der Nutzer mit dem Chatbot interagiert. Wenn der Chatbot vom Benutzer eine bestimmte Entität (Datum, Uhrzeit, Stadt usw.) in seiner Antwort auf eine Frage erwartet, sollte es eine Möglichkeit geben, um zu erzwingen, dass der Benutzer eine erwartete Eingabe macht. Es sollte eine Möglichkeit geben, wie Benutzer von einem Workflow zum nächsten springen können. Es wird zu einem Albtraum, wenn der Benutzer die Freiheit hat, den Gesprächsfluss zu "kontrollieren". Der Chatbot sollte die Konversation kontrollieren, und wenn der Benutzer vom erwarteten Ablauf abweichen will, sollte er dies mit Rückfallaktionen/Nachrichten regeln. Halten Sie es einfach. Begrenzen Sie die Anzahl der Arbeitsabläufe im Chatbot. Je mehr Workflows Sie haben, desto höher sind die Erwartungen des Benutzers und desto wahrscheinlicher ist es, dass der Benutzer am Ende versucht, einen unglücklichen Weg einzuschlagen.


Ist es klug , dumm zu sein?

Bisher haben wir gesehen, dass die Entwicklung eines multifunktionalen Chatbots aufgrund von Nutzererwartungen und unglücklichen Wegen schwierig ist. Dies wiederum führt uns zu einer entscheidenden Frage: Wenn es schwierig ist, einen gut implementierten intelligenten Chatbot zu haben, ist es dann klüger, einen dummen Chatbot zu bauen?

Wie im vorigen Abschnitt erläutert, ist UX das A und O. Wenn ein intelligenter Chatbot die UX nicht verbessert, ist ein stummer Chatbot mit einer speziellen Funktion wahrscheinlich besser. Er ist einfacher zu erstellen und zu warten, und die Erwartungen des Benutzers an den Chatbot werden viel niedriger sein und eher mit der unterstützten Funktionalität des Systems übereinstimmen. Bauen Sie nur dann einen intelligenten Chatbot, wenn er eine bessere UX bietet als ein dummer Chatbot! Leider ist es mit den uns heute zur Verfügung stehenden Technologien nicht wirklich möglich, einen wirklich intelligenten Chatbot zu bauen, der jede mögliche Anfrage bearbeiten kann. Für solch komplexe Chatbots wären wahrscheinlich Durchbrüche im Bereich der allgemeinen künstlichen Intelligenz erforderlich, die laut Experten noch Jahrzehnte entfernt sind. Mit unserer heutigen Technologie lohnt es sich oft nicht, "einfachere" intelligente Chatbots mit mehreren Funktionen zu bauen, weil die möglichen Fehlerszenarien schlimmer sind als der mögliche Erfolg. Wenn Sie etwas falsch machen, könnten Sie am Ende sehr unzufriedene Nutzer haben.


Erwartungen und Erfahrungen für einen besseren Chatbot abstimmen

Wir müssen unsere Erwartungen auf das ausrichten, was wirklich wichtig ist - die Nutzererfahrung - und erkennen, dass es sich nicht lohnt, eine schlechte Nutzererfahrung zu riskieren. Die Technologie für den perfekten "intelligenten persönlichen Assistenten" gibt es einfach noch nicht, und mit jeder zusätzlichen Funktion steigt das Risiko einer schlechten Nutzererfahrung.

Ein Blick auf hochmoderne persönliche Assistenten wie Siri, Alexa und Google Assistant macht diesen Punkt überdeutlich: Selbst nach jahrelanger Entwicklung mit schier endlosen Daten machen sie immer noch so viel falsch. Tun Sie sich und Ihren Entwicklern einen Gefallen: Anstatt zu versuchen, einen Chatbot zu bauen, der alle Ihre Anfragen bearbeiten kann, bauen Sie mehrere mit dedizierten, eigenständigen Workflows, so wie wir es in diesem Projekt getan haben. Das ist nicht nur von der Implementierung her einfacher, sondern Sie können auch die Erwartungen Ihrer Nutzer an Ihren Chatbot steuern. Sie werden wissen, dass der Chatbot nur bestimmte Aufgaben erledigen kann, und sie werden nichts anderes erwarten. Das Ergebnis ist das, was wirklich zählt: zufriedene Nutzer. Sie wollen auch zufriedene Nutzer? Sprechen Sie jetzt mit unseren Chatbot-Experten, um eine Lösung zu entwickeln, die Ihren Anforderungen entspricht.

Bereit durchzustarten?

Lass uns austauschen und gemeinsam ein Projekt beginnen.

Arbeiten in einem Technologieunternehmen | Motius