Wir bauen den Liechtenecker Chatbot, Teil #3

Blog article cover image showing an abstraction of a face

In diesem dritten Teil unsere Serie über unseren Chatbot Tim widmen wir uns dem Thema NLP. Keine Angst, wir reden hier nicht von dem bösen Politiker-NLP (Neuro-Linguistisches Programmieren). Bei uns geht es vielmehr um Natural Language Processing – der heilige Gral der Chatbots.

Das Resultat

Beginnen wir diesmal gleich mit dem Resultat und schauen uns danach an, wie wir dort hin hingekommen sind.

Auf den ersten Blick sieht das Beispiel aus dem Video nicht allzu spannend aus. Der Nutzer schreibt einen Satz und der Bot antwortet darauf mit der richtigen Antwort. Eigentlich ganz normal und nichts Besonderes. Doch wenn man es genauer betrachtet, ist es schon ziemlich beachtlich.

Bei NLP geht es darum, die Kommunikation zwischen Mensch und Maschine zu verbessern.

Wenn ihr Tim testet und den Beispieltext etwas variiert, werdet ihr sehen, dass es trotzdem noch funktioniert. Beim Programmieren ist es sehr einfach zu sagen: Ist der Text der Nachricht “Hi”, dann antworte mit “Hallo zurück :-)”. Etwas mehr Aufwand, aber auch nicht schwierig, wäre für “Hi”, “hi”, “Hello”, “Grüß dich” genauso mit “Hallo zurück :-)” zu antworten. Doch jede mögliche Eingabe zu beachten ist unmöglich und macht keinen Sinn mehr. Deshalb gibt es NLP und die entsprechenden Tools dafür.

Natural Language Processing

Bei NLP geht es darum die Kommunikation zwischen Mensch und Maschine zu verbessern. Die natürliche Sprache des Menschens unterscheidet sich stark von der von Maschinen. Sie muss analysiert und Informationen daraus extrahiert werden. Erst damit hat die Maschine (oder ein Programm) die Möglichkeit die Nachricht zu verstehen und richtig darauf zu antworten. Genau das benötigen wir, wenn wir komplexere Chatbots bauen.

API.ai ist ein Tool von Google, das uns genau diese Funktionalität als Service bereitstellt. Nachrichten die ihr an Tim schickt, werden davon analysiert, und die dabei entstehenden Infos helfen uns dabei, euch wieder richtig zu antworten. Derzeit setzen wir dieses Service aber bei Tim nur in dem gezeigten Beispiel ein.

Screenshot of the API.ai dashboard

Im Screenshot seht ihr einen Ausschnitt aus der Oberfläche von API.ai. In der Mitte habe ich Beispielsätze eingegeben. Diese sollen Nutzer-Nachrichten für einen bestimmten “intent” (Absicht), simulieren. In unserem Beispiel ist die Absicht vom Nutzer, mehr Infos über einen bestimmten Mitarbeiter zu erfahren.

Dank Machine Learning im Hintergrund reichen diese paar Beispiele aus, um eine Vielzahl an ähnlichen Möglichkeiten auch zu erkennen. Außerdem erkennt Api.ai die Namen aus den Nutzernachrichten (gelb markiert) und diese bekomme ich extra ausgespielt.

Es gibt auch Nachteile

Wir setzen NLP in unseren Chatbots noch sehr spärlich ein, denn es gibt auch Nachteile. Je mehr Freitext man erlaubt und unterstützt, desto unklarer wird es für den Nutzer was der Bot wirklich kann. Wer jetzt versucht im Gespräch mit Tim über Freitext auch das Blogartikel-Abo zu starten, wird schnell scheitern. Das haben wir nämlich noch nicht eingebaut :-) Woher weiß der Nutzer jetzt was möglich ist und was nicht? Das ist ein großes UX-Problem, denn wir wollen die Nutzer natürlich nicht enttäuschen. Deshalb ist es derzeit noch besser, simpel zu starten und dem Nutzer mit Auswahlmöglichkeiten wie Buttons zu helfen.

Natürliche Sprache wird sich durchsetzen

Trotz der erwähnten Schwierigkeiten beim Einsatz von NLP sind komplexe Konversationen und die natürlich Sprache die Zukunft. Die Technik entwickelt sich rasant weiter und schon bald können Chatbots richtig natürliche Gespräche führen und wir werden sie überall im Einsatz sehen.

Über den Autor

Christoph Rumpel

Meine Rolle bei Liechtenecker:
Meister des Backends, Erforscher zukünftiger Technologien und Trends, liebt Communities und strebt danach, das Web für alle zu verbessern.

Wenn es weder IT noch Digitalisierung gäbe, wäre mein Beruf:
Barkeeper oder Surf-Lehrer in Portugal oder Bali (wo die Sonne den ganzen Tag scheint und die Natur noch das Leben bestimmt)

Mein Herz schlägt für:
Das Web, PHP, Pi, virtuelle Sonntags Spaziergänge durch Uncharted, Sport, auf cleanen Wellen in Ericeira surfen.

Du hast etwas zum Artikel zu sagen? Schreibe es nieder

Schreibe einen Kommentar

Kommentare