Chatbots: Der Facebook Messenger als nächster Schritt in Richtung Zukunft

21.04.2017 Mattias Arendes

Captain Kirk: „Computer, wechsle auf Messsonde. Irgendwelche ungewöhnlichen Werte?“ Enterprise-Computer: „Keine dechiffrierbaren Werte für weibliche Besatzungsmitglieder. Allerdings konnten Anomalien bei den männlichen Crewmitgliedern aufgezeichnet werden. Festgestellt wurden Hyperventilation, ein erhöhtes Schweißaufkommen, rasender Herzschlag und ein ungewöhnlich hoher Blutdruck.”

Bereits vor über 50 Jahren träumte man von einer interpersonalen Kommunikation mit Rechensystemen. Mitte der 60er Jahre ließ Star Trek-Schöpfer Gene Roddenberry die Crew der Enterprise mit einem Computer über eine Art Sprach-Interface kommunizieren und verwirklichte so zumindest auf der Leinwand seine Vorstellung von der Interaktion mit einer künstlichen Intelligenz. Damit war Roddenberry seiner Zeit weit voraus.

Die Mensch-Maschinen-Interaktion begann in der Realität zunächst auf reiner Code-Ebene. MS DOS leitete als erstes Microsoft-Betriebssystem in den späten 1980ern die textbasierte Eingabe ein. 1990 machte Windows 3.1 die Point-and-Click-Interaktion salonfähig. Mit der weiten Verbreitung von Smartphones und Tablets begann schließlich das Zeitalter der Touch-Eingabe. Und 2011 präsentierte Apple sein „Speech Interpretation and Recognition Interface“ oder kurz: Siri. Es folgten weitere Sprachassistenten wie Cortana, Google Now oder Amazon Alexa – allesamt Technologien, die die ursprünglich fiktive Idee von Roddenberry aufgreifen und dank künstlicher Intelligenz bisherige Nutzeroberflächen alt aussehen lassen.

Voice Services sind aber nicht die einzige neue Kommunikationsmöglichkeit, die das Thema Künstliche Intelligenz (KI) aktueller denn je erscheinen lässt. Das Thema Chatbots feiert derzeit eine rockstarreife Medienpräsenz. Ob „Der Bote“ als Schuldeneintreiber, Mildred die Flugpreis- Suchmaschine (siehe untere Abbildung) oder Poncho der Wetterbot – Chatbots haben ein breitgestreutes Einsatzgebiet.


Bots haben schon heute ein großes Einsatzgebiet. Hier zu sehen, Mildred, die Flugpreis-Suchmaschine.

Die Interaktions-möglichkeiten zwischen User und Messenger

Eine Gemeinsamkeit vieler Chatbots ist Facebook. Das soziale Netzwerk stellt mit seinem integrierten Messenger eine Plattform zur Verfügung, die es Bot-Entwicklern ermöglicht, Programme auf Basis der Messenger API, also der Schnittstelle zur Anwendungsprogrammierung, zu schreiben.

Dies bietet mehrere Vorteile. Einer davon ist sicherlich, dass der Entwickler beim Programmieren nicht komplett von vorn beginnen muss. Der Core, quasi das Hirn, ist bereits vorhanden. Es bleibt dem Entwickler überlassen, wie und mit welchen Informationen er die API anspricht.

Der User ist durch Windows, Android und Co. an bestimmte Programmabläufe und Usability-Standards gewöhnt. Daher versucht auch Facebook innerhalb des Messengers mit einer recht überschaubaren Anzahl von Interaktionsmöglichkeiten, wie z. B. bereits existierenden Templatevorlagen, verschiedenen Content-Typen, Buttons und Quick Replies, das Look-and-Feel des Messengers zu standardisieren.

So beschreibt die API-Dokumentation fünf verschiedene Content-Typen (Text, Audio, File, Image und Video), acht verschiedene strukturierte Antworttypen (Button, Generic, List, Receipt und vier speziell auf Flugauskunft zugeschnittene Templates), sieben verschiedene Arten von Buttons (URL, Postback, Call, Share, Buy, Log In und Log Out) sowie unterschiedliche Möglichkeiten an Quick Replies, welche quasi eine Art von vorgefertigten, kurzen Antworten vorgeben.

Nachdem zunächst der Webhook, der die Kommunikation zwischen der Facebook Messenger API und dem Botserver authentifiziert, die Verbindung hergestellt hat, kann der User durch das gewohnte Chat-Fenster mit dem Bot in Verbindung treten.

Facebook empfiehlt zur Bot-Erstellung die Nutzung von JavaScript. Genauer gesagt, den Framework Interpreter Node.js. Die JavaScript-Laufzeitumgebung ist als Entwicklertool weitverbreitet und lässt eine ressourcenschonende Kommunikation zwischen Client und Server zu. Dies ist von entscheidendem Vorteil, da so eine große Anzahl von gleichzeitig bestehenden Netzwerkverbindungen ermöglicht wird und dadurch die Response-Geschwindigkeit erhöht werden kann.

Die typische Bot-Nutzer-Interaktionsabfolge lautet: Der Nutzer wird begrüßt und bekommt eine erste Auswahl an Antwortmöglichkeiten zur Verfügung gestellt; der Nutzer wählt eine aus; der Bot antwortet und leitet den Nutzer zur nächsten Abfrage weiter, auf welche der Nutzer wieder antwortet, usw. Diese „rule based“ Interaktion zwischen Nutzer und Bot gibt den heutigen Standard wieder. Der Nutzer wird durch einen Entscheidungsbaum geführt, in welchem er zwischen mehr oder weniger vielen Abzweigungen wählen kann. Die Nutzereingabe selbst kann dabei eine der bereits aufgeführten Antworttypen sein.

Fun Fact: Eine Nutzereingabe, z. B. das Drücken eines Buttons, ist für den Bot das Gleiche, als hätte der Nutzer den Text des Buttons in das Chatfenster geschrieben. Die meisten Antwortmöglichkeiten stellen daher meist nur eine optische Alternative zur manuellen Texteingabe dar.

Nicht nur, um den Chatverlauf später auswerten zu können, sondern auch, um den User in bestimmte States abzuspeichern, wird die Unterhaltung in der Datenbank des zuvor eingerichteten Servers geloggt. Hier bietet sich MongoDB an. Diese stellt die Datenbankinhalte ähnlich wie JavaScript als Objekte dar, also nicht tabellennotiert wie etwa beim Einsatz von mySQL. Welche Schlüsse man aus diesen gespeicherten Daten ziehen kann, haben wir bereits in einem unserer vorangegangenen Blogartikel zum Thema Chatbots angesprochen.

Natural Learning Processor-Systeme als nächster Schritt zum Holodeck

Wie man sieht, haben Chatbots aktuell noch nichts mit tatsächlicher künstlicher Intelligenz zu tun, denn sie arbeiten mit den vom Entwickler vorgegebenen Antwortschablonen. Die Erweiterung dieses „rule based“ Bots stellt der KI-gestützte Bot dar. Hier wird die Messenger API mit einem NLP- (Natural Learning Processor) System erweitert. Ein NLP analysiert Satzfragmente und erstellt mithilfe von Nutzerregeln logische Verknüpfungen, um sich so eigenständig weiterzuentwickeln. In unserem Alltag jedoch haben diese KI-Chatbots noch keinen nennenswerten Stellenwert.

Ob mit oder ohne KI, wichtig ist: Die Entwicklung eines Chatbots findet nicht nur auf der rein technischen Seite statt. Weil der Bot als Schnittstelle zwischen Unternehmen und Usern immer auch eine Marke verkörpert, fällt ein großer Teil des Entwicklungsaufwands im Bereich User Experience an. Denn fühlt sich die Interaktion mit dem Bot allzu künstlich an und bringt darüber hinaus wohlmöglich keinen wirklichen Nutzen oder Unterhaltungswert für den User, kann das im schlimmsten Fall stark am Image der Marke kratzen. Auf der anderen Seite kann ein gut konzipierter und technisch aufbereiteter Bot die Wahrnehmung einer Marke positiv verstärken.

Fazit: Bis der Mensch wirklich „frei“ mit einem Computer kommunizieren kann, wird noch etwas Zeit vergehen. Voice Recognition und Bot-Interaktion unterliegen derzeit noch straffen Regeln, welche zwar eine Art von künstlicher Intelligenz simulieren können, ein wirkliches Verstehen und damit zusammenhängendes Weiterentwickeln aber noch nicht möglich machen. Dies wird sich jedoch innerhalb der nächsten Jahre ändern und vielleicht dauert es ja dann gar nicht mehr so lang bis zum Holodeck.