DZ BANK Logo
Innovation lab Logo
Foto: Getty Images
Trends & Technologie | 24. April 2017

Wie ein Chatbot im Hintergrund arbeitet (Teil 2): Die Verarbeitungsschritte für Chatbots

Nach der Einführung in Teil 1 geht es heute in die Tiefe eines Chatbots. Zum Einstieg ein fiktives Beispiel (ein konkretes Beispiel für einen Dialog mit einem Bankbot ist hier zu finden: Meet Jude. My Private Banker):

Karl hat ein Smartphone und ruft den Facebook Messenger auf und führt per Sprache folgenden Dialog mit seinem Bankbot:

  • Karl: Hallo Bankbot, wie viel Geld habe ich auf meinen Konten?
  • Bankbot: Hallo Karl, soll ich Dir die Salden aller Deiner Bankkonten mitteilen?
  • Karl: Ja
  • Bankbot: Folgende Salden zeigen Deine Konten an:
  • Frankfurter Volksbank: 583,45 Euro
  • GLS Bank: -250,00 Euro
  • Karl: Kannst Du mein Konto bei der GLS BANK ausgleichen?
  • Bankbot: Möchtest Du, dass ich 250 Euro von Deinem Konto bei der Frankfurter Volksbank auf Dein Konto bei der GLS BANK überweise?
  • Karl: Ja
  • Bankbot: Gebe dazu bitte jetzt die Transaktionsnummer ein, die Du mit dem TAN-Generator der Frankfurter Volksbank erstellst.
  • Karl: Eingabe TAN 123456
  • Bankbot: Ich habe 250 Euro von Deinem Konto bei der Frankfurter Volksbank auf Dein Konto bei der GLS BANK überwiesen. Kann ich sonst noch etwas für Dich tun?
  • Karl: Wie ist das Wetter in Windhoek?
  • Bankbot: In Windhoek, Namibia, ist es sonnig und 28 Grad, für heute Nachmittag wird ein Gewitter erwartet.

An dieser Stelle noch einmal der Hinweis, dass die heutigen Chatbots keine homogenen Tools sind, deren Funktionen komplett in einem Programm auf dem Smartphone ausgeführt werden. Die anspruchsvolleren Exemplare bestehen vielmehr aus einem Bündel von Diensten und Schnittstellen  zu Anwendungen in weltweiten Cloud-Diensten.

Was passiert hier nun im Detail, wenn der User mit einem Chatbot kommuniziert.

  1. Eingabe und Eingabeumgebung

Der Chatbot erscheint quasi als eigener User in einem bestimmten Dialogtool oder Kanal. Ein solcher Kanal kann z.B. sein

  • ein Dialogfenster in einer Webseite
  • eine eigene Webseite
  • ein Messenger: Facebook-Messenger, WhatsApp, WeChat, Telegram
  • ein Telefonkanal
  • integriert sein in eine bestehende App
  • eine eigenständige App
  • EMail
  • persönliche Assistenten wie Alexa, Siri, Cortana

Im obigen Beispiel ist der Bot der Bankbot, der im Facebook Messenger erscheint. Wichtig ist: nicht der Kanal selbst ist der Bot, sondern der Bot ist der Empfänger innerhalb eines Kanals. Mit Hilfe eines BotBuilder Frameworks (solche werden z.B. von Microsoft, Facebook oder Google bereitgestellt) können Entwickler die Bots in ihre eigenen Anwendungen einbinden. An die Bots können wiederum bestimmte Services angebunden werden. Neben der vom User gestellten Frage, werden im Hintergrund ggf. auch weitere Informationen mit aufgenommen wie Standort, Uhrzeit, Kontext und die Identifizierung.

  1. Identifizierung

Wichtig ist es in bestimmten Fällen, die Person, die die Daten eingegeben hat, möglichst eindeutig identifizieren zu können. Das ist dann bedeutsam, wenn vertrauliche Informationen abgerufen oder später Transaktionen im Namen des Benutzers durchgeführt werden sollen.

In dem Beispiel stellt Karl über den Messenger die Fragen an den Bankbot. Karl hat dazu die Zugangsdaten für sein Facebookkonto eingegeben und dort seine Zugangsdaten für seine Bankkonten hinterlegt.

Je nachdem welche Informationen Paul freigegeben hat, kann der Bankbot Karl eindeutig identifizieren, kennt seinen Standort und in diesem Fall auch seine Bankdaten, die den Zugang zu den Bankdaten ermöglichen.

Eine andere Möglichkeit zur Identifizierung, die in der Zukunft immer mehr Relevanz erhalten wird, ist die Sprechererkennung, also die eindeutige und zweifelsfreie Identifizierung eines Nutzers allein anhand seiner Stimme. Erste Versuche damit gibt es etwa mit der Speaker Recognition API von Microsoft.

  1. Erkennung

Im nächsten Schritt sind die Eingabedaten, also Sprache, Texte, Bilder (z.B. über captionbot) , Videos, Töne oder auch Emoticons (gelernt habe ich den Begriff emoticon-parser) in für IT-Systeme verarbeitbare Zeichen zu übersetzen.

In dem Beispiel spricht Karl die Lautfolge: “Hallo Bankbot, wie viele Geld habe ich auf meinem Konto?”

Ein Modul für die Spracherkennung transkribiert also eine bestimmte Tonfolge oder Laute in einen maschinenlesbaren Satz. Das gelingt z.B. mit der  Bing Speech API. Sie verwandelt Sprache in Text und Texte in Sprache.

Dank der Verarbeitung in der Cloud ist die Qualität der Spracherkennung mittlerweile ausgesprochen hoch und erreicht eine Wort-Fehler-Quote von bis zu 6,3 Prozent. Vor zwanzig Jahren soll die Fehlerquote noch bei 43 Prozent gelegen haben.

Mittlerweile habe ich gelernt, dass der Begriff Spracherkennung unpräzise ist, denn Spracherkennung kann sowohl die Erkennung des Sprechers meinen als auch den Inhalt eines Gesprächs.

Andere Möglichkeiten sind die Erkennung von Emotionen (Emotion API) und Gesichtern (Face API).

  1. Inhaltliche Analyse

Wenn ein Bot sinnvoll reagieren soll, muss er verstehen, was sein menschlicher Partner sagt. Bots sind nicht so wie Programme, die nur auf genau definierte Befehle reagieren.  Wenn sie “intelligent” wirken wollen, sollten sie ähnlich wie ein menschlicher Partner reagieren.

Die im dritten Schritt erkannten und maschinenlesbaren Informationen werden also nun nach bestimmten Verfahren interpretiert und semantisch analysiert. Für die Analyse können KI-Systeme wie Watson oder weitere Microsoft Cognitive Services verwendet werden. WATSON ist eine Plattform von IBM, die wiederum aus einer Fülle von Tools besteht. WATSON wird auch als semantische Suchmaschine bezeichnet.

Luis von Microsoft dient zum Beispiel dazu, herauszufinden, was der Nutzer anhand einer in natürlicher Sprache gestellten Frage tatsächlich will und welche zusätzlichen Informationen ggf. benötigt werden. LUIS analysiert die Sprache  semantisch und inhaltliche und versucht die Absichten zu verstehen und im Dialog mit dem Anwender fehlende Informationen zu ermitteln. LUIS kann sich dazu z.B. an einem Entscheidungsbaum orientieren. Es können auch zusätzliche Informationen abgefragt werden mit einem Auswahlmenü möglicher Antworten.

In dem Beispiel oben muss der Satz “Kannst Du mein Konto bei der GLS BANK ausgleichen?” interpretiert werden.

Der Bot interpretiert das so: “Möchtest Du, dass ich 250 Euro von Deinem Konto bei der Frankfurter Volksbank auf Dein Konto bei der GLS BANK überweise?” und lässt sich das bestätigen.

Außerdem muss der Bott im obigen Beispiel ermitteln, welche Konten gemeint sind. Dazu muss der Benutzer einmal seine Bankdaten hinterlegt haben.

Werden dem Bot Fragen gestellt, die überhaupt nicht zum Einsatz des Bots passen, kann optional die Anfrage über eine API auch an Systeme wie Cortana weitergeleitet werden, die dann eine Antwort suchen.

Im obigen Beispiel ist das die Frage nach dem Wetter. Der Bankbot ist dafür eigentlich nicht geeignet. In diesem Fall haben die Entwickler aber eine Schnittstelle den Bot an Cortana angebunden, der nun eine Antwort sucht.

  1. Verarbeitung

 Ist die Analyse unter 4. abgeschlossen erfolgt die weitere Verarbeitung. Wenn mit Hilfe der inhaltlichen Analyse die Anfrage verstanden wurde, beginnt die Suche nach einer Antwort durch

  • Verbindung mit eigenen und/oder fremden Datenbanken oder Expertensysteme, wie Watson.
  • Berechnungen
  • andere Verfahren z.B. neuronale Netze
  • gelernte Antworten -> Q & A Maker

In dem Beispiel oben wird über eine API, das könnte z.B. die figo-API sein, eine Verbindung zu den Bankrechnern der Frankfurter Volksbank und der GLS Bank  hergestellt, denn nur dieser enthalten die jeweiligen Kontostände enthalten. Da der Bot die Zugangsdaten gespeichert hat, kann er die Verbindung herstellen und Salden und Umsätze abfragen.

Watson soll beispielsweise wissenschaftliche Aufsätze und medizinische Zeitschriften analysieren können, um in verschiedenen medizinischen Bereichen auf dem aktuellen Stand zu bleiben und z.B. anhand eines Röntgenbilds innerhalb weniger Sekunden eine Krebsdiagnose stellen zu können (siehe auch “So arbeitet Watson”).

  1. Ausgabe

Aus der Verarbeitung in Schritt 5 erfolgt eine Ausgabe an den Nutzer z.B.

  • als Information in Text, Sprache, Bild, Video etc. oder
  • durch konkrete Aktion/Handlungsanweisung. So kann etwa über den Messenger eine zu der Anfrage passende Information (z.B. Fahrplan) ausgegeben oder eine Transaktion (z.B. Überweisung) ausgeführt werden,
  • als ausgefülltes Formular,
  • durch das Einschalten von Licht oder eines Radiosenders,
  • durch Durchführung einer Zahlung durchgeführt werden.

Manche Bots enthalten eine Art Qualitäts- und Plausibilitätsprüfung, die ermittelt, mit welcher Wahrscheinlichkeit die Antwort korrekt ist. Im Fall der Kontostände kann die Frage zu 100% korrekt ermittelt werden. Würde aber die Frage lauten, wieviel Geld habe ich in einer Woche auf meinem Konto, gäbe es einen Unsicherheitsfaktor.

Hier könnten auch Schwellwerte vorgegeben werden, die z.B. eine qualitativ schlechte Antwort verhindern bzw. auf die Beschränktheit der Antwort hinweisen.

Im Eingangsbeispiel erfolgt einmal die Ausgabe der Informationen über das Chatfenster. Zusätzlich wird noch eine Transaktion angestoßen.

  1. Lernen im Hintergrund

Für KI-Bots ist es wichtig, auf sprachlicher Ebene zu lernen, etwa um den Zusammenhang menschlicher Gespräche besser zu verstehen. Das passiert im Hintergrund. Viele Bots, z.B. für Hotlines, werden zunächst trainiert mit konkreten Support-Anfragen und üblichen Antworten in der Vergangenheit.

Für die Spracheingabe könnte ein Bot außerdem erst einmal den speziellen Dialekt eines Kunden erlernen.

Das war ein kleiner Einblick in den Hintergrund eines Chatbots. Alle Schritte lassen sich vielfältig variieren.

Weitere Literaturhinweise

1 Kommentar
Kommentieren

dreizehn − fünf =

Diese Themen interessieren uns

Lean and Secure Decentralized Delivery-versus-Payment (DvP) for Securities Settlement

Lean and Secure Decentralized Delivery-versus-Payment (DvP) for Securities Settlement

Weiterlesen
Comment
0
FinTech Innovationen in Asien – Ein Blick auf das FinTech Festival in Singapur
FinTech Innovationen in Asien – Ein Blick auf das FinTech Festival in Singapur
Allgemein
22. Dezember 2023

FinTech Innovationen in Asien – Ein Blick auf das FinTech Festival in Singapur

Weiterlesen
Comment
0
Kryptoassets: DZ BANK startet eigene Digitalverwahrplattform
Kryptoassets: DZ BANK startet eigene Digitalverwahrplattform
Trends & Technologie
3. November 2023

Kryptoassets: DZ BANK startet eigene Digitalverwahrplattform

Weiterlesen
Comment
0