Human-Computer Interaction

Evaluation von Software zur automatischen Spracherkennung im Hinblick auf dessen Eignung für multimodale Schnittstellen

This project is already completed.

Motivation

Multimodale Benutzerschnittstellen sind eine Alternative zu Windows, Icons, Menus, Pointer-basierten (WIMP) Schnittstellen, die vor allem für virtuelle Umgebungen (virtual environments) großes Potential besitzen (Latoschik, 2005). Typische Anwendungsgebiete wie virtuelle, augmentierte oder gemischte Realität (virtual, augmented, and mixed reality) sowie Computerspiele setzen oftmals Instruktions- oder Dialogszenarien um. Sprache und Gestik sind die wichtigsten Modalitäten für die bewusste Kommunikation beim Menschen und spielen deshalb in diesen Szenarien eine zentrale Rolle.

Damit aus sprach-gestische Äußerungen Befehle oder Intentionen des Benutzers abgeleitet werden können, müssen unter anderem auditive Signale von einem Spracherkenner vorverarbeitet werden. Dieser wandelt aufgenommene Signale in textuelle Repräsentationen der gesprochenen Wörter um. Zusätzliche Meta-Informationen wie Zeitstempel oder Konfidenzwerte (von Hypothesen) können ebenfalls vom Spracherkenner bereitgestellt werden. Die Fehlerrate der Erkennung, die Verfügbarkeit von Meta-Informationen und weitere Eigenschaften des Spracherkenners sind dabei ausschlaggebend für die Qualität der nachfolgender Verarbeitungsschritte (z.B. der multimodalen Fusion) und damit für die Benutzbarkeit der Schnittstelle.

Die Softwareplattform Simulator X ermöglicht die Umsetzung virtueller Umgebungen sowie multimodaler Schnittstellen (Latoschik und Tramberend, 2011; Latoschik und Fischbach, 2014). Aktuell wird die Microsoft-Speech-API zur Spracherkennung eingesetzt (Link et al., 2016; Barkschat, 2016; HCI Group Würzburg: „Lehrprojekte zum Thema Multimodale Interaktion“). Googles Spracherkennungs-Service auf Android Plattformen (Google, 2016) stellt hierzu eine vielversprechende Alternative dar.

Zielsetzung

Im Rahmen des Projektes soll Simulator X erweitert werden, so dass eine Verwendung Googles Spracherkennungs-Service möglich ist. Zusätzlich sollen beide Alternativen auf ihre prinzipielle Eignung für multimodale Fusion und ihre Qualität verglichen werden. Hierzu werden von unterschiedlichen Versuchspersonen vordefinierte deutsche und englische Sätze gesprochen und gespeichert. Anschließend wird der textuelle Inhalt der Audiodateien durch Spracherkennungssoftware ermittelt und ein Übereinstimmungmaß mit den vordefinierten Texten bestimmt.

Aufgabenstellung

  1. Implementierung einer Spracherkennungs-App mittels Googles Spracherkennungs-Service auf Android Plattformen (android.speech.RecognitionService)
  2. Anbindung der Spracherkennungs-App an Simulator X
  3. Implementierung eines automatisierten Benchmarktools für Spracherkennung
  4. Benchmark der Microsoft-Speech-API und Google Spracherkennungs-Service

Hypothesen

Konzept

Kommunikationsschicht des Spracherkenners

Die Spracherkennungs-App für Android verwendet den android.speech.RecognitionService. Der Service zeichnet das gesprochene Audiosignal auf und streamt es über HTTP zur Spracherkennung an Google-Server. Es sind zwei Ergebnistypen möglich. Der Erste (default) wird geliefert, nachdem der Benutzer die Spracheingabe beendet hat und der Satz vollständig analysiert wurde. Das Ergebnis wird als JSON mit Wortvorschlägen, einem Timestamp und teilweise mit einer Konfidenz geliefert. Der zweite Ergebnistyp wird mit der Funktion onPartialResults bereitgestellt, während der Benutzer spricht. Das Ergebnis im Json-Format enthält den Best-guess des zu erkennenden Wortes. Unabhängig vom Typ wird das Ergebnis über Websockets von der Android-Anwendung zur weiteren Verarbeitung an die Plattform Simulator X gesendet. Diese Verarbeitung kann entweder der Benchmark oder eine multimodale Fusion mit Hilfe des multimodal interaction processing toolkits - miPro (Latoschik und Fischbach, 2014) sein. Um den Benchmark zu automatisieren, können die Audiofiles der Versuchspersonen von der Plattform Simulator X, ebenfalls über Websockets, an die Android-Anwendung geschickt werden und die Spracherkennung für die Audiofiles ausgeführt werden. Die Ergebnisse werden ebenfalls an Simulator X gesendet. Ein ähnlicher Ansatz wird für die Spracherkennung mittels der Microsoft-Speech-API eingesetzt.

Kontinuerliche Spracherkennung

Der aktuelle Prototyp der Spracherkennungs-App für Android setzt vorraus, dass der Benutzer das Smartphone in der Hand hält und für jede Spracheingabe einen Record-Button drücken muss. Dies ist für multimodale Anwendungen nicht geeignet, da der Benutzer in seiner Bewegunsfreiheit eingechränkt ist und schwieriger gestikulieren kann. Aus diesem Grund wird an das Android Gerät ein hochwertiges Clip-On Richtmikrophon angeschlossen. Der Abstand zwischen Benutzer und dem Mikrophon kann so größer sein, als zu dem im Smartphone verbautem Mikrophon. Um auf das Drücken des Record-Buttons verzichten zu können gibt es zwei Lösungsansätze:

  1. Verwendung des Callbacks onPartialResults
  2. Neustarten des RecognizerIntents

Der erste Lösungsansatz erlaubt eine kontinuierliche Spracherkennung, wenn der Zeitraum den der SpeechRecognizer wartet bevor er das Ende einer Spracheingabe erkennt auf mehrere Stunden gesetzt wird. Dadurch wird für die Anwendung nie das Ende einer Spracheingabe erreicht, auch wenn innerhalb des Zeitraumes eine abgeschlossene Spracheingabe erfolgt. Zudem können Teilergebnisse abgefragt werden. Allerdings auf einen Confidence-Score verzichtet werden und es wird ausschließlich der Best-Guess als Ergebnis geliefert. Ein weiterer Nachteil ist, dass die Netzwerkbelastung mit der Dauer der Laufzeit steigt, da das von Google gelieferte Teilergebnis alle bisher erkannten Worte enhält. Der zu übertragende String wird folglich immer länger.

Der zweite Lösungsansatz ist, den RecognizerIntent neuzustarten, nachdem der SpeechRecognizer das Ende einer Spracheingabe erkannt hat. Dadurch wird die Spracheingabe erst ausgewertet, wenn die Spracheingabe als beendet erkannt wird. Das führt mindestens zu einer Latenz, die der Länge der vorherigen Spracheingabe enspricht. Des Weiteren nimmt der Neustart des Intents einige hundert Millisekunden in Anspruch und dieser Zeitraum ist von der Sprachanalyse ausgeschlossen. Eine Lösung hierfür ist, mehrere SpeechRecognizer und RecognizerIntents mit einem zeitlichen Versatz zu initialisieren. Anders als beim ersten Lösungsansatz werden bei dieser Methode teilweise Confidence-Werte geliefert.

Für multimodale Echtzeitsysteme ist unmittelbares Feedback für den Benutzer substanziell, um den aktuellen Systemstatus einschätzen zu können. Hier könnte sich die Latenz des default-Ergebnistypen negativ auswirken. Für die Verwendung in einem Sprach-Gesten Interaktionsszenario, sollten beide Ergebnistypen Verwendung finden, um die Latenz zu reduzieren und die Qualität der Spracherkennung zu steigern.

Sprach-Gesten-Interaktionsszenario

Der beschriebene Aufbau ermöglicht es, die Spracherkennungs-App für Android in multimodalen Schnittstellen zu verwenden, um so Spracheingabe zu realisieren. Ein mögliches Sprach-Gesten-Interaktionsszenario ist, dass Benutzer in einer virtuellen Realität Objekte erstellen und deren Eigenschaften, wie Position, Farbe und Größe manipulieren kann. Die Vorarbeit hierzu wurde in der Veranstaltung “Multimodal Interaction” im Wintersemester 2015/2016 implementiert (siehe Multimodal Interaction WS 2015/16 - Huber, Link, Thäns ). Die Implementierung des Szenarios erlaubt ein flexibles Austauschen des Spracherkenners, wodurch die Spracherkennungs-App für Android direkt einsetzbar ist.

Betreuer

M.Sc. Martin Fischbach martin.fischbach@uni-wuerzburg.de

Literatur

Marc Erich Latoschik, A User Interface Framework for Multimodal VR Interactions, In Proceedings of the ACM seventh International Conference on Multimodal Interfaces, ICMI 2005, pp. 76-83. ACM, 2005.

Marc Erich Latoschik, Martin Fischbach, Engineering Variance: Software Techniques for Scalable, Customizable, and Reusable Multimodal Processing, In Proceedings of the HCI International Conference 2014. Springer, 2014.

Sascha Link, Berit Barkschat, Chris Zimmerer, Martin Fischbach, Dennis Wiebusch, Jean-Luc Lugrin, Marc Erich Latoschik, An Intelligent Multimodal Mixed Reality Real-Time Strategy Game, In _Proceedings of the 23rd IEEE Virtual Reality (IEEE VR) conference__. IEEE, 2016.

Berit Barkschat, Design und Implementierung einer multimodalen Benutzerschnittstelle für ein MR-Brettspiel, Master Thesis, 2016.

HCI Group Würzburg, Lehrprojekte zum Thema Multimodale Interaktion, unter: https://www.youtube.com/user/hciwuerzburg/search?query=Multimodal+Interaction (abgerufen am 08.04.2016).

Google, Android Spreech Recognition, unter: http://developer.android.com/reference/android/speech/RecognitionService.html (abgerufen am 09.04.2016).

Contact Persons at the University Würzburg

Martin Fischbach (Primary Contact Person)
Mensch-Computer-Interaktion, Universität Würzburg
martin.fischbach@uni-wuerzburg.de

Legal Information