Förderjahr 2017 / Project Call #12 / ProjektID: 2230 / Projekt: Safer Internet-Bot
Angefangen hat alles schon vor dem Chatbot-Projekt, denn auffällig viele Kettenbriefe wiederholen sich und wir haben begonnen Kategorien an Kettenbriefen zu definieren. Da waren zum Beispiel die Killerclown-Kettenbriefe, die Angstmacher-Kettenbriefe oder die harmlosen Kettenbriefe. In unserem ersten Bericht (siehe Ergebnisse: Analysebericht) wurden diese Kategorien schon massiv ausgebaut.
Inzwischen sind wir dazu übergegangen ein System zu nutzen, das uns dabei hilft Anfragen an den Chatbot zu erkennen, auch wenn sie nicht eins zu eins von uns als solche bereits definiert wurden. Das ist wichtig, denn aus der Praxis wissen wir: Kinder machen Tippfehler, Kettenbriefe verändern sich laufend ein bisschen und vor allem, wir werden nicht die Zeit haben eine so umfassende Datenbank mit allen Anfragen zu pflegen. Idealerweise sollte der Chatbot lernen - und aus den bisherigen Anfragen die künftigen richtig zuordnen können.
Die Lösung, die wir dafür nutzen, ist "Cognitive Services Language Understanding" (LUIS). In LUIS lassen sich so genannte Absichten ("Intents") formulieren: Beim Safer Internet-Bot ist das zum Beispiel die Kategorie an Kettenbriefen, die Kindern Angst vor Horrorclowns machen will oder Kindern falsche WhatsApp-Updates verspricht. Als so genannte Intents haben wir auch alle bisherigen Anfragen, die es von Kindern an das Kettenbrief-Telefon gegeben hat, eingeordnet. Das war - angesichts der tausenden Chatverläufe - ein großer Aufwand, der sich aber auszahlen wird.
Innerhalb von "Intents" lassen sich "Entities" definieren - mit diesen lernt LUIS zunehmend ähnliche Sätze zuzuordnen. Im folgenden Beispiel sieht man den "Intent", in dem wir alle Fragen zum Wahrheitsgehalt von Kettenbriefen zusammengefasst haben. Da der Chatbot immer nur auf die letzt erhaltene Nachricht antworten wird, ist klar, dass wir auf diese Fragen nicht antworten können, sondern das Prinzip des Chatbot erklären müssen - also, das Kind auffordern den entsprechenden Kettenbrief zu schicken.
Dieser "Intent" ist ein gutes Beispiel dafür, wie wichtig es ist eine umfassende Datenbasis zu haben, denn ein und dieselbe Frage kann auf hundert unterschiedliche Arten gestellt werden.
Je mehr wir bei einer Kategorie ("Intent") an Beispielen ("Entities") hinzufügen, desto besser wird unser Chatbot bei seiner Performance - wir trainieren derzeit laufend den Chatbot und freuen uns schon auf den Launch.
Weitere Informationen: Azure Microsoft Blogeintrag zu LUIS