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 12. Oktober 2004 um 16:54 Uhr durch Mwka (Diskussion | Beiträge) (Phoneme). 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 unterscheiden konnte. Indem man Statistiken über die Häufigkeit bestimmter Wortkombinationen erstellte und auswertete, konnte man bei ähnlich oder gleich klingenden Wörten entscheiden, welches gemeint war. 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.

Aktueller Stand

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.

Problemstellung

Um zu verstehen, wie ein Spracherkennungssystem arbeitet, muss man sich zuerst über die Herausforderungen klar werden, die bewältigt werden müssen.

Diskrete und kontinuierliche Sprache

Bei einem Satz in der Alltagssprache werden die einzelnen Worte ohne wahrnehmbare Pause zwischen ihnen ausgesprochen. Als Mensch kann man sich intuitiv an den Übergängen zwischen den Worten orientieren - frühere Spracherkennungssysteme war dazu nicht in der Lage. Sie erforderten eine diskrete (unterbrochene) Sprache, bei der zwischen den Wörtern künstliche Pausen gemacht werden müssen.

Moderne Systeme sind jedoch auch fähig, kontinuierliche (fließende) Sprache zu verstehen.

Diskrete Sprache

 

Grafik des Satzes: „Die freie Enzyklopädie“, diskret ausgesprochen, anhören

Bei der diskreten Sprache erkennt man deutlich die Pausen zwischen den Wörtern, die länger und deutlicher ausfallen als die Übergänge zwischen den Silben innerhalb des Worts „Enzyklopädie“.

Kontinuierliche Sprache

 

Grafik des Satzes: „Die freie Enzyklopädie“, kontinuierlich ausgesprochen, anhören

Bei der kontinuierlichen Sprache gehen die einzelnen Wörter in einander über, es sind keine Pausen erkennbar.

Größe des Wortschatzes

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.

Homophone

In vielen Sprachen gibt es Wörter oder Wortformen, die eine unterschiedliche Bedeutung haben, jedoch gleich ausgesprochen werden. So klingen „Meer“ und „mehr“ zwar identisch, haben jedoch trotzdem nichts miteinander zu tun. Solche Wörter nennt man Homophone.

Die Frage Groß- oder Kleinschreibung fällt auch in diesen Bereich.

Phoneme

Aus akustischer Ebene spielt insbesondere die Lage der Formanten eine Rolle: Die Frequenzanteile gesprochener Vokale konzentrieren sich typischerweise auf zwei unterschiedliche Frequenzen, die Formanten genannt werden. 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.

Konsonanten sind dagegen direkt nicht erkennbar - als Stopp- oder Zischlaute sind sie nur durch den Übergang zu Vokalen feststellbar.

Konsonanten

 

„Sprache“ gesprochen, Original, anhören

 

„p“ ausgeblendet, anhören

Man erkennt, dass innerhalb des Wortes „Sprache“ der Konsonant „p“ faktisch nur Stille ist und lediglich durch die Übergänge zu den anderen Vokalen erkannt wird - das Entfernen bewirkt also keinen hörbaren Unterschied.

Realisierung

Ein Spracherkennungssystem besteht aus folgenden Bestandteilen: Einer Vorverarbeitung, die analogen Sprachsignale in die 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 Menge der Eingangsdaten zu reduzieren und die relevanten Informationen herauszufiltern. Ausgangsbasis ist das analoge Signal eines Mikrofons. Dieses Signal wird anschließend beispielsweise mit einer Soundkarte digitalisiert. Alle 10 Millisekunden wird mit einer Fouriertransformation ein Frequenzspektrum erzeugt - ähnlich wie es im menschlichen Ohr passiert. Dieses Spektrum wird anschließend mit einer Datenbank verglichen und das Symbol des akustisch ähnlichsten Referenzvektors an den Erkennungprozess weitergegeben.

Erkennung

Hidden Markov Modelle

Im weiteren Verlauf spielen Hidden Markov Modelle (HMM) eine wichtige Rolle. Diese ermöglichen es, die Phoneme zu finden, die am besten zu den Eingangssignale passen. Dazu wird das akustische Modell eines Phonems in verschiedene Teile zerlegt: Den Anfang, je nach Länge unterschiedlich viele Mittelstücke und das Ende. Die Eingangssignale werden mit diesen gespeicherten Teilstücken verglichen und mit Hilfe des Viterbialgorithmus mögliche Kombinationen gesucht.

Für die Erkennung von unterbrochener (diskreter) 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 (kontinuierliche) Sprache erkannt werden, indem größere Hidden Markov Modelle gebildet werden, die aus mehreren Wörtern und den Übergangen zwischen ihnen bestehen.

Neuronale 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.

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:

  • Dragon Naturally Speaking (Hersteller: Scansoft)
  • Voice Pro (Hersteller: Linguatec)
  • ViaVoice (Hersteller: IBM)

Für das Betriebssystem Linux hat IBM ab 1999 begonnen, die Technologie von ViaVoice zu portieren. Seit 2001 ist die Spracherkennung in den verbreitetsten Linux-Desktop KDE integriert.

Ein interessanter Aspekt: Bereits zum Jahresbeginn 2000 gelang Lernout & Hauspie die Demonstration der Spracherkennung auf einem Linux-PDA.

Siehe auch