Ganz neu ist die Idee nicht, schon 1966 entwickelte Joseph Weizenbaum "ELIZA", und vor 16 Jahren nutzte IKEA "Anna" als Chatbot auf ihrer Webseite. Der Grundgedanke ist zwar immer noch der gleiche, die Ausführung lässt sich jedoch in keiner Form mit den Anfangszeiten vergleichen.
Was versteht man unter einem Chatbot?
Prinzipiell unterscheidet man Chatbots, die geschriebene Texte im Stil des Instant Messaging annehmen und Texte ausgeben, und Sprachbots, die auf eine Spracheingabe reagieren und mit Sprachsynthese antworten. Textbasierte Chatbots sind beispielsweise in Chat-Clients wie Facebook Messenger integriert oder finden sich auf Webseiten als Chatboxen. Einfach und schnell lassen sich damit Informationen gezielt abrufen oder Kataloge durchsuchen. Selbst Reisebuchungen können heute schon per Chat abgeschlossen werden.
Der zurzeit wohl bekannteste Sprachbot ist Alexa von Amazon, aber auch Siri oder Cortana werden immer häufiger genutzt. Für die Nutzer bieten sie - neben den klassischen Steuerungen per Touchscreen, Tastatur oder Maus - eine neue Schnittstelle, die ihnen den Zugriff auf Programme und Webseiten ermöglicht. Gerade die Spracherkennung bietet dabei wesentliche Vorteile:
Ältere oder technikfremde Nutzer können die intuitive Technologie einfach nutzen. Sie erhalten damit Zugriff auf moderne Kommunikationsmedien.
Bei der Sprachsteuerung bleiben die Hände frei, was gerade für Handwerker oder Autofahrer ein entscheidender Vorteil ist. So kann ein Servicetechniker über sein Handy per Chatbot auf die Dokumentation einer Anlage zugreifen. Gibt er ein: "Wartungslampe blinkt, Maschine steht", fragt der Bot nach Details wie "Ist Teil A in Betrieb? Wie hoch ist die Temperatur an Sensor B?"
Zeitgewinn: Sprechen geht in der Regel deutlich schneller als tippen.
Und auch die Chatbots im engeren Sinn bieten dem Anwender echte Mehrwerte, gerade da die Anwender heute das Chatten dank Whatsapp & Co. gewohnt sind:
Sie müssen nicht mehr länger selbst umständlich auf einer Webseite suchen, sondern erhalten individuelle Betreuung: Auf der Webseite einer Versicherung könnte ein Interessent beispielsweise gezielt über den Chatbot nachfragen, ob bestimmte Leistungen in einem Vertragspaket enthalten sind.
Inhalte werden leichter gefunden und bei kommerziellen Webseiten steigt damit die Kundenzufriedenheit, welche sich häufig im steigenden Konsum äußert.
Bei umfangreichen unternehmensinternen Wissenssammlungen mit Handbüchern, Dokumentationen oder generellem Infomaterial spart die interaktive Suche per Chatbot den Anwendern viel Zeit. Gleichzeitig lässt sie sich im Vergleich zu Sprachbots einfach umsetzen.
Wie fortgeschritten sind die heutigen Bots?
Die Theorie klingt gut: Wir stellen einer Sprachsteuerung eine Frage und erhalten eine passende Antwort. Die Praxis sah bis vor einiger Zeit noch ganz anders aus. Manch einer kann sich noch an den Satz "Ich habe Sie leider nicht verstanden, meinten Sie …." erinnern, den der Sprachcomputer am Telefon immer wieder zurückgab, egal wie man seine Anfrage formuliert hat.
Mit den heutigen Sprachbots kann man das nicht mehr vergleichen. Zum einen wurde die Spracherkennung, also die akustische Signalerkennung selbst, in den vergangenen Jahren signifikant verbessert. Der zentrale Aspekt ist aber wohl das weitaus menschlichere, semantische Verstehen der Eingabe. Deep-Learning lautet hier das Stichwort.
Früher musste für jede Eingabe eine exakte "Formulierungsschablone" hinterlegt werden. Heute hingegen genügen einige Beispiele, damit der Bot lernt, auch andere Formulierungen zu verstehen und passend zu antworten. Die Voraussetzung dazu schafft - neben einer deutlich höheren Rechenkapazität - ein größeres linguistisches Wissen im Sinne des Natural Language Understanding. Beispielsweise werden Formulierungen wie Frau, Tochter oder Tante vom Chatbot als weibliche Personen erkannt.
Eine Anfrage wie: "Ich suche eine Hose für meine Tante." leitet den Anwender damit direkt auf die Seite Damenkleidung weiter. Ebenso würde auch die Frage: "Wer ist der Boss bei Volkswagen?" zu den Vorständen des Autoherstellers leiten. Darüber hinaus erzielte die Forschung beim Deep Learning in den vergangenen Jahren signifikante Fortschritte. Mehrschichtige Algorithmen ermöglichen Maschinen heute sehr schnell zu lernen. Auf Basis der enormen Datenmengen, die aktuell verfügbar sind, können die Systeme ständig trainiert werden.
Vielfältige Anwendungen
Die Anwendungsgebiete von Chatbots reichen in alle Branchen hinein und auch Behörden und Forschungseinrichtungen können in vielerlei Hinsicht von der Technologie profitieren, wie die oben genannten Beispiele gezeigt haben. Amazons Alexa spricht sogar die Konsumenten direkt an und es finden sich immer mehr private Nutzer. Auch die Autohersteller haben den Trend erkannt und bauen Alexa in ihre neuen Fahrzeuge ein.
Schon während der Fahrt zur Arbeit lassen sich damit beispielsweise gezielt Nachrichten oder aktuelle Börsenkurse der eigenen Aktien abrufen. Über Alexa Skills - also eigene Apps für Alexa - lassen sich Chatbots mit neuen Aufgaben und Funktionen beispielsweise als Kundenberater, Auskunftssysteme oder Reporting-Assistenten einfach umsetzen.
Grob lassen sich Chatbots - egal ob schriftlich oder mündlich - in drei Kategorien sortieren:
1. Recherche
Der Anwender möchte sich gezielt über ein Thema informieren oder sucht eine Auskunft. Im ersten Schritt stellt er seine Anfrage an den Bot, beispielsweise "Ich suche ein passendes Outfit für eine Hochzeit". Daraufhin kann der Chatbot Rückfragen stellen: "Welche Farben gefallen dir?" "Welche Größe benötigst Du?" So führt der Bot den Kunden durch ein Katalogsortiment.
Im gleichen Stil lassen sich damit gezielt Informationen in einem Handbuch aufspüren: Eine Maschine in der Produktion steht still, eine Warnlampe blinkt. Der Mitarbeiter sucht mithilfe eines Chatbots nach der Lösung, in dem er die Aufgabenstellung eingibt. Der Chatbot nähert sich mit gezielten Nachfragen basierend auf einer Checkliste der Antwort: "Ist der Wasserstand ausreichend?" "Ist der Filter verstopft?" Im Prinzip arbeitet der Bot in gewissem Sinn wie eine interaktive Suchmaschine.
2. Reporting
Der Bot lässt sich auch als persönlicher Assistent verwenden, mit dessen Hilfe ein bestimmtes Programm komfortabel per Chat statt über eine Oberfläche bedient werden kann. Dort eignen sich insbesondere (aber nicht nur) die mündlichen Varianten. So kann der Bot angewiesen werden, aktuelle Kennzahlen über das eigene Unternehmen vorzulesen, bestimmte Reports zu generieren, einen Flug zu buchen und vieles mehr.
Diese beiden Varianten sind sich recht ähnlich und ihre Grenzen fließend. Gemeinsam haben sie, dass vorher bestimmt wird, welche Ziele die Kommunikation mit dem Bot hat. Und damit auch, welche Fähigkeiten der Bot mitbringen muss. Innerhalb eines gewissen Rahmens werden also Aktionen und Reaktionen vorher festgelegt. Deutlich hiervon unterscheidet sich die dritte Kategorie:
3. Freie Konversation
Auf jede beliebige Frage gibt der Bot eine Antwort, die dynamisch generiert wird. Das Bot lernt aus Konversationen, d.h. aus den Eingaben des Chatpartners. Diese Variante erweist sich technisch um einiges anspruchsvoller als die vorhergehenden Kategorien. Da es ist insgesamt schwer kontrollierbar ist, was der Bot antwortet, lässt er sich kaum für gezielte Funktionen einsetzen.
Wenn man jedoch eine große Menge Frage-Antwort-Paare hat, kann in der Tat ein nützlicher Bot trainiert werden. So hat zum Beispiel ein Professor einer amerikanischen Uni einen Sprechstunden-Bot aufgesetzt, nachdem er festgestellt hat, dass seine Studenten immer wieder die gleichen Fragen stellen. Auch hier wird der Bot aber nur für Fragen aus dem Bereich einsetzbar sein, für den er zuvor trainiert wurde.
Bei den heutigen Anwendungen stehen in der Regel die beiden ersten Anwendungsbereiche im Mittelpunkt. Die dritte Kategorie steht prinzipiell nur dann zur Diskussion, wenn eine enorme Menge an Trainingsdaten mit Fragen und Antworten zur Verfügung steht.
Wie wird ein Chatbot entwickelt?
Am Anfang jeder Entwicklung stehen Kommunikationsziele. Was soll der Chatbot leisten? Welche Vorteile soll er dem Anwender und am Ende auch dem Anbieter bringen? Wie ist die Zielgruppe definiert? Geht es beispielsweise darum, einen Chatbot für einen Online-Shop für Bekleidung aufzubauen, müssen die möglichen Fragen eingegrenzt werden: Soll der Anwender nur nach Bekleidungsstücken im Shop suchen können oder sollen auch Fragen nach Zahlungsarten, Versandmöglichkeiten oder Umtauschrechten beantwortet werden? Basierend auf diesen Anforderungen beginnt die technische Realisierung des Bots. Diese erfolgt auf drei Ebenen:
1. Dem Frontend, über das der Anwender kommuniziert
2. Der Natural Language Understanding-Einheit
3. Dem Gedächtnis und Wissensspeicher des Bots
Foto: mayato
Über das Frontend werden alle Ein- und Ausgaben des Bots gesteuert. Es kann sich dabei um einen bestehenden Messenger (Kik, Facebook Messenger), ein Chatfenster auf der Webseite oder ein Frontend mit Mikrofon und Lautsprecher, wie z.B. Alexa oder eine entsprechende Handy-App, handeln.
Die Natural-Language-Understanding-Einheit als zweite Ebene ist entscheidend für die Usability. Hierin sind sämtliche Methoden der Computer-Linguistik enthalten, die das Verstehen natürlicher Sprache ermöglichen. Wie im Beispiel oben wird zunächst erkannt, dass es sich bei "Mutter", Bruder", "Freundin" um Personen handelt, anschießend welche davon beispielsweise weiblich sind. Erkannt wird auch, dass "möchten" und "wollen" das Gleiche ist.
Unterschiedliche Grammatikkonstruktionen und Paraphrasen werden hierin aufgelöst und Tippfehler erkannt. Diese Komponenten haben in den letzten Jahren enorme Fortschritte gemacht und sind der Grund, dass Chatbots den Anwendern jetzt Spaß machen und echten Mehrwert ermöglichen.
Das Herzstück des Bots ist sein Wissensspeicher. Er legt die Basis für die Dialogstruktur und wird individuell, auf Basis der Anforderungen des jeweiligen Bots implementiert. Zuerst werden die sogenannten "Intents" - also Funktionen, die der Bot abdecken soll - definiert. Dazu gibt der Entwickler ein paar Varianten von Sätzen ein, mit denen der Nutzer diesen Intent aufruft. Dann wird festgelegt, was beim Aufrufen des Intents passieren soll.
Folgendes Beispiel soll den Ablauf verdeutlichen:
Es gibt es einen Intent "nach Filialen fragen".
Man muss eine Handvoll Beispielsätze eingeben: "Wo gibt's denn Filialen für euer Geschäft?" "Wo finde ich ein Geschäft dieser Kette?" "Sind hier Geschäftsstellen in der Nähe?". Durch die Natural-Language-Understanding-Komponente werden auch weitere Formulierungen, die nicht explizit angegeben werden, erkannt. So würde beispielweise auch "Laden" als Filiale erkannt werden.
Wird ein Intent erkannt, wird eine Reaktion ausgelöst. In unserem Beispiel soll der Bot eine Liste aller Filialen vorlesen. Es könnte auch eine weitere Funktion hinterlegt werden, die den Standort des Kunden (falls bekannt) einbezieht und alle Filialen in einem bestimmten Umkreis ermittelt und ausgibt.
In einem alternativen Dialog könnte der Nutzer auch gefragt werden, ob dies genug Filialen sind oder der Radius erweitert werden soll bzw., ob er die Zahl der angezeigten Filialen reduzieren möchte.
Einige Software-Lösungen bieten ein vollständiges Framework, in dem alle drei Komponenten schon enthalten und verknüpft sind (wie z.B. Microsoft Azure, Amazon Alexa) oder das für diesen Zweck zusammengestellt werden kann (IBM Watson). Vor allem kleinere Anbieter haben sich auf einzelne Komponenten spezialisiert. Je nach Anwendung bieten solche individuellen Zusammenstellungen durchaus auch Vorteile.
Entscheidend ist jedoch, dass die Anforderungen und der Dialogfluss professionell konzipiert werden, damit der User ein angenehmes Erlebnis hat und zufriedenstellende Konversationen führen kann.