Link-Tipp: Technischer Aufbau von Chatbots

Link-Tipp: Technischer Aufbau von Chatbots

Aus welchen Teilen besteht ein Chatbot?
Wie funktionieren diese zusammen?
Wie wird ein Chatbot von Grund auf aufgebaut?
Diese Frage kann Ihnen Philip Schönholzer von der Botfabik beantworten.

 

Zunächst die Bestandteile eines Chatbots

Client

Der Client ist für das Verschicken und Empfangen von Nachrichten aus der Sicht des Anwenders zuständig. Dies ist auch die einzige Komponente eines Chatbot, welche die Anwender sehen.

Einige Chatbots verwenden bestehende Messaging-Plattformen als Client, wie z.B. den Facebook-Messenger, WhatsApp oder Slack. Dies ist aus verschiedenen Gründen interessant. Zum einen können die Anwender einen bekannten Kanal nutzen. Zum anderen ist es nur so möglich, dass der Chatbot das Gespräch initiiert.

In anderen Fällen wird ein dedizierter Client verwendet. Dies heisst, der Client wurde für den Chatbot entwickelt oder ist Teil des Chatbots. Dies ist meistens der Fall, wenn der Chatbot auf einer Webseite integriert werden soll.

In beiden Fällen hat der Client dieselbe Aufgabe: Er ermöglicht es dem Benutzer einen Text zu schreiben oder zu sprechen. Dieser Text wird an einen Server geschickt. Der Server schickt daraufhin einen möglichst passenden Text zurück an den Client, welcher der Client anzeigt.

 

Chatbot-Engine

Die Chatbot-Engine ist das Herzstück eines Chatbots. Die Chatbot-Engine hat folgende Aufgaben:

Nachrichten senden und empfangen. Die Engine empfängt von und schickt Nachrichten an den Client. Eine gute Engine ist dabei in der Lage, mit unterschiedlichen Clients (gleichzeitig) zu kommunizieren.
Nachrichten verarbeiten. In der Engine wird entschieden, was mit einer Nachricht geschehen soll und wie auf die Nachricht geantwortet werden soll. Dafür wird eine Engine häufig auch andere Komponenten anfragen, wie z.B. eine Sprachverarbeitung.
Die Sitzungen verwalten. Die Engine muss schauen, dass die richtigen Anwender die richtigen Antworten erhalten oder die gewünschten Aktionen ausgeführt werden. Teilweise muss die Engine auch die Anwender identifizieren, um korrekt zu reagieren oder ev. gewisse Aktionen gar nicht zu erlauben.
Kontext merken. Ein guter Chatbot antwortet je nach Kontext nicht immer gleich. Wenn der Chatbot im Verlauf des Gesprächs beispielsweise bereits einmal erfahren hat, dass der Anwender an der Informatiker-Lehre interessiert ist, so kann er bei der späteren Frage “Was sind die Anforderungen?” gleich vom Kontext Informatiker-Lehre ausgehen und entsprechend antworten. Teilweise werden solche Aufgaben auch von einer NLP-Komponenten übernommen (siehe unten).
Live-Chat vermitteln. Soll eine Person das Antworten für den Chatbot übernehmen (Live-Chat), so muss die Chatbot-Engine dies koordinieren. Einerseits muss die Engine das Handover (Übergabe) von der Maschine an den Menschen und somit die Kommunikation zwischen den Clients zu sicherstellen. Andererseits muss sich die Engine den Zustand des Live-Chats für jeden Anwender merken, um die Nachrichten korrekt zu verarbeiten.
Integration in Umsysteme

Gute Chatbots geben nicht nur statisch Antwort, sondern können aktuelle Informationen wiedergeben. Ein klassisches Beispiel ist das Wetter. Damit der Chatbot sagen kann wie das Wetter morgen sein wird, muss dieser einen Wetter-Dienst anfragen. Chatbots die auf Unternehmens-Webseiten angezeigt werden, können ganz unterschiedliche Informationen aus Umsystemen beziehen oder zurückschreiben: Status einer Bestellung, Passwort zurücksetzen, Artikel kaufen usw. Diese Integration wird in den meisten Fällen manuell programmiert. Integrationen die häufiger vorkommen (wie z.B. der Versand eines Emails), müssen aber bloss konfiguriert werden.

 

NLP

NLP steht für Natural Language Processing (Sprachverarbeitung). Dies wird manchmal auch als NLU (Natural Language Understanding) beschrieben. Dabei geht es grundsätzlich darum Nachrichten einer Absicht zuzuweisen. Diese Absichten werden im Voraus erfasst und mit Trainingssätzen und teilweise mit Antworten versehen. Schreibt ein Anwender beispielsweise “Ich hätte gerne eine Pizza” so interpretiert eine gut trainierte NLP-Komponente diesen Text als “Absicht: Pizza bestellen; Antwort: Sehr gerne! Wohin soll ich die Pizza liefern?”.

Zusätzlich zur Absichtserkennung, wird NLP für weitere aber weniger häufige Aufgaben verwendet. Diese sind Entitätserkennung und teilweise auch Slotfilling und Kontextverarbeitung. Details dazu haben wir im Artikel Konversationsstränge beschrieben.

Nicht jeder Chatbot verwendet NLP. Falls der Chatbot “nur” vorgefertigte Fragen zulässt (Klickbot), so ist NLP nicht nötig. NLP ist nur notwendig, wenn die Anwender frei Text eingeben können.

 

CMS

Ähnlich wie bei Webseiten, ist es sinnvoll die Chatbot-Inhalte in einem CMS (Content Management System) zu verwalten. Das CMS enthält dabei alle Absichten, Trainingssätze, Antworten und teilweise auch die Aktionen des Chatbots.

Häufig werden die Inhalte nicht in einem CMS, sondern direkt in einem Chatbot-Tool oder der NLP-Komponente verwaltet. Das Verwalten der Inhalte in einem CMS hat aber viele Vorteile, weshalb wir den Einsatz eins CMSs bevorzugen: Weil die Bedienung sehr einfach und die Daten gesichert sind, können die Inhalte direkt von den Mitarbeitern der Fachabteilung gepflegt werden (z.B. Support). Zudem können die Daten unabhängig vom Chatbot-Tool oder der NLP-Komponente gehalten werden, womit man die Hoheit über die Inhalte behält und jederzeit die Tools austauschen kann.

 

Analytics

Mit Analytics ist der Anbieter eines Chatbots in der Lage die Nutzung des Chatbots zu verstehen. Wie viele Personen nutzen den Chatbot wie lange und wofür? So kann der Chatbot laufend verbessert werden oder ev. das Angebot angepasst werden. Für Analytics gibt es unterschiedliche Möglichkeiten. Zum einen liefern viele NLP-Tools automatisch die wichtigsten Kennzahlen wie Anzahl Nutzer, häufigste Absichten und spezielle Exit-Punkte, wo Anwender den Chatbot verlassen. Zusätzlich können bestehende Tools wie beispielsweise dashbot.io eingebunden werden. Wenn bestehenden Tools nicht die gewünschten Daten liefern, entwickeln wir von der Botfabrik auch Projekt-spezifische Dashboards für Analytics. Damit können praktisch alle Wünsche erfüllt werden.

 

Und wie alles zusammen gesetzt wird erfahren Sie hier im gesamten Blogbeitrag von Philip Schönholzer.

 

Wenn Sie den gesamten Beitrag gelesen haben, werden Sie schnell merken, dass die technische Umsetzung allein nicht reicht, Sie brauchen auch immer ein gutes Konzept. Dazu habe ich das Chatbot Canvas entwickelt. Wie das aussieht und wozu es dient, können Sie hier lesen.

 

Und für weitere Fragen rund um Chatbots, können Sie mich natürlich gern kontaktieren.
Hier gehts zu meiner Kontaktseite.

Share this post