Sprachverarbeitung

Sprachverarbeitung

Damit der Nutzer eine Antwort erhalten kann, wird dessen Frage oder Eingabe vorher untersucht.

Die Sprachverarbeitung ermittelt dabei aus der Nachricht des Nutzers eine hinterlegte Nutzerabsicht und weitere strukturierte Daten (Entitätswerte).

Bei der Sprachverarbeitung werden nacheinander die verschiedenen Verfahren zur Erkennung der Nutzerabsicht aufgerufen. Dabei wird der Nachrichtentext des Nutzers analysiert.

Falls Trainingsbeispiele vorhanden sind, wird eine ML-basierte Erkennung durchgeführt. Wenn die Ergebnisqualität dieses Verfahrens nicht ausreicht wird die eingebaute regelbasierte Erkennung verwendet.

Wenn die regelbasierte Erkennung im Metabot keine Absicht ermittelt, wird der Text des Nutzers mit Hilfe des Smalltalk-Subbot geprüft.

Wenn auch kein Smalltalk sicher erkannt wurde, beginnt das System mit der Klärung der Absicht durch Rückfragen auf Basis eines hinterlegten Entscheidungsbaums.

Regelbasierte Erkennung

Die Nutzerabsicht wird erkannt, indem die Eingabe mit Kombinationen von Schlüsselwörtern verglichen wird.

Die Textnachricht des Nutzers wird also nach bekannten Schlüsselwörtern oder deren Synonymen durchsucht.

Regelbasierte Spracherkennung der Nutzerabsicht


ML-basierte Erkennung

Die Nutzerabsicht wird erkannt, indem ein statistisches Sprachmodell verwendet wird, welches vorher mit Beispielen zu trainieren ist.

Mit einer Trainingsmenge von Beispiel-Benutzereingaben wird das Sprachmodell je Bot trainiert. Das System kann dadurch für einen ähnlichen Satz die enthaltene Absicht mit einer bestimmten Genauigkeit vorhersagen.

Für dieses Training wird vorher eine Liste mit den Namen aller Absichten benötigt.

ML-basierte Spracherkennung der Nutzerabsicht

Verfahren zu KI-gestützten Absichtserkennung

Absichtserkennung ist eine Form der Verarbeitung natürlicher Sprache (NLP), einem Teilgebiet der künstlichen Intelligenz.
Um aus einer Benutzernachricht eine Absicht zu erkennen (=Klassfikation), wird die Nachricht nacheinander von mehreren Komponenten verarbeitet. Dafür wird eine Pipeline definiert.
Die von Kiko genutzte Intent-Klassifikator-Pipeline ist von Facebooks StarSpace-Paper inspiriert. Dabei handelt es sich um ein universelles neuronales Einbettungsmodell.
Die Benutzernachricht wird in einem ersten Schritt durch Spacy-NLP und Spacy Tokenizer vorbereitet. Danach erfolgt die Verarbeitung in einer Featurizer-Komponente. Sie zählt, wie oft unterschiedliche Wörter der Trainingsdaten in einer Nachricht erscheinen. Die dabei ermittelten Features dienen als Input für den folgenden Tensorflow-Einbettungsklassifizierer.
Der Einbettungsklassifizierer bettet die Vektoren der Benutzereingaben und Absichtsbezeichnungen in denselben Bereich ein. Diese Einbettungen werden trainiert, indem die Ähnlichkeit zwischen ihnen maximiert wird. 
Beim genutzten Verfahren werden Worteinbettungen von Grund auf neu trainiert. Das trainierte Modell passt sich dadurch den spezifischen Nachrichten des Chatbots an.
Der Klassifizierer ist sprachunabhängig und unterstützt die Erkennung mehrerer möglicher Absichten für eine Nachricht.

Wenn mehrere Absichten mit ähnlicher hoher Genauigkeit erkannt wurden, nutzt Kiko ergänzend die regelbasierte Erkennung für die Klärung der Mehrdeutigkeit mittels Rückfrage. 

Verarbeitung der Nutzereingabe

Im folgenden Diagramm wird der Ablauf zur Verarbeitung der Nutzereingabe durch einen Bot genauer beschrieben. Sie beginnt meist im Metabot oder in dem Bot, mit dem der Nutzereingabe-Kanal verbunden ist.
Wenn der ermittelte Intent mit einem internen Subbot verbunden ist, dann wird der gesamte Ablauf in diesem Subbot wiederholt. Am Ende wird die im Intent hinterlegte Antwort ausgegeben.

Eine besondere Rolle spielt der Smalltalk-Bot. Er ist im Konto je Sprache bereits vorbereitet und kann Smalltalk-Intents per ML erkennen.
An den Smalltalk-Bot wird die Dialogsteuerung dann übergeben, wenn die normale ML- oder Regel-basierte Erkennung auf der ersten Stufe (also z.B. im Metabot) erfolglos war.
Wenn ein Smalltalk-Intent erkannt wird, sendet das System die zugehörige Ausgabe direkt an den Nutzer. Die Weiterleitung der Dialogsteuerung zu einem anderen Subbot (intern/extern) ist beim integrierten Smalltalk-Bot nicht vorgesehen. Alternativ zu diesem Ansatz kann man den Smalltalk-Bot des Systems auch stilllegen und statt dessen einen internen Subbot mit Smalltalk-Intents und möglichen Weiterleitungen individuell anlegen.

Ablauf zur Verarbeitung der Nutzereingabe

Erkennungsmodell

Das Modell für die ML-basierte Erkennung wird bei jedem Training aus den Beispielsätzen neu gebildet, ergänzt durch die Synonyme.
Je Bot müssen mindestens zwei Intents mit je zwei Beispielen hinterlegt sein. Für eine gute Erkennung sind wesentlich mehr Beispiele je Intent nötig.
Die NLU-Erkennung muss je Bot extra aktiviert werden.
Wenn ein Intent Entitätswerte besitzt, werden auch diese Werte der Trainingsmenge hinzugefügt. Sie werden dafür mit Leerzeichen verkettet und ergänzen die Trainingsdaten des zugehörigen Bots in Form eines weiteren Beispielsatzes.
Wenn ein Intent eine Weiterleitung zu einem Subbot besitzt, so werden alle hinterlegten Beispielsätze des verbundenen Subbots sowie alle Sätze weiterer verbundener Subbots diesem übergeordneten Intent als Beispielsätze hinzugefügt. In einem mehrstufigen Erkennungs-System brauchen die Trainingsbeispiele daher nur einmal im Subbot hinterlegt werden.

    • Related Articles

    • Einführung Chatbot-Plattform

      Mit der Chatbot-Plattform Kiko können Sie sich einen eigenen Chatbot mit einem CMS entwickeln. Diesen Chatbot können Sie in die eigene Website oder in andere Kommunikationskanäle integrieren und Ihren Nutzern zur Verfügung stellen. Die Inhalte und ...
    • Kiko Leistungsbeschreibung

      Allgemeines Mit der Chatbot-Plattform Kiko kann man sich einen eigenen Chatbot mit einem CMS entwickeln. Diesen Bot kann man in die eigene Website oder in andere Kommunikationskanäle integrieren und seinen Nutzern zur Verfügung stellen. Die Inhalte ...
    • Telefon-Chatbot einrichten (Phonebot)

      Jeder kennt die Sprachdialogsysteme herkömmlicher Telefonanlagen (auch TK-Anlage), welche den Anrufer zum Ansprechpartner für ein bestimmtes Thema leiten oder einen hinterlegten Ansagetext abspielen. Diese sogenannten IVRs (=Interactive Voice ...