Die Abbildung zeigt einen Chatbot visuell dargestellt.
Allgemein

Wie funktioniert ein intelligenter Chatbot?

Zahlreiche Webseiten bieten heute bereits einen Chatbot an und viele von uns haben sich von dessen bereits helfen lassen. Gerne möchte ich mit diesem Blog-Beitrag zeigen, wie dieser funktioniert und was die Begriffe NLP, PoS oder Tokenisierung bedeuten. Sie dürfen gespannt sein.

Chatbots sind zu einem sehr beliebten Instrument für die Führung einfacher Online-Gespräche im E-Commerce, Kundendienst oder im Marketing geworden. Intelligente Chatbots werden anhand vorhandener Fragen und Antworten trainiert und können so lernen, wie sie bestimmte Probleme selbstständig erledigen. Bei komplexen Aufgaben muss jedoch auch heute noch der Mensch einspringen, denn selbst die besten Anwendungen sind nicht in der Lage, Gespräche mit Folgefragen oder argumentativen Diskussionen zu führen.

Meist basieren intelligente Chatsbots auf künstlicher Intelligenz (KI oder Artificial Intelligence AI) und Natural Language Processing (NLP). Die Intention der eingetippten Texte kann dank NLP maschinell verarbeitet werden. Bei NLP-Aufgaben wird die Sprache in kürzere, elementare Teile zerlegt. Es wird versucht, die Beziehungen und Strukturen zwischen den Teilen zu verstehen und zu untersuchen. Mit Hilfe von statistischen, maschinellen und Deep-Learning-Algorithmen kann der Computer auf die menschliche Sprache reagieren.

Wie findet der Chatbot die passende Antwort?

Zur leichteren Erklärung verwenden wir das Beispiel eines Chatbots, der seiner Kundschaft dabei hilft, ein Bankkonto zu eröffnen oder zu schliessen. Was passiert nun also, wenn ich dem Chatbot mitteile: «Ich möchte das günstige, attraktive Sparkkonto eröffnen.» Dieser Input wird nun vom Chatbot verarbeitet und startet den Prozess zur Identifikation der Strukturen.

  1. Tokenisierung

Bei der Tokenisierung werden einzelne Wörter des eingegebenen Satzes in eine Liste von Token aufgeteilt. Dafür wird der Satz in einzelne Wörter unterteilt und allfällige Satzzeichen entfernt.

Beispiel Tokenisierung: "This is a sample "-> "this", "is", "a", "sample"
Beispiel Tokenisierung (Quelle: https://medium.com/data-science-in-your-pocket/tokenization-algorithms-in-natural-language-processing-nlp-1fceab8454af)

Ergebnis Schritt 1:          «ich», «möchte», «das», «günstige», «attraktive», «Sparkonto», eröffnen»

  1. Lemmatisierung

Im nächsten Schritt wird die Grundform der Worte gesucht. Die Grundform hilft dabei, die Anzahl verschiedener Wortformen zu minimieren. Dadurch identifiziert der Computer, dass es sich beim Wort «Bankkonto» und «Bankkonten» um dasselbe handelt. Der Satz «Ich möchte ein Bankkonto bei Ihnen eröffnen» hat fast die identischen Grundformen wie unser Eingabesatz. Durch diese Erkenntnis wird der Computer diese beiden gleich behandeln.

Ergebnis Schritt 2: «ich», «mögen», «das», «günstig», «attraktiv», «Sparkonto, «eröffnen»

  1. Part-of-speech-Tagging

Beim Part-of-speech-Tagging werden die Wortarten bestimmt. Damit kann der Computer die Relevanz der Wörter abschätzen. Substantive sind meist wichtiger für das Verständnis als ein Partikel.

Ganzer Satz ist "I want an early upgrade". "I" ist ein PRON, "want" ist ein VERB, "an" ist ein DET, "early" ist ein ADJ und "upgrade" ein NOUN..
Beispiel Part-of-speech-Tagging (PoS) (Quelle: https://medium.com/@nupur94/parts-of-speech-tagging-44d7bd8802c)

Ergebnis Schritt 3: «Personalpronomen», «Modalverb», «Relativpronomen», «Adjektiv», «Adjektiv», «Substativ», «Vollverb»

  1. Syntaxanalyse

Weisst du noch, was ein Subjekt oder ein Objekt ist? In diesem Schritt geht es um die Erkennung von grammatischen Strukturen und dafür führt der Computer eine Syntaxanalyse durch. Dabei werden die Abhängigkeiten der Worte des Eingabesatzes auf Basis der erstellten Strukturen definiert. Bestenfalls besteht das Resultat dabei aus dem Subjekt, Objekt und dem Vollverb.

Ergebnis Schritt 4: Subjekt «ich», Objekt «Sparkkonto», Vollverb «eröffnen»

  1. Bedeutung der Eingabe

Nun geht es um die Erkennung der Absicht.  Der Computer versteht leider nicht wirklich, was ein «Bankkonto» ist oder was «eröffnen» bedeutet. Für die Repräsentation der Bedeutung benötigen wir nun folgende Information:

Wird ein Bankkonto eröffnet oder geschlossen? (Absicht/Intent)

Was für ein Konto soll eröffnet oder geschlossen werden? (Parameter/Entity)

Für die Beantwortung wird nun eine Liste von möglichen Konti (z.B. Sparkonto, Kontokorrent, Wertschriftenkonto) mit Beispielantworten für jede Absicht (eröffnen, schliessen) benötigt. Die erhaltenen Strukturen aus Schritt fünf werden mit den Strukturen der Beispiele verglichen. Dadurch erkennt der Chatbot, ob es sich um eine Eröffnung oder Schliessung handelt und um welche Kontoart. Der Chatbot kann nun die passende Antwort ausgeben.

Ergebnis Schritt 5: Absicht: «eröffnen» Sache: «Sparkonto»

Und das waren bereits schon die fünf benötigten Schritte. Natürlich wurden diese vereinfacht beschreiben, aber im Grundsatz kennen Sie nun die Funktionsweise von Natural Language Processing.

Wer nun mehr wissen möchte, kann sich gerne die hervorragenden Videos der Standford University zum Thema NLP  ansehen.

 

Weitere spannende Beiträge: 

Tippst du noch oder sprichst du schon?

Chatbots – die plaudernden digitalen Assistenten

Sind Chatbots die neuen Apps, Newsletter und Websites?

 

Quellen:

Denzler, A. (ohne Datum). Introduction to Natural Language Processing [Unveröff. Unterichtsunterlagen]. Hochschule Luzern Informatik.

knowhere GmbH. (ohne Datum). Was ist ein Chatbot? Abgerufen am 12.01.2022 von https://www.moin.ai/was-ist-ein-chatbot#Welche-Chatbot-Arten-gibt-es.

Paixon GmbH. (2020). Abgerufen am 13.01.2022 von https://paixon.ch/blog/chatbot-einfach-erklaert/natural-language-processing-nlp-chatbot/.

 

Beitrag teilen

chrisimholz

Chris Imholz ist Student bei der Hochschule Luzern – Informatik und bloggt zum Modul Geschäftsprozesse digitalisieren und automatisieren des Studiums Wirtschaftsinformatik.

Alle Beiträge ansehen von chrisimholz →

Schreibe einen Kommentar