Deine Daten. Deine Wahl.

Wenn du nur das Nötigste wählst, erfassen wir mit Cookies und ähnlichen Technologien Informationen zu deinem Gerät und deinem Nutzungsverhalten auf unserer Website. Diese brauchen wir, um dir bspw. ein sicheres Login und Basisfunktionen wie den Warenkorb zu ermöglichen.

Wenn du allem zustimmst, können wir diese Daten darüber hinaus nutzen, um dir personalisierte Angebote zu zeigen, unsere Webseite zu verbessern und gezielte Werbung auf unseren und anderen Webseiten oder Apps anzuzeigen. Dazu können bestimmte Daten auch an Dritte und Werbepartner weitergegeben werden.

Hintergrund

«Ok Googoo»: Kleine Einführung in die Spracherkennung

Kevin Hofer
28.5.2018

Spracherkennung ist ein alter Zopf. Trotzdem wird aktuell das Zeitalter der intelligenten Assistenten heraufbeschworen, die uns jeden Wunsch von den Lippen abhören. Wieso soll Spracherkennung genau jetzt unser Leben revolutionieren? Zum Verständnis hilft ein Blick zurück.

Aber genug der Geschichtsstunde. Du bist hier, weil du etwas über Spracherkennung erfahren möchtest. Mit der Sprache grenzen wir Menschen uns ganz klar von den Tieren ab. Gewisse Tiere kommunizieren zwar auch mit Tönen, uns Menschen steht aber das komplexe System der Sprache zur Verfügung.

Im Folgenden gebe ich einen groben Überblick darüber, wie Spracherkennung funktionieren kann. Ich fokussiere dabei auf die Wichtigsten und lasse auch bewusst Dinge aus.

Etwas Linguistik zu Beginn

Das Phon oder auch Laut ist die kleinste durch Segmentierung gewonnene lautliche Einheit. Das kann beispielsweise ein «a» sein. Das Phonem im Gegensatz ist die kleinste Bedeutungsunterscheidende Einheit des Lautsystems einer Sprache. Wo wir es beim Phon lediglich mit dem Laut zu tun haben, hat das Phonem bereits eine sprachliche Bedeutung. Phoneme sind die Bausteine einer Sprache.

Ein Beispiel gefällig? Bei uns im Deutschen (und auch Schweizerdeutschen) wird das «r» auf verschiedene Arten ausgesprochen. Ein Thurgauer produziert das Phon hinten, ein Berner vorne. Die Bedeutung von «r» bleibt aber die selbe. Folgendes Video erklärt das Ganze.

Wir Menschen verleihen Sprache beim Hören durch die Phoneme Bedeutung. Spracherkennung kann aber nur Phone akustisch wahrnehmen. Um Phoneme zu verstehen, benötigt die Spracherkennung ein phonetisches Wörterbuch. Das geht dann weiter als simples Hören. Aber bleiben wir beim Hören. Dabei handelt es sich um einen komplexen Vorgang, der verschieden Probleme mit sich bringt:

Hinzu kommt die Syntax und die Semantik mit denen unser Gehirn die Wörter beim Hören dekodiert. Hören ist also ein sehr komplexer Vorgang. Wir Menschen haben den Eindruck, dass das Hören und Verstehen einfach sind. Aber so einfach ist es eben nicht.

Wie können Computer Sprache verstehen?

Ich gehe hier auf vier Arten der Spracherkennung ein:

  • Einfache musterbasierte Suche (Simple Pattern Matching)
  • Muster- und Eigenschaftenerkennung (Pattern and feature analysis)
  • Sprachmodelle und statistische Analyse (Language modelling and statistical analysis)
  • Künstliches neuronales Netzwerk (Artificial neural network)

Diese bauen aufeinander auf. Im Folgenden gehe ich kurz auf die einzelnen Punkte ein. Um einen kleinen Überblick zur Funktionsweise von Spracherkennung zu erhalten, sollte das aber genügen.

Einfache musterbasierte Suche

«Bitte sprechen Sie Ihre Versicherungsnummer nach dem Piep.» Piep. «Sieben, Fünf, Drei, Neun …» Wer kennt das nicht? Der Call-Center-Roboter will von uns die nötigen Informationen, bevor wir mit einem Menschen sprechen können. Das ist ein Beispiel der einfachen musterbasierten Suche.

Bei der einfachen musterbasierten Suche ist die Anzahl an Auswahlmöglichkeiten stark limitiert. Die Spracherkennung muss also weder Syntaxanalyse machen noch die Bedeutung des Satzes verstehen. Es handelt sich nicht um Spracherkennung im engeren Sinn. Das System muss zwischen einer begrenzten Anzahl an Lautmustern unterscheiden können, um zu funktionieren.

Muster- und Eigenschaftenerkennung

Das Vokabular bei der einfachen musterbasierten Suche ist sehr limitiert. Frühe Spracherkennungssysteme waren häufig auf diese Art beschränkt. Sie wurden für einen spezifischen Bereich (im obigen Beispiel ein Callcenter) entwickelt und funktionierten relativ gut auf ihrem limitierten Gebiet. Moderne Spracherkennung ist aber fähig, tausende und abertausende Wörter zu verstehen. Wie klappt das?

Eine Möglichkeit wäre es, jemanden zu bitten, sich mit einem Wörterbuch hinzusetzen und jedes Wort daraus ein paar Mal zu lesen. So könnte eine Datenbank zusammengestellt werden, auf welche die Spracherkennung zugreifen kann. Hört sich aufwendig an? Ist es auch und dazu äusserst ineffizient.

Wieso sollte ein System alle Wörter in einem Wörterbuch auswendig lernen, wenn diese Wörter alle aus denselben Phonen oder Phonemen bestehen? Die Software könnte doch einfach die Phoneme lernen und die Wörter aus diesen zusammensetzen.

Theoretisch ist es so möglich, jede Äusserung zu verstehen, indem die einzelnen Phoneme gefiltert werden. Statt x-tausend Wörter zu lernen, muss Spracherkennung so nur etwa 40 Phoneme (im Deutschen) kennen. Selbstverständlich ist dann immer noch ein phonetisches Wörterbuch von Nöten, um die einzelnen Wörter auszumachen.

Die meisten Spracherkennungen dieses Systems werden aufgrund von Feedback der Benutzer mit der Zeit besser. Ein Beispiel für diese Art der Spracherkennung sind frühe Versionen der Software Dragon Naturally Speaking. Mit dieser lassen sich Texte automatisch verschriftlichen.

Sprachmodelle und statistische Analyse

Sprache zu erkennen ist aber noch komplexer als Phoneme zu identifizieren und diese mit gespeicherten Daten abzugleichen. Wieso? Falls du’s bereits vergessen hast, scrollst du am besten wieder hoch und liest die vier Punkte unter dem Titel «Sprache hören und analysieren».

Variable Sprache, Aussprache, Homophone und Missverständnisse sorgen für viele Fehler bei Spracherkennungen, die lediglich auf Muster- und Eigenschaftenerkennung basieren. Hier können Sprachmodelle Abhilfe schaffen.

Sprache besteht nicht aus einfach zufällig aneinandergereihten Tönen. Gesprochene Wörter beziehen sich auf die Vorhergehenden oder Nachkommenden. Sprache ist Kontextabhängig. Nach einem Personalpronomen folgt beispielsweise ein Verb, also «ich bin» oder «du hast» oder «wir wollen». Und Adjektive stehen vor Nomen.

Wenn die Spracherkennung nun versucht, gesprochene Sprache zu verstehen und den Beispielsatz «Du hast ein ******* Auto.» soweit erkennt, kann die Erkennung davon ausgehen, dass es sich beim fehlenden Wort um ein Adjektiv handelt. Wenn zumindest ein Phonem des Wortes erkannt wurde, hat die Spracherkennung einen weiteren Hinweis.

Mehr oder weniger alle modernen Spracherkennungen benutzen zumindest teilweise Sprachmodelle und statistische Analyse. Sie beziehen Wahrscheinlichkeiten mit ein, welche Phoneme auf andere folgen oder auch die Wahrscheinlichkeit welche Wörter auf andere folgen. Auf Basis dieser Daten wird ein sogenanntes «Hidden Markov Model» erstellt.

Künstliches neuronales Netzwerk

Hidden Markov Models werden seit den 1970er Jahren in der Spracherkennung verwendet. Sie funktionieren sehr zuverlässig. Unser Gehirn verwendet bei der Spracherkennung aber keine Hidden Markov Models. Das funktioniert bei uns über dichte Schichten von Gehirnzellen, die Informationen, welche über die Cochleae (Hörschnecke) eingehen, verarbeiten.

Hidden Markov Models und künstliche neuronale Netzwerke finden heute unter dem Schlagwort «Deep Learning» Verwendung. Darüber werde ich übrigens demnächst einen Artikel schreiben. Deshalb belasse ich es für jetzt auch mal bei den absoluten Basics.

Zeitalter der intelligenten Assistenten?

Digitale Assistenten wie Siri, Cortana etc. tun heute mehr als nur Sprache verstehen. Dank Natural Language Processing verstehen sie auch die Bedeutung des Gesagten. So hat das Gesagte auch tatsächliche Konsequenzen. Wenn ich beispielsweise nach dem Wetter frage, erhalte ich tatsächlich Informationen dazu. Das geht aber noch weiter wie untenstehendes Video zeigt.

Heisst das jetzt, dass wir künftig nur noch mit Computern sprechen, statt ihnen Befehle über eine Tastatur zu geben? Wie du oben gelesen hast, sind Hidden Markov Models bereits seit den 1970er Jahren bei Spracherkennung Standard. Einigermassen zuverlässige Diktiersoftware gibt es seit den 1990ern. Trotzdem sehe ich persönlich wenig Menschen, die mit ihrem Computer oder Smartphone sprechen.

Woran liegt das? Wir Menschen haben uns nicht unabsichtlich mehrere Arten der Kommunikation ausgedacht. Mündliche Sprache ist direkt und unverblümt. Wenn wir hingegen tiefere Gedanken ausdrücken wollen, bietet sich das Schreiben an. Schreiben ist aber nicht nur dadurch ein intimerer Prozess als Sprechen. Unsere Gedanken sind beim Schreiben zuerst nur für uns. Beim Sprechen kann jeder mithören.

Auch wenn Spracherkennung heute fast so zuverlässig ist wie wir Menschen (eine Word Error Rate um fünf Prozent), werden wir auch künftig, zumindest teilweise, schriftlich mit Computern kommunizieren. Einfach, weil Sprechen und Schreiben zwei komplett unterschiedliche Dinge sind und sie sich je nach Situation mehr oder weniger anbieten.

14 Personen gefällt dieser Artikel


User Avatar
User Avatar

Technologie und Gesellschaft faszinieren mich. Die beiden zu kombinieren und aus unterschiedlichen Blickwinkeln zu betrachten, ist meine Leidenschaft.


Hintergrund

Interessantes aus der Welt der Produkte, Blicke hinter die Kulissen von Herstellern und Portraits von interessanten Menschen.

Alle anzeigen