Das Search Technology Meetup dreht sich um alles, was mit Suche zu tun hat. Bei der neunten Edition ging es um das Thema „Voice and Search“. Die Sprachsuche nimmt immer mehr zu. Daher haben die beiden Referenten des Abends auch genau über diese Verbindung aus Suche und Sprache gesprochen.
Creating a Voice User Interface for Search
In dem ersten Vortrag hat Andreas darüber berichtet, wie er und sein Team für Holidaycheck einen Alexa Skill entwickelt haben. Dieser läuft auf AWS Lambda und nutzt Holidaycheck Services. Er ist in Scala geschrieben, läuft auf Mesos/Marathon und nutzt den Elasticsearch Index. Die Idee war, Daten aus der Hotel Destinations-Suche und aus den Bewertungen von Holidaycheck zu nutzen, um damit Fragen von Nutzern zu Hotels und deren Eigenschaften beantworten zu können. So sollten z.B. Fragen wie „Wie ist das Bier im Holiday Inn in München?“ oder „Wo kann man in Berlin gut etwas Essen?“ von Alexa beantwortet werden können.
Problematisch war es dabei, dass der englische und der deutsche Wortschatz von Alexa auf realen Wörtern basiert, daher war es nicht so einfach, Hotelnamen verständlich zu machen. Außerdem gibt es verschiedene Wörter, die die gleiche Bedeutung haben (z.B. Moin, Hallo, Guten Tag, Servus). Eine weitere Herausforderung sind verschiedene Dialekte oder Akzente. Wie versteht Alexa bayerisches Deutsch im Vergleich zu Hochdeutsch? Versteht Alexa ein mit deutschem Akzent gesprochenes Englisch? Es stellte sich also heraus, dass es schwierig war, die richtige Bedeutung einer Suchanfrage bzw. eines Wortes zu verdeutlichen und man daher keine hundertprozentige Richtigkeit der Daten garantieren kann. Dadurch hat man unscharfe Eingabedaten für die Suche.
Was kann man verbessern, um bessere Daten zu erzielen? Das Sprach Modell wird von Amazon immer wieder adaptiert und weiterentwickelt, sodass es da nicht so viel Sinn machen würde, es zu verändern. Man könnte das Voice Interface verbessern indem man:
- so viele Beispiele/Daten wie möglich mitgibt
- formelle und Umgangssprache beachtet
- Dialekte abdeckt
- aktiven und passiven Satzbau einfließen lässt
- grammatikalisch richtige Sprache und natürlichem Sprachgebrauch einbezieht
Dabei sollte man sich auf die am meisten ausgeführten Suchen, die wichtigsten Produkte und das Mapping von Produkten zu der Suche fokussieren, um den Input für das Sprach Modell besser zu machen. Weiterhin kann man auch versuchen, die Suche an sich zu verbessern. Man kann versuchen, Rechtschreibfehler und Missverständnisse aufzulösen und dem Skill verständlich zu machen. Wie kann man es schaffen, passende Suchergebnisse zu finden? Die besten Resultate hätte man vermutlich, wenn man diesen Prozess manuell macht und die Daten somit perfekt verarbeitet. Dies frisst aber viel Zeit und skaliert nicht. Daher kann man mit der Levenshtein Distanz versuchen, die Eingabe schneller zu verarbeiten. Mit einem speziellen Plugin für Elasticsearch kann man zudem phonetische Algorithmen nutzen.
Leider hat das Projekt zu viel Zeit in Anspruch genommen und das Ergebnis war für Holidaysearch nicht so gut, sodass der Skill nicht an den Markt gegangen ist. Hotelnamen waren nur schwierig, Aktivitäten besser zu verarbeiten. Generelle Tipps zum Entwickeln von Alexa Skills sind:
- nicht vergessen, ein Alexa Stopp Befehl einzubauen, damit man Alexa im Redefluss unterbrechen kann
- beim Entwickeln auch mal mit einem echten Device sprechen, um es zu testen
- versuchen, Fantasie-Wörter zu vermeiden
- den Suchbereich eingrenzen (z.B. nur Hotels in München)
- dem Nutzer Beispiel geben und ihn zu warnen, wenn es zu viele Ergebnisse für seine Suchanfrage gibt
Suchmaschine für Gesprochenes in Videos und Podcasts
Bei dem zweiten Talk wurde die Webseite von Spaactor vorgestellt – eine Suchmaschine, deren Wörterbuch aktuell rund 150.000 Begriffe umfasst, mit der man in Videos und Podcasts gesprochene Worte finden kann. Man gibt einen Suchbegriff oder eine Suchphrase ein und erhält dann eine Auflistung mit allen Video- und Podcast-Quellen, in denen eben diese Phrase bzw. dieser Begriff vorkommen. Dabei kann man sich durch die Suchergebnisse klicken und springt dabei automatisch direkt zu der Stelle mit der Nennung des Begriffs minus 2 Sekunden. Diese Ergebnisse kann man dann auch direkt mit anderen teilen.
Die Vorteile von Spaactor gegenüber anderen Suchmaschinen sind, dass Gesprochenes zu Text umgewandelt wird, sodass man mehr Treffer findet als in anderen Suchergebnissen, die Gesprochenes nicht auswerten können. Weiterhin hat man eine Trefferseite, auf denen man alle Quellen auf einen Blick hat, ohne dass man zu anderen Webseiten weitergeleitet wird. Dadurch, dass der Content embedded ist, kann man ihn direkt auf der Trefferseite abspielen.
Wofür kann man Spaactor nutzen? Man kann damit:
- Recherche zu bestimmten Themen betreiben
- Zitate/Inhalte wiederfinden
- genaue Fundstellen mit anderen teilen
- Videos/Podcasts an der Trefferstelle starten
Wie funktioniert Spaactor, also wie wird Gesprochenes für die Suche verarbeitet?
- Sprachsignal kommt an
- es wird abgetastet und quantifiziert
- die Merkmalsvektoren werden extrahiert
- mit Hilfe des Wörterbuchs, akustischen Modellen und einem Sprachmodell wird es dekodiert
- das Ergebnis ist ein Transkript
Probleme bei der automatischen Spracherkennung sind:
- variierende Artikulation
- Verschleifungen an Wortgrenzen
- Eigenschaften des Sprechers
- Dialekte/Slang
- Hintergrundgeräusche/Musik
- Überlappung von Stimmen
- spontansprachliche Äußerungen/Versprecher
In Planung ist es, zunächst die nächste Finanzierungsrunde abzuschließen, um mehr Finanzen für die Weiterentwicklung des Systems zu haben. Es sollen noch mehr Features umgesetzt werden, z.B. ist ein Blacklisting von Quellen denkbar oder eine Anpassung des Rankings nach z.B. Aktualität. Die Suchmaschine soll noch besser vermarktet werden und irgendwann auch international expandieren.
Ich fand das Meetup sehr gelungen. Die Speaker haben über zwei sehr verschiedene Aspekte aus der Verbindung von Gesprochenem und der Suche berichtet und damit auch die bestehende Problematik beim Verständnis von Gesagtem verdeutlicht. Es zeigt sich immer mehr, dass die Suche und das Gesprochene miteinander verwachsen, doch Unternehmen müssen einiges dabei beachten, wenn sie auf diesen Zug aufspringen wollen, indem sie z.B. einen Alexa Skill programmieren.