Sprachassistenten: Hype oder echte Alternative?

An technische Grenzen stoßen

An technische Grenzen stoßen

Sprachassistenten: Hype oder echte Alternative?

An technische Grenzen stoßen


Sprachassistenten erfreuen sich einer immer größeren Beliebtheit. Fast jeder hat schon davon gehört oder sogar bereits einen Sprachassistenten benutzt. Doch was können die neuen Alltagshelfer, wo gibt es noch Probleme und wie kann man selbst Sprachassistenten programmieren?

Alexa von Amazon, Siri von Apple, Cortana von Microsoft oder Google Assistant sind in aller Munde. Diese Assistenten sind künstliche Intelligenzen, die versuchen, die menschliche Sprache zu erkennen, zu deuten und zu verarbeiten, um eine sinnvolle Antwort zu geben. Wie gut das funktioniert, ist noch sehr unterschiedlich. Teilweise sind diese Assistenten schon so intelligent, dass man das Gefühl hat, man kommuniziert wie mit einem Menschen. In vielen Fällen verstehen die künstlichen Assistenten die gesprochenen Sätze jedoch noch nicht richtig oder verarbeiten sie falsch, weil Informationen noch nicht implementiert wurden.

Vergleich bekannter Sprachassistenten

Sprachassistenten können ganz unterschiedlich aussehen und abrufbar sein. Das hängt von der gewählten Hard- und Software ab. So ist weder der Funktionsumfang bei jedem Assistenten gleich noch reagieren alle gleichermaßen zuverlässig.

frommelt_sprachassistent_1.tif_fmt1.jpgAbb. 1: Smartlautsprecher, v. l. n. r.: Google Home, Harman Kardon Invoke, Amazon Echo, Harman Kardon Invoke, Amazon Echo Dot, Apple HomePod [1]

Vom Aussehen erinnern alle Sprachassistenten (Abb. 1) an eine Bluetoothbox. Aufgrund der darin verbauten Technik sind sie jedoch etwas schwerer und benötigen eine externe Stromversorgung. Angeführt wird das Feld von Amazons Sprachassistent Alexa, der über einen Amazon Echo Dot, ein Amazon Echo oder einen Sonos Speaker angesprochen wird. Dieser wird zum Beispiel im eigenen Wohnzimmer platziert und kommuniziert über eine WLAN-Verbindung mit dem Internet und den Amazon-Servern.

Die Bedienung erfolgt, wie erwartet, mit der eigenen Stimme, die sagt, was gewünscht ist und welcher Skill geöffnet werden soll. Ein Skill ist eine Funktion von Alexa, die ähnlich einer App bei einem Smartphone aktiviert werden kann und dann zur Nutzung bereitsteht. Alexa ist fähig, Smarthomegeräte wie Lampen, Thermostate und Ähnliches zu steuern. Amazon belohnt Entwickler von Skills mit verschiedenen Geschenken. Im Moment gibt es für jeden erfolgreich veröffentlichten Skill einen Pullover im Alexa-Design. Wenn viele „unique Users“ einen Skill nutzen, gibt es noch weitere Goodies dazu, wie beispielsweise Amazon Echo. Für richtig erfolgreiche Skills mit einer hohen Nutzeranzahl zahlt Amazon sogar Geld aus. Deshalb ist der Skill-Markt im Moment regelrecht überrannt mit neuen Skills, die mal mehr und mal weniger nützlich sind.

Apples Sprachassistent Siri ist auf diversen Geräten wie iPhone, iPod Touch, iPad und Apple TV verfügbar. Ursprünglich wurde Siri als eigenes Unternehmen gegründet und ging aus dem Projekt „CALO“ des amerikanischen Militärs hervor, das die „Defense Advanced Research Projects Agency“ (DARPA) ausgeschrieben hatte [2]. 2010 hat Apple Siri gekauft, und mit dem iPhone 4S wurde Siri das Gesprächsthema. Mittlerweile ist Siri mit dem Betriebssystem macOS Sierra sogar auf dem persönlichen Computer bereit, Sprachbefehle von technikbegeisterten Nutzern entgegenzunehmen und zu beantworten. So können Informationen ausgegeben, Nachrichten verschickt oder das Smarthome gesteuert werden. Dazu brachte Apple Ende 2017 den Apple HomePod auf den Markt. Einen besonderen Nutzen bietet Siri sehbehinderten Menschen, die durch die Barrierefreiheiteinstellung „VoiceOver“ eine Möglichkeit zur erleichterten Bedienung erhalten.

Googles Antwort auf Siri ist Google Assistant. Dieser lässt sich auf neueren Android-Smartphones sowie auf Lautsprechern und Smartwatches aufrufen und steht seit letztem Jahr auch in deutscher Sprache zur Verfügung. Google Assistant lässt sich zudem über die Plattform Dialogflow (vorher API.ai) in andere Produkte oder Dienste integrieren. Seit Mitte 2017 ist in Deutschland Google Home erhältlich, ein Smartlautsprecher, mit dem sich ein Smarthome steuern lässt.

Microsoft antwortete 2014 mit seinem Sprachassistenten Cortana. Angelehnt an die Videospielserie Halo, in der Cortana als künstliche Intelligenz den Spieler unterstützt, soll sie auch Windows-Nutzern auf dem Computer, dem Smartphone oder zu Hause auf Harman Kardon Invoke helfen. Auf iOS und Android kann Cortana mit Microsoft-Apps gestartet werden. Cortanas Leistungsumfang ist jedoch nicht mit der Konkurrenz vergleichbar. Auch Smarthomegeräte sollen bald ansteuerbar sein [3]. Zudem hat Microsoft eine Kooperation mit Amazon bekanntgegeben, wodurch Cortana Alexa Skills aufrufen kann und umgekehrt. Samsung möchte ebenfalls in den Markt einsteigen und hat mit „Bixby“ einen Sprachassistenten für das Samsung S8 und S8+ kreiert [4]. Seit 2017 kann der Nachfolger von S Voice genutzt werden, jedoch sind ihm seine Konkurrenten noch weit voraus.

Wo kann man Sprachassistenten einsetzen?

Leider können Sprachassistenten noch keine Emotionen verstehen, doch die Technik hierfür schreitet immer weiter voran. Im Moment ist es jedoch möglich, Informationen abzufragen und auszugeben. So sind naheliegende Einsatzgebiete Call- und Supportcenter, aber auch Services wie Essensbestellungen oder Geschäftsabwicklungen. Was alles bereits möglich ist, soll eine kleine Auswahl aus dem Amazon Alexa Skills Store zeigen. Einer der am besten und am meisten bewerteten Skills ist „Abfallkalender“. Dieser gibt dem Benutzer einen Überblick, wann welche Tonne auf die Straße zu stellen ist. Dafür muss der Nutzer den Abfallkalender zuvor online konfigurieren. Danach kann er zum Beispiel fragen, wann der Biomüll abgeholt wird, und Alexa benachrichtigt ihn einfach über die Alexa-App. Der Skill ist technisch sehr einfach, doch trotzdem sehr nützlich. Ebenfalls beliebt sind Skills, die verschiedene Musik oder Geräusche je nach Wunsch des Nutzers spielen. So kann der Skill „Einschlafgeräusche“ helfen, abzuschalten. Ebenso können Skills Radiosender spielen oder mit lustigen Sprüchen von Prominenten die Stimmung heben. In diese Kategorie fallen auch Skills wie die neuesten Nachrichten, z. B. die der Tagesschau oder die neueste Musik, die sich dank des Spotify Skills abspielen lässt.

Im Bereich Smarthome gibt es viele Angebote verschiedener Hersteller. Am bekanntesten sind die Philips-Hue-Leuchtmittel, die sich nicht nur an- und ausschalten lassen, sondern auch in unterschiedlichen Farben Licht geben können. Hierfür gibt es verschiedene Skills, die meist auch das tun, was der Nutzer möchte. Allerdings muss er dafür vorab alles richtig einrichten, das heißt, die Lampen mit einer Bridge koppeln und mit dem gleichen WLAN wie das Amazon-Echo-Gerät verbinden. Interessant ist der Einsatz von Sprachassistenten für sehbehinderte Menschen. Diese können Alltagsaufgaben leichter bewältigen, beispielsweise Essen bestellen oder Einkäufe erledigen. Im Gegensatz zu Bildschirmanwendungen können sie die Funktionen genauso nutzen wie nicht beeinträchtigte Personen. Rollstuhlfahrer können so zum Beispiel mittels Spracheingabe Türen öffnen oder sich den Weg zum Lichtschalter sparen. Schade ist, dass der finanzielle Anreiz fehlt, um für beeinträchtigte Personen passende Sprachassistenten gezielt zu entwickeln [5].

Grenzen und Probleme

Wie zuvor beschrieben, bieten Sprachassistenten bereits viele Möglichkeiten, die den Alltag erleichtern, haben aber auch nach wie vor teilweise Schwierigkeiten, Anfragen zu verstehen. Alle Sprachassistenten funktionieren noch nicht fehlerfrei und können nicht jedes Wort so verstehen, wie der Nutzer es erwartet. So kann es passieren, dass der Nutzer statt eines normalen deutschen Satzes einzelne Wörter staccato sprechen muss, damit der Sprachassistent erkennt, was gewünscht wird. Im Ernstfall könnte das zu Problemen führen. Man stelle sich nur vor, ein Fahrer versucht im Auto bei 160 km/h dem Sprachassistenten zu vermitteln, dass er den Scheibenwischer anschalten soll, was der Assistent bei dieser Geschwindigkeit, starkem Regen und Umgebungslärm jedoch nicht versteht. Ein weiteres Problem liegt darin, dass sich Nutzer unterschiedlich ausdrücken. Dorothea Kolossa vom Institut für Kommunikationsakustik der Ruhr-Universität Bochum erklärt dazu: „Zum einen wird dasselbe Wort nie zweimal gleich ausgesprochen und zum anderen ändert sich dabei auch die Geschwindigkeit. Die Muster, die der Computer interpretieren muss, sehen deshalb nie genau gleich aus“ [6]. Das kann besonders bei starken Dialekten oder Akzenten zum Problem werden, was Nutzer frustriert, wenn das System sie missversteht oder komplett den Dienst verweigert.

Inzwischen versuchen Forscher, durch Technologien wie maschinelles Lernen und künstliche neuronale Netze das menschliche Gehirn nachzuahmen. Das hat die Sprachanalyse bereits deutlich verbessert. Auch stehen mit der Zeit immer mehr Daten zur Verfügung, aus denen die künstlichen neuronalen Netze lernen können, wodurch sich die User Experience bei Nutzung der Sprachassistenten drastisch verbessert hat. Doch die Erkennungsleistung ist immer noch nicht mit der eines Menschen vergleichbar. Auch das Sprachmedium allein kann zum Problem werden. Da manche Eingaben korrekt geschrieben sein müssen, zum Beispiel der Nachname in Formularen, kommen Sprachassistenten hier schnell an ihre Grenzen. Bei Siri, Cortana und Google Assistant ist eine Eingabe mit Tastatur bzw. Touchscreen möglich. Bei Alexa findet die Eingabe über eine App/Web-App statt.

Der Datenschutz ist auch bei Sprachassistenten nicht zu vernachlässigen. Verbraucherschützer warnen beim Betrieb eines Sprachassistenten, insbesondere bei Alexa, vor großen Datenschutzrisiken. Da Alexa ständig auf ihr Aktivierungswort wartet, lauscht der Sprachassistent die ganze Zeit, und alle Sprachbefehle, die nach dem Aktivierungswort gesprochen werden, werden auf Amazon-Servern gespeichert und verarbeitet. Amazon speichert Einkaufslisten, Kalendereinträge und Musikwünsche, einige Fragen zur Weitergabe der Daten an Dritte sind unklar formuliert. Amazon rechtfertigt sich damit, dass die Datenerhebung nur zur Verbesserung von Alexa nötig sei. Entwarnung kommt durch die Serverstandorte. So werden die Daten von deutschen Benutzern auf Servern in EU-Ländern gespeichert, weshalb strengere europäische Gesetze gelten. In manchen Fällen kam es vor, dass Alexa aufgrund von Hintergrundgeräuschen, wie die eines Fernsehers, Waren bestellt hat. Das lässt sich unterbinden, indem man Einkäufe über den Sprachassistenten sperrt oder mit einem Zahlencode sichert. Das Mikrofon von Amazon Echo lässt sich manuell durch einen Knopf an der Oberseite des Geräts ausschalten, was ein rot leuchtender Ring anzeigt.

Weitere Risiken sind Hacker-Angriffe. Mögliche Angriffe auf die Privatsphäre, Datenspionage oder permanente Überwachung verringern die Begeisterung für Sprachsteuerungen. Technik- und Onlinesicherheitsexperten bewerten besonders jene Daten kritisch, die Amazon selbst auswertet und die in Alexa Skills verschiedener Hersteller benutzt werden. Empfehlenswert ist es deshalb, diese Skills zu prüfen und sicherzustellen, dass eine Datenschutzerklärung des Anbieters vorliegt. Ein kurzer Test zeigte, dass alle Daten nur verschlüsselt übertragen werden und selbst mit den dafür nötigen Kenntnissen und Zertifikaten keine Daten ausgelesen werden können. In einem weiteren Test wurde ein älteres Echo-Modell umgebaut und manipuliert. Das ermöglichte es zwar, den Sprachassistenten als Überwachungsapparat zu benutzen, doch sind alle neueren Geräte dagegen geschützt, und der Hacker müsste auch erst direkt vor Ort sein, um die Umbaumaßnahmen durchzuführen [7].

Entwicklung eines Skills

Doch wie kann man selbst einen Sprachassistenten entwickeln? Das ist gar nicht so schwer und soll anhand der Voraussetzungen für einen Amazon Alexa Skill gezeigt werden. Da es Amazon egal ist, in welcher Programmiersprache entwickelt wird, kann das Framework relativ frei gewählt werden. Die Amazon-Server empfangen und senden nur JSON Files in einem bestimmten Format (Abb. 2).

frommelt_sprachassistent_2.tif_fmt1.jpgAbb. 2: Empfangene und gesendete JSON Files

Einige Frameworks werden von Amazon empfohlen, in diesem Beispiel wird das Framework Flask-Ask in der Sprache Python verwendet. Weiter benötigt man eine sichere HTTPS-Verbindung. Wer seinen Skill mithilfe von AWS (Amazon Web Services) hostet, hat dabei kein Problem, ansonsten wird ein SSL-Zertifikat benötigt. Während der Entwicklung kann dazu das Programm ngrok benutzt werden (Abb. 3), das Zugriff aus dem Internet auf den eigenen Rechner ermöglicht und dabei eine sichere Verbindung aufbaut.

frommelt_sprachassistent_3.tif_fmt1.jpgAbb. 3: ngrok während der Laufzeit

Danach muss im Browser mit dem Alexa Skills Kit (ASK) von Amazon das Dialogmodell für den Skill definiert werden (Abb. 4 zeigt die Maske nach dem Einloggen).

frommelt_sprachassistent_4.tif_fmt1.jpgAbb. 4: Alexa Skills Kit [8]

Nun kann ein einfacher Skill programmiert werden, der auf eine Anfrage (Intent) eine Antwort gibt. Um komplexere Anfragen zu bearbeiten, werden sogenannte Slots (Abb. 5) benutzt. Slots sind Platzhalter für Informationen in einem Intent. Ein Slot benötigt einen fest definierten Slot Type, der ihn einer Datenmenge zuordnet, wie z. B. Ort oder Datum. Amazon stellt dafür einige vordefinierte Slot Types zur Verfügung wie AMAZON.NUMBER oder AMAZON.DE_CITY. Der Nutzer kann diese Informationen bereits in seiner Anfrage füllen:

Nutzer: „Ich möchte eine Reise nach Berlin am 01.06.2018 buchen.“ Sollte der Nutzer die benötigten Slots nicht oder nur teilweise selbst füllen, werden sie anschließend abgefragt: Nutzer: „Ich möchte eine Reise nach Berlin buchen.“ Alexa: „Wann möchtest du deine Reise antreten?“ Nutzer: „Am 01.06.2018.“

frommelt_sprachassistent_5.tif_fmt1.jpgAbb. 5: Alexa Skills Kit – Slot Types [9]

Bei Slots, die eine Ja/Nein-Eingabe fordern, z. B. erste Klasse, kann es zu Problemen kommen. Amazon hat einen vordefinierten YES_NO-Intent, dessen Priorität über der vom Entwickler definierten Slots liegt. Das führt dazu, dass der Skill nach einer Ja/Nein-Antwort des Nutzers aus dem Intent springt und in den YES_NO-Intent übergeht. Oder schlimmer: Alexa beendet den Skill und gibt die Antwort eines anderen Skills aus!

Um das zu vermeiden, empfiehlt es sich, einen eigenen JA_NEIN-Intent zu definieren. Dazu muss dieser anhand eines vorher festgelegten session.attribute erkennen, auf welche Frage der Nutzer geantwortet hat. So kann der JA_NEIN-Intent die Antwort zuordnen und den gefragten Wert im Backend füllen. Der Skill lässt sich bequem, auch ohne eigenes Amazon Echo, mit dem Testing-Tool per Text- oder Spracheingabe testen.

Voice Design

Um dem Nutzer eines Sprachassistenten ein möglichst angenehmes Erlebnis zu ermöglichen, sollten die Herangehensweisen des Voice Designs beachtet werden. Bei einer herkömmlichen Bildschirmanwendung kann der Entwickler durch Buttons und Eingabefelder bestimmen, welche Daten der Nutzer eingeben kann und welche Optionen die Anwendung bietet. Bei Skills ist das nicht ganz so einfach. Amazon gibt hierzu bewährte Methoden und Best Practices unter dem Namen Voice Design [10] heraus. Wir haben daraus einige wichtige Punkte entnommen und zusammen mit unseren eigenen Erfahrungen zusammengefasst:

  • Aufzählungen: Um den Anwender nicht zu überfordern, sollen Aufzählungen nicht mehr als fünf Elemente enthalten. Sobald mehr als fünf Punkte relevant sind, kann der Sprachassistent fragen, ob der Nutzer weitere Elemente hören möchte. Zusätzlich kann die gesamte Liste in der Alexa-Begleiter-App dargestellt werden.

  • Einheitliches Sprachbild: Dialoge sollen sich einheitlich anhören und natürlich klingen. Ausgaben müssen getestet werden, um zu erkennen, ob die Umwandlung von Text zu Sprache einwandfrei funktioniert. Außerdem ist Fachsprache tabu. Sollte juristische Sprache notwendig sein, ist eine Darstellung in der App am besten. Unübliche Abkürzungen sollten ausgeschrieben werden.

  • Kurze Antworten: Da die Inhalte nicht überflogen werden können, soll die Frage bzw. Eingabeaufforderung möglichst kurz und eindeutig sein. Gibt es mehrere Antwortmöglichkeiten, sollten nicht mehr als drei Optionen vorgegeben werden.

  • Nur notwendige Fragen: Um unnötige Fragen zu vermeiden, sollen möglichst Vermutungen und Schlussfolgerungen angestellt werden.

  • Bestätigungen: Dialoge mit vielen Bestätigungen sollen vermieden werden. Nur Aktionen mit wesentlichen Folgen sollten bestätigt werden, wie z. B. Aktionen, die andere Personen betreffen oder jene mit Geldbewegungen.

  • Wenig externe Medien benutzen: Alexa sollte ohne externe Medien benutzbar sein, sonst geht der Sinn eines Sprachassistenten verloren. Wenn die Alexa-App genutzt wird, darf das nicht für die Bedienung des Skills erforderlich sein.

  • Eindeutige Antwortmöglichkeiten: Wenn man eine Antwort möchte, muss man dies dem Nutzer auch in einer direkten Frage mitteilen. Der Nutzer muss nach der Frage genau wissen, welche Antworten möglich sind.

  • Der Nutzer muss geführt werden: Beim Öffnen eines Skills sollte der Nutzer einige Informationen bekommen: den Namen des Skills, eine Aufzählung der Funktionen und eine Anleitung, wie er nach Hilfe fragen kann. Man sollte dem Nutzer maximal drei Funktionen nennen und in der Hilfe genauer und mit Beispielen erklären, wie er sie nutzen kann. Der Nutzer muss den Skill an jedem Punkt beenden können.

Sprachausgaben können mithilfe von SSML (Speech Synthesis Markup Language) optimiert werden. Damit lassen sich Tonhöhe, Lautstärke und Geschwindigkeit anpassen, und Amazon bietet etliche sog. Speechcons: Begriffe und Redewendungen, die natürlicher und emotionaler ausgesprochen werden.

@ask.intent("urlaubIntent", mapping={"destination": "Reiseziel"}, convert={"destination": string})
def vacation(destination):
  "returns a recommendation for the next trip"
  answer = None
  If destination is None:
    answer = elicit_slot("Reiseziel", "Cool. Wo geht die Reise denn hin? ")
  else: 
    answer = question('<speak><say-as interpreter="interjection">oh la la ' \
      '</say-as>. In ' +  destination + ' war ich auch schon mal.' \
        'Du könntest eine Reisekrankenversicherung gebrauchen.' \
        'Soll ich dich dazu informieren? </speak>'
frommelt_sprachassistent_6.tif_fmt1.jpgAbb. 6: Codebeispiel „urlaubIntent“

In Abbildung 6 sehen Sie noch ein kleines Codebeispiel aus unserem Skill: Wir fangen mit einem Decorator von Flask-Ask den Intent urlaubIntent auf und ordnen den Slot „Reiseziel“ dem String destination zu. In der Methode darunter prüfen wir, ob in diesem String etwas steht. Falls nicht, fragen wir den Nutzer nach seinem Reiseziel, da er das noch nicht im Intent genannt hat.

Seine Antwort wird mit derselben Methode aufgefangen und gibt ihm nun eine Empfehlung. Diese ist mit SSML versehen und nutzt eine Interjektion (interjection), um den vorgesprochenen Ausdruck „oh la la“ auszugeben. Nach den Ansätzen des Voice Designs fragen wir ihn daraufhin, ob er sich weiter informieren möchte, um den Dialog aufrechtzuerhalten.

Fazit: Hype oder echte Alternative?

Noch sind Sprachassistenten eher Spielerei, doch bieten sie viel Potenzial für die Zukunft. Zwar gibt es im Moment noch technische Schwächen, und ein intelligentes Gespräch ist noch nicht wirklich möglich, doch die Ansätze in Richtung künstliche Intelligenz sind gegeben und werden weiter erforscht. Eines haben alle Sprachassistenten gemeinsam: Sie sind noch weit davon entfernt, unersetzbar zu sein.

dzierzon_christopher_sw.tif_fmt1.jpgChristopher Dzierzon studiert Wirtschaftsinformatik an der Hochschule München und arbeitet als Werkstudent bei der adesso AG. Sein Tätigkeitsschwerpunkt umfasst die Entwicklung von Alexa Skills. Er beschäftigt sich zudem mit Sprachassistenten und ihren Anwendungsmöglichkeiten.

Mail

sorna_daniel_sw.tif_fmt1.jpgDaniel Sorna studiert Wirtschaftsinformatik an der Fachhochschule Rosenheim und arbeitet als Werkstudent im Bereich IT-Consulting Versicherungen bei der adesso AG. Mit seinem Team hat er bereits einen automatisierten, intelligenten Versicherungsberater in Form eines Sprachassistenten entwickelt.

Mail

frommelt_alexander_sw.tif_fmt1.jpgAlexander Frommelt verantwortet als Competence-Center-Leiter den Bereich IT-Consulting Versicherungen bei der adesso AG. Er beschäftigt sich bereits seit mehr als fünfzehn Jahren mit Software- und Systemarchitekturen. Eines seiner aktuellen Interessensgebiete sind Sprachassistenten und ihre Einsatzmöglichkeiten.

Mail
Alexander Frommelt

Alexander Frommelt verantwortet als Competence-Center-Leiter den Bereich IT Consulting Versicherungen bei der adesso AG. Er beschäftigt sich bereits seit mehr als 15 Jahren mit Software- und Systemarchitekturen.

Daniel Sorna

Daniel Sorna studiert Wirtschaftsinformatik an der Fachhochschule Rosenheim und arbeitet als Werkstudent im Bereich IT-Consulting Versicherungen bei der adesso AG. Mit seinem Team hat er bereits einen automatisierten, intelligenten Versicherungsberater in Form eines Sprachassistenten entwickelt.

Christopher Dzierzon

Christopher Dzierzon studiert Wirtschaftsinformatik an der Hochschule München und arbeitet als Werkstudent bei der adesso AG. Sein Tätigkeitsschwerpunkt umfasst die Entwicklung von Alexa Skills. Er beschäftigt sich zudem mit Sprachassistenten und ihren Anwendungsmöglichkeiten.


Weitere Artikel zu diesem Thema