Amazon Alexa - Sprachbasierte Audio-Interfaces Teil 2
Im ersten Teil der Reihe wurde die Interaktion mit Amazons Sprachschnittstelle Alexa kurz vorgestellt. In diesem Beleuchte ich kurz die Funktionen und den Aufbau des Übungshilfe-Skills sowie das Herangehen an die Erstellung einer Sprachschnittstelle. Die Anwendung ist im Rahmen meiner Bachelorthesis bei exensio in Zusammenarbeit mit einem Mukoviszidose-Patienten entstanden. Obwohl sich diese im pharmazeutischen Bereich ansiedelt, können die Konzepte entsprechend auf weitere Einsatzmöglichkeiten in der Industrie, z.B. zur Anleitung von Wartungsarbeiten, übertragen werden.
Vorgehen
Bei der Gestaltung von Sprachschnittstellen kann man sich grob am folgenden Vorgehen orientieren:
- Kernfunktionalität beschreiben und Mehrwert erkennen
- Beispiel-Dialoge für die Interaktion erstellen (Ton der Anwendung)
- Flussdiagramm der Interaktion erstellen
- Implementierung
- Tests
Dabei sollte schon beim ersten Punkt geprüft werden, ob Sprache für den geplanten Anwendungsfall die richtige Schnittstelle darstellt. Auch eine Kombination zwischen grafischem und akustischem Interface ist denkbar.
Funktionen
Das System soll den Patienten bei der Durchführung seiner täglichen Übungen unterstützen und motivieren. Dabei ist zu beachten, dass es sich hierbei um einen Prototypen handelt und kein marktreifes Produkt. Entsprechend ist er nur auf eine Testperson spezialisiert und muss vor der Benutzung durch mehrere Personen um ein Login / eine Nutzerverwaltung erweitert werden.
Es sind drei durch die Testperson definierte Übungen hinterlegt. Dabei handelt es sich um Inhalieren, Autogene Drainage und eine Dehnübung. Diese sollen täglich zu unterschiedlichen Zeitpunkten durchgeführt werden (vgl. Abb.1). Das System soll an ausstehende Übungen erinnern und durch diese leiten. Dabei hat der Nutzer die Möglichkeit, Pausen einzulegen und danach das Training fortzuführen.
Inhalieren
Die Übung wird mit einem Inhaliergerät durchgeführt. Amazon Alexa kommt erstaunlich gut mit diesen Störgeräuschen klar und erkennt trotz Atemmaske das Gesprochene. Der Patient begibt sich nacheinander in fünf verschiedene Körperstellungen, in denen bewusst geatmet wird. Die Umsetzung der Stellungen ist durch die Anleitung eines Physiotherapeuten bekannt und muss daher nicht durch das System gelehrt werden. Während jeder Position atmet der Patient tief ein, hält den Atem und atmet dann langsam wieder aus. Die Dauer wird durch die Sprachausgabe des Skills mitgeteilt. Inhalieren ist zwei mal täglich durchzuführen, einmal vormittags ab 8 Uhr und abends ab 18 Uhr.
Autogene Drainage
Bei der Autogenen Drainage handelt es sich um eine vereinfachte Variante des Inhalierens ohne Atemgerät. Sie dient dem Abhusten von Schleim im Atemtrakt. Es werden drei mal drei Durchgänge der Atemübung durchgeführt, wobei keine spezielle Körperstellung vorausgesetzt wird. Autogene Drainage steht ein mal täglich nachmittags ab 15 Uhr an.
Dehnübung
Während der Dehnübung werden insgesamt neun Stellungen durchlaufen, welche auf jeweils unterschiedliche Körperpartien ausgelegt sind. In jeder Position soll der Patient 30 Sekunden verweilen. Die Umsetzung der Stellungen ist durch die Anleitung eines Physiotherapeuten bekannt und muss daher nicht durch das System gelehrt werden. Die Dehnübung ist einmal täglich mittags ab 12 Uhr durchzuführen.
Beispielinteraktion
Dieses Beispiel zeigt, wie die Interaktion mit der Übungshilfe ablaufen soll. Die Kernfunktion ist das Abrufen und Durchführen der hinterlegten Übungen. Missverständnisse und Ausnahmefälle werden hier zunächst nicht beachtet. Der Ton des Dialogs entspricht stellvertretend dem der gesamten Interaktion. Er soll leicht fordernd, freundlich und motivierend wirken.
Links sind die Aussagen des Nutzers, rechts das Feedback des Alexa Skills.
Dialogs-Fluss
Analog zu diesem Beispiel wurden alle Dialoge mit dem System geplant. Eine gute Möglichkeit früh zu testen, ist das Durchspielen der Situationen mit einem Kollegen oder einer Testperson. Dabei können Lücken in der Interaktion aufgedeckt und alternative Formulierungen für die Sprachschnittstelle gefunden werden.
Die Konversationsschnipsel muss man nun zusammenführen. Abbildung 3 zeigt das Flussdiagramm für den Übungshilfe-Skill. Es bildet den gesamten Umfang des Audio-Interface ab, wobei Wortlaut und Variationen in der Aussprache stark vereinfacht sind. Alle Funktionen des Prototypen sind hier enthalten, sodass das Diagramm als Grundlage für die Implementierung diente.
Die im Flussdiagramm mit Sternchen gekennzeichneten Vorgänger bedeuten, dass die Funktion aus jeder Situation heraus erreichbar sein soll. Als Nachfolger bedeutet es, dass der Nutzer wieder an den Ausgangspunkt zurückkehrt und im Dialog fortfahren kann. Parameter, im Kontext der Alexa Skills auch Slots genannt, sind mit geschweiften Klammern angedeutet.
Implementierung
Die Implementierung läuft entsprechend dem im ersten Blogpost vorgestellten Verfahren ab. Die erstellten Dialoge werden in einzelne Absichten (Intents) zerlegt und im Amazon Developer Portal definiert. Grob kann man sagen, dass jede Reaktion der Nutzer ein Intent zur Folge hat. Zu jedem sollte eine möglichst große Variation an Äußerungen (utterances) hinterlegt werden, welche zusammen mit den Testpersonen erarbeitet wurden. Eine genaue Beschreibung würde den Umfang dieses Blogposts sprengen. Der letzte Teil der Reihe wird sich mit dem Aufsetzen des Skills mittels der Amazon Web Services befassen.
Fazit
Das Entwickeln von Sprachschnittstellen ist konzeptionell keine schwere Aufgabe. Am Besten funktioniert es im Dialog mit zukünftigen Nutzern. Man sollte aber darauf achten, den Anwendungsfall klar zu definieren und nicht zu breit zu fächern, denn die Komplexität und der damit Verbundene Implementierungsaufwand steigen sehr schnell an. Um die Nutzerführung zu verbessern bietet es sich an, Ausgaben des Skills mit einer Frage an den Anwender zu beenden, welche mögliche nächste Schritte andeutet.