Chatbots Teil 3

Chatbots - Technologie und Architektur

30.03.2017 von Moritz Strube  IDG ExpertenNetzwerk
Dieser Teil widmet sich der Technologie und Architektur von Chatbots. Dazu wird zunächst der prinzipielle Ablauf einer Konversation dargestellt. Darauf basierend werden Technologien und Architekturen für die Implementierung von Chatbots vorgestellt.

Ablauf einer Konversation

Das folgende Diagramm zeigt den prinzipiellen Ablauf einer Konversation - sowohl für sprach- als auch textbasierte Konversationen.

Ablauf einer Konversation mit einem Chatbot
Foto: Crisp Research 2017
  1. 1. Im Falle der sprachbasierten Konversation werden zunächst die mit Mikrofonen empfangenen Audiodaten mit Verfahren der automatischen Spracherkennung in Text überführt. (Die automatische Spracherkennung wird auch von verschiedenen Anbietern als eigener Service zur Verfügung gestellt.)

  1. 2. Aus dem vorliegenden Text, der durch Konvertierung von Audiodaten oder durch Texteingabe in einem Messenger stammen kann, werden auf Basis von Verfahren zum Verständnis natürlicher Sprache strukturierte Daten abgeleitet.

  1. 3. Die vorliegenden strukturierten Daten werden auf Anfragen abgebildet und an eine Bot-Aplikation übergeben.

  1. 4. Diese Bot-Applikation generiert auf Basis der übergebenen Daten Texte, die als Antwort zurückgegeben werden.

  1. 5. Im Falle der sprachbasierten Konversation werden die Texte durch Verfahren der Sprachsynthese in Audiodaten überführt, die vom Interface über einen Lautsprecher ausgegeben werden.

Technologien

Für die verschiedenen Prozessschritte einer bot-basierten Konversation kommen verschiedene Technologien zum Einsatz, die im Folgenden erläutert werden.

Benutzerschnittstelle eines Chatbots können Smartphones und Tablets, aber auch spezielle Hardware wie Amazon Echo sein.
Foto: Zapp2Photo/Shutterstock.com

Benutzerschnittstelle (Hardware)

Benutzer interagieren mit einem Chatbot über ein mit Mikrofonen und Lautsprechern ausgestattets Endgerät. Beispiele hierfür sind:

Das können aber auch Geräte sein, die nur eine textbasierte Interaktion ermöglichen, also

Benutzerschnittstelle (Software)

Die Hardware fungiert mit entsprechender Software als sprach- oder textbasiertes Conversational Interface (CUI).

Sprachbasierte Interfaces

Das Gerät, mit dem der Benutzer interagiert, muss mit einer entsprechenden Software ausgestattet sein. Im Falle von Sprache dient die Software dazu, Audiodaten zwischen dem Endgerät und einem Service für die Konvertierung von Sprache in Text und umgekehrt zu übertragen. Dabei kommen Verfahren der automatischen Spracherkennung zum Einsatz.

Es kann auch spezielle Software zur Erkennung von “wake words” zum Einsatz kommen. So kann Amazon Echo mit “Alexa” oder Google Home mit “Hello Google” aktiviert werden.

Die in digitalen Assistenten verwendeten Services zur automatischen Spracherkennung und wake word engines werden auch als separate cloudbasierte Services angeboten.

Textbasierte Interfaces

Interagiert ein Benutzer über Text, kann dies über eine Messenger-App oder einen Messenger-Service erfolgen, der in eine Webapp eingebettet ist.

Die meisten relevanten Messenger-Apps verfügen über HTTP-basierte Bot-APIs, mit denen die Messenger für die Chatbot-Konversation genutzt werden können. Eine große Ausnahme stellt Whatsapp dar. Google bietet aktuell noch keine Bot-API für Allo, diese ist aber geplant.

Die Entwicklungsplattformen für Chatbots bieten in unterschiedlichem Maße Unterstützung für die Integration für Messenger an. Dabei können Messenger direkt aus der GUI der Entwicklungsplattformen heraus integriert werden oder es werden SDKs bereitgestellt. Die Nutzung von HTTP-APIs bietet aber allgemein die Möglichkeit, die Bot-APIs der Messenger mit den Bot-Frameworks zu nutzen.

Bot Frameworks

Die Bot-Frameworks sind der eigentliche Kern der Chatbots. Hier kommen die jüngsten Innovationen im Bereich des Natürlichen Sprachverständnisses zum Einsatz. Dabei handelt es sich um ein Teilgebiet der künstlichen Intelligenz, das inzwischen im Hinblick auf Genauigkeit (“Accuracy”) und Geschwindigkeit ein Niveau erreicht hat, das die Nutzung für Chatbots ermöglicht. Diese Verfahren sind sehr rechenintensiv und sind daher praktisch nur als cloudbasierte Services verfügbar - wenn man hierfür nicht einen HPC-Cluster on premise bereitstellen will.

In der Gesamtarchitektur erfüllen die KI-Komponenten der Bot-Frameworks die Aufgabe, die von Benutzern in natürlicher Sprache erhaltenen Äußerungen (“utterances”) auf strukturierte Daten für die weitere Verarbeitung abzubilden (Schritt 2 im “Ablauf einer Konversation”).

Die Funktionalität umfasst im Allgemeinen folgende Funktionen:

Das folgende einfache Beispiel demonstriert diesen Prozess:

Bot-Applikation

Obwohl einige Bot-Frameworks die Implementierung auch komplexerer Dialoge und sogar die Einbindung von externen Services ermöglichen, ist es für die Realisierung von Chatbots im Allgemeinen notwendig, eine Bot-Applikation zu implementieren.

Zur Realisierung von Chatbots ist es im Allgemeinen notwendig, eine Bot-Applikation zu implementieren.
Foto: Crisp Research 2017

Für die Kommunikation zwischen Bot-Framework und der Backend-Implementierung kommen verschiedene Verfahren zum Einsatz:

Weitere Aspekte

In dieser aus Platzgründen stark vereinfachten und oberflächlichen Darstellung konnten viele für den praktischen Einsatz relevante Aspekte nicht erläutert werden. Dazu gehören z. B.:

Der Einstieg

Wir empfehlen CIOs, CDOs und anderen IT-Entscheidern eine intensive Auseinandersetzung mit dem Thema Chatbots und digitale Assistenten, wenn sie sich mit einem der folgenden Themen beschäftigen:

Abhängig vom konkreten Use Case bietet das zunehmende Angebot an Chatbot-Plattformen und APIs vielfältige Umsetzungsmöglichkeiten, die am besten praktisch im Unternehmenskontext evaluiert werden. Dabei ist die rasante Entwicklung dieser jungen Produkte zu berücksichtigen - das Angebot wird schnell in der Breite und Tiefe ausgebaut werden.