Angeklickt

Baukasten Sequel So basteln Sie einen faustischen Chatbot

Sie wollten schon immer einen eigenen Chatbot haben? Unser Autor hat den Onlinedienst Sequel ausprobiert, der auch ohne Programmierkenntnisse funktioniert. Sein Projekt: ein Bot frei nach Goethe.


Bots zu entwickeln ist nur etwas für Experten? Der Onlinedienst Sequel zeigt, dass jeder einen eigenen Chatbot bauen kann - auch ohne Programmierkenntnisse.

Der älteste Chatbot ELIZA, ein simulierter Psychotherapeut, wurde bereits vor 50 Jahren veröffentlicht. Seit Facebook im April dieses Jahres angekündigt hat, die Chat-App "Messenger" für Bots zu öffnen, ist ein neuer Hype um die Programme entstanden. Einige funktionierende Alltagshelfer gibt es bereits. Sequel will es nun allen möglichst leicht machen, einen eigenen Bot zu veröffentlichen.

Warum man das tun sollte? Zunächst ist es unterhaltsam. Sequel sammelt einige der Schöpfungen seiner Nutzer in einem Bot-Store. Hier findet man nicht die nützlichen Helferlein, die persönlichen Sekretäre, die einem Flüge und Hotels buchen, sondern Chat-Games.

Die Krimis, Romanzen oder Albernheiten kann jeder ausprobieren. In einer Geschichte geht es etwa darum, als Frau einen Schauspieler zu engagieren, der bei Geschäftsessen den Lebenspartner mimen soll. Oder der Nutzer wird zum Detektiv. In einer anderen ist man der Stabschef des Weißen Hauses und erfährt von seinen Mitarbeitern per Chat, dass der Präsident - ohne Absprache! - bei einem Staatsbesuch in Amsterdam holländisch spricht, was für einige Aufregung bei dem Mitarbeitern sorgt.

Inszenierungen für das Smartphone

Im Grunde sind das kleine Theaterinszenierungen für das Smartphone, aber statt Schauspielern trägt der Programmcode die Dramentexte vor beziehungsweise sendet sie an den Chat. Schön anzusehen und mal mehr, mal weniger interaktiv.

Doch sich selbst am eigenen Chatbot zu versuchen bringt auch eine Erkenntnis: Man erhält so einen guten Einblick, wie die Technik prinzipiell funktioniert. Das hilft auch dabei, sich vom derzeitigen Hype um Bots und künstliche Intelligenz nicht übermannen zu lassen. Es ist, anders als man bei manchen all zu euphorischen Meldungen zum Thema vermuten könnte, alles keine Zauberei.

Zunächst muss ein Mensch dem Bot sagen, was er tun soll. Bevor autonome Roboter die Welt beherrschen oder zumindest die meisten Servicekräfte ersetzen, ist also noch viel Arbeit nötig. Sequel vereinfacht diese Arbeit für alle ohne Informatik-Studium. Der Dienst bietet ein intuitiv zu bedienendes grafisches Interface an und findet griffige Metaphern.

Teuflische Wahlmöglichkeiten

So definiert man zunächst wie ein Dramatiker im Theater verschiedene Rollen, also Akteure, die sich miteinander oder mit dem Nutzer unterhalten. So kann Faust, die Figur aus Johann Wolfgang von Goethes Tragödie, als Bot Gretchen anchatten: "Mein schönes Fräulein, darf ich wagen, mein Arm und Geleit Ihr anzutragen?"

Zuerst gibt man seinen Charakteren Namen. Hier tritt gleich ganz klassisch Faust aus Goethes gleichnamiger Tragödie auf.

Zuerst gibt man seinen Charakteren Namen. Hier tritt gleich ganz klassisch Faust aus Goethes gleichnamiger Tragödie auf.

Dann fügt man per Klick Knotenpunkte ein, die sich später auch durch Drag and Drop verschieben lassen. Ein solcher Knoten kann beispielsweise die Eingabe des Users sein, der in die Rolle von Gretchen schlüpft. Die einfache und sichere Möglichkeit einer Antwort sind Schaltflächen mit vorgegebenen Optionen.

Die Textbuch-Antwort dürfte bekannt sein: "Bin weder Fräulein, weder schön, kann ungeleitet nach Hause gehn." Nun muss man den Nutzer des Bots aber nicht nur Goethes Text nachspielen lassen. Er darf selbst entscheiden, was Gretchen tut, denn solche Bots sollen ja gerade interaktiv sein. Sequel legt von sich aus immer zwei Optionen für eine "Player Decision" an, man kann aber auch weitere Auswahlmöglichkeiten hinzufügen.

Dann fügt man einzelne Knotenpunkte hinzu, die einfachste Möglichkeit ist eine Spielerentscheidung per Auswahl vorgegebener Antworten ("Add Player Descision (Buttons)")

Dann fügt man einzelne Knotenpunkte hinzu, die einfachste Möglichkeit ist eine Spielerentscheidung per Auswahl vorgegebener Antworten ("Add Player Descision (Buttons)")

Fallback-Option, wenn die Antwort nicht erkannt wird

In einem zweiten Zweig, in dem Gretchen sich gleich von Faust begleiten lässt, ohne dass der Teufel eingreifen muss, kann man sich austoben - es gibt keine Vorlage mehr, an die man sich halten müsste oder könnte. Also weiter Funktionen testen: Der Bot kann auch auf eingetippte Nutzerfragen reagieren. In diesem Fall gibt man Synonyme für eine mögliche Antwort an. Die Antwort auf eine Ja/Nein-Frage könnte etwa auch "Okay" sein.

Sequel verspricht, dass nicht alle möglichen Alternativen per Hand eingegeben werden müssen, weil der Dienst Synonyme auch selbst erkennt. Bei einfachen Beispielen funktioniert das auch gut. Außerdem können die realen Antworten der Nutzer durchsucht werden, um den Bot nach Veröffentlichung zu optimieren.

Zur Sicherheit gibt es auch eine Fallback-Option, die immer dann greift, wenn die Antwort nicht erkannt wird. So könnte Faust, geschockt, dass er nach Tausenden Inszenierungen mit dem immer gleichen Text diesmal eine andere Antwort bekommt, lieber noch einmal nachfragen.

Der Nutzer kann auch Text eingeben. Oben steht die Variable. Es wird auch "Okay" als Synonym von "Ja" erkannt und muss daher nicht eingegeben werden. Wenn der Spieler aber genervt "Jaaaa" eintippt, erkennt der Bot das nicht und muss auf die Notlösung zurückgreifen, die beiden rosafarbenen Knöpfe unten.

Der Nutzer kann auch Text eingeben. Oben steht die Variable. Es wird auch "Okay" als Synonym von "Ja" erkannt und muss daher nicht eingegeben werden. Wenn der Spieler aber genervt "Jaaaa" eintippt, erkennt der Bot das nicht und muss auf die Notlösung zurückgreifen, die beiden rosafarbenen Knöpfe unten.

Außerdem ist es möglich, Nutzereingaben in Variablen zu speichern. Wenn Gretchen auch auf Nachfrage mit Faust heimgehen will, muss der natürlich wissen, wohin es geht. Die Antwort interessiert unseren Faust allerdings weniger. Er will den Ort nur kennen, denn er hofft, durch ein billiges Kompliment Gretchen schmeicheln zu können. Hier wird der Bot auch sehr dumm: Wenn ein Nutzer Unsinn eingibt, wiederholt er diesen einfach.

Mit Variablen kann man Nutzereingaben abfangen. Der Chatbot kann diese dann nachplappern.

Mit Variablen kann man Nutzereingaben abfangen. Der Chatbot kann diese dann nachplappern.

Viele Funktionen lassen sich durch Ausprobieren erschließen. Alles Weitere erklärt eine recht ausführliche, englischsprachige FAQ. Wirklich mächtig ist die Funktion, mit der sich fremde APIs einbauen lassen. So kann man dem Bot etwa Zugriff auf Datenbanken geben. Dazu sollte man dann aber doch Grundlagen des Programmierens beherrschen und etwas Zeit mitbringen. Unser Faust könnte so zum Beispiel vor Gretchen mit seinem umfangreichen Wissen prahlen, wenn es gelingt, Wikipedia anzuzapfen.

Zum Schluss kann der Bot veröffentlicht werden. Unser Demo-Bot kann in den Messengern Telegram und Kik ausprobiert werden. Man kann seine Bots auch im Facebook-Messenger veröffentlichen, das kann aber länger dauern, da Facebook sich vorbehält, alle Chatbots zu prüfen, bevor sie auf die Nutzer losgelassen werden. Sequel hat auch eine eigene Web App, in der Bots ganz ohne Messenger benutzt werden können. Allerdings hängt hier die Entwicklung hinterher, sodass etwa der Faust-Bot unter anderem wegen der Worterkennung noch nicht funktioniert.



Diskutieren Sie mit!
8 Leserkommentare
felisconcolor 18.07.2016
pterodactylus 18.07.2016
systemgast 18.07.2016
dereineundehrliche 18.07.2016
chris__78 18.07.2016
hughw 19.07.2016
neuronensalat 19.07.2016
burnedout 21.07.2016

© SPIEGEL ONLINE 2016
Alle Rechte vorbehalten
Vervielfältigung nur mit Genehmigung der SPIEGELnet GmbH


TOP
Die Homepage wurde aktualisiert. Jetzt aufrufen.
Hinweis nicht mehr anzeigen.