Die Verarbeitungsschritte für Chatbots (Teil 2): Was passiert dahinter?

by Dirk Elsner on 10. November 2016

Ich setze hier direkt den ersten Beitrag vom Anfang der Woche fort. Ich finde es gar nicht so einfach zu verstehen, was ein Chatbot im Detail macht, wenn man so die bisher verfügbaren Texte sich ansieht. Keiner der Texte hat mich bisher wirklich überzeugt. Daher versuche ich mit dieser kleinen Reihe das Puzzle selbst zusammenzusetzen. Wichtig ist es dabei zu zu verstehen, dass Chatbots keine homogenen Tools mehr sind, wie z.B. damals ELIZA. Chatbot ist eigentlich die Bezeichnung für ein Konzept. Sie sind eine Art Kommunikationskanal, der in andere Anwendungen, wie in Teil 1 dargestellt, etwa in den Facebook Messenger eingebunden ist.

clip_image002

Dieser Bot schnackt auch, ist aber kein Chatbot

Die Verarbeitung kann durch unterschiedlichste Teilanwendungen erfolgen, die dezentral verteilt sein und durch verschiedenste Betreiber erfolgen können. Unten zerlege ich den Prozess in einzelnen Schritte.

Was macht ein Computer?

Bevor ich das zerlege, ist ein grobes Verständnis hilfreich, was eigentlich ein Computer macht. Das hat Klaus Mainzer in seinem Buch “Künstliche Intelligenz” erklärt.

“Computer verarbeiten im Grunde Texte als Folgen von Symbolen eines bestimmten Alphabets. Computerprogramme sind Texte über dem Alphabet einer Rechnertastatur, also den Symbolen der Tasten eines Keyboards. Diese Texte werden im Computer automatisch in Bitfolgen der Maschinensprache übersetzt, also Symbolfolgen eines Alphabets aus den beiden Ziffern 0 und 1, die für alternative technische Zustände der Rechenmaschine stehen. Über diese Texte und ihre Übersetzung in technische Abläufe kommt die physikalische Maschine des Computers zum Laufen.”

Mainzer arbeitet noch einen weiteren Gedanken heraus, den ich für wichtig halte, wenn man die Kommunikation über Softwareagenten verstehen will (Pos. 1.443 Kindle Edition):

“Kommunikation zwischen Menschen ist allerdings keineswegs auf Gedankenaustausch über Sachverhalte beschränkt. Kommunikation besteht aus Handlungen des Sprechens, die Absichten verfolgen und Veränderungen der Umwelt auslösen. Der amerikanische Philosoph J. Searle hat dafür im Anschluss an den britischen Sprachphilosophen J. L. Austin den Begriff des Sprechaktes eingeführt. Ein Sprechakt wie z.B. „Können Sie mir Information über eine bestimmte Person geben?“ ist danach durch verschiedene Handlungskomponenten bestimmt. Zunächst ist der Übermittlungsvorgang des Ansprechens zu beachten (lokutionärer Akt). Mit dem Sprechakt sind bestimmte Absichten des Sprechers wie z. B. Bitte, Befehl oder Frage verbunden (illokutionärer Akt). Der perlokutionäre Akt hält die Auswirkungen des Sprechaktes auf den Adressaten einer Nachricht fest, z. B. die Bereitschaft, eine Information über eine Person zu geben oder nicht. …

In der Technik geht es zunächst um möglichst effiziente Teillösungen, die Erkennung, Analyse, Transfer, Generierung und Synthese von natürlich sprachlicher Kommunikation durch Computerprogramme verwirklichen.“

Die Verarbeitungsschritte für Chatbots

Um sicher der Funktionsweise von Chatbots nähern, ist es wichtig zu verstehen, dass eine solche Anwendung keine homogene Softwaren ist, sondern aus einem Konglomerat verschiedenster digitaler Dienste besteht. Dazu ist es hilfreich, diese Anwendungen in seine Komponenten zu zerlegen. In Anlehnung an die vorhergehende Darstellung von Klaus Mainzer habe ich die einzelnen Schritte zerlegt. Das mag noch nicht der korrekten technischen Darstellung der Arbeitsweise von Chatbots entsprechen

1. Eingabe: Wichtig finde ich den Hinweis, dass es unterschiedlichste Eingangskanäle für KI-Systeme gibt. Tools wie der Facebook-Messenger, WhatsApp, WeChat und andere Messenger, über die das Thema derzeit populär wird, sind nur einer von vielen Kanälen. Sie sind aber nicht der Bot, sondern der Bot ist der Empfänger innerhalb eines Messenger, wie etwa in dem Beispiel aus Teil 1 der @kinobot.

Denkbar sind auch alle möglichen anderen Eingangskanäle, wie Webseite, Mail, Telefon etc.

2. Identifizierung: Wichtig ist die Person, die die Daten eingegeben hat, möglichst eindeutig identifiziert werden kann. Das ist deswegen bedeutsam, wenn vertrauliche Informationen abgerufen oder später Transaktionen durchgeführt werden sollen. In dem Beispiel aus Teil 1, stellt Paul die Fragen an den kinobot. Je nachdem welche Informationen Paul freigegeben hat, kann der kinobot Kai identifizieren, kennt seinen Standort und in diesem Fall auch seine Kreditkartendaten.

3. Erkennung: Im nächsten Schritt sind die Eingabedaten, also Texte, Bilder, Videos, Töne oder auch Emoticons (gelernt habe ich den Begriff emoticon-parser) zu verstehen und ggf. zu übersetzen.

In dem Beispiel fragt Kai: Wann und wo läuft heute der neue X-Men-Film?“

Was für uns trivial erscheinen mag, ist für einen Bot gar nicht so einfach. Er muss genau verstehen, was mit der Frage gemeint ist, sonst gibt er unsinnige oder zu viele Antworten aus.

4. Analyse: Anschließend werden die erkannten Informationen nach bestimmten Verfahren interpretiert und analysiert. Für die Analyse können KI-Systeme wie Watson verwendet werden. WATSON ist eine Plattform von IBM, die aus einer Fülle von Tools besteht. Im Gegensatz zu ELIZA wird das WATSON als semantische Suchmaschine bezeichnet.

5. Verarbeitung: Es folgt die Suche nach einer Antwort in eigenen und fremden Datenbanken. Watson etwa erfasst in natürlicher Sprache gestellte Fragen und findet in Datenbanken dazu passenden Antworten in kurzer Zeit. Dazu, so erklärt es Klaus Mainzer in seinem Buch Künstliche Intelligenz “integriert sie viele parallel arbeitende Sprachalgorithmen, Expertensysteme, Suchmaschinen und linguistische Prozessoren auf der Grundlage der Rechen- und Speicherkapazitäten von riesigen Datenmengen (Big Data).” 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 (siehe auch “So arbeitet Watson”).

6. Ausgabe: Abschließend erfolgt Ausgabe als Information oder konkrete 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.

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

Verschwindet der Hype?

Für mich ist dieser Beitragsreihe nur eine erste Annäherung, die mir hilft die neuen Instrumente besser zu verstehen. Es bleibt vorläufig weiter schwer vorherzusehen, ob Chatbots wirklich die Hohen Erwartungen erfüllen. Ich kann mir eine ganze Reihe sinnvoller Anwendungen im Support, der standardisierten Beratung und auch Finanzumfeld vorstellen. Bis zur breiten Marktreife dürfte es aber noch dauern. Der Hype wird nachlassen, die neue Technologie wird sich aber weiter entwickeln und in unserem Alltag ankommen.

Previous post:

Next post: