Chatbot-Entwicklung: Vom Konzept zum Prototyp
Wer diese drei Bereiche auf einen gemeinsamen Nenner bringt, hat gute Chancen, einen erfolgreichen Chatbot zu konzipieren: Technologische Möglichkeiten, Ziele von Unternehmen sowie Bedürfnisse von Nutzern. Danach geht es ans Prototyping, in dem der Bot Schritt für Schritt entsteht – immer nah an der Zielgruppe und stetig auf deren Feedback aufbauend. So verhält es sich bekanntlich auch bei anderen digitalen Produkten, die strategisch eingesetzt und getestet werden sollen.
Technologie von Chatbots
Ähnlich wie Sprachassistenten (Alexa, Siri) gehören Chatbots zu den Conversational Interfaces, mit denen Anwender über Sprache interagieren, in diesem Fall über ein Chat-Interface. Viele Plattformen bieten außerdem die Möglichkeit, grafische Elemente wie Buttons, Bildergalerien oder Kartenausschnitte einzubinden – die primäre Kommunikation zwischen Mensch und Bot bleibt jedoch die geschriebene Sprache. Chatbots arbeiten dabei mit drei grundlegenden Bestandteilen, um Sprache zu analysieren: Utterances, Intents und Entities. Als Utterance (Äußerung) gilt alles, was die Anwender schreiben. Diese Äußerungen sind die Basis für die Kommunikation zwischen Bot und Anwender. Dahinter steht eine Absicht, Intent – also das, was ein Anwender im Gespräch erreichen möchte. Sie werden oft mit einer Verb-Substantiv-Kombination bezeichnet, beispielsweise „giveTrafficInfo“ (für Verkehrsinformationen) oder „zeigeIBAN“ (für die Anzeige der eigenen IBAN). Entities sind Satzteile, mit denen der Intent modifiziert wird, beispielsweise „A1“ oder „von heute“. Diese Informationen wirken wie Filter, um die Antworten des Bots auf die Situation des Nutzers anzupassen: Er soll nach Staus auf der A1 suchen.
Wie funktioniert das nun konkret? Ein Chatbot registriert zunächst die Eingabe eines Nutzers, beispielsweise „Gib mir aktuelle Verkehrsinformationen zur A1“. Da ein Chatbot über geschriebene Sprache funktioniert, muss er Gesprochenes nicht erst in Schrift umwandeln, um es verarbeiten zu können – allerdings sollte der Bot tolerant gegenüber Rechtschreibfehlern sein. Danach muss der Bot aus der Aussage die Intents und Entities identifizieren. Das funktioniert über Natural Language Processing, einer Technologie, mit der Computer Eingaben in natürlicher Sprache verarbeiten können. Spezialisierte Services wie Microsofts LUIS, Googles Dialogflow oder Facebooks wit.ai nehmen Äußerungen von Chatbots in unterschiedlichen Sprachen entgegen und extrahieren die definierten Intents und Entities. Mit dieser Analyse sowie dem Kontext der Konversation sucht der Chatbot nun nach der richtigen Antwort, beispielsweise indem er über eine API auf Daten des Unternehmens zugreift.
Regelbasierte Bots arbeiten mit vorab definierten Regeln. Diese Technologie stößt allerdings relativ schnell an ihre Grenzen. Verwenden Nutzer Formulierungen, die von der Entwicklerin nicht antizipiert wurden, scheitert die Kommunikation. Schließlich kann man statt „Gib mir aktuelle Verkehrsinformationen zur A1“ auch „Ist gerade Stau auf der A1?“ oder „Sollte ich jetzt fahren oder lieber noch eine Stunde arbeiten?“ sagen. Eine Alternative sind Chatbots auf Basis von künstlicher Intelligenz, besonders maschinellem Lernen. Diese Chatbots lernen aus den Anfragen von Nutzern dazu.
Chatbot-Strategie
Technologische Entwicklungen alleine sind aber noch keine Garantie für einen erfolgreichen Bot – der passende Anwendungsfall muss natürlich auch vorhanden sein. Prinzipiell eignen sich Chatbots besonders für kleinere, gut definierte Anwendungsfälle, die sich leicht in überzeugende Dialoge umwandeln lassen.
Wer einen erfolgreichen Chatbot bauen möchte, muss seine Zielgruppe sehr gut kennen. Das geht nur mit einer fundierten Nutzerforschung. Eine erste Orientierung können zwar Umfragen und Statistiken bieten, für eine fundierte Chatbot-Strategie ist es aber wichtig, die Perspektive von Menschen aus der eigenen Zielgruppe genauer zu erforschen. Dafür bietet es sich an, Menschen nach ihren aktuellen Gewohnheiten und Erlebnissen zu fragen. Wie oft tun sie bestimmte Handlungen, die von Chatbots profitieren könnten? An welchen Stellen stoßen sie dabei auf Schwierigkeiten? Welche Fragen, Probleme und Aufgaben tauchen immer wieder auf? Eine sehr gute Quelle für diese Antworten sind natürlich auch alle Kanäle, in denen Kundenanfragen auflaufen. Etwa Mitarbeiter im Kundenservice, Analytics-Daten zu häufig besuchten Seiten und Begriffe in Suchmaschinen. Ein weiterer guter Weg ist es, Nutzern etwas Greifbares wie Prototypen oder Stories an die Hand zu geben, mit denen die Vision des Unternehmens deutlich wird, und die zum Kommentieren einladen. Das hilft dabei, sich über Bedürfnisse klar zu werden. Daraus lassen sich Personas entwickeln. Diese archetypischen Nutzerprofile erleichtern die Evaluierung, ob ein Chatbot zur geplanten Zielgruppe passt.
Mit dem Wissen um unternehmerische Ziele, technologische Möglichkeiten und Nutzerbedürfnisse geht es an das Prototyping des Chatbots. Es empfiehlt sich, dabei iterativ vorzugehen: Schritt für Schritt werden Lösungen für die Interaktion mit Chatbots erarbeitet und getestet. Man startet mit sehr einfachen Prototypen (low fidelity) und verbessert sie durch das ständige Feedback. Fehler gehören untrennbar zu diesem Prozess dazu. Statt nach einem möglichst perfekten ersten Wurf zu trachten, ist es viel besser, einen Prototypen so schnell wie möglich für echte Nutzer zu öffnen und aus deren Feedback zu lernen. In der ersten Runde des Prototypings geht es darum, wie der Bot seine Anwender zu den gesuchten Informationen führen kann: Welche Absichten (Intents) haben sie, welche Informationen (Entities) benötigt der Bot dazu und welche Formulierungen (Utterances) könnten Nutzer verwenden? Wie sollte er danach fragen und was kann er sich aus dem Kontext erschließen? Klebezettel sind ein gutes Mittel, um diesen Dialogfluss aufzuzeichnen. Sie lassen sich immer wieder neu anordnen, um Alternativen auszuprobieren. Auf jedem Klebezettel sollte ein Teil der Konversation stehen. Jede Äußerung des Chatbots sollte die Konversation voranbringen und relativ kurz sein, ohne allerdings den Charakter des Bots vermissen zu lassen. Dabei sollten auch die typischen Gepflogenheiten der Chatsprache berücksichtigt werden. Dazu zählen beispielsweise Emojis und Abkürzungen wie „lol“. Ein Chatbot sollte auch darauf eine angemessene Antwort parat haben – und kann dank Emojis und natürlicher Sprache im Chatcharakter einen ganz persönlichen Charme entwickeln. Der Wienbot zeigt, wie das aussehen kann – und hält „nebenbei“ praktische Informationen zum täglichen Leben in Wien für seine Nutzer bereit.
Es lohnt sich, auch über alternative Dialoge nachzudenken. Wie klingt eine Antwort, wenn der Bot ein bisschen witziger antwortet? Oder, wenn er sich selbst auf die Schippe nimmt?
Ein besonderer Fokus sollte auf dem Onboarding liegen, der Art und Weise, wie Nutzer in die Konversation mit dem Bot einsteigen. Dazu gehört beispielsweise die Welcome-Message, die beim Öffnen des Chatbots angezeigt wird. Gut nachdenken sollte man auch darüber, wie der Bot Nutzern erläutert, wie sie ihn nutzen können. Und: Welche Informationen er von ihnen benötigt. Ein weiterer wichtiger Baustein ist die Default-Message. Sie ist eine Art letzter Ausweg und wird immer dann angezeigt, wenn der Chatbot nicht mehr weiter weiß. Sie sollte charmant sein und zugleich eine Hilfestellung anbieten, wie das Gespräch fortgeführt werden kann. Eine Default-Nachricht ist auch dazu gedacht, die Nutzer wieder in den vorgegebenen Konversationsfluss zurückzuführen. Hipmunks Bot antwortet mit einer charmanten Grafik, wenn man ihm ein visuelles Element schickt, das er nicht versteht. Danach bringt er die Situation sanft wieder zurück zu dem, was er am besten kann: Reiseempfehlungen heraussuchen.
Das Interagieren mit einem Chatbot soll allerdings nicht nur funktionieren, sondern auch Spaß machen und ein positives Erlebnis schaffen. Bei Chatbots erreicht man das mittels einer angenehmen und stimmigen Persönlichkeit. Sie macht den Bot einzigartig und schafft eine emotionale Bindung, muss aber natürlich zu den Nutzern, dem Unternehmen und den Aufgaben des Bots passen – ein Shopping-Bot für Skateboards wird hier sicherlich anders auftreten als ein Support-Bot für verärgerte Kunden. Der Bot Mitsuku von Pandorabots beispielsweise ist eine virtuelle Persönlichkeit, die auf KI basiert und möglichst realistische Konversationen ermöglichen und sympathisch wirken soll. Dazu passt, dass der Bot mit witzigen Antworten reagiert, wenn man ihn nach seinem Wohlbefinden oder zukünftigen Ereignissen fragt.
Wichtige Aspekte beim Erschaffen einer Persönlichkeit sind Alter, Geschlecht, Charakter, Art (Mensch, Tier, Maschine), Auftreten und Herkunft. Selbst wenn der Bot später kein Gesicht erhalten soll, hilft ein fiktiver Charakter beim Schreiben von Dialogen. Natürlich kann man auch mehrere Persönlichkeiten entwickeln, entsprechende Dialoge formulieren und testen, wie sie in der eigenen Zielgruppe ankommen.
Fake it till you make it
Stehen Dialog und Persönlichkeit, gilt es die Ideen zu testen – am besten mit so wenig Aufwand wie möglich. Beim Chatbot-Prototyping kann man mit dem sogenannten „Wizard-of-Oz-Test“ zunächst mit Illusionen arbeiten: Probanden aus der eigenen Zielgruppe interagieren mit einem Chat-Interface (etwa einem Messenger), aber am anderen Ende sitzt ein Mensch, der auf die Fragen mit vorformulierten Textbausteinen antwortet. Natürlich wird ein Mensch manchmal länger brauchen als ein Bot, um die richtige Antwort in einen Chat zu posten – das sind Einschränkungen, die erst mit funktionalen Prototypen ausgeräumt werden können. Oft arbeitet man dabei mit einem Szenario, damit die Teilnehmer sich vorstellen können, in welcher Situation sie den Bot nutzen könnten. („Es ist 17 Uhr und Sie möchten demnächst Feierabend machen und Staus auf der Heimfahrt vermeiden. Ein Freund hat Ihnen von einem automatischen Werkzeug erzählt, das Informationen zum Verkehr über einen Chat geben kann. Sie nutzen diesen Service nun zum ersten Mal. Bitte kommentieren Sie alles, was Ihnen auffällt.“) Wichtig ist, sich auch an den Dialogfluss aus dem Prototyping zu halten. Das ist gar nicht so leicht, wenn man auf Fälle stößt, die man nicht berücksichtigt hat. Diese Momente gilt es zu notieren, um sie in der nächsten Iteration gezielt verbessern zu können. Und die Äußerungen der Testteilnehmer sind wertvolles Feedback, wie Nutzer mit dem Chatbot sprechen werden. Im Anschluss an die Sessions sollte man unbedingt mit den Probanden über ihre Erfahrungen sprechen – das gibt meist wichtige Aufschlüsse, wie sie den Chatbot erlebt haben. Diesen Testablauf wiederholt man mit so vielen Teilnehmern, bis man keine wesentlichen neuen Erkenntnisse mehr gewinnt. Dann geht es in die nächste Prototyping-Iteration.
Nach einigen Tests stellt sich eine größere Sicherheit ein, ob man die wichtigsten Aspekte des Dialogs gefunden hat und ob es überhaupt einen Bedarf an dem angedachten Chatbot gibt. Die nächsten Iterationen setzen daher auf realistischer wirkende Prototypen. Eine Variante davon sind Mockups. Dabei handelt es sich noch immer um Fake-Chatbots, allerdings simulieren sie Aussehen und Verhalten des späteren Produkts wesentlich konkreter als Wizard-of-Oz-Tests.
Tools wie Botsociety können beim Erstellen und Testen von Chatbot-Mockups helfen. Sie ermöglichen, Interaktionen mit dem Chatbot zu gestalten und als Video oder Klickdummy zu teilen. Diese Videos sind ein hervorragendes Mittel, um Stakeholder von den Möglichkeiten der Technologie zu überzeugen. Außerdem eignen sich die Klickdummys für Remote-Usability-Tests. Man teilt einen Link mit Probanden, die dann ein simuliertes Chat-Interface sehen und aus einer Reihe von vordefinierten Anfragen auswählen können. Der „Bot“ reagiert dann so, wie es im Mockup zusammengeklickt wurde, und anschließend bittet man die menschlichen Tester um Feedback. Ein entsprechendes Tool befindet sich bei Botsociety aktuell in der Betaphase.
Irgendwann reichen simulierte Chatverläufe jedoch nicht mehr aus und es wird Zeit für funktionale Prototypen (high fidelity). Glücklicherweise muss man einen Chatbot nicht von Grund auf programmieren. Frameworks wie Microsoft Bot Framework, Dialogflow, Botpress, Wit.ai und IBM Watson stellen typische Chatbot-Funktionalitäten bereit, oft kombiniert mit Anbindungen zu Analytics, Natural Language Processing und künstlicher Intelligenz. Das kann die Entwicklung deutlich beschleunigen, da nicht jede Funktion von Grund auf neu entwickelt werden muss. Eine Alternative sind Chatbot-Plattformen, bei denen der Bot über eine Oberfläche ohne Schreiben von Code definiert wird. Die Entwicklungsarbeit konzentriert sich auf das Definieren von Dialogen. Aber natürlich ist man auch davon abhängig, welche Funktionalitäten die Plattform unterstützt. Beispiele sind Chatfuel, Textit, Dialogflow, Dexter oder der für 2018 angekündigte Chatbot Builder.
Menschen einbinden
Chatbots können zwar einige wichtige Informationen geben und Fragen beantworten – irgendwann kommen sie jedoch an ihre Grenzen. Menschliche Hilfe wird nämlich besonders bei komplexeren Fragen geschätzt. Zum Glück können Chatbots jederzeit an einen menschlichen Mitarbeiter übergeben. Wichtig ist allerdings, dass der Übergang reibungslos stattfindet. Nichts ist nerviger, als einem menschlichen Kollegen noch einmal alles erzählen zu müssen. Es darf auch keine Verwirrung darüber geben, ob man gerade mit einem Bot oder einem Menschen spricht. Der Bot sollte daher gezielt und deutlich nachfragen, ob er zu einem menschlichen Mitarbeiter weiterleiten soll. In diesem Fall sollte der bisherige Chatverlauf in einem Protokoll zur Verfügung gestellt werden.
Strategische Planung und Prototyping legen die Grundsteine für einen erfolgreichen Chatbot. Wie jedes digitale Produkt sollte ein guter Chatbot aber natürlich auch nach seiner Veröffentlichung kontinuierlich weiterentwickelt werden. Analytics sind gut dazu geeignet, den Erfolg des Chatbots zu evaluieren und Verbesserungsmöglichkeiten zu erkennen. Es gibt eine ganze Reihe von Kennzahlen, die aus Web-Analytics bekannt sind, aber auch für Chatbots wertvolle Erkenntnisse bieten, etwa die Verweildauer oder die Zahl wiederkehrender Nutzer. Daneben gibt es jedoch eine ganze Reihe von Metriken, die speziell bei Chatbots sinnvoll sind. Dazu zählen Kennzahlen, welche Intents besonders häufig ausgelöst wurden, welche Art von Äußerungen Nutzerinnen zu verschiedenen Zeitpunkten machen (Konversationstrichter) oder welche Emotionen in der Kommunikation zum Ausdruck kommen. Solche Auswertungen findet man bei auf Chatbot spezialisierten Analytics-Anbietern wie Dashbot oder Botanalytics, aber auch bei zahlreichen der oben genannten Plattformen. Einige technische Tests lassen sich auch automatisieren. Dabei helfen Tools wie Botium. Wer mit Selenium vertraut ist, dürfte sich hier schnell zurechtfinden. Und natürlich gilt, dass kontinuierliches Feedback von Nutzern hilft – Bedürfnisse können sich ändern. Ein Chatbot hat großes Potenzial, auf solche Veränderungen schnell zu reagieren.
Fazit
Chatbots erleben nicht nur durch technologische Veränderungen einen regelrechten Boom. Für Chatbots spricht das einfache, sprachbasierte Onboarding und der Verzicht auf Installation und Einarbeitung in das Interface. Die Technologie hat daher das Potenzial, Nutzer dort abzuholen, wo sie stehen. Voraussetzung dafür ist eine gute Planung und sorgfältiges Prototyping – wer sich daran hält, hat gute Erfolgschancen mit seinem automatischen Kommunikationshelfer.
Sehr schöner Artikel… aber wie entscheide ich welche Chatbot-Engine ich eigentlich verwenden sollte…? Einen aktuellen Überblick über konkrete Chatbot-Technologien haben wir im wissenschaftlichen Projekt SB:DIgital sbdigital.infai.org erstellt und ist hier nachzulesen: https://medium.com/@zinkechristian/working-with-a-bot-1d12d229e86d
Klingt sehr spannend, danke für den Linktipp. Ist direkt in meine Leseliste gewandert