Künstliche Intelligenz und Digitale Assistenten

So lernen Sprach- und Chatbots

03.07.2019
Von   IDG ExpertenNetzwerk


Holger Hornik leitet das Team Cognitive Analytics bei msg und entwickelt an der Schnittstelle aus Business und IT zukunftsweisende Strategien sowie neue Perspektiven durch den Einsatz prädiktiver und kognitiver Technologien. Mit über 14 Jahren Erfahrung als IT-Spezialist und Architekt hilft er Unternehmen Lösungen zu kreieren, um Kundenanliegen schneller objektiver und bedarfsgerechter zu beantworten.
Die dialoggesteuerte Ausgabe von Text- oder Sprachnachrichten ist keine neue Erfindung. Spannend wird sie aber, wenn der Sprach- oder Chatbot nicht nur vorgefertigte Textbausteine von sich geben kann. Dieser Artikel erklärt die Hintergründe.

Die ersten Dialogsysteme wurden schon Mitte der 1960er, Anfang der 1970er Jahre entwickelt und eingesetzt. Sie basierten auf starren Regeln und folgten vorgegebenen Abläufen. Auch heute noch spielen solche einfachen "Bots" eine Rolle, wenn es darum geht, weitgehend standardisierte Vorgänge abzuarbeiten.

Typische Anwendungsfälle sind etwa die Mitteilung von Adressänderungen, die Erfassung eines SEPA-Mandats oder die Schadensmeldung bei einer Versicherung. Die Fragen und Antworten des Bot-Systems sind in solchen regelbasierten Dialogabläufen fest vorgegeben und werden meist manuell in der entsprechenden Software erstellt. In erweiterter Form lassen sich diese einfachen Bots an Subsysteme anbinden, um die erfassten Informationen auszutauschen.

Moderne Bots werden mittels Machine-Learning-Funktionen erstellt, die meist mit Hilfe von neuronalen Netzen realisiert werden.
Moderne Bots werden mittels Machine-Learning-Funktionen erstellt, die meist mit Hilfe von neuronalen Netzen realisiert werden.
Foto: Zapp2Photo - shutterstock.com

Solche Dialogsysteme mögen in einfachen, überschaubaren Aufgabengebieten gut einsetzbar sein, sie haben jedoch einige gravierende Nachteile: Entspricht beispielsweise die Eingabe des menschlichen Dialogpartners nicht exakt einem hinterlegten Muster, kann der Bot damit nichts anfangen. Verzweigungen und Varianten im Dialogverlauf müssen exakt vorhergesehen und definiert werden. Bei jeder Änderung in der Prozesskette sind auch die Dialogverzweigungen des Bots anzupassen.

Regelbasierte Systeme eignen sich daher vor allem für Abläufe, in denen Fragen und Antworten in einer direkten Eins-zu-Eins-Beziehung stehen. In komplexeren Szenarien, in denen der Bot beispielsweise Zusatzinformationen vom Dialogpartner benötigt, um eine Frage beantworten zu können, scheitern sie.

Wie ein Bot intelligent wird

Moderne Dialogsysteme sind wesentlich flexibler angelegt. Sie können in natürlicher Sprache mit Menschen kommunizieren und benötigen keine starren Ablaufschemata. Um solche Sprachassistenten zu generieren, kommen im Wesentlichen folgende Machine-Learning-Funktionen zum Einsatz, die meist mithilfe neuronaler Netze realisiert werden:

- Sprache erkennen und ausgeben: Sprachassistenten wandeln gesprochene Sprache zunächst in Text um (Speech-to-Text), analysieren diesen und geben die Antwort in natürlich klingender Sprache aus (Text-to-Speech).

- Erkennung von Absichten: Um eine adäquate Antwort geben zu können, muss der Bot den Inhalt des (gesprochenen) Textes erkennen und daraus die Absicht (Intent) des Dialogpartners ableiten können. Diese Analyse erfolgt über NLU-Module (Natural Language Understanding), die ebenfalls auf neuronalen, selbst lernenden Netzen beruhen.

- Information finden und verarbeiten: Anhand der erkannten Absichten und des Inhalts eines Dialogs können ML-basierte Systeme auf Basis neuronaler Netze selbständig Informationen in Wissensdatenbanken oder Logistik-Systemen suchen, aufbereiten und zur Verfügung stellen. Antworten sind nicht wie bei den regelbasierten Varianten fest vorgegeben. Der Bot reagiert stattdessen flexibel auf die Frage und stellt die Antworten falls nötig aus verschiedenen Quellen zusammen. Er kann darüber hinaus aktiv nachfragen, wenn zur Beantwortung der Frage noch wichtige Informationen fehlen. Gibt es mehrere mögliche Lösungen, kann der Bot diese bewerten und anhand ihrer Wahrscheinlichkeit einordnen.

- Proaktive Aktionserweiterung: Auf Basis der Dialoghistorie können aktuelle Bot-Systeme erkennen, in welchen Bereichen Antwortmöglichkeiten oder Verzweigungen fehlen, neu zu modellierende Intents vorschlagen und fehlende Informationen identifizieren.

So erstellen Sie Ihren eigenen Bot

Vor der Erstellung eines Bots sollte eine Anforderungsanalyse stehen. In ihr wird definiert, welche konkreten Aufgaben der digitale Assistent übernehmen soll. Dazu sollte man so viele Informationen wie möglich sammeln. Hilfreich sind beispielsweise bestehende Gesprächsleitfäden aus Call-Center und Support-Abteilungen oder Interviews mit den Mitarbeitern in den betroffenen Fachbereichen.

Es empfiehlt sich außerdem, mit Dienstleistern zusammenzuarbeiten, die über fundierte Erfahrungen mit den zu modellierenden branchen- oder abteilungsspezifischen Prozessen verfügen und für die jeweilige Fragestellung bereits vortrainierte Bots anbieten können.

Darüber hinaus ist es ratsam, sich frühzeitig mit IT und Betrieb abzustimmen und zu klären, in welche Systeme der Bot integriert werden muss und aus welchen Quellen er Informationen bezieht. Auch rechtliche und regulatorische Fragen sind zu adressieren. Solche Vorgaben können beispielsweise für die Frage entscheidend sein, ob ein Bot in der Cloud betrieben werden darf oder nicht.

Auf Basis der umzusetzenden Prozessketten und der Abstimmung mit den Fachbereichen werden nun sogenannte Entitäten definiert - Wissenseinheiten, die der Bot für die Beantwortung einer Frage benötigt, und die er gegebenenfalls aktiv abfragen muss. Die eigentliche Bot-Entwicklung hängt von der gewählten Technologieplattform ab. In grafisch basierten Lösungen lassen sich sehr schnell auch von Mitarbeitern ohne Programmierkenntnisse Dialogsysteme zusammenstellen. Sie empfehlen sich, wenn Anwender aus den Fachbereichen den Bot weiter betreuen sollen. Andere basieren auf reinem Code und sind daher nur mit entsprechender Erfahrung zu bedienen.

Ist der Bot in einer initialen Version fertig gestellt, beginnt die Trainingsphase. Prinzipiell lassen sich dabei zwei Formen des Lernens unterscheiden: Der Bot kann selbständig auf Basis von Nutzerreaktionen gute von weniger guten Antworten unterscheiden und so seine Trefferquote erhöhen. Dazu sollte das Feedback in einer leicht interpretierbaren, maschinenlesbaren Form vorliegen, etwa als Bewertungssterne oder -skala. Bei Freitext-Kommentaren ist ein menschlicher Kurator notwendig, der die Antworten der Anwender in Aktionen für das Bot-Training übersetzt.

Alternativ oder ergänzend kann der Bot direkt angepasst und verbessert werden. Auf Basis der bisherigen Konversationen identifizieren Experten Problemfelder und Prozessketten, in denen sich der Bot beispielsweise unsicher war, oder bei denen der Dialog abgebrochen beziehungsweise an einen menschlichen Ansprechpartner eskaliert wurde. Durch die Analyse der Konversationen lassen sich gezielt Änderungen in der Bot-Steuerung vornehmen, etwa zusätzliche Informationen abfragen oder Dialogabläufe ändern.

Wenn der Bot sich irrt

Das Ziel einer Prozessautomatisierung ist in der Regel, dass der Bot einen Vorgang fallabschließend bearbeiten kann. Während das bei der Bestellung einer Pizza unproblematisch möglich ist, stellen sich im Versicherungs- und Bankenumfeld, aber auch in anderen Branchen, rechtliche Fragen: Wer haftet beispielsweise, wenn ein Bot falsch entscheidet, etwa weil er unrichtige Schlüsse aus den Trainingsdaten gezogen hat?

Es empfiehlt sich daher in solchen Fällen, Bots entscheidungsvorbereitend einzusetzen und den Abschluss der Transaktion einem menschlichen Mitarbeiter zu überlassen. Dies hat mehrere Vorteile: Zum einen vermeidet man die Haftungsdiskussion, zum anderen lassen sich die Entscheidungen des Bots direkt überprüfen und gegebenenfalls durch weiteres Training verbessern. Im besten Fall lässt sich durch dieses Vorgehen so viel Vertrauen aufbauen, dass der Bot nach einer Übergangsphase selbständig agieren kann.

Fazit

Regelbasierte Bots sind seit vielen Jahren bekannt. Sie arbeiten starre Dialogvorgaben ab und haben mit KI wenig zu tun. Selbst lernende Systeme auf Basis neuronaler Netze ermöglichen es jedoch, Sprachassistenten und Chatbots zu erstellen, die wesentlich flexibler und natürlicher mit Menschen interagieren. Diese "intelligenten" Bots erkennen Fragen in natürlicher Sprache, extrahieren die Absichten eines Sprechers und verknüpfen Informationen aus verschiedenen Quellen. So werden die Antworten der maschinellen Gesprächspartner nicht nur immer besser, sie können auch selbständig neue Aktionsfelder entdecken und so ihren Einsatzbereich erweitern. (mb)