Vor einigen Jahren haben wir Menschen angefangen Computer zu verstehen. Heute fangen Computer an uns zu verstehen.
Die Interaktionsmöglichkeiten von Menschen mit Computern haben eine lange Historie: Auf die Bedienung der ersten Betriebssysteme per Kommandozeile und Tastatur folgte schließlich ein grafisches Interface und die Bedienung per Maus. Spätestens mit der Erscheinung des ersten iPhones sind Touchscreens in mobilen Geräten kaum mehr wegzudenken. Und doch haben alle diese Interaktionsmöglichkeiten eines gemein: Ich muss jedes Mal ein Gerät in die Hand nehmen, um mein Ziel zu erreichen oder etwas zu erledigen.
„Hey Google, schalte das Licht im Wohnzimmer aus“, „Alexa, ich will Yoga machen“ oder „Hey Siri, spiele die Duschplaylist auf Spotify“ funktionieren, ohne, dass wir dafür – wortwörtlich – den Finger krumm machen müssen: das nennt man Conversational AI. Aber wie funktioniert das?
Bei der Interaktion mit Maus, Tastatur und Touchscreen ist der Verarbeitungsweg relativ klar. Ich drücke das „F“ auf meiner Tastatur und es erscheint auf dem Bildschirm. Aber was passiert denn eigentlich genau, wenn ich mit Sprachassistenten wie Alexa spreche? Wie funktioniert Sprachverarbeitung? Genau dieser Thematik widmen wir uns in den nächsten 10 Leseminuten. Anschließend werfen wir einen Blick auf andere sprachverarbeitende Plattformen wie beispielsweise Telefonie oder Messaging Apps und sehen, dass diese auf eine häufig sehr ähnliche Weise funktionieren.
Der Artikel richtet sich an Personen, die noch keine oder wenig Erfahrung im Feld der Sprachverarbeitung und Conversational AI haben. Es geht darum, ein grundlegendes Verständnis für die Technologie und Komponenten des Sprachmodells zu schaffen. Danach sind Begriffe wie NLU, TTS und Intents für Dich keine Blackbox mehr. Dabei liegt der Fokus nicht auf der Beschaffenheit und Funktionsweise der einzelnen Komponenten an sich, sondern auf dem Zusammenspiel der Komponenten miteinander.
Damit das Ganze anfassbar, und so nah an der Realität wie möglich bleibt, greifen wir uns dafür ein konkretes Beispiel heraus. Nämlich eines, dass mir schon früh morgens im Bad begegnet. 🛀 Das Beispiel befasst sich zwar mit einem konkreten Amazon Alexa Skill, das Wissen um die Funktionsweisen der Komponenten lässt sich jedoch auch – wie wir am Ende sehen werden – auf andere Kanäle, wie bspw. die Telefonie und Chatbots, übertragen.
Wasser marsch, Ohren auf!
„Alexa, öffne den SPIEGEL“ rufe ich dem Echo Dot zu, während ich unter die Dusche springe. Noch während ich mit Fingerspitzengefühl die richtige Wassertemperatur einstelle, antworte ich Alexa auf ihre Rückfrage: „Gib mir einen Artikel aus der Rubrik Sport“. Und ehe ich mich versehe, seife ich mich ein und höre den SPIEGEL.
Dazu schauen wir uns Schritt für Schritt die Komponenten an, die bei der Interaktion eine Rolle spielen. Wie die Komponenten übergeordnet zusammenhängen, ist hier einmal dargestellt:
Was ist Automatic Speech Recognition (ASR)?
Zunächst lauscht der Echo Dot kontinuierlich auf ein sogenanntes Wake Word („Alexa“). Erst wenn er dieses erkennt, beginnt die Audioaufnahme meiner Stimme.
Diese Audioaufnahme wird dann von Alexas „ASR“ – der Automatic Speech Recognition verarbeitet. Die ASR überführt das analoge Audiosignal meiner Stimme in lesbaren Text. Man spricht hier auch von der speech-to-text (STT) Komponente, die das Sprachsignal transkribiert. Jetzt steht „Alexa, starte der SPIEGEL“ zur weiteren Verarbeitung zur Verfügung und das ursprüngliche Audiosignal wird fortan nicht mehr benötigt.
Was ist Natural-Language Understanding (NLU)?
Nun weiß Alexa was ich gesagt habe, aber noch nicht was ich eigentlich meinte. Im zweiten Schritt muss also dem Gesagten eine Bedeutung zugeordnet werden. Das ist genauso wie bei uns Menschen: Das bloße akustische Erkennen dessen, was unser Gegenüber uns gesagt hat, reicht nicht aus. Wir müssen den Sinn eines Satzes deuten.
Das technische Pendant zum menschlichen Gehirn (das diese Aufgabe dankenswerter Weise selbstständig übernimmt), ist eine zweite Komponente – das sogenannte Natural-Language Understanding (NLU). Vereinfacht ausgedrückt ist die NLU ein mathematisches Modell, das trainiert werden kann geschriebenen Wörtern eine Bedeutung zuzuordnen. Man spricht hier auch vom Sprachmodell.
Die hinter einer Äußerungen liegende Bedeutung nennt man Intents.
Ein gut trainiertes Sprachmodell kann vielen Millionen Äußerungen ihre jeweiligen Intents zuordnen, also mit sehr vielfältigen Formulierungen umgehen. So kann ich einen Alexa Skill auf vielfältige Weise aktivieren („launchen“) indem ich es zwar anders formuliere, jedoch immer das gleiche meine. Ein weiteres Beispiel wäre, wenn ich Alexa nach der Uhrzeit frage:
Äußerung | Intent (Absicht) |
„Starte den Spiegel“
„Öffne den Spiegel“ „Lies mir den Spiegel vor” |
LaunchRequest |
„Wie spät ist es?“
„Wie viel Uhr ist es?“ „Was ist die aktuelle Uhrzeit?“ „Uhrzeit“ |
askTime |
Die NLU kann jedoch noch mehr, als lediglich den Intent aus einer Äußerung zu identifizieren. Es können auch sogenannte Slots identifiziert werden. Dazu wieder zwei Beispiele zur Veranschaulichung:
Äußerung | Intent (Absicht) | Slots |
„Ressort Sport“
„Gib mir einen Artikel aus der Rubrik Sport ” |
askArticle
|
ressort = sport |
“Politik Ressort”
“Ich will die Rubrik Politik” “Ich will etwas politisches lesen” |
askArticle | ressort = politik |
„Wie spät ist es in Berlin?“
„Uhrzeit Berlin?“ |
askTime | city = berlin |
“Wie viel Uhr ist es gerade in Peking” | askTime | city = peking |
Zusätzlich zur Satzbedeutung enthalten Slots weitere variable Bedeutungsanteile, die für die weitere Verarbeitung wichtig sind. Die NLU erkennt das jedoch nicht von allein. So wie wir Menschen erst einmal eine Sprache lernen müssen, muss auch die NLU erst einmal lernen uns – also unsere Äußerungen – zu verstehen. Zu dem Zweck müssen wir der NLU anhand von Beispieldaten sagen, wie es künftige Äußerungen interpretieren soll.
Mit diesen Trainingsdaten wird die NLU trainiert und erkennt somit künftig Intents und Slots von Äußerungen.
Wie funktioniert die Dialogführung in einem Skill?
Die NLU gibt diese Informationen nun an die Dialogführung des Skills weiter. Hier ist programmiert, was passieren soll, wenn ein bestimmter Intent mit den entsprechenden Slots getriggert wird.
Sage ich nun beim Einseifen also „Gib mir einen Artikel aus der Rubrik Sport“, so wird nun entschieden, was in diesem Moment für den Intent askArticle und den Slot sport im nächsten Schritt passieren soll.
In diesem konkreten Fall prüft der Dialogmanager in der Datenbank welchen Artikel aus der Rubrik Sport ich noch nicht gehört habe und schlägt mir diesen Artikel vor. Allerspätestens jetzt sind wir auf eine weitere Komponente angewiesen:
Was ist Text-to-speech (TTS)?
Die Dialogführung gibt die Information, was dem User als nächstes geantwortet werden soll, als Text zurück. In meinem konkreten Fall zum Beispiel: „Du hast bereits alle Artikel aus der Rubrik Sport gehört. Möchtest du vielleicht stattdessen ein Artikel aus der Rubrik Wirtschaft?“.
Der Text muss nun wiederum zurück in einen gesprochenen Text überführt werden. Das übernimmt die Text-to-speech (TTS) Komponente. Sie erzeugt das Audiosignal und schickt es zurück an meinen Echo Dot im Badezimmer, der mir mit dieser Äußerung den Wirtschafts-Artikel vorschlagen kann.
Conversational AI: Andere Kanäle, ähnliches Prinzip
Das aufgezeigte Grundgerüst mit ASR, STT, NLU, Dialogführung und TTS findet überall dort Anwendung, wo Spracheingaben automatisiert verarbeitet werden und ist nicht nur bei Amazon Alexa vorzufinden.
Der Aufbau von Conversational AI Systemen in der Telefonie und Chat ist dem von Alexa (wie oben beschrieben) sehr ähnlich. Anders ist beispielweise der Beginn der Nutzerinteraktion – statt der Nennung des wake words „Alexa“ wird eine Rufnummer gewählt. Die grundsätzliche Verkettung von ASR, STT, NLU usw. ändert sich jedoch nicht.
Bei textbasierter Conversational AI (beispielsweise bei WhatsApp oder Website Chatbots), fallen jedoch einige Komponenten wie bspw. die ASR, STT und TTS weg, da die Nutzer per Text mit den automatisierten Systemen interagieren.
„Alexa, stop!” rufe ich und eile aus der Dusche – ohne in diesem Moment darüber nachgedacht zu haben warum und wie das Ganze eigentlich funktioniert. Das grundlegende Prinzip aber einmal Schritt für Schritt hier zu beschreiben, hilft Dir hoffentlich einen einfachen Einstieg in das Thema zu finden.
Du hast Interesse an einem eigenen Unternehmens-Skill für Deinen Smart Speaker oder an einem Phonebot für Deinen Kundenservice? Dann melde Dich bei uns. Gemeinsam finden wir für Dich die beste Lösung.