Was ist ein Chatbot?

Unter einem Chatbot versteht man ein Dialogsystem, welches eine Kommunikation zwischen einem Menschen und einer Software aufbauen kann. Dabei besteht die Funktionsweise darin, dass ein Mensch eine Nachricht als Texteingabe oder mittels gesprochener Sprache eingibt und der Chatbot mittels einer sinnvollen Antwort darauf reagiert. In dieser Form soll eine Konversation aufgebaut werden, in welcher der Bot auf Datenbanken zurückgreift bzw. durch maschinelles Lernen oder Deep Learning trainiert wird und so die Antworten optimieren kann.

Um den Anschein einer Kommunikation mit einem realen Gegenüber zu verstärken, werden Chatbots oft gemeinsam mit sogenannten Avataren eingesetzt. Dabei handelt es sich um eine virtuelle Person bzw. Identität mit Foto, Namen und fiktiven menschlichen Eigenschaften.

Grundsätzlich werden 2 Arten von Chatbots unterschieden. Jene, welche eine Freitexteingabe erlauben und jene, welche auf Regeln basieren. Bei regelbasierten Bots werden Eingabeoptionen vorgeschlagen, welche ausgewählt werden können, um so eine Kommunikation aufzubauen. Freitext-Bots erlauben hingegen eine freie Eingabe und basieren auf dem sogenannten Natural Language Processing (NLP). Hierbei handelt es sich um eine Methode, bei welcher Maschinen die menschliche Sprache verstehen und interpretieren können.

Die Schwierigkeit besteht in der richtigen Deutung der Grammatik sowie der Herausforderung den Sinn und Zusammenhang von Sätzen richtig zu verstehen. Für diesen Fall wird maschinelles Lernen eingesetzt, während dies bei der Anwendung von regelbasierten Bots nicht erforderlich ist.

Programmierung und technische Grundlagen

Chatbots können in vielen verschiedenen Programmiersprachen wie beispielsweise Python, Java oder PHP umgesetzt werden. Python bietet mit einer Bibliothek namens „Chatterbot“ ein vorgefertigtes Rahmenkonstrukt, in welchem Trainingsdaten in sogenannten Korpora hinterlegt sind, welche Bots zum selbstständigen Lernen nutzen.

Neben der Möglichkeit des selbstständigen Aufbaus eines Chatbots, bestehen am Markt auch eine Vielzahl von vorgefertigten Open Source Chatbot-Entwicklungsframeworks wie beispielsweise „Microsoft Bot Framework“, „IBM Watson“ oder „Botpress“, welche oft ohne Programmierkenntnisse erstellt werden können und darüber hinaus auch Schnittstellen zu sozialen Diensten sowie Analysemöglichkeiten bieten.

Alle Lösungen (egal, ob selbst programmiert oder mittels Open Source Modulsystem zusammengestellt) basieren auf demselben Prinzip, indem sie auf eine menschliche Eingabe mit einer Ausgabe mit dem höchsten Konfidenzniveau der vorhandenen Daten antworten und die Qualität der Antwort für folgende Konversationen miteinbeziehen.

Anwendungsbereiche von Chatbots

Die Anwendungsgebiete für Chatbots sind sehr weitreichend. Sie können beispielsweise in folgenden Gebieten eingesetzt werden:

  • Helpdesk: Bei diesem Anwendungsfall interagiert der Kunde mit dem Chatbot, um eine Problem- oder Fragestellung zu beantworten. Diese Methode soll im ersten Schritt eine Kontaktaufnahme per Mail oder Telefon ersetzen und bringt dem Kunden den Vorteil, dass ihm im Erfolgsfall (rund um die Uhr) eine sofortige Lösung bzw. Antwort präsentiert wird. Sollte die Konversation mit dem Bot zu keinem Erfolg führen, besteht oft die Möglichkeit, im Nachgang über konventionelle Möglichkeiten in Kontakt zu treten. Durch die automatische Datensammlung lernt der Bot mit jeder Fragestellung eines Kunden hinzu und kann dieses Erlernte in Zukunft ausgeben.
  • Kaufberatung/Produktempfehlung: In Onlineshops wird diese Art von Bots, auch Service Bot genannt, oftmals eingesetzt, um eine „persönliche“ Beratung aufgrund individueller Vorlieben anzubieten. Dabei filtert der Bot aufgrund der gestellten Fragen und gegebenen Antworten passende Produkte oder Dienstleistungen und bietet diese dem Kunden an. Somit soll gewissermaßen der persönlichen Beratung im Internet entsprochen und durch das sofortige Kundenfeedback Daten bezüglich Vorlieben und Trends gesammelt werden.
  • Interne Anwendung im „Backoffice“: Unternehmen können Bots auch innerhalb des eigenen Unternehmens ohne externen Kundenkontakt einsetzen. Hierbei eignen sie sich beispielsweise als Anlaufstelle für interne Fragestellungen sowie auch zum Klassifizieren und Kategorisieren von Nachrichten, Beiträgen oder Anträgen. Auch die Verteilung von Nachrichten an zuständige Mitarbeiter kann durch Bots übernommen werden.