Spracherkennung

interdisziplinäres Teilgebiet der Computerlinguistik, das Methoden und Technologien entwickelt, die die Erkennung und Übersetzung gesprochener Sprache in Text durch Computer ermöglichen
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 7. Oktober 2004 um 17:46 Uhr durch Mwka (Diskussion | Beiträge) (Sprachmodell). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Spracherkennung oder auch automatische Spracherkennung ist ein Teilgebiet der angewandten Informatik. Sie beschäftigt sich mit der Untersuchung und Entwicklung von Verfahren, die es Automaten, insbesondere Computern erlauben, gesprochene Sprache zu erkennen (das heißt, in Zeichenfolgen umzuwandeln) und zu verarbeiten.

Geschichtliche Entwicklung

Die Forschung an Spracherkennungssystemen begann in den 1960er Jahren, verlief damals allerdings weitgehend erfolglos: Die von privaten Firmen entwickelten Systeme ermöglichten maximal die Erkennung von einigen hundert Einzelworten. Dies lag einerseits an dem begrenzten Wissen in diesem neuen Forschungsgebiet, aber auch den zur damaligen Zeit begrenzten technischen Möglichkeiten.

Erst Mitte der 1980er Jahre kam die Entwicklung weiter voran. In dieser Zeit entdeckte man, dass man durch Kontextprüfungen Homophone sicher unterscheiden konnte. Indem man Statistiken über die Häufigkeit bestimmter Wortkombinationen erstellte und auswertete, konnte man ähnlich oder gleich klingende Worte unterscheiden. Diese so genannten Trigrammstatistiken wurden anschließend ein wichtiger Bestandteil aller Spracherkennungssysteme. 1984 stellte IBM ein erstes Spracherkennungssystem vor, das etwa 5.000 englische Einzelworte erkennen konnte. Das System brauchte für einen Erkennungsvorgang jedoch mehrere Minuten Rechenzeit auf einem Großrechner. Fortschrittlicher war dagegen ein von Dragon Systems entwickeltes System: Dieses ließ sich auf einem tragbaren PC verwenden.

1991 stellte IBM erstmals auf der CeBIT ein Spracherkennungssystem vor, dass 20.000 bis 30.000 deutsche Wörter erkennen konnte. Die Präsentation des TANGORA 4 genannten Systems musste jedoch in einem speziell abgeschirmten Raum stattfinden, da der Lärm der Messe das System sonst gestört hätte.

Ende 1993 stellte IBM das erste für den Massenmarkt entwickelte Spracherkennungssystem vor: Das IBM Personal Dictation System genannte System lief auf normalen PCs und kostete unter $ 1.000. Als es unter dem Namen IBM VoiceType Diktiersystem auf der CeBIT 1994 präsentiert wurde, stieß es auf hohes Interesse seitens der Besucher und der Fachpresse.

Aktuelle Entwicklung

Mittlerweile wird Spracherkennung auch schon im technischen Einsatz verwendet, zum Beispiel in automatischen Dialogsystemen wie etwa einer Fahrplanauskunft. Überall dort, wo nur ein begrenzter Wortschatz verwendet wird, wird die automatische Spracherkennung mit Erfolg praktiziert. So erreichen Systeme zur Erkennung der gesprochenen Ziffern von 0 bis 9 eine nahezu 100% Erkennungsquote. Auch bei einem begrenzten Fachwortschatz werden hohe Erkennungsquoten erreicht. Wo aber kein begrenzter Wortschatz verwendet wird, wird keine volle Treffsicherheit mehr erreicht. Selbst eine Treffsicherheit von 95 Prozent ist zu gering, da zu viel nachgebessert werden muss. Versuche im Stenografischen Dienst des Niedersächsischen Landtages zeigen das.

Neben der Größe des Wörterbuches spielt auch die Qualität der akustischen Aufnahme eine entscheidende Rolle. Bei Mikrofonen, die direkt vor dem Mund angebracht sind (z.B. bei Headsets oder Telefonen) wird eine signifikant höhere Erkennungsgenauigkeit erreicht als bei weiter entfernten Raummikrofonen.

Lippenlesen

Um die Erkennungsgenauigkeit noch weiter zu erhöhen, wird momentan versucht, mithilfe einer Videokamera das Gesicht des Sprechers zu filmen und daraus die Lippenbewegungen abzulesen. Indem man diese Ergebnisse mit den Ergebnissen der akustischen Erkennung kombiniert, kann man gerade bei verrauschten Aufnahmen eine signifikant höhere Erkennungsquote erreichen.

Dies entspricht Beobachtungen bei der menschlichen Spracherkennung: McGurk hatte 1976 festgestellt, dass auch Menschen aus der Lippenbewegung auf die gesprochene Sprache schließen.

Sprachausgabe

Da es sich bei Kommunikation mit menschlicher Sprache meist um einen Dialog mit zwei Gesprächspartnern handelt, findet man die Spracherkennung häufig in Verbindung mit Sprachsynthese. Auf diesem Weg können dem Benutzer des Systems akustische Rückmeldungen über den Erfolg der Spracherkennung und Hinweise über eventuell ausgeführte Aktionen gegeben werden. Auf die gleiche Weise kann der Benutzer auch zu einer erneuten Spracheingabe aufgefordert werden.

Technischer Aufbau

Ein Spracherkennungssystem besteht aus folgenden Bestandteilen: Einer Vorverarbeitung, die die analogen Sprachsignale digitalisiert, bearbeitet und anschließend mit einer Fouriertransformation in einzelne Frequenzen zerlegt. Anschließend findet die tatsächliche Erkennung mit Hilfe akustischer Modelle, Wörterbücher und Sprachmodellen statt.

Vorverarbeitung

Bei der Vorverarbeitung kommt es im Wesentlichen darauf an, die Eingangsdatenmenge zu reduzieren und die relevanten Informationen herauszufiltern.

Erkennung

Beim akustischen Modell spielt insbesondere die Lage der Formanten eine Rolle: Die Frequenzanteile gesprochener Vokale konzentrieren sich typischerweise auf zwei unterschiedliche Frequenzen. Die tiefere Frequenz liegt im Bereich von 200 bis 800 Hertz, die höhere im Bereich von 800 bis 2400 Hertz. Über die Lage dieser Frequenzen lassen sich die einzelnen Vokale unterscheiden.

Hidden Markov Modelle

Im weiteren Verlauf spielen Hidden Markov Modelle (HMM) eine wichtige Rolle. Diese ermöglichen es, die Phoneme zu finden, das im Bezug auf die Eingangssignale am wahrscheinlichsten sind. Dazu wird das akustische Modell eines Phonems in verschiedene Teile zerlegt: Den Anfang, je nach Länge unterschiedlich viele Mittelstücke, das Ende und die Übergänge zu anderen Phonemen. Die Eingangssignale werden mit den gespeicherten Signalen verglichen und mit Hilfe des Viterbialgorithmus daraus mögliche Kombinationen errechnet.

Für die Erkennung von unterbrochener Sprache (bei der nach jedem Wort eine Pause gemacht wird) reichte es aus, jeweils ein Wort zusammen mit einem Pausenmodell innerhalb des HMMs zu berechnen. Da die Rechenkapazität moderner PCs aber deutlich gestiegen ist, kann mittlerweile auch fließende Sprache erkannt werden, indem größere Hidden Markov Modelle gebildet werden, die aus mehreren Wörtern und den Übergangen zwischen ihnen bestehen.

Neurale Netze

Alternativ wurden auch schon Versuche unternommen, neuronale Netze für das akustische Modell zu verwenden. Mit Time Delay Neural Networks sollten dabei insbesondere die Veränderungen im Frequenzspektrum über den Zeitablauf hinweg zu Erkennung verwendet werden. Die Entwicklung hat durchaus positive Ergebnisse gebracht, wurde letztlich aber zugunsten der HMMs wieder aufgegeben.

Wörterbuch

Über das Wörterbuch werden die einzelnen Phoneme den Wörtern zugeordnet. Dabei müssen unterschiedliche Betonungen und der Übergang bei der fließenden Sprache berücksichtigt werden. Die Größe des Wörterbuchs bestimmt dabei die Größe des Vokabulars - aber auch die Erkennungsgenauigkeit, die mit steigender Größe abnimmt.

Beim Wörterbuch ist von Bedeutung, dass durch die Flexion, also die Beugung eines Wortes je nach grammatischer Funktion, aus den Wortstämmen (Lexemen) eine Vielzahl von Wortformen entstehen, die für die Spracherkennung als eigenständige Wörter betrachtet werden müssen.

Die Größe des Wörterbuchs hängt dabei stark von der Sprache ab. Zum einen haben durchschnittliche deutschsprachige Sprecher mit ca. 4.000 Wörtern einen deutlich größeren Wortschatz als englischsprachige mit ca. 800 Wörtern. Außerdem ergeben sich durch die Flexion in der deutschen Sprache ca. 10 mal so viele Wortformen, während in der englischen Sprache nur ca. 4 mal so viele Wortformen entstehen.

Sprachmodell

Das Sprachmodell versucht anschließend, die Wahrscheinlichkeit bestimmter Wortkombinationen zu bestimmen und dadurch falsche oder unwahrscheinliche Hypothesen auszuschließen. Dazu kann entweder ein Grammatikmodell oder eine Trigrammstatistik verwendet werden.

Eine Bi- oder Trigrammstatistik speichert die Auftrittswahrscheinlichkeit von Wortkombinationen aus 2 oder 3 Wörtern. Diese Statistiken werden aus Beispieltexten gewonnen. Jede von der Spracherkennung ermittelte Hypothese wird anschließend geprüft und ggf. verworfen, wenn ihre Wahrscheinlichkeit zu gering ist. Dadurch können auch Homophone, also unterschiedliche Wörter mit identischer Aussprache unterschieden werden. "Vielen Dank" wäre also wahrscheinlicher als "Fielen Dank", obwohl beides gleich ausgesprochen wird.

Trigramme ermöglichen im Unterschied zu Bigrammen, die Wortfolgen besser zu differenzieren, benötigen aber mehr Rechenkapazität. Das Verwenden von mehr Kombinationen als 4 oder mehr Wörtern bewirkt dagegen einen zu große Datenbank und zu geringe Wahrscheinlichkeiten für die einzelnen Kombinationen und wird daher nicht gemacht.

Wenn Grammatiken verwendet werden, handelt es sich meist um Kontextfreie Grammatiken. Dabei muss allerdings jedem Wort seine Funktion innerhalb der Grammatik zugewiesen werden. Deshalb werden solche Systeme meinst nur für einen begrenzten Wörterschatz und Spezialanwendungen verwendet.

Spracherkennungssoftware

Für das Betriebssystem Windows sind folgende Spracherkennungsprogramme verbreitet im Einsatz:

Siehe auch