piwik-script

Intern
MOTIV - Digital Interaction Literacy

Wie funktionieren Sprachassistenten?

Immer mehr Menschen lassen sich in ihrem Alltag von Sprachassistenten unterstützen. Geräte wie Siri, Alexa oder der Google Assistant erleben gerade einen steigenden Beliebtheitsgrad. Ihre Anwendungsgebiete sind vielfältig, sie können Fragen zum Wetter beantworten, das Geschehen auf der Welt kommentieren, einen Witz erzählen oder Smart Home Geräte steuern. Doch wie funktionieren Sprachassistenten eigentlich? Und warum können Sprachassistenten auf unser Gesprochenes reagieren und verstehen, was wir sagen? Wir werfen einen Blick hinter die Kulissen eines Sprachassistenten.

Grundlegend verläuft die Verarbeitung von Sprachbefehlen in fünf Schritten: 1. Zuhören, 2. Aufwachen, 3. Verstehen, 4. Ausführen und 5. Sprechen. Im Folgenden wird jeder Schritt einzeln betrachtet und genauer erläutert. 
 

Schritt 1: Zuhören

Der erste Schritt ,,Zuhören‘‘ beginnt mit dem Erkennen von Stimmen aus der Umgebung über ein Mikrofon, welches standardgemäß in Smart Speakern verbaut ist. Die Mikrofone sind ständig aktiv und nehmen alle Audiosignale in Reichweite um sich herum wahr. Ist das nicht gewünscht, dann gibt es eine Taste, mit der das Mikrofon ausgeschaltet werden kann. Audiosignale allein reichen dem Smart Speaker nicht, deshalb ist der erste Schritt die Umwandlung des Audiosignals in ein digitales Signal. Störgeräusche werden herausgefiltert, um die Stimme der benutzenden Person zu isolieren und möglichst eindeutig zu verstehen.

Schritt 2: Aufwachen

Smart Speaker nehmen alle Audiosignale in ihrer Umgebung wahr, warten allerdings auf das sogenannte Aktivierungswort oder Wake-Word (z.B. „Okay-Google‘‘, „Alexa“). Erst wenn dieses Wort gefallen ist, wird das Gesagte aufgezeichnet und ins Internet gestreamt.

Die aufgenommenen Schallwellen werden auf der herstellereigenen Cloud gespeichert. Der Smart Speaker benötigt dafür eine Internetverbindung, da bis auf das Aktivierungswort keine Audiosignale lokal verarbeitet werden. Neben dem Gesprochenen landen auch Metadaten in der Cloud. Darunter fällt z.B. die Uhrzeit, IP-Adresse, ggf. auch der Standort. Die Übertragung endet mit der Antwort des Geräts oder acht Sekunden danach. 
 

Schritt 3: Verstehen

Um die gestellte Anfrage der Nutzenden zu verstehen, muss die gesprochene Sprache vom Sprachassistenten als erstes identifiziert und anschließend in maschinenlesbare Informationen umgewandelt werden. Unterschiedliche Abläufe im Bereich des Natural Language Processing (NLP) - also der Verarbeitung der natürlichen Sprache – sind hierfür notwendig. 

Unter dem Natural Language Processing wird ein Teilgebiet der Informatik verstanden, welches sich mit der sinnvollen Textverarbeitung und Textanalyse einer Maschine beschäftigt. Mit NLP bei Sprachassistenten wird das Gesagte erkannt sowie die kontextuelle Bedeutung erfasst. Zudem ermöglicht NLP, Schlüsse aus dem Gesprochenen zu ziehen woraufhin der Sprachassistent Antworten, Reaktionen oder Aktionen generiert, die für den Nutzenden verständlich sind. 

Spracherkennung (Automatic Speech Recognition – „Speech to Text“) – Was sagt der Nutzer?

Spracherkennung oder auch Automatic Speech Recognition (“Speech to Text”) dient dazu herauszufinden, was genau die Nutzenden sagen. Zuerst ist es wichtig zu wissen, dass aneinandergereihte Tonsequenzen der Bestandteil von gesprochener Sprache sind. Diese aneinandergereihten Tonsequenzen aus dem digitalen Audiosignal, welches bei den Sprachassistenten ankommt, werden zuerst in Frequenzen zerlegt und anschließend in einem Spektrogramm abgebildet. Unter einem Spektrogramm ist ein zeitlicher Verlauf in Form eines Diagramms zu verstehen, in dem Schalleigenschaften von Sprachelementen (Konsonanten, Vokale, etc.) erkennbar sind. Diese Schallwellen und Tonsignale werden über Machine Learning Modelle auf herstellereigenen Servern in Echtzeit aus gesprochener Sprache in lesbaren Text übersetzt. Auf Basis der erhaltenen Spracheingabe wird eine Wahrscheinlichkeit berechnet, warum die nutzende Person die Anfrage gestellt hat.  

Jedoch kommt hier das Hindernis auf, dass sich aufgezeichnete Audiofiles untereinander unterscheiden, obwohl eigentlich das gleiche Wort gemeint ist. Der Grund hierfür: Jeder Mensch spricht anders. Zudem gibt es Wörter, wie beispielsweise “Mahl” und “Mal”, die vom Klang her identisch sind, jedoch etwas ganz anderes bedeuten. 

Sprachverstehen (Natural Language Understanding) – Was meint der Nutzer?

Spracherkennung oder auch Natural Language Understanding dient dazu herauszufinden, was genau die Nutzenden meinen. Nach den Prozessen der Spracherkennung werden die von der nutzenden Person  gestellten Sprachbefehle in seine einzelnen semantischen und grammatikalischen Bausteine gegliedert. Dies geschieht durch Hinzuziehen eines Natural Language Understanding Systems (kurz: NLU-System). Durch die Zerlegung der Sprachbefehle werden Rückschlüsse über die Bedeutung der  gestellten Anfrage möglich. 

Wenn eine Verarbeitung erfolgreich war, wurde die Absicht der Nutzenden (= Intent) festgestellt, zudem auch die zur Absicht zugehörigen Parameter (= Entitäten).

Zum Beispiel: „Alexa, wie ist aktuell das Wetter in Würzburg?“

Bei einer erfolgreichen Verarbeitung wird bei dieser Anfrage erkannt, dass die nutzende Person herausfinden will, wie das Wetter ist (= Intent). Die zugehörigen Parameter stellen hier die Stadt (= „Würzburg“ als Entität) und der Zeitraum (= „aktuell“ als Entität) dar. 
 

Schritt 4: Ausführen

Für ein besseres Verständnis, wie eine Bearbeitung der Anfrage funktioniert, wird im Folgenden das eben aufgeführte Beispiel aufgegriffen: „Alexa, wie ist aktuell das Wetter in Würzburg?“.

Um die Anfrage zu bearbeiten, wird im ersten Schritt ein sogenannter Wetterskill vom Sprachassistenten aufgerufen. An diesen Wetterskill werden nun die bekannten Informationen “Wetter / aktuell / Würzburg” weitergegeben. Der Wetterskill kommuniziert im nächsten Schritt mit einem angeschlossenen Wetterdienst und erhält von diesem dann die gesuchten Informationen. Die Formulierung einer passenden Antwort läuft im Skill meist nach einer festen Vorgehensweise ab. 

Verschiedene Aspekte beeinflussen, wie gut eine Absicht (= Intent) identifiziert wurde und daraufhin eine Antwort erstellt wird. Hierzu zählen beispielsweise Trainingsdaten oder Unternehmensdaten. Damit Sprachassistenten in ihrer Spracherkennung in Zukunft verbessert werden können, dienen sprachliche Aufzeichnungen von Nutzenden als Trainingsdaten und als Datenbasis für das Machine Learning. 

Schritt 5: Sprechen

Spracherzeugung (Text to Speech)

Der fünfte und letzte Schritt dreht sich rund um die Spracherzeugung, was auch als „Text to Speech“ bezeichnet wird. Sobald der Sprachassistent alle nötigen Informationen zur Anfrage der Nutzenden gesammelt hat, antwortet dieser in einer für den Menschen verständlichen Sprache. Dies funktioniert durch sogenannte „Text to Speech Modelle“. Dabei werden die gesammelten Informationen zu den Anfragen der Nutzenden, von textbasierten computergenerierten Antworten in für den Menschen verständliche Sprache umgewandelt und weitergegeben. 

Doch wie genau funktioniert "Text to Speech" eigentlich? Tonsequenzen oder ganze Wörter werden aneinandergereiht und anschließend in ein digitales Sprachsignal umgewandelt. Das generierte digitale Sprachsignal wird nun von herstellereigenen Servern an das Gerät und an die Lausprecher des Geräts gesendet. Hierdurch wird das digitale Sprachsignal in ein hörbares Signal verwandelt. Die Folge: Die Nutzenden hören die Antwort des Sprachassistenten auf ihre gestellten Anfragen. 

In Bezug auf das oben genannte Beispiel, ist eine mögliche Antwort: „In Würzburg scheint derzeit die Sonne bei 20 Grad“. 

Zusammenfassung

Kurze Zusammenfassung darüber, wie Sprachassistenten die menschliche Sprache verstehen, diese verarbeiten und darauf reagieren: 

  • Sprachassistenten lauschen den Umgebungsgeräuschen und Warten auf das Aktivierungswort/Wake-Word (z. B. “Alexa” oder “Hey Google”) 
  • Das nach dem Aktivierungswort Gesagte wird an die Cloud gestreamt und damit zur eigentlichen Software von Sprachassistenten übertragen 
  • Das gestreamte Audiosignal wird in Text übersetzt, erkannt und verstanden (Speech to Text; kurz SST) und anschließend in Sprachebefehle umgewandelt (Natural Language Understanding; kurz NLU) 
  • Die gestellte Anfrage wird entweder durch den Sprachassistenten selbst oder durch eine externe Informationsquelle bearbeitet 
  • Eine Antwort auf die gestellte Anfrage wird erzeugt (Text to Speech; kurz TTS) und ein Text, der die Antwort enthält, wird durch den Sprachassistenten an die nutzende Person zurückgegeben

Im Bereich der Spracherkennungstechnologien gibt es aufgrund unterschiedlicher Faktoren immer noch hohe Fehlerraten. Gerade unsere sprachliche Vielfalt oder Soziolekte zeigen immer wieder, dass noch Verbesserungs- und Entwicklungsbedarf besteht. Jedoch kann schon jetzt gesagt werden, dass in der Zukunft große Fortschritte und Entwicklungen zu erwarten sind, da sich die Technologie rapide weiterentwickelt. Vor allem bessere Algorithmen der Audioverarbeitung oder neue Erkenntnisse im Machine Learning kündigen die Fortschritte und die damit einhergehenden Verbesserungen im Bereich der Spracherkennungstechnologien an.