Zu den wohl bekanntesten Sprachassistenten zählen Alexa von Amazon, Google Assistant von Google und Siri von Apple.
Während die Einbindung eigener Funktionalitäten in einen bereits bestehenden Sprachassistenten bei Alexa als “Skill” bezeichnet werden, betitelt Google Assistant diese als “Action”. Die Verknüpfung von Anwendungen bei Apples Siri geschieht hingegen über die Erstellung einer “Intents App Extension” und die Abwicklung der Interaktionen mittels SiriKit. Allgemein werden solche Drittanbieterfunktionalitäten jedoch als Voice Apps bezeichnet.
Bevor Sprachassistenten die ihnen aufgetragene Arbeit erledigen können, müssen sie wissen, dass jemand speziell mit ihnen spricht. Genauso wie beim Menschen, möchten sie dabei (beispielsweise mit ihrem Namen) oder aber auch mit einer bestimmten Phrase angesprochen werden. Das Wort oder die Phrase, die den Digitalen Assistenten dazu bringt aktiv zuzuhören, wird dabei als Wake Word (auch als Aktivierungswort, Aufwachbefehl, Signalwort, o.ä.) bezeichnet.
Damit ein Sprachassistent differenzieren kann, ob er selbst für die Verarbeitung der Anfrage zuständig ist, oder ob eine Voice App (Drittanbieteranwendung) angesprochen werden soll, wird mit bestimmten Signalworten gearbeitet. Beim Sprachassistent Alexa geschieht dies durch die Einleitung “Alexa, öffne [Name des Skills]”. Lässt der Nutzer den Zusatz “öffne/starte [Name des Skills]”, weg, ist der Amazon-eigene Service für die Verarbeitung der Anfrage zuständig. Also z.B. beim Befehl “Alexa, stelle einen Timer auf 5 Minuten” würde keine Voice App (Drittanbieteranwendung) angesprochen werden.
Damit Google Assistant eine “Action” erkennt, muss diese bei einer bestimmten Kategorie als integrierte Absicht (built-in intent) hinterlegt sein. Damit Siri bestimmte Aktionen erfolgreich ausführen kann, müssen die jeweiligen Anfragen des Nutzers den Erwartungswerten des Assistenten entsprechen. Für die Umwandlung dieser Benutzeranfragen hin zu dem Format, welches von Siri benötigt wird, ist SiriKit zuständig.
Um ein passendes Sprachmodell für die jeweilige Voice App erstellen zu können, ist es wichtig, die Anatomie eines Sprachbefehls zu verstehen. Der Fokus sollte dabei immer auf dem Ziel der sprachlichen Interaktion liegen, also: “Was möchte der Nutzer mit seinem Befehl erreichen?”. Grundsätzlich kann gesagt werden, dass ein Sprachbefehl immer aus Absicht, Formulierung und Entität besteht.
Absicht (Intent):
Unter einem Intent wird eine Aktion oder Aufgabe verstanden, welche ein Sprachassistent für den jeweiligen Benutzer:in erfüllt. Ein solcher Intent kann in Voll- und Teilabsicht untergliedert werden. Bei einer Vollabsicht hat der Nutzende bereits alle benötigten Informationen geliefert um die von ihm erwartete Aktion durchzuführen (z.B. “Hey Digitaler Assistent, spiel klassische Musik”).
Äußert der Nutzende eine Teilabsicht, sind Rückfragen an diesen notwendig, um eine sinnvolle Aktion ausführen zu können. Sagt der Nutzende z.B. “Hey Digitaler Assistent, buche mir einen Flug”, fehlen hier genauere Informationen wie etwa Start- und Zielflughafen sowie das Datum (ggf. auch Uhrzeit). Diese fehlenden Angaben sollten dann durch den Digitalen Assistenten über sogenannte “Reprompts” erfragt werden.
Formulierung (Utterance):
In der (deutschen) Sprache ist es möglich einen Sprachbefehl auf unterschiedlichste Weise zu formulieren, und dennoch die gleiche Absicht zu verfolgen. Ein solcher Befehl muss dabei nicht zwangsweise eine Anweisung sein. Er kann auch als Frage formuliert werden. Um einen Timer zu stellen, kann der Nutzende also etwa sagen:
“Timer auf 5 Minuten”
”Alarmiere mich in 5 Minuten”
”Kannst du mich in 5 Minuten erinnern?”
All diese Formulierungen verfolgen das gleiche Ziel: Nach Ablauf einer terminierten Zeitspanne soll ein Alarm ausgelöst werden. Es gilt also, die verschiedenen Varianten der Formulierungen zu erkennen und basierend darauf entsprechende Aktionen einzuleiten. Beim Erstellen einer Voice App muss dieser variable Satzbau daher im Sprachmodell berücksichtigt werden.
Entität (Slot):
Entitäten eines Sprachbefehls können obligatorisch oder optional sein. Um an dieser Stelle wieder auf das Timer-Beispiel zurück zu kommen: Der Befehl “Alarmiere mich in 5 Minuten durch eine Sirene” könnte auch erfüllt werden, wenn der Slot “Sirene” nicht gesetzt wurde. Das bedeutet somit auch, dass Standardwerte von optionalen Parametern überschrieben werden können. Der Standard-Alarmton würde in diesem Beispiel also durch eine Sirene ersetzt werden. An dieser Stelle obligatorisch wäre der Slot für die Zeiteinheit, also “in 5 Minuten”. Dieser Wert muss gesetzt sein, damit der Digitale Assistent weiß wann der Alarm ausgelöst werden soll. Wie bereits erwähnt, können zwingend erforderliche Angaben z.B. über Reprompts erfragt werden.
Nachdem bekannt ist, wie ein Sprachbefehl grundsätzlich aufgebaut ist, kann nun die Auswertung eines Sprachbefehls durch den Digitalen Assistenten betrachtet werden.
Die folgende Grafik veranschaulicht den grundlegenden Ablauf zur Verarbeitung eines Sprachbefehls:
Trigger:
Unter dem Trigger (Auslöser), wird der Input verstanden, der dem Gerät mitteilt, dass der kommende Sprachbefehl verarbeitet werden soll. Ein Auslöser kann durch Sprache (z.B. Ok, Google”), taktil (z.B. durch Tastendruck), durch Bewegung (z.B. Winken vor einem Sensor) oder durch einen Selbstauslöser (z.B. Aufprall bei einem Autounfall) erkannt werden.
Leading Cue:
Sofern ein Auslöser erkannt wurde, wird vom Empfangsgerät i.d.R. ein taktiler, visueller oder auditiver Hinweis (Leading Cue) geworfen. Bei Alexa wird an dieser Stelle beispielsweise ein blauer Ring angezeigt, sobald der Assistent aktiv zuhört.
Active Listening:
Sobald der Sprachassistent das entsprechende Signalwort erkennt, beginnt dieser aktiv zuzuhören, um so den Sprachbefehl aufzunehmen.
Realtime Feedback:
Bei unzureichenden Eingaben gilt es dem Nutzenden eine sofortige Rückmeldungen zu liefern, sodass fehlende oder fehlerhafte Informationen nachträglich erfragt werden können. Auch Bestätigungen auf Richtigkeit können an dieser Stelle von Anwender:innen eingeholt werden.
Ending Cue:
Der Ending Cue signalisiert dem Nutzenden, wann er aufgehört hat, zuzuhören und mit der Verarbeitung des Befehls begonnen hat. Der Sprachassistent Alexa lässt an dieser Stelle den zuvor eingeblendeten blauen Ring wieder verschwinden.
Processing:
Um den Sprachbefehl zu verarbeiten, wird dieser von den Mikrofonen des Digitalen Assistenten aufgenommen und an einen Verarbeitungs-Service weitergeleitet. In dieser Cloud angekommen werden die Daten ausgewertet und die Antwort zurück an den Assistenten geleitet.
Action:
Die im Processing ausgewertete Antwort wird an den Nutzenden übermittelt.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Vitae congue eu consequat ac felis placerat vestibulum lectus mauris ultrices. Cursus sit amet dictum sit amet justo donec enim diam porttitor lacus luctus accumsan tortor posuere.
Ein Interview mit der UX-/UI-Designerin Paula über die Entwicklung eines Voice Assistenten.
EntdeckenEntdeckenUnser Software Entwickler Marcel erklärt alles zum Thema Wake Word Erkennung von Sprachassistenten.
EntdeckenEntdecken