Datenqualität bei digitalen Assistenten am Beispiel von ÖPNV Haltestellendaten

In diesem Artikel geht es um die Qualität von ÖPNV Daten und deren Einsatz bei Sprachassistenten und Chatbots. Versprochen, es ist spannender als es klingt!

In dem Artikel Wie versteht eigentlich ein digitaler Assistent was ich meine? wurde thematisiert, wie digitale Assistenten befähigt werden natürliche Sprache zu verstehen. Ebenfalls wurde das Konzept der Intentionen und Entitäten als Datengrundlage für Chat- oder Sprachassistenten angesprochen. Darin ist auch hervorgehoben, dass die Natural Language Understanding (NLU) Engine (Der Teil des Computerprogramms, der den Text verarbeitet und auswertet) mit möglichst vielen Daten trainiert werden muss, damit sie Erfahrungen wie ein echtes Gehirn sammeln kann. Zum einen sind das Beispielsätze, um die Absicht (Intention) des Nutzers zu erkennen und zum anderen sind es die Entitäten, also die wichtigen im Satz vorkommenden Wörter.

Im ÖPNV Bereich ist eine der wichtigsten Entitäten die Haltestelle. Im einfachen Beispiel können wir händisch wie in Wie versteht eigentlich ein digitaler Assistent was ich meine? einige Haltestellen eintragen.

Doch in einer echten Anwendung kommt es darauf an, dass die Daten vollständig und aktuell sind. Ein händisches Pflegen ist somit ausgeschlossen. Wie gut, dass es ein zentrales Haltestellenverzeichnis (https://zhv.wvigmbh.de/Account/Login.aspx) gibt. Dieses Verzeichnis ist ein Kooperations- und Partnerkonzept der DELFI e.V.. Ein Verein aus Verkehrsunternehmen und -verbünden sowie branchenzugehörigen IT-Dienstleistern mit dem Ziel der Stärkung des öffentlichen Nah- und Fernverkehrs und des Kundennutzens durch Verbesserung der Harmonisierung, Durchgängigkeit und Interoperabilität von Serviceangeboten im Verkehr (vgl. https://www.delfi.de/de/strategie-technik/). Im zentralen Haltestellenverzeichnis (zHv) befinden sich aktuell (Stand: 09.2020) 265.922 Haltestellen. Das ist ja schonmal ein Ansage!

Schauen wir uns mal ein paar Daten an.

Top! Da müssen wir also nur alle Haltestellennamen als Einträge für die Entität “Haltestellen” eintragen und fertig.

Informatik kann ja so einfach sei...
...
...
… Moment! Und was sind das für Haltestellennamen?

Was soll man nun damit anfangen? Das ist alles Andere als “natürlichsprachlich“.

Keep Calm And Use Synonyms

Einzelne Einträge der Entitäten können durch Synonyme erweitert werden. Somit sollte unser digitaler Assistent eine Haltestelle verstehen, auch wenn ein Synonym dafür genannt wurde. Doch was müssen wir alles als Synonyme anlegen? Hier wird es schwieriger. Zum einen sagt oder schreibt keiner Klammern. Abkürzungen sollten wir in Varianten ebenfalls auch als ausgeschriebene Wörter anbieten. Besonders gut wird die NLU-Engine, wenn wir auch regional gängige Bezeichnungen für die Haltestelle aufnehmen. Ein prominentes Beispiel hierfür findet sich in München. Wenn ich zum Stachus möchte, so ist eigentlich die Haltestelle Karlsplatz gemeint.

Demo 1 - Erkennung von Synonymen

Wir verwenden zur Demonstration den selben Aufbau wie in Wie versteht eigentlich ein digitaler Assistent was ich meine?.

In beiden Beispielen, sehen wir, dass das Synonym genannt, aber der korrekte Haltestellenname erkannt wird.

Jawoll! Wir haben unserem digitalen Assistenten Synonyme für Entitäten beigebracht und somit die Qualität stark verbessert!

Die Unzulänglichkeiten von Sprache zu Text

Nun haben wir bisher immer nur in den Chat etwas geschrieben. Die NLU hatte somit bereits Text, den sie verarbeiten kann. Wir sprachen aber davon, dass der Bereich digitaler Assistenten mindestens Chatbots und Sprachassistenten umfasst. Sprachassistenten werden, wie der Name schon vermuten lässt, nicht mit Text, sondern mit Sprache bedient.

In den Demonstrationen verwenden wir eine ChatApp. Wir bauen den digitalen Assistenten jedoch als Middleware auf. Middleware bedeutet, dass die Software zentral über das Internet von verschiedenen Quellen angefragt werden kann. Dadurch haben wir den großen Vorteil, dass die ChatApp nur eine von vielen möglichen Anwendungen ist, mit der Nutzer mit dem digitalen Assistenten in Kontakt treten können. Solange natürlichsprachlicher Text in die Middleware gesendet wird, können wir mit dem digitalen Assistenten jeder Anwendung eine Antwort liefern.

Hier sind beispielhaft ein paar “Clients/Touchpoints” aufgeführt. Chatbots über den Facebook Messenger, WhatsApp oder unsere ChatApp sind genauso möglich wie eine Telefonanbindung, Google Assistent oder Alexa. Die drei Letztgenannten müssen, bevor sie mit der Middleware kommunizieren können, Sprache in Text (Speech To Text - STT) umwandeln. Hierzu nutzen die Hersteller der “Produkte“ ihre eigenen Lösung. Somit ist die Qualität der Textumwandlung auch unterschiedlich. Das ist ein Problem für unsere Haltestellennamen! Bei Wörtern die im Wörterbuch der entsprechenden Sprache vorkommen hat keine STT-Engine ein Problem. So wird das Wort Rathaus gut von Sprache zu Text umgewandelt. Es gibt aber Haltestellennamen wie:

Dass die Poccistraße italienisch ausgesprochen wird und nicht wie im Deutschen eher zu erwarten "Pockistraße", kann die STT-Engine des jeweiligen Herstellers nicht wissen. Daher wird die STT-Engine aus der italienisch korrekt ausgesprochenen Haltestelle eher so etwas wie Pottschistraße machen. Diese wird dann an den digitalen Assistenten weitergegeben. Leider haben wir solch einen Haltestellennamen aber nicht. Hier helfen uns wieder die …



… Richtig! Synonyme! Wir müssen solche STT-Fehler glätten, indem wir die Liste der Synonyme der Haltestellen erweitern. Dann wird der Haltestellenname und somit die Haltestelle wieder richtig erkannt.

Fazit

Wir konnten nun sehen, dass ein digitaler Assistent verbessert werden kann, indem er Synonyme für seine Entitäten erhält. Zum einen benötigt er Synonyme, weil Haltestellennamen nicht immer “natürlichsprachlich“ sind und zum anderen, weil die STT-Engines Fehler beim Übersetzen von Sprache zu Text machen. Am Anfang des Artikels konnten wir feststellen, dass ein händisches Pflegen bei der Menge an Haltestellendaten nicht sinnvoll ist und wir daher froh sind, eine Quelle wie beispielsweise das zentrale Haltestellenverzeichnis zu haben. Mit dem Wissen jetzt sollten wir da ein wenig differenzierter draufschauen, denn eine solche Datenbasis mit Synonymen zu den Haltestellen existiert nicht. Hier müssen Wege und Möglichkeiten gefunden werden, diese Daten anzureichern. Wir verwenden dazu bereits automatische Algorithmen, die Synonyme für Haltestellennamen generieren, jedoch kann das nur ein Puzzleteil von vielen sein, wie man die Qualität hier verbessern kann. Der Teufel steckt, wie bei so vielen Dingen, im Detail!

Ähnliche Stories
Digitale Assistenten

Bachelorarbeit zur Entwicklung eines Dialogfluss-Tools für Digitale Assistenten

Aileen hat Medieninformatik in Osnabrück studiert und im Rahmen ihrer Bachelorarbeit ein Dialogfluss-Tool für Digitale Assistenten in Zusammenarbeit mit den PROJEKTIONISTEN® konzipiert und prototypisch entwickelt.

Entdecken
Digitale Assistenten

„Wie Design und doch ganz anders“

Ein Interview mit der UX-/UI-Designerin Paula über die Entwicklung eines Voice Assistenten.

Entdecken

Das gefällt Ihnen?

Kontaktieren Sie uns, damit wir mit Ihnen zusammen Ihre digitale Zukunft denken, gestalten und entwickeln können.

Kontakt

Wir freuen uns darauf, Sie kennenzulernen!

Ihr Ansprechpartner
Martin Löhdefink
Vielen Dank für Ihre Nachricht! Wir werden uns so schnell wie möglich bei Ihnen melden.
Ihre Nachricht konnte nicht gesendet werden. Schreiben Sie uns bitte per Mail (info@projektionisten.de).