chatbots - Wenn Kunden dem Onlineshop eine WhatsApp-Nachricht schicken
Über lange Zeit war die Kommunikation mit einer Online-Plattform (z.B. Onlineshop, Ferienbuchungsportal, Informationsplattform, Business Webapplikationen etc.) geprägt durch Interaktion mit dessen graphischer Oberfläche. Via einem Internet-Browser, via SmartPhone App oder via Apps auf einem SmartTV haben wir uns mit Hilfe von Navigationsbäume, Suchfelder, Google-Anfragen etc. durch die Inhalte getastet. Dank fortgeschrittenen Disziplinen wie UX-Design wurde das ganze immer ansprechender präsentiert und intuitiver in der Bedienung. Sind diese Zeiten nun bald vorbei?
Die Technologie, die das ermöglicht, nennt sich Chatbots oder auch Bots. Die Idee: Anstatt via Internet-Browser auf einer Online-Plattform herumzusurfen, kommuniziert der Kunde via Chat-Client (z.B. WhatsApp). Dabei findet ein Chatdialog statt, wie es normalerweise zwischen Menschen geschieht. Der Unterschied: Am anderen Ende sitzt eine Applikation, ein Chatbot. Anbei ein Beispiel.
Um die Interaktion möglichst natürlich zu gestalten, kann ein Kunde aus seinen bestehenden "Chat-Applikationen" auswählen. Prominente Beispiele solcher Applikationen: Skype, WhatsApp, Facebook Messenger, SMS etc. Als Konsequenz bedeutet dies für einen Chatbot, dass er mit möglichst vielen Kanälen (Channels) umgehen können sollte.
Chatbots? - Das kann doch nicht funktionieren?
Aber jetzt mal im Ernst. Wie weit sind diese Chatbots wirklich? Wo kommen sie heute zum Einsatz? Eine interessante Liste zum stöbern findet man auf https://botlist.co/bots/filter. In dieser spannenden Auflistung über alle möglichen Bots, gewinnt man einen Einblick. Ein paar Auszüge haben wir hier aufgeführt.
Eine Bar finden in Strassburg?
Hier hilft der ChatBot von schlouk-map. Mittels Facebook-Messenger kann man bei diesem Chatbot eine Bar finden, die zu seinen Geschmäckern passt und gerade geöffnet hat.
Die virtuelle Reiseplanerin Claire
Einen Flug via Skype raussuchen und buchen? Das bietet der Chatbot Claire von https://www.30secondstofly.com/
Lebenslauf als Chatbot
Der EstherBot hat Esther Crawford als Marketing-Instrument ins Netz gestellt. Diesem ChatBot kann man Fragen rund um den Lebenslauf von Esther stellen. Zum Beispiel: "Wo bist du geboren?"
Pitchbot
Der Pitchbot unterstützt Startup-Teams beim erstellen eines Pitches. Dabei stellt er unter anderem typische Rückfragen, die typischerweise ein Venture Capitalist beantwortet haben will.
Redaktionsbot des SRF
Auch beim SRF wurde gerade vor kurzem mit einem Bot experimentiert. Ein interessanter Blog-Eintrag dazu gibt es hier: https://konradweber.ch/2017/01/17/srf-bot/
Technische Realisierung eines Chatbots
Die Technologien rund um die Chatbots sind noch relativ frisch. Um selber einen Chatbot zu bauen, gibt es darum heute noch nicht wirklich etablierte Standards. Generell werden zwei verschiedene Ansätze verfolgt: Chatbots, die ohne Programmierkenntnisse erstellt werden können und Chatbots, die mittels gängigen Technologie-Stacks selber gebaut werden.
Chatbot ohne Programmierkenntnisse erstellen
Einen Chatbot erstellen ohne eine einzige Zeile Code zu entwickeln? Das verspricht zum Beispiel botsify. Dabei fokussiert sich botsify heute stark auf die Verarbeitung von Wordpress-Seiten oder Medium-Inhalte. Innerhalb kurzer Zeit kann hier konfigurativ ein Bot für den eigenen Blog aufgesetzt werden.
Chatbot selber entwickeln
Heute gibt es noch unzählige Situationen, bei denen ein rein konfigurativer Setup eines Chatbots nicht genügt und darum eigene Software geschrieben werden muss. Eine Möglichkeit einen solchen Chatbot zu bauen bietet das Microsoft Bot Framework
Basierend auf der Microsoft .NET Technologie bietet dieses Framework eine Infrastruktur um die ganze Kommunikation zwischen Chatbot und Channel sicherzustellen. Dabei passt dieses Bot Framework gut zu einem typischen Enterprise Technologie Stack. Ebenso lässt sich so ein Bot bequem auf Microsoft Azure hosten.
Damit ein Chatbot mit unterschiedlichen Channels umgehen kann, existiert im Microsoft Bot Framework der sogenannte Bot Connector Service. Der Bot Connector Service übernimmt die Übersetzung des jeweiligen Channels in die für die Bot Applikation verständliche Sprache und umgekehrt. Zum Beispiel übersetzt der Bot Connector Service eine Skype-Message in eine für den Chatbot verständliche Form und transformiert die Nachrichten, die der Chatbot sendet, wiederum zurück in eine Skype-Message. Technologisch basiert der Bot Connector Service auf einem Web API. (siehe auch Wie Web API's helfen Wertschöpfungsketten zu verändern)
Die primäre Aufgabe der Bot Applikation besteht darin die Anfragen an die richtigen Systeme der Online-Plattform weiterzuleiten und die richtigen Schlüsse zu ziehen. Typische System die hier abgefragt werden sind Web API's der eigenen Plattform, Datenbanken (z.B. Microsoft SQL Datenbank), Volltext-Suchen (z.B. elastic oder Apache Solr) usw.
Chatbot Plattformen
Der eigene Chatbot aus der Cloud beziehen? Das bietet smooch.io an. Die Anfragen der Benutzer werden via smooch.io empfangen und an die entsprechende eigene Applikation weitergereicht. Dies passiert typischerweise mittels sogenannten WebHooks. Im Hintergrund gilt es also ein Web API zur Verfügung zu stellen (siehe auch Wie Web API's helfen Wertschöpfungsketten zu verändern). Eine mögliche Architekur könnte so aussehen:
Die heute noch schwierigste Aufgabe eines Chatbots ist die Verwandlung von Benutzeranfragen in logisch verwertbare Daten. Nur so kann dem Benutzer eine stimmige Antwort geliefert werden. Eine Plattform, die sich genau diesem Thema annimmt ist https://recast.ai. Spannend ist dabei, dass recast.ai von den verschiedenen Anfragen lernt und sich so selber trainiert.
Fazit und Ausblick
Chatbots haben das Potenzial die menschliche Interaktion mit IT Systemen zu verändern.
Bis sie jedoch soweit sind, dass sie den Internet-Browser komplett ablösen, wird es wohl noch ein paar Evolutionsschritte benötigen. Um als Unternehmen selber einen Chatbot zur Verfügung zu stellen gibt, es verschiedene Möglichkeiten. Abhängig von der komplexität der Fragen, die ein Chatbot beantworten muss, kann der Ansatz der technischen realisierung gewählt werden. Je einfacher die Fragen und Antworten, desto weniger Custom-Made Software wird benötigt.