# Chatbot

Ein Chatbot (IPA: [ˈt͡ʃɛtˌbɔt] anhören), auch Chatterbot oder kurz Bot, ist ein textbasiertes Dialogsystem, das Chatten mit einem technischen System erlaubt.
Er hat je einen Bereich zur Textein- und -ausgabe, über die sich in natürlicher Sprache mit dem System kommunizieren lässt. Chatbots können, müssen aber nicht in Verbindung mit einem Avatar benutzt werden. Technisch sind Chatbots näher mit einer Volltextsuchmaschine verwandt als mit künstlicher oder gar natürlicher Intelligenz. Mit der steigenden Computerleistung können Chatbot-Systeme allerdings immer schneller auf immer umfangreichere Datenbestände zugreifen und daher auch intelligente Dialoge für den Nutzer bieten, wie zum Beispiel das bei OpenAI entwickelte ChatGPT oder das von Google LLC vorgestellte Language Model for Dialogue Applications (LaMDA). Solche Systeme werden auch als virtuelle persönliche Assistenten bezeichnet.
Es gibt auch Chatbots, die gar nicht erst versuchen, wie ein menschlicher Chatter zu wirken (daher keine Chatterbots), sondern ähnlich wie IRC-Dienste nur auf spezielle Befehle reagieren. Sie können als Schnittstelle zu Diensten außerhalb des Chats dienen, oder auch Funktionen nur innerhalb ihres Chatraums anbieten, z. B. neu hinzugekommene Chatter mit dem Witz des Tages begrüßen.
Heute wird meistens durch digitale Assistenten wie Google Assistant und Amazon Alexa, über Messenger-Apps wie Facebook Messenger oder WhatsApp oder aber über Organisationstools und Webseiten auf Chatbots zugegriffen.

## Geschichte
### Regelbasierte Chatbots

Die Geschichte von Chatbots geht bis in die 1960er-Jahre zurück. Als erster Chatbot gilt Eliza, eine erste Demonstration einer virtuellen Psychotherapeutin, die Joseph Weizenbaum in den Jahren 1964 bis 1966 programmierte. Das Programm lieferte eine Reihe von geskripteten Antworten anhand von Schlüsselwörtern in der Anfrage des Benutzers und fest codierten Regeln. Die Skripte wurden derart gestaltet, dass Fragen möglichst mit einer Gegenfrage beantwortet wurden. In den darauffolgenden Jahrzehnten haben zahlreiche Entwickler Weizenbaums Modell verwendet, um menschenähnliche Interaktionen mit Chatbots weiterzuentwickeln.
Eine erweiterte Version von Eliza war PARRY, welches 1972 erschien und vom Psychiater Kenneth Colby entwickelt wurde. Es simuliert eine Person mit paranoider Schizophrenie. Es handelte sich um eine verbesserte Version von ELIZA und der erste Chatbot, welcher eine einfache Version des Turing-Tests bestand, was das Ziel hinter der Entwicklung früher Chatbot war. Die Verbesserung bestand vor allem im Skript, welche auch emotionale Antworten beinhaltete.
Im Jahr 1992 wurde von Creative Labs mit Dr. Sbaitso ein zu ELIZA ähnlich arbeitender Chatbot für MS-DOS angeboten.
In 1995 wurde von Richard Wallace der Chatbot A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) veröffentlicht. Dieser Bot war die Grundlage für die Artificial Intelligence Markup Language (AIML).
Der vom Informatiker Rollo Carpenter entwickelte Chatbot Jabberwacky, welches 1997 im Web veröffentlicht wurde, erweiterte das Konzept um eine Datenbank aus Fragen und Antworten. Die best mögliche Antwort wurde mittels eines neuronalen Netzes bestimmt. Später wurde das Konzept zu Cleverbot weiterentwickelt, welches 2008 veröffentlicht wurde.
Im Jahr 2001 wurde mit SmarterChild ein Chatbot veröffentlicht, welcher ebenfalls neuronale Netzwerke einsetzte und im American Online Instant Messenger (AIM) und Windows Live Messenger zum Einsatz kam. Auch hier wurde das neuronale Netzwerk dazu eingesetzt passende Antwortschnipsel auszuwählen
Von 2001 bis 2015 wurde die Chatterbox Challenge ausgerichtet, ein internationaler Wettbewerb, der den Chatbot des Jahres kürte.

### Sprachassistenten

Im Jahr 2011 wurde von Siri Inc. der Sprachassistent Siri veröffentlicht. Dieser Chatbot kombinierte zu dieser Zeit mehrere Technologien wie Spracherkennung und Wissensgraphen sowie die Möglichkeit Interaktionen auszuführen. Die Anfrage des Benutzers wurde hierbei, ähnlich wie bei Jabberwacky, von einem neuronalen Netzwerk mit Suchmaschinen-Ergebnissen, Wissensgraphen, oder Interaktionen gematched. Das Unternehmen wurde später von Apple übernommen.
Zu Siri analoge Technologien wurden im Jahr 2012 in Form von Google Now und des Google Assistant (basierend auf der Google-Suchmaschine, dem Knowledge Graph und DialogFlow) veröffentlicht. Im Jahr 2013 folgte Amazon Alexa und im Jahr 2014 folgte Microsoft mit Cortana (basierend auf Bing und dem Bot Framework).
Am 23. März 2016 veröffentlichte Microsoft den Chatbot Tay. Der Chatbot übernahm Konversationen über Twitter und lernte von Benutzern. Dies führte dazu, dass Tay innerhalb kurzer Zeit negative Verhaltensweisen von den Benutzern übernahm und noch am selben Tag abgeschaltet wurde.

### Sprachmodelle

Ein weiterer Durchbruch bei Chatbots ermöglichten Sprachmodelle, welche im Jahr 2023 in Form von ChatGPT, Google Bard, Microsoft Copilot, Grok, sowie Claude veröffentlicht wurden. Diese Modelle boten ausreichend Sprachverständnis, um erstmals komplexere Unterhaltungen zu führen und einfache Aufgaben zu lösen.

## Funktionsweise

Die meisten Chatbots greifen auf eine vorgefertigte Datenbank, eine sogenannte Wissensdatenbank mit Antworten und Erkennungsmustern, zurück. Das Programm zerlegt die eingegebene Frage zuerst in Einzelteile und verarbeitet diese nach vorgegebenen Regeln. Dabei können Schreibweisen harmonisiert (Groß- und Kleinschreibung, Umlaute etc.), Satzzeichen interpretiert und Tippfehler ausgeglichen werden (Preprocessing). Im zweiten Schritt erfolgt dann die eigentliche Erkennung der Frage. Diese wird üblicherweise über Erkennungsmuster gelöst, manche Chatbots erlauben darüber hinaus die Verschachtelung verschiedener Mustererkennungen über sogenannte Makros. Wird eine zur Frage passende Antwort erkannt, kann diese noch angepasst werden (beispielsweise können skriptgesteuert berechnete Daten eingefügt werden – „In Ulm sind es heute 37 °C.“). Diesen Vorgang nennt man Postprocessing. Die daraus entstandene Antwort wird dann ausgegeben. Moderne kommerzielle Chatbot-Programme erlauben darüber hinaus den direkten Zugriff auf die gesamte Verarbeitung über eingebaute Skriptsprachen und Programmierschnittstellen.
Neben 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. Die EU-Kommission beschreibt Systeme auf KI-Basis als solche mit einem intelligenten Verhalten, die die eigene Umgebung analysieren und mit einem spezifischen Grad an Autonomie handeln, um bestimmte Ziele zu erreichen. Derartige Chatbots erkennen die jeweilige Anfrage und Intention des Nutzers, ziehen aus den fortlaufenden Dialogen Schlüsse und entwickeln so ihre Datenbank ständig weiter. Laut Bundesministerium für Bildung und Forschung (BMBF) handelt es sich bei den lernenden Systemen und den Werkzeugen der KI um „die nächste Entwicklungsstufe der Digitalisierung“. Laut BMBF handele es sich also um technische Systeme, die Probleme eigenständig bearbeiten und sich dabei selbst auf veränderte Bedingungen einstellen können.

## Einrichtung eines Chatbots

Die Herausforderung bei der Programmierung eines Chatbots liegt in der sinnvollen Zusammenstellung der Erkennungen. Präzise Erkennungen für spezielle Fragen werden dabei ergänzt durch globale Erkennungen, die sich nur auf ein Wort beziehen und als Fallback dienen können (der Bot erkennt grob das Thema, aber nicht die genaue Frage). Manche Chatbot-Programme unterstützen die Entwicklung dabei über Priorisierungsränge, die einzelnen Antworten zuzuordnen sind. Zur Programmierung eines Chatbots werden meist Entwicklungsumgebungen verwendet, die es erlauben, Fragen zu kategorisieren, Antworten zu priorisieren und Erkennungen zu verwalten. Dabei lassen manche auch die Gestaltung eines Gesprächskontexts zu, der auf Erkennungen und möglichen Folgeerkennungen basiert („Möchten Sie mehr darüber erfahren?“). Ist die Wissensbasis aufgebaut, wird der Bot in möglichst vielen Trainingsgesprächen mit Nutzern der Zielgruppe optimiert. Fehlerhafte Erkennungen, Erkennungslücken und fehlende Antworten lassen sich so erkennen. Meist bietet die Entwicklungsumgebung Analysewerkzeuge, um die Gesprächsprotokolle effizient auswerten zu können. Ein guter Chatbot erreicht auf diese Weise eine mittlere Erkennungsrate von mehr als 70 % der Fragen. Er wird damit von den meisten Nutzern als unterhaltsamer Gegenpart akzeptiert.

## Multimediale Chatbots

Ursprünglich rein textbasiert haben sich Chatbots durch immer stärker werdende Spracherkennung und Sprachsynthese weiterentwickelt und bieten neben reinen Textdialogen auch vollständig gesprochene Dialoge oder einen Mix aus beidem an. Zusätzlich können auch weitere Medien genutzt werden, beispielsweise Bilder und Videos. Gerade mit der starken Nutzung von mobilen Endgeräten (Smartphones, Wearables) wird diese Möglichkeit der Nutzung von Chatbots weiter zunehmen (Stand: Nov. 2016). Mit fortschreitender Verbesserung sind Chatbots dabei nicht nur auf wenige eingegrenzte Themenbereiche (Wettervorhersage, Nachrichten usw.) begrenzt, sondern ermöglichen erweiterte Dialoge und Dienstleistungen für den Nutzer. Diese entwickeln sich so zu Intelligenten Persönlichen Assistenten.

## Beispiele

* Im November 2022 startete OpenAI den ChatGPT-Chatbot
* Google Bard (Februar 2023)
* Luminous, von dem deutschen Unternehmen Aleph Alpha
* Open Assistant (April 2023) von Laion, der zurzeit bekannteste Open-Source-Chatbot aus Europa