Automatische Spracherkennung: Unterschied zwischen den Versionen
Zeile 27: | Zeile 27: | ||
== Vorgehensweise == | == Vorgehensweise == | ||
− | [[Bild: | + | [[Bild:VorgehensweiseSpracherkennung.jpg]] |
Die Abbildung zeigt stark vereinfacht den Aufbau eines Spracherkennungssystems. | Die Abbildung zeigt stark vereinfacht den Aufbau eines Spracherkennungssystems. |
Version vom 22. September 2006, 10:11 Uhr
Inhaltsverzeichnis
Definition
Unter automatischer Spracherkennung wird die computerbasierte Erkennung gesprochener Sprache und deren korrekte Darstellung als Text verstanden. Bei der automatischen Spracherkennung geht es darum, eine mündliche Aussage in einem maschinellen System äquivalent als konkreten Text darzustellen. Man spricht auch von automatischem Sprachverstehen, wenn eine passende rechnerinterne Darstellung (Repräsentation) generiert werden soll.
Kommando- oder Dialogsysteme (siehe auch Natürlichsprachige Schnittstelle) bauen auf die reine Erkennungsfunktion auf und beinhalten darüber hinaus eine passende Systemreaktion zum gesprochenen Text.
Probleme und Anforderungen
Die menschliche Sprachkommunikation wirkt aus unserer Sicht einfach, doch sie besitzt Eigenschaften, die bei der Erkennung durch Computersysteme Probleme aufwerfen:
Kontinuität
Kontinuierliche Sprache bedeutet, dass zwischen den einzelnen Wörtern keine deutlichen Pausen gemacht werden (bei Pausen zwischen den Wörtern spricht man von diskreter Sprache), sondern es wird in normaler Geschwindigkeit und normalem Rhythmus gesprochen. Hierbei entsteht ein Erkennungsproblem: die Wortgrenzen sind schwer zu definieren.
Variabilität
Mündliche Sprache weist eine hohe Variabilität auf. So können starke Unterschiede beim Klang des gleichen Wortes entstehen.
Dies kann folgende Ursachen haben:
Zunächst ist die Sprecherabhängigkeit zu nennen. Jeder Sprecher verfügt über eigene stimmliche Merkmale, die von vielen Faktoren, wie zum Beispiel Alter, Geschlecht und Gesundheitszustand, geprägt werden. Auch die Sprechweise jedes Menschen ist unterschiedlich (Tempo, Artikulation, Dialekt, etc.). Weiterhin bestehen Unterschiede in der Qualität der Aufnahme.
Schon früh gelang es, Systeme zu entwickeln, die in schalldichten Räumen mit hochwertigen Mikrofonen mündliche Äußerungen erkennen konnten. Doch um die automatische Spracherkennung flächendeckend nutzen zu können, gilt es auch mit einer qualitativ schlechteren Übertragung über das Telefonnetz erfolgreich zu sein und auch akustische Störquellen wie Rauschen oder auch Hintergrundgeräusche herauszufiltern.
Um das Problem der Variabilität zu lösen, muss das Erkennungsmuster, mit dem das System das Eingangssignal vergleicht, einerseits so weit gewählt werden, dass alle Realisierungen (also von verschiedenen Sprechern, in verschiedenen Tonlagen, etc.) erkannt werden. Andererseits darf dieses Muster aber auch nicht zu generell gehalten werden, um die Verwechslung mit anderen, ähnlichen Wörtern zu vermeiden.
Komplexität
Je größer der verwendete Wortschatz, desto mehr Satzkombinationen werden möglich und desto größer wird das Suchproblem. Ein größerer Wortschatz erfordert somit eine höhere Rechenleistung des Computers. Das ist sicherlich (unter anderem) der Grund dafür, dass erfolgreiche Spracherkennungssysteme, mit großem Wortschatz und einer geringen Wortfehlerrate, erst in den letzten 20 Jahren und auch nur für eingeschränkte Anwendungsfelder entstanden sind.
Vorgehensweise
Die Abbildung zeigt stark vereinfacht den Aufbau eines Spracherkennungssystems.
Im ersten Schritt werden die analogen Eingangssignale, also die Sprache, digitalisiert. Bei der Vorverarbeitung müssen weiterhin die Datenmengen auf das Wesentliche reduziert werden und auch die in 2.2 erklärten Störfaktoren, die auf die Variabilität der gesprochenen Sprache zurückzuführen sind, herausgefiltert werden. Die Daten liegen nach der Vorverarbeitung als so genannte Referenz- oder Merkmalvektoren vor.
Um die passenden Phoneme zu finden, werden Hidden-Markov-Modelle (HMM) eingesetzt. Dazu werden die akustischen Modelle der Phoneme in Einzelteile zerlegt (je nach Phonemlänge ein Anfangsteil, mehrere Mittelteile und ein Schlussteil). Diese im System gespeicherten Modelle werden dann mit den Eingangssignalen verglichen. Man verwendet verschiedene Algorithmen, um das wahrscheinlichste Phonem zu berechnen.
Aus diesen Phonemen setzt dann ein Wörterbuch die möglichen Wörter oder Wortfolgen zusammen.
Zum Abschluss des Erkennungsprozesses kommt ein Sprachmodell zum Einsatz, welches die Wahrscheinlichkeit der Wortkombination, also den Satzzusammenhang, berechnet und somit das vom Sprecher gemeinte Wort aus der Liste der möglichen Wörter herausfiltern soll. Dazu kann entweder ein Grammatikmodell oder eine Trigrammstatistik verwendet werden:
Grammatikgesteuerte Systeme:
Kommt ein Grammatikmodell zum Einsatz, muss jedem Wort eine genaue grammatikalische Funktion zugeordnet werden. Daher kommen diese Systeme nur zum Einsatz, wenn ein eingeschränkter Wortschatz erkannt werden soll.
Wahrscheinlichkeitsorientierte Systeme:
Bei der Entwicklung von Spracherkennungssystemen haben sich wahrscheinlichkeitsorientierte Systeme bei großem Wortschatzumfang als erfolgreicher herausgestellt. Diese Art von Sprachmodellen berechnen die Kombinationswahrscheinlichkeit von (meistens) drei Wörtern. Man nennt sie deshalb Trigrammstatistiken. Durch diese Vorgehensweise wurde sogar in den meisten Fällen eine Lösung für das Problem der Homophone (z.B.: Rad /Rat) gefunden. Die Statistikwerte werden dem System durch das Einspeisen von Beispieltexten zugeführt.
Anwendungsgebiete
Die Anwendungsgebiete der automatischen Spracherkennung sind nach Schukat-Talamazzini (siehe Literaturliste) folgende:
- Haushalt (z.B.: Licht, Unterhaltungselektronik)
- Büro (z.B.: Informationsabfrage, Gerätebedienung, Diktiergeräte)
- Industrie (z.B.: Inventur)
- Zahlungsverkehr (z.B.: Telefonbanking (kommt heute schon erfolgreich zum Einsatz))
- Personentransport (Fahrplanauskunft)
- öffentliche Informationsdienste (Wettervorhersage, Veranstaltungskalender)
- Ausbildung (Fremdsprachenerwerb)
- Medizin (Diagnosesysteme, Mikroskopie)
- militärischer Bereich (Waffensystemkontrolle, Flugzeugbedienung)
- Behindertenhilfe (Sprechtraining für Gehörlose, Fahrzeugbedienung, Filmuntertitelung)
Außerdem ist die automatische Spracherkennung beispielsweise Teil automatischer Dolmetschsysteme (vgl. auch Maschinelle Übersetzung), wie zum Beispiel Verbmobil, das lautsprachliche Äußerungen aus dem Bereich der Terminabsprache auf deutsch, englisch und japanisch erkennt und übersetzt, damit der Gesprächspartner diese versteht und in seiner Muttersprache antworten kann.
Aktueller Stand
Heute ist die automatische Spracherkennung z.T. bereits praxisreif. Die Hersteller von Spracherkennungssoftware sind z.B. Dragon Systems Inc., IBM, Lernout&Hauspie und Philips. Diese Softwareprodukte haben einen Wortschatz von rund 50.000 bis 130.000 Wörtern (vgl. http://www.spracherkennung.de/service/sebuch.htm ). Zwar ist die Erkennung noch nicht 100% fehlerfrei, aber Hürden, wie umgangssprachliche Aussagen und Dialekt, stellen immer weniger Probleme dar.
Literatur und Links
- Schukat-Talamazzini, E. G. (1995): Automatische Spracherkennung, Friedr. Vieweg und Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden
- Linguatec Sprachtechnologien (Hrsg.): Grundlagen der Spracherkennung. Online verfügbar unter: http://www.spracherkennung.de/products/stt/information/basics (Diese Seite bietet vor allem einen Überblick über die geschichtliche Entwicklung und den aktuellen Stand der automatischen Spracherkennung)
- Wikipedia, deutsche Ausgabe, Artikel über Spracherkennung. Online verfügbar unter: [1], Stand: 17.08.2005
- Marsiske, Hans-Arthur (2005): Endlich versteht der Computer den Menschen. Online verfügbar unter: http://www.welt.de/data/2005/01/24/392563.html Stand: 17.08.2005
- Internetseite des Projektes "Verbmobil" am DFKI. Online verfügbar unter: [2]