Was frisst ein Chatbot? Conversational UIs am Beispiel Diagnose und Troubleshooting

Bot

Sie gehen zum Auto und wollen aufschließen. Aber das Auto geht nicht auf. Was nun? Der Termin drängelt? Die Familie wartet? Die Kinder quengeln? – Tja. Das Handbuch liegt natürlich im Auto.

Seit Monaten höre ich, dass Chatbots DAS neue Ding sind. Tekom. Blogs. Und natürlich Siri, Alexa und mein Navi. Im Netz schreien alle Hurra. Und es gibt jede Menge Bot-Software, mit der jedermann “ohne Programmieren” seinen eigenen Bot bauen kann.


Meine 4 Fragen

Ich wollte das selber an einem konkreten Beispiel ausprobieren. Ich hatte vor allem 4 Fragen:

  1. Kann ich als Chatbot-Laie wirklich ohne Programmieren etwas Sinnvolles produzieren?
  2. Wie wird der Gesprächsverlauf modelliert? Welche Daten muss ich zur Verfügung stellen, damit der Chatbot redet? Also was “frisst” eigentlich  so ein Chatbot?
  3. Was muss ich tun, um meine bestehende Bedienungsanleitung als Bot zur Verfügung zu stellen? Und wie groß ist der Aufwand?
  4. Wo kommt die künstliche Intelligenz ins Spiel?

Ganz wichtig: Ein echtes Szenario

Als Beispiel habe ich das Troubleshooting Szenario von oben gewählt: Die Autotür geht nicht auf. Mein Ausgangspunkt ist die Bedienungsanleitung meines Autos. Im Kapitel “Selbsthilfe” finde ich für die Diagnose eine lange Tabelle mit folgendem Eintrag:

So. Wie mache ich daraus jetzt aber einen Bot?

Die Qual der Wahl: Die Suche nach Software

Die Suche nach der richtigen Software ist wie die Suche nach dem heiligen Gral. Deshalb vertraue ich Google und finde kurzentschlossen Chatfuel.com. In einer wirklich einfachen Benutzeroberfläche kann ich da meinen ersten Chatbot bauen.

Für mein Troubleshooting kann ich einen einfachen Gesprächsverlauf einklicken, der aus einzelnen Blöcken besteht. Der Bot stellt Fragen, der Benutzer antwortet. Dabei erweist es sich als praktisch dem Benutzer mögliche Antworten direkt vorzugeben. Der Benutzer kann dann per Mausklick auswählen und muss keinen Text tippen. Innerhalb von 3 Stunden habe ich wirklich ohne Vorkenntnisse einen netten kleinen Bot gebastelt.

2 Dinge stören mich bei Chatfuel.com:

  1. Wenn ich dem Benutzer keine Antworten vorgebe, versteht der Bot mich oft nicht oder falsch. Das ist insbesondere bei einer großen Zahl möglicher Antworten lästig.
  2. Chatfuel nutzt Facebook als Laufzeitumgebung. Mit wenigen Klicks kann ich meinen Bot auf Facebook veröffentlichen. Das ist gut. Keine Chance aber für andere Umgebungen. WordPress? – Geht nicht.

Ja-Nein-Fragen? Fehlanzeige.


Ich suche weiter: Collect.chat sieht auf den ersten Blick vielversprechend aus. In der freien Version kann die Bot-Konversation aber immer nur genau einen Verlauf nehmen. Ja-Nein-Fragen? – Fehlanzeige. Untauglich.

Ich suche weiter:  Dialogflow ist offensichtlich die Lösung meines Problems aus dem Hause Google. Hier habe ich einen mächtigen Baukasten, der mich zunächst ziemlich erschlägt. Als ich gebeten werde, mein Projekt in der Google Developer Cloud zu verlinken kapituliere ich (es ist auch schon spät am Abend).

Neuer Anlauf: In meinem WordPress finde ich ein Bot-Plugin für IBM Watson. War das nicht die Sache mit Jeopardy? Hmhmmmm. Vielleicht eine Nummer zu groß? Ach was! Wird schon gehen.

IBM Watson ist cool!

Bisher fand ich IBM-Produkte häufig sehr ausgeklügelt und leider auch schwer verständlich. Aber hey! IBM Watson ist cool! Dank guter Einführungen im Netz habe ich innerhalb von 2 Stunden halbwegs verstanden, wie das funktioniert und mein Bot plappert. Wie bei Kleinkindern so üblich kommt da natürlich noch nicht viel Sinnvolles dabei raus. Wichtig ist aber, dass ich etwas über die “Ernährung” meines Kleinkindbots gelernt habe.


Was frisst der Bot? – Antwort: Bäume


Jetzt kann ich also meine Frage 2 beantworten: “Was frisst der Bot”? – Antwort: Bäume. Dabei ist die Wurzel des Baums der Einstieg in den Dialog. Jede Abzweigung im Dialog erzeugt zwei (oder mehr) Äste.

Kaum habe ich die Ernährungsfrage halbwegs gelöst, stehe ich vor dem nächsten Problem: Woher soll ich den Baum jetzt bitte nehmen? – Ah. Stimmt ja: Aus meinem Handbuch. Den Screenshot haben Sie ja oben schon gesehen. Dort wird auf weitere Seiten verwiesen, aber das erspare ich Ihnen.


Draußen ist es nass, kalt und dunkel.


Ehrlich gesagt verstehe ich nicht alles, was im Handbuch steht. Aber draußen ist es nass, kalt und dunkel und ich beschließe – völlig unredakteursmäßig – die fehlenden Informationen nicht auszuprobieren, sondern mit plausiblen Annahmen zu arbeiten.

Als ich mit meinem Baum fertig bin und auf die Uhr schaue, ist es schon sehr spät. Ich bin überrascht, dass ich länger gebraucht habe, aus den Informationen in meinem Handbuch einen Dialog-Baum zu bauen, als meine ersten Schritte mit Watson zu gehen.

Der Dialog-Baum

Hier ist also der Dialog-Baum für meinen Bot:

Dialogverlauf im Chatbot
Dialogverlauf im Chatbot

Sie sehen natürlich sofort:

  • Das Gespräch mit dem Chatbot kann an jeder Raute (gelb/grün) je nach Benutzereingabe einen anderen Weg gehen.
  • In einer grünen Raute wird immer die Frage gestellt ob das Problem jetzt gelöst wurde.
  • Die blauen Punkte markieren das Ende der Unterhaltung.

Ich denke, jetzt sind Sie gerüstet. Probieren Sie! Der Bot ist hier unten auf der Seite. Aber das haben Sie sicher gleich gemerkt und als erstes ausprobiert.

Bedrucktes Papier vs. Conversational UI

Beim Umbau des Handbuchs habe ich zuerst die rechte Seite des Baums gebaut. Wenn Sie die mal durchklicken wollen, merken Sie gleich, dass das eine Weile dauert. Was aber, wenn ich es eilig habe? Hmmmm. Da lässt sich sicherlich etwas machen.


Sind Sie in Eile?


Ich erfinde einen Zweig, der so nicht im Handbuch steht: “Sind Sie in Eile?” Jetzt kann ich einen Express-Durchlauf formulieren. Ohne lange Erklärungen und ohne Probieren. Einfach möglichst schnell losfahren.

Ich finde das sofort ungemein praktisch und rücksichtsvoll von mir. Warum aber steht das nicht im Handbuch? – Mir fallen mehrere Antworten ein:

  • Wenn ich schon im Handbuch suchen muss, dann kommt es auf ein paar Minuten mehr oder weniger auch nicht an.
  • Da das Handbuch normalerweise im Auto liegt, kann man da in diesem Fall eh nicht reinschauen. Warum also Mühe investieren?
  • Das Layout im gedruckten Papier oder vielleicht auch die Struktur des Redaktionssystems lässt eine präzisere Beschreibung gar nicht zu.
  • Das In-Eile-Szenario fällt mir nur deshalb ein, weil ich an einen Autofahrer mit Smartphone denke. Denke ich an einen Autofahrer mit Handbuch, dann komme ich gar nicht erst auf den Gedanken.
  • Die Redakteure wussten (genau wie ich) auch nicht so richtig. Und draußen war es nass, kalt und dunkel.

Allerallerkleinste Häppchen


Oben in meinem Dialog-Baum gibt es einen Kasten “Schlüssel neu synchronisieren”. Probieren Sie den Bot mal aus. Finden Sie den Kasten? – Nein! Und das ist auch kein Wunder, denn in Wirklichkeit besteht der Kasten aus mehreren Einzelschritten. Was im Papier-Handbuch als Liste mit Spiegelstrichen daher kommt, habe ich für den Bot in wirklich allerallerkleinste Häppchen zerhackt.

Und warum hätte der Bot nicht in einer Antwort alle vier Arbeitsschritte nennen können? – Das würde ja gar nicht alles ins Fensterchen passen!

Fazit: Meine 4 Antworten

  1. Kann ich als Chatbot-Laie  etwas Sinnvolles produzieren?
    Meine Antwort ist: Glaube ja. Und was ist Ihre?
    Und geht das wirklich ohne Programmieren?
    – Ja. Und ich schulde Ihnen noch einen Watson-Screenshot. So sieht das aus. Links der Baum, rechts die Details zu einem Knoten.

    Screenshot IBM-Watson
    Screenshot IBM-Watson
  2. Was “frisst” eigentlich ein so ein Chatbot?
    Bäume.
  3. Was muss ich tun, um meine bestehende Bedienungsanleitung als Bot zur Verfügung zu stellen? Und wie groß ist der Aufwand?
    Ich war überrascht. Sowohl der In-Eile-Zweig als auch die allerallerkleinsten Häppchen haben viel mehr Zeit gebraucht als ich geschätzt hätte. Bestehenden Content für den Chatbot wiederverwenden? – Eher unwahrscheinlich.
  4. Wo kommt eigentlich die künstliche Intelligenz (KI) ins Spiel?
    Ja diese Frage habe ich noch nicht beantwortet: Wenn ich das richtig verstehe, ausschließlich dort, wo die Entscheidungen im Dialog-Baum getroffen werden. Die KI hilft also, eine natürlichsprachliche Benutzereingabe auf eine von mehreren vorgegebenen Möglichkeiten abzubilden. Die KI hilft nicht beim Erstellen des Dialog-Baums. Und die KI hilft auch nicht beim Entriegeln der Tür.

Meine Learnings und Nicht-Learnings


So jetzt haben Sie aber lange durchgehalten. Hier noch schnell die Liste meiner Learnings und Nicht-Learnings aus diesem Experiment:

Learnings

  • Chatbots können keine Bilder und keine Symbole anzeigen. Noch nicht einmal das Entriegeln-Symbol auf meinem Schlüssel.
    Gerade im technischen Bereich, in der Diagnose und im Troubleshooting ist es gar nicht so leicht darauf zu verzichten. Für das Wechseln der Batterie des Zündschlüssels habe ich sogar kapituliert und aufs Handbuch verwiesen.
  • Chatbots werden anders verwendet als Handbücher. Wenn ich per Spracheingabe mit dem Bot rede, dürfte der Unterschied sogar noch größer werden. Es sind also andere Use Cases abzudecken.
  • Schon von klein auf lernen Technische Redakteure, dass Listen toll sind: Sind sieben Arbeitsschritte zu erledigen, schreibe ich eine Liste mit sieben Einträgen. Das ist gut und das ist übersichtlich. Sprünge hingegen sind verpönt:
    • Im Papier sind Sprünge (also: Siehe-Seite-Verweise) wirklich schwierig. Ich muss immer blättern. Und mir dann noch mit dem Finger im Buch merken, wo ich hergekommen bin.
    • Im HTML sind Sprünge halbwegs okay. Der Benutzer hat gelernt, dass jeder Browser einen Zurück-Knopf hat. Trotzdem verliere ich meinen Kontext.
    • Im Chatbot steht die Papierwelt jetzt aber Kopf: Lange Listen sind überhaupt nicht übersichtlich. Ich weiß am Anfang nicht, wie lange das noch geht und in der Mitte weiß ich nicht wo ich eigentlich bin. Mir fehlt der Kontext. Sprünge hingegen machen großen Spaß! Ich merke nicht einmal, ob ich einen Sprung mache!
  • Variantenkonfiguration: Worauf ich im Text nicht eingegangen bin: Bei IBM-Watson kann ich sehr ausgeklügelt den Kontext meines Benutzers modellieren. Auf dieser Basis kann ich dann den Dialogfluss steuern. Das ist doch wie geschaffen für die Produkt- bzw. Variantenkonfiguration! Wenn ich das Auto ohne Alarmanlage habe, dann kann ich nach dem manuellen Entriegeln direkt die Autotür öffnen. Die Information, wie die Alarmanlage wieder ausgeht, kann ich mir dann sparen.
    Ich muss also – analog zur Maximalstückliste oder dem Maximaldokument – einen Maximaldialogbaum bauen. Und über den Kontext kann ich dann die irrelevanten Pfade ausfiltern.

Nicht-Learnings

  • Ich habe nicht gesehen, wie man Bäume importieren kann. Weil der Watson von IBM ist, denke ich mir aber, dass das funktionieren muss. Um das ernsthaft einzusetzen, ist eine Integration ins Redaktionssystem natürlich unverzichtbar.
  • Das Übersetzungsthema ist für mich auch noch offen: Wenn es eine Integration ins Redaktionssystem gibt, dann kann ich den Baum sicherlich auch in allen meinen 44 Sprachen hochladen. Aber gibt es auch die KI in 44 Sprachen?
  • Qualitätskontrolle: Ich habe mir für meinen kleinen Bot die Finger wund getippt. Ein PDF kontrolliere ich viel schneller.

Und Sie? Haben Sie eine Meinung oder schon Erfahrungen mit Bots im technischen Umfeld? Schnell hier ↓ reinschreiben!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.