08.06.2017
Chatbot-Frameworks
1. Teil: „Baukästen für virtuelle Assistenten“
Baukästen für virtuelle Assistenten
Autor: Thomas Hafen
Zapp2Photo / shutterstock.com
Bereits 2021 sollen mit digitalen Assistenten knapp 16 Milliarden Dollar erwirtschaftet werden. Dank Chatbot-Frameworks sind die kleinen Helfer schnell und kostengünstig erstellt.
Über 100.000 Chatbots gibt es aktuell allein für den Facebook Messenger. „Im September 2016 waren es noch 33.000, das ist verrückt!“, sagte David Marcus, Vice President of Messaging Products, auf der Facebook-Konferenz F8 2017 im April dieses Jahres. Die Zahl der auf der Messenger-Plattform registrierten Entwickler hat sich laut Marcus im selben Zeitraum mehr als verdoppelt und beläuft sich nun auf ebenfalls 100.000.
Chatbots sind aber nicht nur im Facebook Messenger schwer im Kommen. Das Analystenhaus Crisp Research zählt sie zu den zehn Top-Technologietrends des Jahres 2017. „Digitale Assistenten und Bots werden in den kommenden Jahren massenmarkttauglich“, prognostiziert Senior Analyst & CEO Carlo Velten. Das Marktforschungsunternehmen Tractica, das sich auf Zukunftsthemen wie Künstliche Intelligenz (KI), Robotik und Augmented Reality spezialisiert hat, sagt den Bots ebenfalls eine steile Karriere voraus. Der Umsatz, den Unternehmen mit Virtual Digital Assistants (VDAs) erwirtschaften, soll demnach bis zum Jahr 2021 auf knapp 16 Milliarden Dollar steigen und sich damit im Vergleich zu 2015 fast verzehnfachen. Rund 1,8 Milliarden private Endkunden und mehr als 840 Millionen professionelle Anwender werden dann nach Ansicht der Marktforscher VDAs nutzen.
In Deutschland kann sich laut einer repräsentativen Umfrage des Branchenverbands Bitkom jeder Vierte vorstellen, Chatbots zu verwenden. Terminplanung, Reservierung und Kauf von Theater- und Kinokarten sowie die Recherche beim Online-Shopping waren die meistgenannten Nutzungsszenarien. „Die Einsatzmöglichkeiten von Chatbots sind enorm vielfältig und werden derzeit in unterschiedlichen Bereichen getestet“, sagt Timm Lutter, Bitkom-Bereichsleiter für Consumer Electronics und Digital Media.
Schneller entwickeln
Das bemerkenswerte Wachstum ist nicht zuletzt den Chatbot-Frameworks zu verdanken, die eine Entwicklung eigener virtueller Assistenten stark vereinfachen. „Frameworks bilden eine Zwischenschicht, welche aus den Anfragen der Nutzer Intentionen und Daten extrahiert, strukturiert und an die Bot-Applikation übergibt“, sagt Moritz Strube, Senior Analyst bei Crisp Research. Zusammen mit Alexander Franke hat er in Berlin das Start-up Botconnect.io gegründet, das die Integration von Sprach- und Chat-Assistenten in Business-Applikationen von Salesforce, Workday, Oracle und anderen vorantreiben will, um mit dem Einsatz Künstlicher Intelligenz die Produktivität der Mitarbeiter zu erhöhen. An der Aufgabe, natürliche Sprache zu verstehen und adäquat zu reagieren, war die erste Generation von Bots gescheitert. Sie kam Anfang des Jahrtausends auf den Markt und sorgte eher für Spott und Häme als für Begeisterung unter den Nutzern. „Die Anwender mussten sich viel zu stark an die Kommunikationsvorgaben der Bots anpassen, das hat nicht funktioniert“, erinnert sich Strube.
„Einen Bot zu bauen, der auf vordefinierte Fragen Standardantworten gibt, ist recht trivial“, sagt Roman Schacherl, Geschäftsführer des Microsoft-Partners softaware gmbh, der für seine Kunden Anwendungen, Apps und Data-Warehouse-Projekte entwickelt. „Schwierig wird es, wenn der Bot frei formulierte Fragen beantworten soll.“
Frameworks setzen maschinelles Lernen und Künstliche Intelligenz ein, um aus solchen Konversationen die zwei wesentlichen Aspekte herauszufiltern: „Was hat der Mensch gesagt?“ und „Was meint er damit?“ Die erste Frage beantworten sogenannte Speech-to-Text-Komponenten, die gesprochene Sprache verschriftlichen können. Die zweite Komponente analysiert dann diesen Text und extrahiert daraus die Absicht des Anwenders, um so die zweite Frage zu beantworten.
So wird beispielsweise aus der Aufforderung „Erinnere mich an meinen Zahnarzttermin morgen um 11 Uhr“ ein maschinenlesbarer Text, der in etwa folgendermaßen aussehen könnte:
Intent: Reminder
Date: Tomorrow
Time: 11:00
Content: Zahnarzt
Date: Tomorrow
Time: 11:00
Content: Zahnarzt
Eine der Herausforderungen liegt darin, die Absicht aus den verschiedensten Varianten dieser Aufforderung zu extrahieren, wie „Lass mich bloß meinen Zahnarzttermin morgen um 11 Uhr nicht vergessen!“ oder „Denk dran, dass ich morgen um 11 Uhr zum Zahnarzt muss.“ Auch ein schnell ge- beziehungsweise vertipptes Fragment wie „Morgen efl Uhr Zahnartz“ wird idealerweise noch verstanden.
Richtig nützlich wird ein solcher Assistent natürlich erst, wenn er die Anfrage nicht nur mit einem „Dein Termin ist eingetragen“ quittiert, sondern nachfragt und weitere Hilfe anbietet. Solche sogenannten Multi-turn-Konversationen steigern die Komplexität bei der Chatbot-Entwickung allerdings erheblich und werden auch nicht von allen Frameworks unterstützt. In unserem Beispiel könnte eine einfache Rückfrage lauten „Wann soll ich dich erinnern?“ oder „Wann willst du losfahren?“
Ein noch fortschrittlicherer digitaler Assistent kennt oder erfragt die Adresse des Zahnarztes, berechnet anhand der prognostizierten Verkehrslage die Fahrtzeit und legt die Erinnerungszeit entsprechend fest. Zukünftig handelt womöglich der Chatbot des Patienten direkt mit dem des Zahnarztes auf Basis der Kalendereinträge und hinterlegter Behandlungs- beziehungsweise Kontrollintervalle selbstständig die Termine aus – nur das Bohren selbst wird man wohl auch in Zukunft nicht den Bots überlassen können.
Frameworks helfen aber nicht nur beim Verständnis von Eingaben und der Definition von Konversationspfaden, sondern auch bei der Bereitstellung des fertigen Assistenten. „Die Anforderungen an einen Chatbot unterscheiden sich von Plattform zu Plattform, ihn manuell aus dem Nichts zu bauen, kostet extrem viel Zeit und ist teuer“, sagt Sergey Bludov, Senior Vice President Media & Entertainment bei DataArt, einem Beratungs- und Software-Haus, das Unternehmen auf dem Weg in die Digitalisierung unterstützt. „Frameworks nehmen einem da sehr viel Aufwand ab.“
2. Teil: „Kriterien für Frameworks“
Kriterien für Frameworks
Auch Prioritäten, Budget und Personaldecke spielen bei der Wahl der richtigen Plattform eine Rolle. „Wenn man klein anfangen will und nur wenig finanzielle oder personelle Ressourcen zur Verfügung hat, sind Tools ideal, die keine Entwicklungsarbeit erfordern“, sagt Strube, „wenn es aber darum geht, ein Premiumprodukt mit hoher Relevanz für den internationalen Markt zu generieren, dann sind die Plattformen der großen Anbieter wie Amazon, Facebook, Google oder Microsoft die erste Wahl.“ Diese erfüllten die Anforderungen solcher Projekte an Skalierbarkeit und Verfügbarkeit, so Strube weiter. Auch die Frage, ob man eher den Consumer- oder den Business-Bereich adressiert, sei ein wesentliches Kriterium für die Wahl des richtigen Frameworks. „Im Endkundenumfeld liegt der Fokus im Wesentlichen auf dem Facebook Messenger, während man bei Geschäftskunden darauf achten sollte, dass Plattformen wie Microsoft Teams oder Slack unterstützt werden und eine gute Integration in Unternehmensanwendungen möglich ist.“
„Solange es sich um gewöhnliche Aufgaben handelt, gibt es eine Reihe offener Frameworks, die es Entwicklern erlauben, einen Chatbot schnell und mit minimalen Kosten zu kreieren. Ein außergewöhnliches Erlebnis erreicht man damit aber nicht“, ergänzt Sergey Bludov von DataArt.
Gehen die Anforderungen über Standardszenarien hinaus, sollte man sich laut Bludov nach branchenspezifischen APIs und Lösungen umsehen, die maschinelles Lernen ermöglichen. „Ferner ist es wichtig, das Bot-Verhalten an das Feedback der Zielgruppe anzupassen“, rät der Senior Vice President.
Die größte Herausforderung besteht nach Ansicht von Crisp-Analyst Strube dabei darin, die Benutzerschnittstelle der Bots – das Conversational User Interface (CUI) – optimal zu gestalten. „Bei den grafischen Bedienoberflächen hat es fast 20 Jahre gedauert, bis wir den Komfortstandard von heute erreicht hatten.“
Noch sind selbst komplexere Dialogketten in den meisten Fällen skriptgesteuert, doch mehr und mehr halten maschinelles Lernen und Künstliche Intelligenz Einzug in die Bot-Gestaltung. „Dabei muss man allerdings darauf achten, dass man die Erwartungen des Nutzers nicht überstrapaziert oder dieser sich beispielsweise durch den Bot gegängelt fühlt“, warnt Strube.
Kein Bot ohne Cloud
Der Einsatz von maschinellem Lernen und KI für Sprachverständnis und Textanalyse erfordert enorme Rechenkapazitäten, die man im eigenen Data Center nicht oder nur mit unverhältnismäßig hohem Aufwand zur Verfügung stellen kann. „Die meisten Frameworks für die Bot-Entwicklung laufen deshalb als Service in der Cloud“, sagt Strube. Zwar könne man auch nur einzelne Dienste, zum Beispiel die Umwandlung von gesprochener Sprache in Text oder das Textverständnis, aus der Cloud beziehen und den eigentlichen Bot selbst betreiben, viel sei damit aber nicht gewonnen: „Auch dann hat man wesentliche Teile des Prozesses in der Cloud liegen.“ Datenschutz und Datensicherheit, aber auch die Frage, wie weit man womöglich geschäftskritische Prozesse in die Hand eines Providers geben möchte, spielten deshalb auch bei der Bot-Entwicklung eine entscheidende Rolle, so Strube weiter.
3. Teil: „Die wichtigsten Frameworks“
Die wichtigsten Frameworks
Amazon: Mit Amazon Lex hält Amazon Web Services einen Dienst bereit, der Sprache in Text umwandeln und aus der Konversation die Absichten des Nutzers ableiten kann. Lex wurde Ende vergangenen Jahres auf der AWS-Konferenz re:Invent vorgestellt und ist seit Kurzem für den Produktivbetrieb verfügbar.
Der Service basiert auf denselben Deep-Learning-Algorithmen wie Amazons digitale Assistentin Alexa und ermöglicht nicht nur die Entwicklung von Multi-turn-Konversationen, sondern auch die Verkettung verschiedener Konversationsmodule. Dabei entscheidet er basierend auf der Eingabe des Nutzers dynamisch über die Abfolge der einzelnen Abschnitte. So könnte Lex im genannten Zahnarztbeispiel nach der Terminvereinbarung vorschlagen, ein Taxi zu buchen oder eine Fahrkarte für die Straßenbahn zu kaufen. AWS stellt über den Service zwei Typen von Standard-Eingabeaufforderungen zur Verfügung. Die erste fordert den Benutzer auf, eine Aktion zu bestätigen, beispielsweise eine Tischreservierung im Restaurant oder eine Flugbuchung, die zweite wird immer dann eingesetzt, wenn das System die Nachricht des Anwenders nicht analysieren kann. Sie bittet darum, die Frage anders zu formulieren beziehungsweise sie zu präzisieren.
Über den Serverless-Dienst AWS Lambda lässt sich ein Chatbot mit anderen Systemen verknüpfen und so zum Beispiel in Webshops integrieren, der Benachrichtigungs-Service SNS (Simple Notification Service) nutzen oder der Chatbot an eine Datenbank wie DynamoDB anbinden. Amazon Lex bietet außerdem bereits vorgefertigte Integratoren für SaaS-Anwendungen wie Hubspot, Marketo, Microsoft Dynamics, Salesforce, QuickBooks oder Zendesk. Für iOS und Android gibt es SDKs, alternativ lassen sich die Chatbots auch in Apps integrieren, die über den AWS Mobile Hub zur Verfügung gestellt werden. Darüber hinaus hält Lex Schnittstellen zum Facebook Messenger bereit, für den SMS-Dienst von Twilio sowie die Messaging-Plattform Slack. Weitere Plattformen lassen sich per AWS Lambda und das Amazon API Gateway anbinden, sofern auf der Gegenseite eine entsprechende API zur Verfügung steht.
Facebook: Das soziale Netzwerk Facebook bietet auf seiner im April 2016 gestarteten Messenger Platform Unternehmen die Möglichkeit, eigene Bots zu entwerfen und Nutzern zur Verfügung zu stellen. Über die „Send/Receive“-API lassen sich nicht nur Texte senden und empfangen, sondern auch Multimedia-Inhalte austauschen oder mit verschiedenen Vorlagen interaktive Response-Seiten gestalten. Die Nutzdaten müssen dabei im JSON-Format (JavaScript Object Notation) vorliegen. Attachments wie Bilder, Audiodateien oder Videos brauchen nicht bei jedem Kontakt neu versandt zu werden, sondern sind per ID referenzierbar, was Speicher und Bandbreite spart.
Auf der Plattform Wit.ai, die Facebook 2015 nur 18 Monate nach ihrer Gründung übernommen hat, stellt der Social-Media-Anbieter KI-Services für Spracherkennung und Textanalyse bereit. Die Plattform durchsucht mit dem sogenannten Intent Parser den Text, identifiziert die Absicht des Sprechers beziehungsweise Schreibers und übersetzt sie in maschinenlesbare Datensätze. Auf Basis der Analyse gibt Wit.ai Empfehlungen, was der Bot als Nächstes antworten beziehungsweise tun sollte. Welche Parameter zu erfassen sind und wie der Chatbot auf eine Anfrage reagieren soll, definiert der Entwickler in einer „Story“, einer Art Drehbuchvorlage für die Konversationen.
Wit.ai nutzt maschinelles Lernen, um aus den Interaktionen Erfahrungen zu sammeln, und lässt die Ergebnisse dieses Lernprozesses wieder in Konversationen einfließen. Auch wenn Wit.ai zu Facebook gehört, ist der Einsatz nicht auf die Messenger-Plattform beschränkt. „Die über 100.000 Entwickler in der Wit-Community programmieren mobile Apps, Endgeräte, Roboter und Bots für Messenger, Slack, Line, Telegram und andere Plattformen“, sagt Mitgründer Laurent Landowski.
Facebook selbst verwendet für seinen im August 2015 gestarteten Assistenten „M“ eine Mischung aus selbstlernenden Algorithmen und menschlicher Überwachung. M hilft ähnlich wie Siri oder Google Now bei Alltagsaufgaben und soll so verhindern, dass der Nutzer überhaupt noch den Messenger verlassen muss. Seit April 2017 können Anwender in den USA auf iOS- und Android-Geräten die neue Funktion „Suggestions“ verwenden. Basierend auf der Chat-Konversation im Messenger schlägt M verschiedene Aktionen vor. Manches davon ist allerdings eher Spielerei. So kann M nun im Namen des Nutzers Sticker versenden oder in einem Gruppen-Chat eine Umfrage starten. Je nach Konversationsinhalt bietet der Assistent aber auch praktischere Dienste an, wie eine Bezahlung auszulösen, eine Mitfahrgelegenheit bei Uber oder Lyft zu organisieren, einem anderen Nutzer den Standort mitzuteilen oder eine Erinnerung anzulegen.
4. Teil: „Vorgefertigte Frameworks erleichtern den Einstieg“
Vorgefertigte Frameworks erleichtern den Einstieg
Google: Die 2016 von Google übernommene Alternative Api.ai bietet ebenfalls Integrationsmöglichkeiten in eine Vielzahl von Messenger-Plattformen. Das Framework erleichtert den Einstieg vor allem durch vorgefertigte Pakete, Domains genannt. Sie enthalten bereits Kommunikationselemente für bestimmte Aufgabe wie Small Talk, Reservierungen, Wettervorhersagen, Informationen, Flugstatus oder Nachrichten.
Microsoft: Fast zum selben Zeitpunkt wie Facebook kündigte Microsoft sein Bot-Framework an. Es besteht im Wesentlichen aus drei Komponenten: dem „Bot Builder Software Development Kit“ (SDK), dem „Developer Portal“ und dem „Bot Directory“. Das SDK erlaubt es, Bots auf Basis von Node.js, .NET oder REST-APIs zu entwickeln. Es enthält vorgefertigte Chat-Elemente wie Eingabeaufforderungen und Formularfelder für unterschiedliche Eingabetypen wie Ja-/Nein-Antworten, Zahlen, Auswahlfelder oder Freitext. Die Unterstützung für sogenannte Rich Interactions wie das Versenden von Bildern und Videos oder die Einbindung von Skype-Calls ist ebenso enthalten wie Schnittstellen zu den Cognitive Services auf Azure. Über diese APIs lässt sich unter anderem der Language Understanding Service (luis.ai) ansprechen, der vorgefertigte und trainierbare Modelle für das Verständnis und die Ausgabe natürlicher Sprache zur Verfügung stellt. Ein Chat Emulator erlaubt es darüber hinaus, die Konversationsfähigkeiten seines Bots zu testen.
Über das Developer Portal lässt sich der fertige Bot mit einer Vielzahl von Plattformen verbinden, darunter Skype, Slack, Facebook Messenger, Kik, Telegram, Microsoft Teams oder Office 365. Das Bot Directory ist so etwas wie die „Gelben Seiten“ für Chatbots. Nutzer können dort nach Chatbots suchen und sie in ihre bevorzugte Kommunikationsplattform integrieren, ohne dass dafür eine zusätzliche App installiert werden muss.
Das Microsoft-Framework bietet einen einfachen Einstieg in die Bot-Entwicklung, sagt Roman Schacherl von softaware, der das Angebot getestet und eigene Bots damit entwickelt hat. „Der Kern der Plattform ist sehr überschaubar, ich muss mir nicht ein halbes Jahr Zeit nehmen, um einen Bot zu bauen.“ Wer Erfahrungen in der Entwicklung von Webapplikationen oder mobilen Apps hat, kommt laut Schacherl mit dem Framework schnell zurecht: „Microsoft setzt auf offene Standards wie HTTP, sodass man sich nicht in irgendwelche proprietären Protokolle einarbeiten muss.“ Den größten Vorteil sieht Schacherl in den vorgefertigten Konnektoren, die den Einsatz eines Bots in verschiedensten Messengern und Applikationen ermöglichen. „Ich muss den Bot nur einmal entwickeln und kann ihn dann für mehrere Plattformen freischalten.“ Auch in eigene Anwendungen lassen sich solche Bots integrieren. „Für diesen Zweck gibt es ein fertiges Web-Control, dank REST-API lässt sich aber auch einfach ein eigenes Interface entwickeln“, sagt Schacherl.
Amazon, Facebook, Google und Microsoft sind nicht die einzigen, die Frameworks für den Chatbot-Bau bieten, wenn auch sicher mit Abstand die größten. Alternativen sind zum Beispiel Broid, Bottr und Botstack.
Fazit
Die Mehrzahl dieser digitalen Assistenten erfüllt jedoch nicht die hohen Erwartungen an ihre Konversationskompetenz, die nicht zuletzt von den Framework-Anbietern geschürt wurden. Ein Test des Silicon-Valley-Blogs „The Information“ im Februar 2017 ergab, dass die Bots im Facebook Messenger lediglich 30 Prozent der Nutzeranfragen selbstständig bearbeiten konnten. Bei den restlichen 70 Prozent musste ein Mitarbeiter mit menschlicher Intelligenz der künstlichen auf die Sprünge helfen. Unternehmen sollten sich bei der Entwicklung eigener digitaler Assistenten deshalb sehr genau überlegen, was ihre Bots können sollen und wie realistisch diese Erwartungen sind. Sie sollten sich aber auch fragen, welche Vorteile sie gegenüber einer Kommunikation per Webseite, App, E-Mail oder Telefon bringen.
Nur wer diese Fragen gründlich überdenkt und ehrliche Antworten darauf gibt, kann gute Chatbots optimal entwickeln und das Beste aus den Frameworks herausholen.
Bad News
Game macht Fake News spielerisch erkennbar
Wissenschaftler der Universität Uppsala haben ihr Online-Spiel "Bad News" erfolgreich an 516 Schülern getestet. Es soll helfen, manipulative Techniken in Social-Media-Posts zu erkennen.
>>
Huawei Roadshow 2024
Technologie auf Rädern - der Show-Truck von Huawei ist unterwegs
Die Huawei Europe Enterprise Roadshow läuft dieses Jahr unter dem Thema "Digital & Green: Accelerate Industrial Intelligence". Im Show-Truck zeigt das Unternehmen neueste Produkte und Lösungen. Ziel ist es, Kunden und Partner zusammenzubringen.
>>
Bildbearbeitungs-Tipps
Das neue Paint - Das kann es inklusive KI-Funktionen
Microsoft hat seine altehrwürdige Bildbearbeitungs-Software Paint generalüberholt. Wir erklären die neuen Funktionen und was Sie damit anstellen können.
>>
Forschung
KI macht Gebärdensprache zugänglicher
Ein KI-Tool der Universität Leiden für "Wörterbücher" erkennt Positionen und Bewegungen der Hände bei der Darstellung unterschiedlicher Gebärdensprachen.
>>