Was ist ein Chatbot?

f50eb7c7438e4b32ac1b9eb0337ecc90

Was ist und macht ein Chatbot?

Ein ChatBot (Chatterbot) ist ein textbasiertes Dialogsystem, das das Chatten (Unterhaltungen) mit einem Computer ermöglicht. Er verfügt über einen Texteingabe- und -Ausgabebereich, über den mit dem System in natürlicher Sprache kommuniziert werden kann.

Chatbots können in Verbindung mit Avataren eingesetzt werden. Ein Avatar ist eine künstliche Person oder eine Grafikfigur, die einem Internetbenutzer in der virtuellen Welt zugeordnet wird, beispielsweise in einem Computerspiel oder einem Chat. Beim AOL-Dienst sprach man von einem Buddy Icon.

Technisch gesehen sind Chatbots eher mit Volltextsuchmaschinen verwandt als mit künstlicher oder gar natürlicher Intelligenz. Allerdings können Chatbot-Systeme mit zunehmender Rechenleistung schneller auf umfangreichere Datenbanken zugreifen und so den Nutzern auch intelligente Konversationen ermöglichen, wie beispielsweise ChatGPT (OpenAI) oder Language Model for Conversational Applications (LaMDA) von Google LLC. Solche Systeme werden auch als virtuelle persönliche Assistenten bezeichnet und arbeiten mit künstlichen neuronalen Netzwerken.


Geschichte der ChatBots

Als erster Chatbot gilt Eliza, eine erste Demonstration einer virtuellen Psychotherapeutin, die Joseph Weizenbaum (deutsch-US-amerikanischer Informatiker sowie Wissenschafts- und Gesellschaftskritiker) in den Jahren 1964 bis 1966 programmierte. Danach haben Entwickler Weizenbaums Modell verwendet, um menschenähnliche Interaktionen mit Chatbots weiterzuentwickeln und den den Turing-Test zu bestehen.

In den Jahren 2001 bis 2015 wurde der internationale Wettbewerb „Chatterbox Challenge“ abgehalten und der „Chatbot des Jahres“ ausgerufen.


Wie arbeiten, funktionieren Chatbots?

Die meisten Chatbots nutzen sogenannte Wissensdatenbanken mit Antworten und Erkennungsmustern. Im ersten Schritt zerlegt das Programm die Eingabefrage zunächst in einzelne Teile und verarbeitet diese nach den vorgegebenen Regeln. Sie können die Rechtschreibung harmonisieren (Großschreibung, Umlaute etc.), Zeichensetzung interpretieren und Tippfehler korrigieren (Vorverarbeitung).

Der zweite Schritt besteht darin, die Frage tatsächlich zu erkennen. In der Regel wird dies durch Erkennungsmuster gelöst. Einige Chatbots ermöglichen jedoch auch die Verschachtelung unterschiedlicher Mustererkennungen über sogenannte Makros. Auch wenn Sie eine Antwort finden, die zu Ihrer Frage passt, können Sie diese noch anpassen (z. B. können Sie skriptgesteuert berechnete Daten einfügen: „Die heutige Temperatur in Ulm beträgt 37°C.“). Dieser Vorgang wird als Nachbearbeitung bezeichnet. Die resultierende Antwort wird gedruckt.
Moderne kommerzielle Chatbot-Programme ermöglichen zudem durch eingebaute Skriptsprachen und Programmierschnittstellen den direkten Zugriff auf den gesamten Prozess.

Neben diesen erörterten regelbasierten Chatbots existieren Chatbots auf Basis künstlicher Intelligenz (KI). Chatbots, die auf KI und Natural Language Processing (NLP) basieren, kommen bei komplexeren Abläufen zur Anwendung.
Derartige Chatbots erkennen die Anfrage und Intention des Nutzers, Schlussfolgern aus den fortlaufenden Dialog und entwickeln ihre Datenbank ständig weiter.


Was sind multimediale Chatbots?

Textbasierte Chatbots haben sich dank durch immer besser werdende Spracherkennung und Sprachsynthese weiterentwickelt und bieten jetzt auch vollständig gesprochene Dialoge oder einen Mix an. Darüber hinaus können auch Bilder und Videos genutzt werden. Der Chatbot ChatGPT ist beispielsweise in der Lage, anhand eines Foto vom Kühlschrankinhalt eine Liste der nachzukaufenden Lebensmitteln zu erstellen.


Wie kann ich einen eigenen Chatbot programmieren, einrichten, nutzen?

Die wichtigste Aufgabe bei der Programmierung eines eigenen Chatbots liegt in der sinnvollen Zusammenstellung der Erkennungen. Eine genaue Erkennungen spezieller Fragen wird ergänzt durch allgemeine Erkennungen, die sich nur auf ein Wort beziehen und als Fallback dienen können. Der ChatBot erkennt in dieser Phase grob das Thema, aber nicht die genaue Frage. Einige Chatbot-Programme unterstützen dabei die Entwicklung über Priorisierungsränge, die einzelnen Antworten zuzuordnen sind.

Zur Programmierung eines Chatbots werden heute oft Entwicklungsumgebungen verwendet, die es erlauben, Fragen zu kategorisieren, Antworten zu priorisieren und Erkennungen zu verwalten.

Nach Aufbau der Wissensbasis wird der Bot in möglichst vielen Trainingsgesprächen mit Nutzern der Zielgruppe optimiert. Fehlerhafte Erkennungen, Erkennungslücken und fehlende Antworten lassen sich dadurch meist erkennen.

Eine gute Entwicklungsumgebung bietet dem Anwender Analysewerkzeuge, um Gesprächsprotokolle effizient auswerten zu können.