BOTfriends Preview

Chatbot Operations

--> zum BOTwiki - Das Chatbot Wiki

Die Chatbot Operations beginnt nach der Entwicklungsphase des Chatbots und setzt meistens den Go Live, also die Veröffentlichung des Chatbots, voraus. Es handelt sich also um den Betrieb des Chatbots. Denn nachdem echte Nutzer mit dem Chatbot interagieren, ergeben sich viele Optimierungspotenziale und vor allem muss der Chatbot stetig trainiert werden.

Dabei strebt man an, den Chatbot sowohl kurzfristig als auch langfristig zu optimieren.

Bei der kurzfristigen Optimierung des Chatbots sollten direkt nach der Live-Stellung die Konversationen mit den Nutzern noch täglich geprüft werden. Dies kann dann nach einem bestimmten Trainingsgrad des Chatbots reduziert werden. Denn das wichtigste ist es vor allem den Chatbot zu trainieren. Das heißt falsche Intent Zuweisungen zu korrigieren, neue Trainings phrasen zu matchen und neue Inhalte nachzupflegen.

Langfristig sollte sich Gedanken gemacht werden, ob beispielsweise der Messenger Dienst der Richtige war, welche bestehenden Services gut oder schlecht funktionieren, welche weiteren Fragen oder Prozesse der Chatbot noch erschließen kann oder ob man weitere Sprachen oder in Länder ausrollen möchte.

Chatbot Operations kann auch nur mit funktionierender Analytics effizient betrieben werden, um gegen seine Ziele oder KPIs zu messen. Dabei können eigene Analytic Tools aufgebaut werden oder es werden Third Party Tools wie Chatbase oder Dashbot integriert.

Zum Chatbot Betrieb gehört auch eine Intent Management Guideline, welche Prozesse und Regeln definiert auf welche Weise neue Inhalte in den Chatbot eingepflegt werden und auf was man achten sollte. Diese Guidelines behandeln zum Beispiel Themen wie Intent Granularität, Korrelation, Namenskonventionen oder Freigabeprozesse.

Chatbot Operations

 

> Zurück zum BOTwiki - Das Chatbot Wiki

 


BOTfriends Preview

Rasa NLU

--> zum BOTwiki - Das Chatbot Wiki

Rasa NLU ist die NLU Komponente des Rasa Stacks, welcher zusätzlich noch den Rasa Core beinhaltet. Zusammen bilden Sie eine Open-Source Lösung für Chatbots. [1]

Funktion

Die NLU hat zwei hauptsächliche Aufgaben.

Die Intent Recognition, ist die Erkennung der Nutzer-Absichten. Dazu muss die NLU mit ausreichend Utterances trainiert werden. Dabei gibt die NLU alle zugehörigen Intents geordnet nach dem Confidence Score zurück. Rasa verfügt demnach über ein Multi Intent Matching.
Außerdem ist Entity Recognition der RASA NLU dafür zuständig, wichtige Informationen aus natürlicher Sprache zu extrahieren. Rasa stellt dafür vordefinierte Entities wie Postleitzahlen oder Zeitangaben zur Verfügung. Daneben gibt es auch die Option use case-spezifische Entities festzulegen und mit Hilfe der NLU zu trainieren. [2]

Aufbau

Der Aufbau der RASA NLU ist vollständig konfigurierbar und wird mit Hilfe der sogenannten “Pipeline” festgelegt. Diese definiert, wie die Modelle mit den Trainingsdaten generiert werden und welche Entities extrahiert werden. Nutzer können sich zwischen der spaCy und der Tensorflow Pipeline entscheiden. Der größte Unterschied liegt in der Art, wie die Modelle generiert werden.

Die spaCy Pipeline setzt auf schon vorhandene Modelle und kann nur für einige Sprachen, wie deutsch oder englisch, benutzt werden.

Die Tensorflow Pipeline dagegen muss mit eigenen Trainingsdaten trainiert werden. Der Vorteil liegt darin, dass jede Sprache verwendet werden kann. Deshalb wird die Auswahl der Pipeline meist anhand der Anzahl der vorhandenen Utterances getroffen.

Neben der Konfiguration der Intent Recognition, kann auch die Entity Extraction konfiguriert werden. Dafür können spaCy’s vorhandene Entities, custom Entities mit sklearn oder die Entity Extraction von duckling verwendet werden. Duckling liefert sehr gute Ergebnisse mit Nummern, Zeitangaben, Währungen und Distanzen. [3]

> Zurück zum BOTwiki - Das Chatbot Wiki

Quellen

[1] https://rasa.com/
[2] https://rasa.com/docs
[3] https://rasa.com/docs/nlu/choosing_pipeline/


BOTfriends Preview

Clustering

--> zum BOTwiki - Das Chatbot Wiki

In vielen Kontexten der Datenverarbeitung kommt es vor, dass man Einheiten eines Typs gruppieren möchte. Clustering bezeichnet eine Analyse der vorliegenden Daten, bei der jedem Datenpunkt eine Klasse zugewiesen wird. In einem Cluster werden Daten zusammengefasst, die sich ähnlich sind. Man kann Clusteringverfahren benutzen, um neue Daten automatisch in vorhandene Gruppen hinzuzufügen oder um vorhandene Daten auf ihre Gruppierung hin zu analysieren. Dafür braucht man keine Beispieldaten, die man vorher per Hand in vorgegebene Gruppen eingeteilt hat. Es handelt sich um ein unüberwachtes Lernverfahren.

Anwendung bei Chatbots

Im Kontext von Chatbots ist Clustering hilfreich zur initialen Datenanalyse, sofern historische Daten gegeben sind. So kann man zum Beispiel aus der Chathistorie bestimmen, welche Intents erstellt werden sollten. Im Betrieb eines Chatbots können außerdem gesammelte Sätze, die keinen Intent getroffen haben, durch Clustering in eine Struktur gebracht und so neue Intents identifiziert werden.

Funktionsweise:
Für ein Clustering braucht man zunächst eine Datenrepräsentation. Im Normalfall werden Daten als Zahlenvektoren dargestellt, wobei einzelne Dimensionen des Vektors Eigenschaften der Daten widerspiegeln. Um diese nun sinnvoll zu gruppieren, benötigt man ein Maß für Ähnlichkeit. In den meisten Fällen wird hierfür die euklidische Distanz benutzt. [1] Je nach Algorithmus kann diese Metrik und die Art wie die Daten den Gruppen zugeteilt werden variieren.

Nearest Neighbour

Die einfachste Art wäre, dass man am Anfang einer gewissen Anzahl an Datenpunkten, zufällig eine Klasse zuweist, und daraufhin für alle anderen Punkten die Klasse annimmt, die ihr nächster Nachbar hat.

Wenn diese Methode aber zu ungenau ist, kann man sie erweitern, indem man statt nur einem Nachbar die Klassen von mehreren Nachbarn in Betracht zieht und die Klasse wählt, die am häufigsten vorkommt. [2]

Centroid-basierte Verfahren

Noch besser werden die Ergebnisse, wenn man Centroid-basierte Verfahren benutzt. Hierbei wird für jedes Cluster ein Zentrumspunkt bestimmt (zum Beispiel der Mittelwert aller Punkte eines Clusters) und dieser als Referenzpunkt für die Zuweisung benutzt. Am Anfang können diese Centroids zufällig gesetzt werden. Für die Daten wird dann jeweils die Entfernung zu allen Zentren berechnet. Der Datenpunkt kommt dann in das Cluster zu dem er die geringsten Entfernung hat. Daraufhin wird der Centroid entsprechend angepasst, weil durch das Hinzufügen eines Punkts ein neuer Mittelwert entsteht. Das Zentrum wandert mit der Zeit. Sobald ein Konvergenzkriterium erfüllt ist (zum Beispiel wenn die Änderungen der Centroids zu klein sind), stoppt der Algorithmus. [3][4]

Textrepräsentation: Bag of Words

Textdaten können auf verschiedene Weisen in Vektoren repräsentiert werden. In einfachen Anwendungsfällen kann man zum Beispiel ein Vokabular definieren, das man sich wie eine Tabelle vorstellen kann. Jedes Wort entspricht einer ganzen Zahl (wie eine ID). Mit Hilfe einer solchen Tabelle kann nun ein Satz in ein Vektor umgewandelt werden. Jeder Satz entspricht einem Vektor, bei dem jede Dimension einem Wort des Vokabulars entspricht. Für jedes Wort, das im Satz vorkommt, erhält die Dimension den Wert 1, alle nicht vorhandenen Worte bleiben auf 0. [5]

Textrepräsentation: Deep Learning Modelle 

Für eine Repräsentation, die mehr semantische Eigenschaften des Texts beinhaltet, benutzt man Vektoren, die durch Deep Learning-Verfahren entstehen. Für diese Art von Verfahren werden viele Daten benötigt. Zum Beispiel kann man mit recurrent neural networks (RNNs) Sprachmodelle trainieren, indem man immer das nächste Wort für eine gegebene Wortsequenz vorhersagt. Dies funktioniert so, dass man die Sequenz in einem Encoder-RNN zu einem Vektor umwandelt und mit einem Decoder-RNN den Vektor in das folgende Wort übersetzt. Wenn man jetzt nur den Encoder benutzt, erhält man eine Vektorrepräsentation des Satzes, die deutlich weniger Dimensionen als bei einem Bag-of-Words Ansatz hat und mehr semantischen Inhalt besitzt.

> Zurück zum BOTwiki - Das Chatbot Wiki

Quellen

[1] https://sites.google.com/a/erhard-rainer.com/erhard-rainer/mathematik/distanz-zwischen-zwei-punkten
[2] k-nearest neighbors, https://towardsdatascience.com/k-nearest-neighbours-introduction-to-machine-learning-algorithms-18e7ce3d802a
[3] https://www.youtube.com/watch?v=_aWzGGNrcic
[4] https://www-m9.ma.tum.de/material/felix-klein/clustering/Methoden/K-Means.php
[5] https://machinelearningmastery.com/gentle-introduction-bag-words-model/


BOTfriends Preview

Messenger Dienste

--> zum BOTwiki - Das Chatbot Wiki

Digitale Kommunikation hat sich fest in unserem Alltag etabliert. Rund 75% aller Deutschen nehmen die Dienste von WhatsApp in Anspruch. Facebook nutzt aktuell fast jeder Zweite [1]. Auch im geschäftlichen Umfeld finden Absprachen und Gespräche zu großen Teilen online statt.

Um ein besseres Verständnis für unterschiedliche Zielgruppen zu erhalten, schauen wir uns die bekanntesten Kommunikationskanäle in beiden Einsatzbereichen genauer an:

WhatsApp

WhatsApp ist momentan im deutschsprachigen Raum der beliebteste Messenger-Dienst auf Mobilgeräten und hat, vor allem bei Jugendlichen, die Verwendung von SMS fast überflüssig gemacht. Diese Entwicklung ist ebenfalls in vielen Ländern Südamerikas, Afrikas und Asien zu beobachten. Ausgerechnet im eigenen Markt (USA), ist der Dienst allerdings nicht so populär. 

  • Zielgruppe: übergreifend
  • Anwendungsbeispiele für Chatbots: Newsletter, Kundenservice, Terminvereinbarungen, Buchungen etc.
  • Plattformen: Android, iOS, Webbrowser, Windows Phone, Windows 10
  • Website: https://www.whatsapp.com/

WhatsApp Benachrichtigungen sind bei fast allen User aktiv. Über eine Business API kann schnell und unkompliziert ein direkter Kunden-Kontakt hergestellt werden.

 

Facebook Messenger

Als eigenständige Anwendung ist der Facebook Messenger quasi notwendig, um Nachrichten über Facebook vom Smartphone aus zu schreiben. Ein Großteil der Facebook-Nutzer verwendet daher den Messenger. Neben den klassischen Chatfunktionen ist eine Interaktion mit Bots durch Quick Replies leicht möglich.

  • Zielgruppe: übergreifend
  • Anwendungsbeispiele für Chatbots: Nachrichten, FAQ, Recruiting, Beratung, Customer Service etc.
  • Plattformen: Android, iOS, Webbrowser, Windows Phone, Windows 10
  • Website: https://www.facebook.com/messenger/

Jugendliche verschwinden momentan rasant von der Plattform, dafür entdecken ältere Menschen das Netzwerk für sich. Sowohl im engeren Kreis, als auch international, sind Nutzer gut miteinander verbunden. Chatbots lassen sich weitgehend unkompliziert integrieren.

 

Telegram

Für den Messenger-Dienst Telegram steht Sicherheit an oberster Stelle. Der Messenger ist, dank einer riesigen Summe von Investitionen, kosten- und werbefrei, cloudbasiert und läuft auf open-source Software. 

  • Zielgruppe: übergreifend
  • Anwendungsbeispiele für Chatbots: Newsletter, Kundenservice, Terminvereinbarungen, Buchungen, Events etc.
  • Plattformen: Android, iOS, Windows Phone, Firefox OS, Ubuntu Touch, Windows, macOS, Linux
  • Website: https://telegram.org/

Telegram wird immer populärer. "Fridays For Future"-Demonstranten verwendet den Messenger, um sich zu organisieren, ihren Live-Standort durchzugeben und sich zu vernetzen. Bots lassen sich einfach erstellen und halten eine Menge an Funktionen bereit.

 

WeChat

WeChat bietet neben standardmäßigen Messenger-Funktionen (teilweise nur in China) unter anderem an, Essen zu bestellen, Rechnungen zu bezahlen, Jobs zu suchen, Arzttermine zu vereinbaren, Spiele zu spielen und vieles mehr. Inzwischen wurde es auch um das mobile Bezahlsystem “WeChat Pay” erweitert. WeChat leitet Daten an chinesische Behörden weiter [3].

  • Zielgruppe: hauptsächlich China; übergreifend
  • Anwendungsbeispiele für Chatbots: Bestellungen, Events, Customer Support, Newsletter etc.
  • Plattformen: Android, iOS, Windows Phone, Blackberry OS, Windows, macOS
  • Website: https://www.wechat.com/

In der Volksrepublik China ist WeChat bereits zum Zentrum für zahlreiche Online-Tätigkeiten geworden. Eine starke Vernetzung mit chinesischen Behörden macht die Plattform praktisch essenziell für jeden Bürger. Zensuren finden statt. Auch außerhalb des Landes gewinnt die Plattform neue User hinzu. Chatbots lassen sich relativ einfach implementieren.

 

Viber

Mit Viber können Nachrichten versendet und IP-Telefonate durchgeführt werden. Anrufe zwischen Viber-Usern sind kostenlos, ausgehende Anrufe in Telefonnetze sind möglich, allerdings kostenpflichtig (Pre-Paid-Modell). Bezüglich des Datenschutzes war Viber früher häufig starker Kritik ausgesetzt [2]. Das japanische Unternehmen Rakuten übernahm das Unternehmen 2014.

  • Zielgruppe: übergreifend
  • Anwendungsbeispiele für Chatbots: Newsletter, Nachrichten, Customer Support etc.
  • Plattformen: Android, iOS, Windows Phone, Win 10 Mobile, Windows, macOS, Linux
  • Website: https://www.viber.com/

Um Chatbots auf der Plattform richtig umzusetzen, wird möglicherweise eine monatliche Gebühr fällig.

 

Kik

Bei Jugendlichen (in den USA) ist Kik sehr beliebt. Das liegt unter anderem an der Funktion Nachrichten (vor den Eltern) zu verstecken und Erweiterungen direkt in der App herunterzuladen. Chats sind anonym ohne Angabe der Handynummer uneingeschränkt möglich. Dies wird von diversen Experten, gerade in Anbetracht der jungen Zielgruppe, heftig kritisiert.

  • Zielgruppe: 13-24 Jahre, hauptsächlich in den USA
  • Anwendungsbeispiele für Chatbots: Storytelling, Newsletter, Nachrichten, Promos etc.
  • Plattformen:  Android, iOS, Blackberry OS (5, 6, 7) Nokia Series 40, Windows 10 Mobile
  • Website: https://www.kik.com/

Ein interessanter Einsatz von Chatbots auf Kik ist sicherlich “Koko”. Der Chatbot bietet "emotionale Unterstützung" für Nutzer und hat inzwischen schon mehr als 200.000 Menschen erreicht [4].

 

Line

Während Probleme im japanischen Telefonnetz auftraten, wurde Line populär. Nachrichten, Video- und Sprachanrufe sind kostenlos. Ähnlich wie bei Facebook gibt es eine Timeline. Anders als bei WhatsApp werden Kontakte nicht automatisch hinzugefügt. So ist es möglich seine Konversationen und Daten besser zu kontrollieren.

  • Zielgruppe: hauptsächlich Asien; übergreifend
  • Anwendungsbeispiele für Chatbots: Storytelling, Newsletter, Nachrichten, Promos etc.
  • Plattformen:  Android, iOS, Blackberry OS (5, 6, 7) Nokia Series 40, Windows 10 Mobile
  • Website: https://line.me/

Line bietet zum Einstieg einen kostenlosen Bot Designer, eine Anbindung für komplexere Bots ist durch APIs möglich.

 

Slack

Mit Slack sind Gruppen-, Channel- oder Einzelchat möglich. Der Name ist ein Akronym und steht für “Searchable Log of All Conversation and Knowledge”. Aufgrund einer Kooperation mit Google kann zum Beispiel ein Google-Drive-Bot eingebunden werden, der Kommentare und Anfragen für den Zugang zu Drive-Dokumenten in Slack postet. Die Nutzung ohne Archivzugriff ist kostenlos.

  • Zielgruppe: Business-User
  • Anwendungsbeispiele für Chatbots: IT-Support, Terminkoordination, Mitarbeiter-Support etc.
  • Plattformen: Windows, macOS, Linux, Apple iOS, Android, Microsoft Windows Phone
  • Website: https://slack.com

Der Einsatz von Chatbots auf Slack beschränkt sich stark auf Business-Kontexte und kann Arbeitsprozesse beschleunigen oder erleichtern. 

 

Microsoft Teams

Microsoft Teams ist in der 365-Office-Suite integriert und erlaubt Chats, Besprechungen, Notizen und Anhänge zu kombinieren. Die Plattform bietet die Möglichkeit Erweiterungen von Drittanbietern zu integrieren. 

  • Zielgruppe: Business-User
  • Anwendungsbeispiele für Chatbots: IT-Support, Terminkoordination, Mitarbeiter-Support, Lernhilfe etc.
  • Plattformen: Windows, macOS, iOS, Android
  • Website: https://teams.microsoft.com/

Ähnlich wie bei Slack steht die Business-Nutzung bei Microsoft Teams im Mittelpunkt. Interessant ist allerdings auch die Verwendung eines Chatbots in  Lern-Szenarien, da Teams in Microsoft for Education verwendet wird.

 

Google Hangouts

Nachrichten, Video- und Sprachanrufe sind über Google Handouts möglich. Früher wurde der Dienst auch für private Konversationen verwendet, doch spätestens seit der Einführung der G-Suite überwiegt eindeutig der Einsatz in Unternehmen.

  • Zielgruppe: Business-User
  • Anwendungsbeispiele für Chatbots: Management, Einrichtung und Konfiguration, Auftragsgenerierung, Suche, Datenerhebung
  • Plattformen: Webanwendung, Android, iOS
  • Website: https://hangouts.google.com

Chatbots machen bei Hangouts hauptsächlich dann Sinn, wenn mit der G-Suite gearbeitet wird. Integration sind durch Entwickler-Schnittstellen möglich [5].

 

 

> Zurück zum BOTwiki - Das Chatbot Wiki

Quellen

https://cai.tools.sap/docs/concepts/channel

https://app.smooch.io/integrations/categories/customer-channels

https://de.statista.com/infografik/16855/anteil-der-deutschen-die-soziale-medien-taeglich-nutzen/ [1]

https://de.statista.com/prognosen/999735/umfrage-in-deutschland-zu-beliebten-messengern

https://www.zeit.de/2012/09/Telefonsoftware-Viber/komplettansicht [2]

https://www.moneycontrol.com/news/business/companies/wechat-confirms-that-it-makes-all-private-user-data-available-to-the-chinese-government-2391847.html [3]

https://www.kik.com/casestudy/koko/ [4]

https://developers.google.com/hangouts/chat/concepts/bots [5]


BOTfriends Preview

Channel Connector

--> zum BOTwiki - Das Chatbot Wiki

Bei der Entwicklung einer Chatbot Applikation stößt man oft auf die Problematik mit dem Umgang von Datenformaten verschiedener Channels. Sobald die Applikation von mehreren Channels aus erreichbar sein soll, muss diese die Nachrichten auf ein eindeutiges Format bringen. Wird dies nicht gemacht, so können Quellcode Duplikate auftreten.

Beschreibung der Architektur von Backend und Channel Connector

Eine Lösung hierfür wären sogenannte Channel Connectors. Diese kennen die Formate mehrerer Channels und bringen die Daten dieser auf ein Format. Die Formatierung muss demnach nicht mehr von der Chatbot Applikation übernommen werden. Ein Beispiel für einen Connector ist Smooch (in der Abbildung der oberste Connector). Smooch kennt die Datenformate der Channels Slack, Facebook, WhatsApp, Telegram, Twitter und mehr, bündelt diese und bringt sie auf ein selbst festgelegtes Schema. [1]

Um das grundlegende Konzept anschaulicher darzustellen, werden folgend die Datenformate von Facebook und Slack miteinander verglichen.

Facebook: [2]                               Slack: [3]

Facebook Datenformat

Slack Datenformat

 

Es fällt auf, dass die Nachricht “Das ist eine Text Message” im Datensatz von Facebook anders zu erreichen ist, als beim Datensatz von Slack. Deshalb müssen Algorithmen geschrieben werden, welche diese Formate auf ein gemeinsames Schema abbilden. Mit diesem kann die Nachricht dann immer gleich angesprochen werden. Channel Connectors übernehmen diese Rolle und sparen Chatbot Entwicklern somit Implementierungsaufwand.

> Zurück zum BOTwiki - Das Chatbot Wiki

Quellen

[1] Smooch https://smooch.io/
[2] Facebook, Developer Docs https://developers.facebook.com/docs/
[3] Slack, Block-Kit-Builder https://api.slack.com/tools/block-kit-builder


BOTfriends Preview

On Premise Chatbots

--> zum BOTwiki - Das Chatbot Wiki

Chatbots, die in der Lage sind, unabhängig von externen Services zu arbeiten, gelten als On Premise Chatbots. On Premise kann demnach als Gegenstück zu einer Cloud betrachtet werden. [1]

Mit diesem Ansatz wird erreicht, dass Konversationen des Bots nicht an Drittanbieter gelangen. Daraus folgt allerdings, dass Services für die künstliche Intelligenz eines Bots nicht mehr von Cloud-Anbietern, wie beispielsweise Google Dialogflow, bezogen werden können. Das Verstehen der natürlichen Sprache muss deshalb entweder selbst entwickelt oder auf Open Source- und on Premise Lösungen zurückgegriffen werden. Beispiele hierfür wären RASA, ana.chat oder botpress. [2,3]

Als ein weiterer Ansatz gilt die hybride Cloud. Dabei werden Komponenten der Cloud mit On Premise Lösungen vermischt. [4] So wird die Kontrolle über Konversationen gewährleistet und gleichzeitig können komplexe Dienste wie Dialogflow für das Natural Language Processing aus der Cloud bezogen werden. [5]

> Zurück zum BOTwiki - Das Chatbot Wiki

Quellen

[1] Seo-United, Was ist On Premise? https://www.seo-united.de/glossar/on-premises/
[2] ana.chat https://www.ana.chat/
[3] botpress https://botpress.io/
[4] NetApp, Was ist eine hybride Cloud? https://www.netapp.com/de/info/what-is-hybrid-cloud.aspx
[5] DialogFlow https://dialogflow.com/


BOTfriends Preview

Happy Path

--> zum BOTwiki - Das Chatbot Wiki

Unter dem Happy Path versteht man einen erwartungsgemäßen Ausgang einer Konversation und vor allem die Konversationspfade die am häufigsten vom User genommen werden. Diese Happy Paths erstellt man unter anderem innerhalb der Conversational Map bzw. den Conversation Flows. Das Gegenstück zu Happy Paths stellen Edge Cases dar. Hierbei beleuchtet man nicht erwartungsgemäße Ausgänge einer Konversation, die selten auftreten und somit Ausnahmen in der Konversation darstellen.

Beispiel für den Happy Path am Use Case "Pizza bestellen"

An diesem Beispiel wird dargestellt wie eine "glückliche" Konversation zwischen User und Chatbot aussehen kann bei einer Pizza Bestellung. Alle Informationen, welche der Nutzer dem Chatbot mitgibt können verarbeitet werden und es entstehen keine Missverständnisse.

Beispiel für den Happy Path

Beispiel für den Edge Case am Use Case "Pizza bestellen"

An diesem Beispiel erkennt man, dass es allerdings auch großes Fehlerpotenzial geben kann, wenn der User Antworten sendet, welche der Chatbot nicht verarbeiten kann. In der unteren Grafik wird gezeigt, dass der User eine Adresse eingibt, die außerhalb von Deutschland ist. In diesem Fall kann keine Lieferung stattfinden. Solche Edge Cases sollte man im Vorhinein bedenken und in der Conversational Map abbilden. Man sollte sich fragen, wie in solchen Situationen mit dem User umgegangen wird. Zum Beispiel informiert man den Nutzer, dass man nur innerhalb von Deutschland liefert oder man gibt ihm die Möglichkeit die Adresse erneut einzugeben im Falle eines Missverständnisses.

Beispiel für Edge Cases in Konversationen

> Zurück zum BOTwiki - Das Chatbot Wiki

 


BOTfriends Preview

Conversational Design

--> zum BOTwiki - Das Chatbot Wiki

Conversational Design ist einer der wichtigsten Bestandteile des Chatbots Entwicklungsprozess. Hierbei wird der Grundstein einer guten Chatbot User Experience erarbeitet. Diese Phase findet vor der eigentlichen technischen Entwicklung statt. Dabei werden folgende Aspekte genauer beleuchtet:

Use Case Definition

Überall wo Kommunikation stattfindet können Chatbots eingesetzt werden. Deswegen gilt es beim Conversational Design die genauen Probleme zu identifizieren, welche mit Chatbots gelöst werden können, um somit einen klaren Mehrwert zu schaffen. In dieser Konzeptionsphase werden des weiteren Ziele erarbeitet, welche der Chatbot erfüllen soll. Anschließend werden, wie in der klassischen Entwicklung, User Stories erstellt, die die Funktionen des Chatbots enthalten.

“If chatbots can convince your customers that they're human, but can't resolve their issues, what are you really accomplishing.” Kevin McMahon - Director of mobile development, SPR Consulting

Zielgruppen Definition

Viele Entscheidungen in der Konzeptionsphase sind abhängig von den eigentlichen Nutzern des Chatbots. Um die genaue Zielgruppe des Chatbots zu identifizieren werden sogenannte Personas, also archetypische Nutzer, ausgearbeitet. Diese repräsentieren die Nutzergruppen des Chatbots. In der Regel werden sehr unterschiedliche Personas erstellt, um ein gutes Bild der Nutzerschaft zu bekommen. Bei der Erstellung einer Persona werden Eigenschaften wie Name, Alter, Wohnort, Ausbildung oder ihr Digitalisierungsgrad definiert. Am Wichtigsten sind die Bedürfnisse der Zielgruppe, welchen der Chatbot nachgehen sollte.

Chatbot Persönlichkeit und Tonalität

Der Chatbot wird als Repräsentant des Unternehmens gesehen, welches er in den Konversationen mit Usern vertritt. Das Wertesystem und die Tonalität des Unternehmens sollten sich auch in der Sprache des Chatbots wiederspiegeln. Deswegen wird dem Chatbot eine detaillierte Persönlichkeit bzw. Charakter zugeschrieben, mit festem Wertesystem. Das ist nötig, um bei der Formulierung der Antworten des Chatbots eine Tonalität einzuhalten.

> Conversational Map

> Conversational Testing

 

 

 

> Zurück zum BOTwiki - Das Chatbot Wiki

 


BOTfriends Preview

Chatbot Controller

--> zum BOTwiki - Das Chatbot Wiki

Ein Chatbot Controller bildet das Herzstück eines Chatbots und wird dafür verwendet einen Chatbot zu erstellen, zu konfigurieren, zu verwalten und verschiedenste Systeme und Services einzubinden. Der Begriff Chatbot Controller ist jedoch nicht einheitlich definiert. Teilweise wird der Funktionsumfang von Chatbot Controllern auch von den sogenannten Conversational AI Plattformen abgedeckt.

Architektur

Die nachfolgende Architektur des Unternehmens BOTfriends zeigt, wie ein Chatbot Controller mit anderen Systemen in Beziehung stehen kann. Der Controller befindet sich hierbei im Zentrum der Abbildung.

Architektur eines Controllers

Der Chatbot Controller ermöglicht die Kommunikation mit Connector, NLP-Service, Analytics Tool und beinhaltet weitere Funktionen. Weiterhin bietet der Controller die Möglichkeit weitere Systeme anzubinden. Eine Komponente für die Chatbot Logik ist ebenfalls enthalten.

Angebundene Systeme und Services 

Nachfolgend werden die Systeme und Services erläutert, die mit dem Chatbot Controller verknüpft sind:

  • Admin Interface

Das Admin Interface ist eine Oberfläche, mit welcher verschiedene Parameter des Controllers konfiguriert werden können. Es ist unter anderem möglich Nutzerkonten anzulegen und Projekte zu verwalten.

  • NLP-Service

Ein NLP-Service ermöglicht das Natural Language Processing und somit die Verarbeitung und Ausgabe von natürlicher Sprache. Somit wird zum einen aus der eingegebenen natürlichen Sprache die Absicht bzw. das Anliegen des Nutzers ermittelt und abhängig von der Chatbot Logik die passende Antwort ausgegeben.

  • Channels

Darunter werden alle Kanäle verstanden, über welche die Eingabe durch den Nutzer getätigt wird und die entsprechende Ausgabe des Chatbots dargestellt wird. Beispielhafte Kanäle wären der Facebook Messenger oder ein Webseiten Chat.

  • Connector

Die Aufgabe des Connectors ist die Übersetzung der verschiedenen Protokolle in welchen Konversationen von den verschiedenen Kanälen ausgegeben werden. Nach der Interpretation durch den Chatbot wird die Konversation wieder in einem einheitlichen Format an den Connector übergeben und entsprechend für die jeweiligen Kanäle übersetzt.

  • Analytics

Weiterhin besteht die Möglichkeit sogenannte Analytics-Tool in einen Chatbot einzubinden. Diese ermöglichen es, Konversationsdaten zu analysieren und optimieren.

  • Additional Features

Abhängig von dem Anwendungsfall des Chatbots und teilweise auch abhängig von der Branche in der der Chatbot eingesetzt wird, macht es teilweise Sinn Funktionen wie Mehrsprachigkeit und weitere Systeme wie ERPs (Enterprise-Resource-Planning) und CRMs (Customer-Relationship-Management) an den Chatbot anzubinden.

> Zurück zum BOTwiki - Das Chatbot Wiki

 


BOTfriends Preview

Geführte Kommunikation / Guided Communication

--> zum BOTwiki - Das Chatbot Wiki

Unter geführter Kommunikation versteht man einen Aufbaustil eines Chatbots. Für Chatbots gibt es 2 Wege zu kommunizieren. Zum einen die geführte Kommunikation, wo man ausschließlich über Buttons navigieren kann und zum anderen die Freitexteingabe, bei der Nutzer durch das Eingeben natürlicher Sätze mit dem Chatbot interagieren. Wie der Name schon sagt, wird im ersten Fall der Nutzer mit Hilfe von Buttons durch die Inhalte des Chatbots geführt und hat somit lediglich die Möglichkeit durch Klicken an gewisse Inhalte zu gelangen.

Quick Replies

Was sind die Vor- und Nachteile einer geführten Kommunikation?

Klare Vorteile einer geführten Kommunikation sind recht simpel. Der Nutzer kann nur die Inhalte sehen, die entwickelt wurden. Das macht es sehr einfach, schnell einen ersten Chatbot zu entwickeln und auf den Markt zu bringen. Man umgeht dadurch die Schwierigkeit der Erkennung der natürlichen Sprache, in dem man einen regelbasierten Ansatz verfolgt. Ein weiterer Vorteil ist, dass der Nutzer nicht enttäuscht werden kann, weil er keine Antwort auf seine Frage bekommt, sondern der Nutzer weiß, dass der Chatbot nur das Beantworten kann, was auch per Buttons erreichbar ist. Außerdem kann die Kommunikation dadurch beschleunigt werden, wenn lediglich Buttons geklickt werden müssen anstatt ganze Sätze einzutippen. So kommt der Nutzer schneller zum Ziel.

Ein daraus resultierender Nachteil ist folgendes: Durch den regelbasierten Ansatz verliert man sehr stark an Technologie und die Vorteile einer offenen natürlichen Kommunikation. Nutzer fühlen sich am wohlsten, wenn sie in einer natürlichen Art und Weise kommunizieren können, wie sie es aus ihrem Alltag auch kennen. Ein weiterer Nachteil einer rein geführten Kommunikation ist, dass komplexe Chatbot Use Cases nicht abgebildet werden können, da die Interaktionsmöglichkeiten sehr eingeschränkt sind.

Wie wird geführte Kommunikation eingesetzt?

Geführte Kommunikation sollte immer in Kombination mit einer Freitexteingabe eingebunden werden. Dadurch kann man die Vorteile einer geführten Kommunikation ausspielen und geht den Nachteilen mit einer Freitextkommunikation aus dem Weg. Des Weiteren ist es sehr gut mit Buttons zu arbeiten, um dem Nutzer einen Rahmen zu geben, welche Inhalte durch den Chatbot beantwortet werden können.

> Zurück zum BOTwiki - Das Chatbot Wiki