Conversational Marketing und Chatbots: mit Tutorial, wie man einen Personal ChatBot baut
Folgender Dialog fand gestern bei mir zuhause statt:
Ehefrau: Schatz, wir müssen noch die Einladungen drucken. Aber das Druckerpapier ist alle. Kümmerst Du dich bitte darum?
Ich: Alexa, bitte bestelle neues Kopierpapier!
Alexa: Sehr gerne, Kaspar. Ich habe Avery Zweckform Drucker- und Kopierpapier im Format A4 für Dich bestellt.
Was ist passiert? ganz einfach: ich habe eine simple Amazon-Lieferbestellung über die Amazon Echo Box mit Spracherkennung ausgelöst. Das System kennt meine Adresse sowie Bankverbindungsdaten und liefert mir am nächsten Tag das gewünschte Kopierpapier — versandkostenfrei, versteht sich.
Auch wenn das für Manche noch nach Zukunftsmusik klingt: der Online-Händler Amazon hat eine wichtige Lektion verstanden und mit dem Sprachassistenten Amazon Echo in die Tat umgesetzt: Technologie darf sich nicht aufdrängen und sollte klar umrissene Probleme des Alltags unkompliziert lösen können.
Mit dieser Innovation verbunden sind wichtige Fragen: wie wollen Kunden zukünftig angesprochen werden? Wie stelle ich ein persönlicheres Verhältnis zwischen Marke und Nutzer her und löse mich aus der alten Statik?
Seit geraumer Zeit sprechen Brand Manager, Produktentwickler und Marketer über die nächste Stufe der digitalen User Experience im Kontext von Marken und Services. Und natürlich treibt allesamt der Wunsch, das alles zu automatisieren.
Frei nach dem Motto: das beste Interface ist kein Interface, sondern etwas, das dir zuhört, bauen Horden von Entwicklern an Amazon Alexa-Skills und Apple’s Siri-Integrationen. Für den Mainstream-User ist die sprachliche Interaktionsform mit Technologie häufig noch ungewohnt. Viel näher liegt zunächst die fast klassisch anmutende Interaktion via Schrift und Text: denn mit großem Erfolg der verschiedenen Messenger-Anwendungen in den letzten 20 Jahren setzen Marken auf eine Dialogform, die der Nutzer bereits versteht und in der sich die Konversation bereits recht einfach automatisieren lässt.
Diese automatisierten Nutzer-Konversationen (aktuell unter dem Begriff ChatBots zusammengefasst) stellen ein enormes Potenzial für eCommerce und Digital Services dar und versprechen, einerseits kaufunentschlossene Kunden durch Information schnell und unkompliziert von Produktmehrwert zu überzeugen und andererseits für Dienstleistungsunternehmen, einen wesentlichen Teil der Basis-Kommunikation mit Bestandskunden zu ersetzen oder diese zumindest zu vereinfachen.
Aber auch Marketer frohlocken. Denn Conversational Marketings ist mehr als der Zwang dahin zu gehen, wo die Nutzer sind — nämlich in Messaging Apps. Conversational Marketing ist die Verschmelzung von User Experience und Brand Interaktion. Marken kommunizieren — ähnlich wie in Social Media- verstärkt auf Augenhöhe mit ihren Nutzern. Den Start machen viele Marken auf ihren Landingpages, auf Whatsapp oder im Facebook Messenger.
ChatBot — Marke Eigenbau?
Gebastelt wird zurzeit an allen Ecken. Aber ist das Thema von Substanz oder treibt die Tech-Szene wieder eine neue Sau durchs Dorf? Klar ist: es gibt nicht wenige, die Conversational Marketing für einen überzogenen Hype halten.
Ich wollte mehr wissen und fing an, mich über die Weihnachtsfeiertage mit den verschiedenen Tools und Plattformen zu beschäftigen. Ich bin kein Developer. Daher kamen für mich zunäcsht Tools aus dem Bereich Visual Interface Programming infrage. Eine hervorragende Ressource zum Einlesen ist im Übrigen das Botwiki.org.
Die Slack-Community Botmakers ist ebenfalls eine großartige Hilfe, um thematisch einzusteigen.
Hier sind einige Visual Programming Tools, die ich mir angeschaut habe (ohne Anspruch auf Vollständigkeit):
- Motion.ai
- Gupshup
- Converse.ai
Ich entschied mich nach ein bisschen Testing für Motion.ai. Nicht zuletzt deshalb, weil es eine Slack Community gibt, in der mir als Nicht-Entwickler bei technischen Fragen sehr schnell geholfen wurde.
Das Ergebnis meines kleinen Side Projects ist KasparBot, ein so genannter Personal Bot, der als Meta-Individuum Fragen zu meiner Person beantworten kann.
Wenn Du meinen ChatBot ausprobieren willst, dann kannst Du hier starten!
Der Bot ist funktionstüchtig, hat aber noch einige Macken. Ich bin immer für Hinweise dankbar, wenn ihr Bugs entdeckt und Sie mir (bitte mit Screenshot) schickt.
Tutorial: How to build it
Step 1: Motion.ai Umgebung aufsetzen
- Geh’ auf Motion.ai und lege einen Account an.
Step 2: Facebook Page einrichten
- Auf Facebook gehe in der blauen Statusbar oben rechts im drop-down auf “Seite erstellen”.
- Kreiere nun eine Page für einen fiktiven Charakter (das ist nicht verpflichtend, passt aber am ehesten zum Thema).
- Alle weiteren Schritte zur Einrichtung einer Facebook Page entnimmst Du bitte diesem Tutorial.
Step 3: Motion.ai mit Facebook Page verknüpfen und Projekt anlegen
- Im Dashboard gehe auf “Create a bot”, um Dein erstes Project anzulegen.
- Im nun folgenden Dialog überspringst Du die Smooch Integration und nutzt die native Motion.ai Anbindung für den Facebook Messenger.
- Melde Dich auf der Motion.ai Oberfläche mit Deinem Facebook Account via Connect an. Es ist hier selbstverständlich notwendig, dass Du Motion das Recht einräumst, die mit Deinem FB-Nutzerprofil verbundenen Pages zu administrieren.
Step 4: Aufbau der Gesprächslogik
Starten wir nun schrittweise, die Module mit eigenen Inhalten zu füllen.
- Beginne mit den Templates, die Dir im ersten Schritt ganz gut erklären, welche Logik der visuelle Editor nutzt, um Statements, Multiple Choice oder weiteres anzulegen.
- Mein Bot beginnt die Konversation mit einer Begrüssung und fragt als nächstes nach dem Namen des Gesprächspartners. Dieses Modul ist, anders als das Begrüssungs-Statement, das statisch einen vordefinierten Satz ausspuckt, ein Multiple Choice Modul, da ich hier bereits die erste Datenabfrage tätige: diese Data-Extraction führt auch unmittelbar zum nächsten Modul (Schritt 3). Sollte der Nutzer hier keinen Namen eingeben, habe ich einen Fallback definiert, der nochmal zur Namenseingabe auffordert. Sollte ich keine Namensdaten erhalten, wird der Nutzer per default als “Fremder” angesprochen.
- Im Anschluss folgt der erste echte Multiple Choice, in dem der Nutzer entscheidet, zu welchem Thema der Bot Informationen bereitstellt. In Fall meines Bots kann der Gesprächspartner mehr über meine Arbeit, meine Ausbildung oder meine Hobbies erfahren.
4. Die Multiple Choice Auswahl mache ich dem Nutzer etwas leichter, in dem ich “Cards” anlege, die vordefinierte Antworten enthalten. Mit diesem Tool erspart man dem Nutzer in Situationen das Tippen, in denen er sowieso ein eingeschränktes Set an Antworten hat. Außerdem minimiere ich dadurch.
Step 5: Finetuning
Cards:
Eine wesentliche Vereinfachung in der Konversation für den Anwender ist der Einsatz von “Cards”. Diese bieten vordefinierte Antwortmöglichkeiten für den Nutzer, die mit den vom Bot akzeptierten Inputs direkt korrespondieren. Ein Beispiel: Wenn ich dem Nutzer die Multiple-Choice-Frage stelle, ob er mehr zu den Städten <Hamburg>, <Berlin>,<München> erfahren möchte, verwende ich entsprechende Cards mit den verschiedenen Antwortmöglichkeiten, die dem Nutzer dann auch exakt <Hamburg>, <Berlin> oder <München> vorschlagen.
Fallbacks:
Ein wichtiger Zusatzfaktor sind Fallbacks und Error Responses:
mit den Erstellen dieser Fallbacks verliert man die Nutzer nicht, falls sie in der Konversation nicht weiterkommen oder es zu logischen Brüchen kommt. Ein Beispiel: ein Nutzer antwortet mit einem String, den der Bot nicht interpretieren kann. Ich setze den Bot so auf, dass er bei unverständlichen Eingaben immer folgendes antwortet: “Sorry, das habe ich leider nicht verstanden. Bitte probiere es noch einmal aus.” Darüber hinaus gehe ich bei jedem Modul in die Einstellungen und wähle auf dem Tab “Connections” unter “Fallback” die Ausgangs-Karte aus, auf die der Nutzer zurückgehen kann, wenn er sich im Gespräch verloren fühlt.
Abschließend: mithilfe der Motion.ai Dokumentation kannst Du Dich relativ einfach durch den Prozess hangeln. Wenn Du Hilfe brauchst, schreib mir einfach eine Mail oder stelle Deine Fragen in der Motion.ai Slack Community.