Der Corofix-Chatbot

Krisensituationen führen zu Verunsicherung und steigern damit das Informationsbedürfnis der Menschen. Das staatliche Krisenmanagement entgegnet diesem häufig durch die Einrichtung einer klassischen, analogen Krisenhotline, die Antworten auf die diversen Fragen Betroffener geben soll.

Auch im Zuge der Coronakrise schalten Länder und Kommunen aktuell Hotlines. Aus unserem Umfeld in Berlin haben wir bereits seit Beginn des Ausbruchs in der Stadt vielfach von der maßlosen Überlastung der offiziellen Coronahotline mit teils stundenlangen Wartezeiten gehört. Da das Virus Arbeit und Leben des gesamten Landes verändert, können die Hotlines weder der Masse an Fragen noch ihrer inhaltlichen Diversität Herr werden. Insbesondere für kleine Kommunen ist die Bereitstellung von Personal für solche Hotline eine zusätzliche Belastung, die wichtige Ressourcen bindet. Selbst auf Landesebene stehen nicht ausreichend fachlich qualifizierte Personen für die Bearbeitung von Telefonanfragen zur Verfügung, denn die wirklichen Experten werden an anderer Stelle gebraucht.

Im Ergebnis führt dies zu einer Dysfunktion der Hotline, die durch mangelnde Erreichbarkeit und fachliche Expertise ihre aufklärende, beruhigende und koordinierende Funktion im Krisenmanagement nicht ausüben kann und wertvolle personelle Ressourcen zur Beantwortung von Einzelanfragen bindet.

Unsere Lösung

Ein Chatbot, der die Ämter in der Versorgung der Bevölkerung mit Informationen unterstützt. Durch die automatisierte Beantwortung der wichtigsten Fragen werden die Mitarbeiter*innen der Ämter entlastet. Aufgrund des föderalen Systems in Deutschland bringt dies jedoch verschiedene Herausforderungen mit sich.

Der Einsatz eines Chatbots stellt für die meisten Behörden eine immense technische Herausforderung dar. Obwohl es zahlreiche Chatbot Plattformen gibt, die einem die Arbeit erleichtern, bedarf es für den Einsatz solcher trotzdem Fachpersonal. Also war unser erster Anspruch, dieses Problem nur einmal zu lösen und den Chatbot für möglichst vielen Institutionen auf allen föderalen Ebenen möglichst einfach verfügbar zu machen.

An dieser Stelle reicht es allerdings nicht aus, einen zentralen Chatbot zu erstellen und auf möglichst vielen Websites zu integrieren. Der Föderalismus und die Kommunale Selbstverwaltung führen zu einer Vielzahl an unterschiedlichen Regelungen und Zuständigkeiten, weshalb pauschale Antworten ist hier nicht zu allen Themen möglich sind. Gleichzeitig, so zeigt sich auch im Fall des Coronavirus, wird auch operativ unterschiedlich vorgegangen, z. B. bezüglich der Virustestung oder dem Genehmigungsprozess von Kindernotbetreuung bei systemrelevanten Elternteilen. Und auch die offizielle Verantwortungskaskade und Informationshoheit der öffentlichen Verwaltung darf nicht vernachlässigt werden. Die Inhalte des Chatbots zentral zu erstellen und von allen beteiligten Institutionen analog abstimmen und genehmigen zu lassen stellt daher kein tragfähiges Konzept dar.

Auch eine dezentrale Lösung scheidet aus: Insbesondere die im Zuge der Coronakrise häufig ohnehin schon überlastete Kommunen verfügen nicht flächendeckend über die notwendigen IT-Kenntnisse, Fachkräfte und Hardware zum Hosting eines eigenen Chatbots.

Unser Chatbot bietet Lösungen für all diese Probleme!

Um diese Hindernisse zu umgehen, haben wir unseren Chatbot so entwickelt, dass er abhängig von der Website, auf der er kontaktiert wird, spezifische Antworten zu aktuell geltenden Regelungen für diese Verwaltungseinheit geben kann. Unser Konzept für einen flächendeckend nutzbaren Chatbot sieht die Formulierung von Antwortvorlagen auf häufig gestellte Fragen durch Fachexperten vor. Kommunen ergänzen dabei entsprechend regionale Besonderheiten und melden häufige Fragen aus der Fläche.

Die Antworten können dabei auf unserem Server mittels einer Weboberfläche verwaltet werden. Hier soll jede Institution, welche den Chatbot nutzen möchte, einen eigenen Zugang erhalten. Zentrales Hosting in Verbindung mit moderner Sprachverarbeitung erleichtert die bundesweite technische Implementierung. Kommunen binden lediglich das Eingabeinterface auf ihrer Website ein. Über ein anwendungsfreundliches Backend können die regionalspezifischen Antworten des Bots durch die Verantwortlichen vor Ort eingegeben werden. In Summe profitiert das selbstlernende System von der bundesweiten und somit höheren Zugriffszahl und kann so schneller optimiert werden. Die nachfolgende Grafik beschreibt die ebenenübergreifende Funktionsweise des Chatbots.

Bei der Analyse der gestellten Frage und Auswahl der passenden Antwort ist die Regionalität irrelevant. Die Zentrale Verwaltung erlaubt es, die Spracherkennung und Schlüsselung der Fragen stetig und besonders effizient zu optimieren. Die regionale Komponente kommt erst dann zum Tragen, wenn eine Antwort identifiziert wurde, für dies eine regional angepasste Version vorliegt.

Das nachfolgend beispielhaft dargestellte regionale Backend besitzt zwei einfache Funktionen: (1) Die Einreichung eigener, häufig gestellter Fragen mit entsprechenden Antwortvorschläge, sowie (2) die Bearbeitung und Freigabe von Antworten auf im System hinterlegte Fragen. Antworten können dabei von Bund, Ländern oder Kommunen freigegeben werden, sind also immer durch eine offizielle Stelle legitimiert.

Wie geht es weiter mit dem Chatbot?

Aufgrund seiner technischen Architektur hat unser Chatbot das Potenzial für eine hohe Skalierbarkeit im Zuge eines bundesweiten Rollouts auf allen föderalen Ebenen. Durch prominente Platzierung auf den Startseiten der Websites von Verwaltungseinheiten kann der Chatbot als erste Anlaufstelle für die vielfältigen Fragen besorgter Bürgerinnen und Bürger im Zuge der Coronakrise dienen und so die telefonischen Krisenhotlines entlasten. Durch die regionale Spezifizierung und Freigabe der Antworten durch Behörden, sind die durch den Chatbot kommunizierten Inhalte staatlich legitimiert und bieten für Bürgerinnen und Bürger so eine verlässliche Informationsquelle in einer turbulenten Zeit.

Im Zuge einer Weiterentwicklung würden auf konzeptioneller Seite mithilfe von User Stories häufig gestellte Fragen zu verschiedenen Themengebieten, z.B. Coronatests, Ladenöffnungszeiten, Ausgangsbeschränkungen sowie dem Leben in häuslicher Isolation gesammelt und entsprechende, regional anpassbare Antworten formuliert. Damit wird der Chatbot anschließend „gefüttert“ und entsprechend der regionalen Einbettung darauf trainiert, die richtigen Antworten zu geben. Für die Umsetzung der Verwaltungsoberfläche müssten vor allem die konkreten Anforderungen der Behörden geklärt werden und unsere Verwaltungsoberfläche und API-Server entsprechend erweitert werden. Hier gibt es viele denkbare Features, wie Änderungsmangement für Antwortinhalte oder Möglichkeit, Antworten von anderen Behörden zu übernehmen.

Technisches

Wenn man die oben beschriebenen Herausforderungen aufs Technische herunterbricht, ergeben sich drei zentrale Anforderungen: Der Chatbot muss mit möglichst geringem Aufwand auf die Websites und in die digitalen Kommunikationskanäle der Behörden eingebunden werden können. Die technisch aufwändige und komplexe Umsetzung des Chatbots muss zentral erfolgen. Es soll nicht jede Behörde einen Chatbot “trainieren” müssen. Der “zentrale Chatbot” muss abhängig davon, von welcher Seite / welchem Kanal aus er angeschrieben wird, andere Informationen / Antworten geben. Beispiel: Der Chatbot auf der Website des Landes Schleswig-Holstein muss andere Antworten geben als der auf der Website des Landes Bayern. Diese “Konfiguration” des Chatbots muss von eine*r Mitarbeiter*In ohne großes technisches Hintergrundwissen vorgenommen werden können.

Aus diesen drei Anforderungen ergeben sich die drei zentralen Komponenten unseres Prototypen. Aufgrund unserer beschränkten Ressourchen haben wir uns während des Hackathons zweier kommerzieller Lösungen bedient, die im Folgenden näher beschrieben werden. Diese ließen sich jedoch langfristig durch open Source oder anderweitig ersetzen.

1. Den Chatbot möglichst einfach auf die Website einbinden:

Für die integration des Chatbots in etwaige Websites haben wir die Plattform kommunicate.io verwendet. Diese ermöglicht es mit minimaem Aufwand einen Chat auf eine Website zu integrieren. Es muss lediglich ein <script>eingebunden werden. Einfacher geht’s nicht. Zusätzlich ermöglicht kummicate.io die </script>Integration mit Chatbot-Lösungen, wie der von uns verwendeten Plattform dialogflow. Somit mussten wir nur unseren dialogflow chatbot erstellen und mit unserem kommunicate.io account verknüpfen. Zusätzlich ermöglicht uns kommunicate.io, unseren chatbot wissen zu lassen, von welcher Website er angeschrieben wird, docu dazu hier und hier. Eine 1:1 Open source Lösung ist uns derzeit nicht bekannt, aber nach unserer Einschätzung ließe sich ein “abgespecktes” kommunicate.io für diese Zwecke im überschaubaren Aufwand nachbauen.

2. Den Chatbot programmieren / trainieren:

Wie bereits erwähnt, wurde der Chatbot selbst mittels Googles dialogflow umgesetzt. Wie das geht, erklärt google besser als wir: https://cloud.google.com/dialogflow/docs Im Wesentlichen erstellt und trainiert man Intents, welche aus den Chat-Nachrichten von Nutzern deren “Intention” ablesen. In unserem Fall haben wir diese Intents genutzt um die Fragen der Chatbot-Nutzer zu verstehen. Mittels dialogflow können wir also das schwierige Problem der “Spracherkennung” zentral lösen. Es erkennt mittels der Intents welche Information / Antwort der Nutzer braucht und mittels des Fullfillment Features können wir die richtige Antwort für die spezifische Website aus unserer Datenbank fischen. Ein Export des dialogflow Agenten findet sich hier. Mögliche Alternativen zu einer Plattform wie Dialogflow wär ein self-hosted Apache Beam Service und Rasa Stack (beides Open Source).

3. Die Antworten verwalten

Um die Antworten zu verwalten und von dialogflow abrufen lassen zu können haben wir uns der Headless-API-Plattform strapi.io bedient. Diese stellt uns eine leicht konfigurier- und erweiterbarer API zur Verfügung, kann mit unterschiedlichen DatenBanken für Persistenz betrieben werden und nimmt uns eine Menge Code ab. Den Code, denn wir noch schreiben mussten, gibts hier: https://github.com/rene-gust/wir-vs-virus-verwaltungsbot Benutzeroberfläche bietet Strapi allerdings nur für API-Administratoren, nicht für normale “Nutzer”, weswegen wir noch eine UI mittels nuxt.js erstellt haben. Code gibts hier: https://github.com/abegehr/verwaltungsbot-panel

Technische DEMO / PoC:

Auf den folgenden Demo-Websites findet sich unser Chatbot. Besonders ausgefeilt ist er nicht! Er kennt drei verschiedene Antworten: eine für besorgte Personen, die Angst haben an Corona erkrankt zu sein, eine zweite für Personen, die allgemein verunsichert und frustriert sind, und eine dritte zum Thema Restaurants und Gastro. Letztere Antwort variiert allerdings zwischen den Websites! Ihr könnt also auf beiden Websites mal nachfragen: Haben die Restaurants geöffnet?

Dieses Projekt ist während des Hackathons #WirVsVirus entstanden.

Der #WirVsVirus Hackathon ist der Hackathon der Bundesregierung und steht unter der Schirmherrschaft des Chefs des Bundeskanzleramtes Prof. Dr. Helge Braun.

Team

Software Engineer

Software Engineer

Koordination & Konzept

Konzept

Konzept & Design

Portrait photo of José Ernesto Rodríguez smiling into the camera with short and slightly curly hair in an orange sweater.
Konzept & Design

#WirVsVirus-Mentor