In diesem Artikel geht es um die Qualität von ÖPNV Daten und deren Einsatz bei KI Sprachassistenten und AI 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“.
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.
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!
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.
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!
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Seit mehreren Jahren beschäftigen wir uns intensiv mit den Möglichkeiten und Potenzialen von Anwendungen, die auf Künstlicher Intelligenz (KI – auch “AI” für “Artificial Intelligence” genannt) basieren. Digitale Assistenten sind mittlerweile zu einer unserer Kernkompetenzen geworden. Die technischen Möglichkeiten entwickeln sich stetig weiter, und wir sind bestrebt, diese Fortschritte in neuen Projekten zu integrieren und eigene KI-Produkte zu entwickeln. Mit diesem Fokus werden wir uns diesen Herbst auf folgenden Veranstaltungen tummeln:
EntdeckenEntdeckenUnser Teamleiter für digitale KI-Assistenten Marcel Kaufmann hatte das Privileg, auf der renommierten 77. Kontiki Konferenz in Berlin einen Vortrag über KI-Sprachauskunft zu halten. Bei dieser Veranstaltung konnte er unsere neuesten Überlegungen und Ansätze im Bereich Künstliche Intelligenz und Spracherkennung präsentieren und diskutieren. Auch die Zusammenstellung des Vortragsblocks mit den Kollegen von T-Systems International und Microsoft Deutschland haben sich inhaltlich toll ergänzt.
EntdeckenEntdecken