„Spracherkennung“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
→Realisierung: Genauere ausführung zur Grafik, die ein Modell eines klassischen HMM-Spracherkenners zeigt. |
Phzh (Diskussion | Beiträge) K Komma vor usw. entfernt, Form |
||
Zeile 29: | Zeile 29: | ||
Charakteristisch für die ''sprecherunabhängige Spracherkennung'' ist die Eigenschaft, dass der Benutzer ohne eine vorhergehende Trainingsphase sofort mit der Spracherkennung beginnen kann. Der Wortschatz ist jedoch auf einige tausend Wörter begrenzt. |
Charakteristisch für die ''sprecherunabhängige Spracherkennung'' ist die Eigenschaft, dass der Benutzer ohne eine vorhergehende Trainingsphase sofort mit der Spracherkennung beginnen kann. Der Wortschatz ist jedoch auf einige tausend Wörter begrenzt. |
||
''Sprecherabhängige Spracherkenner'' werden vom Benutzer vor der Verwendung (in neueren Systemen: während der Verwendung) auf die eigenen Besonderheiten der Aussprache trainiert. Ein zentrales Element ist die individuelle Interaktionsmöglichkeit mit dem System, um ein optimales sprecherabhängiges Ergebnis zu erzielen (eigene Begrifflichkeiten, Abkürzungen, Kürzel |
''Sprecherabhängige Spracherkenner'' werden vom Benutzer vor der Verwendung (in neueren Systemen: während der Verwendung) auf die eigenen Besonderheiten der Aussprache trainiert. Ein zentrales Element ist die individuelle Interaktionsmöglichkeit mit dem System, um ein optimales sprecherabhängiges Ergebnis zu erzielen (eigene Begrifflichkeiten, Abkürzungen, Kürzel usw.). Ein Einsatz in Anwendungen mit häufig wechselnden Benutzern (z. B. Call Center) ist damit nicht sinnvoll. Der Wortschatz ist im Vergleich sehr viel größer als der der sprecherunabhängigen Erkenner. So enthalten aktuelle Systeme mehr als 300.000 Wortformen. |
||
Zu unterscheiden ist ferner zwischen |
Zu unterscheiden ist ferner zwischen |
||
* Front-End-Systemen und |
* Front-End-Systemen und |
||
Zeile 52: | Zeile 52: | ||
=== Lippenlesen === |
=== Lippenlesen === |
||
Um die Erkennungsgenauigkeit noch weiter zu erhöhen, wird teils auch versucht, mithilfe einer Videokamera das Gesicht des Sprechers zu filmen und daraus die [[Lippenlesen|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.<ref>Malaka, Rainer; Butz, Andreas; Hußmann, Heinrich: ''Medieninformatik: Eine Einführung.'' Pearson Studium München 2009, ISBN 978- |
Um die Erkennungsgenauigkeit noch weiter zu erhöhen, wird teils auch versucht, mithilfe einer Videokamera das Gesicht des Sprechers zu filmen und daraus die [[Lippenlesen|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.<ref>Malaka, Rainer; Butz, Andreas; Hußmann, Heinrich: ''Medieninformatik: Eine Einführung.'' Pearson Studium München 2009, ISBN 978-3-8273-7353-3, S. 263.</ref> |
||
Dies entspricht Beobachtungen bei der menschlichen Spracherkennung: [[Harry McGurk]] hatte 1976 festgestellt, dass auch Menschen aus der Lippenbewegung auf die gesprochene Sprache schließen ([[McGurk-Effekt]]). |
Dies entspricht Beobachtungen bei der menschlichen Spracherkennung: [[Harry McGurk]] hatte 1976 festgestellt, dass auch Menschen aus der Lippenbewegung auf die gesprochene Sprache schließen ([[McGurk-Effekt]]). |
||
Zeile 180: | Zeile 180: | ||
* Pirani, Giancarlo, ed.: ''Advanced algorithms and architectures for speech understanding.'' Vol. 1. Springer Science & Business Media, 2013. ISBN 978-3-642-84341-9 |
* Pirani, Giancarlo, ed.: ''Advanced algorithms and architectures for speech understanding.'' Vol. 1. Springer Science & Business Media, 2013. ISBN 978-3-642-84341-9 |
||
* Lawrence R. Rabiner, Ronald W. Schafer: ''Digital Processing of Speech Signals'', 1978, ISBN 0-13-213603-1 |
* Lawrence R. Rabiner, Ronald W. Schafer: ''Digital Processing of Speech Signals'', 1978, ISBN 0-13-213603-1 |
||
* Matthias Woelfel, John McDonough: ''Distant Speech Recognition'', 2009, ISBN 0- |
* Matthias Woelfel, John McDonough: ''Distant Speech Recognition'', 2009, ISBN 0-470-51704-2 |
||
* Lawrence R. Rabiner, Biing-Hwang Juang Juang: ''Fundamentals of Speech Recognition'', 1993, ISBN 0-13-015157-2. |
* Lawrence R. Rabiner, Biing-Hwang Juang Juang: ''Fundamentals of Speech Recognition'', 1993, ISBN 0-13-015157-2. |
||
* Ernst Günter Schukat-Talamazzini: ''Automatische Spracherkennung. Grundlagen, statistische Modelle und effiziente Algorithmen'', Vieweg, Braunschweig / Wiesbaden 1995, ISBN 3-528-05492-1. |
* Ernst Günter Schukat-Talamazzini: ''Automatische Spracherkennung. Grundlagen, statistische Modelle und effiziente Algorithmen'', Vieweg, Braunschweig / Wiesbaden 1995, ISBN 3-528-05492-1. |
Version vom 24. Dezember 2018, 17:06 Uhr
Die Spracherkennung oder auch automatische Spracherkennung ist ein Teilgebiet der angewandten Informatik, der Ingenieurwissenschaften und der Computerlinguistik. Sie beschäftigt sich mit der Untersuchung und Entwicklung von Verfahren, die Automaten, insbesondere Computern, die gesprochene Sprache der automatischen Datenerfassung zugänglich macht. Die Spracherkennung ist zu unterscheiden von der Stimm- bzw. Sprechererkennung, einem biometrischen Verfahren zur Personenidentifikation. Allerdings ähneln sich die Realisierungen dieser Verfahren.
Geschichtliche Entwicklung
Die Forschung an Spracherkennungssystemen begann in den 1960er Jahren, verlief damals allerdings weitestgehend erfolglos: Die von privaten Firmen entwickelten Systeme ermöglichten unter Laborbedingungen die Erkennung von einigen Dutzend Einzelwörtern. Dies lag einerseits an dem begrenzten Wissen in diesem neuen Forschungsgebiet, aber auch an 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örtern entscheiden, welches gemeint war. Diese sogenannten Trigrammstatistiken wurden anschließend ein wichtiger Bestandteil aller Spracherkennungssysteme. 1984 stellte IBM ein erstes Spracherkennungssystem vor, das etwa 5.000 englische Einzelwörter 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.
Zwischen 1988 und 1993 demonstrierte das europäische Projekt SUNDIAL[1] auch die Spracherkennung der Zugfahrpläne in deutscher Sprache.[2] SUNDIAL studierte auch Bewertungskennzahlen der Spracherkennungen.[3][4][5]
1991 stellte IBM erstmals auf der CeBIT ein Spracherkennungssystem vor, das 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 1000 Dollar. 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.
1997 erschienen für den PC-Endbenutzer sowohl die Software IBM ViaVoice (Nachfolger von IBM VoiceType) als auch die Version 1.0 der Software Dragon NaturallySpeaking. 1998 brachte Philips Speech Recognition Systems mit FreeSpeech 98 eine Spracherkennung für PC-Endbenutzer auf den Markt, dessen Steuerung auf das hauseigene digitale Diktiergerät SpeechMike angepasst war, stellte die Produktlinie aber nach der zweiten Version FreeSpeech 2000 wieder ein. 2004 gab IBM Teile seiner Spracherkennungsanwendungen als Open Source frei und sorgte damit für Aufsehen. Branchenkenner vermuteten als Grund taktische Maßnahmen gegen die Firma Microsoft, die ebenfalls in diesem Bereich tätig ist und seit 2007 mit Erscheinen von ihrem PC-Betriebssystem Windows Vista als integralen Bestandteil erstmals Spracherkennungsfunktionen für die Steuerung wie auch für das Diktat anbot, die bis heute in Windows 8.1 weiterentwickelt wurden.
Während die Entwicklung von IBM ViaVoice eingestellt wurde, entwickelte sich Dragon NaturallySpeaking zur gegenwärtig meistverbreiteten sprecherabhängigen Drittanbieter-Spracherkennungssoftware für Windows-PCs und wird von Nuance Communications seit 2005 hergestellt und vertrieben.
Nuance hat 2008 mit dem Erwerb der Philips Speech Recognition Systems, Wien, auch die Rechte an dem Software Development Kit (SDK) SpeechMagic erlangt, welches insbesondere im Gesundheitsbereich Verbreitung gefunden hat. Für iMac-Personal Computer von Apple wurde von dem Unternehmen MacSpeech seit 2006 eine Drittanbieter-Spracherkennungssoftware unter dem Namen iListen vertrieben, die auf Philips-Komponenten basierte. 2008 wurde diese durch MacSpeech Dictate unter Verwendung der Kernkomponenten von Dragon NaturallySpeaking abgelöst und nach dem Erwerb von MacSpeech durch Nuance Communications 2010 in Dragon Dictate (Version 2.0 – seit 2012 wird die Version 3.0 vertrieben) umbenannt.
2007 wurde die Firma Siri Inc. gegründet und im April 2010 von Apple gekauft. Im Oktober 2011 stellte Apple die Spracherkennungssoftware Siri für das iPhone 4s vor, die der Erkennung und Verarbeitung von natürlich gesprochener Sprache (unter Nutzung von Apple Servern) dient und so Funktionen eines persönlichen Assistenten erfüllen soll.
Aktueller Stand
Derzeit kann grob zwischen zwei Arten der Spracherkennung unterschieden werden:
- Sprecherunabhängige Spracherkennung
- Sprecherabhängige Spracherkennung
Charakteristisch für die sprecherunabhängige Spracherkennung ist die Eigenschaft, dass der Benutzer ohne eine vorhergehende Trainingsphase sofort mit der Spracherkennung beginnen kann. Der Wortschatz ist jedoch auf einige tausend Wörter begrenzt.
Sprecherabhängige Spracherkenner werden vom Benutzer vor der Verwendung (in neueren Systemen: während der Verwendung) auf die eigenen Besonderheiten der Aussprache trainiert. Ein zentrales Element ist die individuelle Interaktionsmöglichkeit mit dem System, um ein optimales sprecherabhängiges Ergebnis zu erzielen (eigene Begrifflichkeiten, Abkürzungen, Kürzel usw.). Ein Einsatz in Anwendungen mit häufig wechselnden Benutzern (z. B. Call Center) ist damit nicht sinnvoll. Der Wortschatz ist im Vergleich sehr viel größer als der der sprecherunabhängigen Erkenner. So enthalten aktuelle Systeme mehr als 300.000 Wortformen. Zu unterscheiden ist ferner zwischen
- Front-End-Systemen und
- Back-End-Systemen.
In Front-End-Systemen erfolgt die Verarbeitung der Sprache und Umsetzung in Text unmittelbar, so dass er das Ergebnis praktisch ohne nennenswerte Zeitverzögerung ablesen kann. Die Umsetzung kann auf dem Computer des Benutzers oder Cloud-basiert erfolgen. Durch die unmittelbare Interaktion zwischen Benutzer und System wird hier die höchste Erkennungsqualität erzielt. Ebenso sind Steuerungen des Systems über Kommandos und Einbindung weiterer Komponenten wie Echtzeit-Assistenzsysteme möglich. In Back-End-Systemen wird die Umsetzung hingegen zeitversetzt durchgeführt. Dies geschieht meist auf einem entfernten Server. Der Text steht erst mit Verzögerung zur Verfügung. Solche Systeme sind im medizinischen Bereich noch verbreitet. Da keine unmittelbare Interaktion zwischen dem Sprecher und dem Erkennungsergebnis erfolgt, ist eine herausragende Qualität nur dann zu erwarten, wenn der Nutzer bereits Erfahrung mit Spracherkennung hat.
Sprecherunabhängige Spracherkennung wird bevorzugt im technischen Einsatz verwendet, zum Beispiel in automatischen Dialogsystemen wie etwa einer Fahrplanauskunft. Überall dort, wo nur ein begrenzter Wortschatz verwendet wird, wird die sprecherunabhängige Spracherkennung mit Erfolg praktiziert. So erreichen Systeme zur Erkennung der gesprochenen englischen Ziffern von 0 bis 9 eine nahezu 100-%-Erkennungsquote.
Im Einsatz von sprecherabhängiger Spracherkennung können sehr hohe Erkennungsquoten erreicht werden. Allerdings kann selbst eine Treffsicherheit von 95 Prozent als zu gering empfunden werden, da zu viel nachgebessert werden muss. Entscheidend für den Erfolg sprecherabhängiger Spracherkennung ist die Interaktion zwischen Nutzer und System, die dem Nutzer ermöglicht, direkt oder indirekt Einfluss auf das persönliche Erkennungsergebnis zu nehmen.
Zwischenzeitlich erreichen aktuelle Systeme beim Diktat von Fließtexten auf Personal Computern Erkennungsquoten von ca. 99 Prozent und erfüllen damit für viele Einsatzgebiete die Anforderungen der Praxis, z. B. für wissenschaftliche Texte, Geschäftskorrespondenz oder juristische Schriftsätze. An Grenzen stößt der Einsatz dort, wo der jeweilige Autor ständig neue, von der Software zunächst nicht erkennbare Wörter und Wortformen benötigt, deren manuelle Hinzufügung zwar möglich, aber bei nur einmaligem Vorkommen in Texten desselben Sprechers nicht effizient ist. Daher profitieren z. B. Dichter weniger vom Einsatz der Spracherkennung als z. B. Ärzte und Rechtsanwälte.[6]
Neben der Größe und Flexibilität des Wörterbuches spielt auch die Qualität der akustischen Aufnahme eine entscheidende Rolle. Bei Mikrofonen, die direkt vor dem Mund angebracht sind (zum Beispiel bei Headsets oder Telefonen) wird eine signifikant höhere Erkennungsgenauigkeit erreicht als bei weiter entfernten Raummikrofonen.
Siehe auch: Stenomaske
Wesentlichste Einflussfaktoren in der Praxis sind allerdings eine präzise Aussprache und das zusammenhängende flüssig gesprochene Diktat, so dass Wortzusammenhänge und Wortfolgewahrscheinlichkeiten optimal in den Erkennungsprozess einfließen können.
Die Entwicklung bei der Spracherkennung schreitet sehr schnell voran. Heute (Stand 2016) werden Spracherkennungssysteme u. a. in Smartphones eingesetzt z. B. bei Siri, Google Now, Cortana und Samsungs S Voice. Aktuelle Spracherkennungssysteme müssen nicht mehr trainiert werden. Entscheidend für eine hohe Treffsicherheit außerhalb der Alltagssprache ist dabei die Plastizität des Systems. Um hohen Ansprüchen gerecht werden zu können, bieten professionelle Systeme dem Anwender die Möglichkeit, durch Vorschreiben oder Vorsprechen das persönliche Ergebnis zu beeinflussen.[7]
Lippenlesen
Um die Erkennungsgenauigkeit noch weiter zu erhöhen, wird teils auch 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.[8]
Dies entspricht Beobachtungen bei der menschlichen Spracherkennung: Harry McGurk hatte 1976 festgestellt, dass auch Menschen aus der Lippenbewegung auf die gesprochene Sprache schließen (McGurk-Effekt).
Sprachausgabe
Da es sich bei Kommunikation mit menschlicher Sprache meist um einen Dialog zwischen 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 zu bewältigen sind.
Diskrete und kontinuierliche Sprache
Bei einem Satz in der Alltagssprache werden die einzelnen Wörter ohne wahrnehmbare Pause dazwischen ausgesprochen. Als Mensch kann man sich intuitiv an den Übergängen zwischen den Wörtern orientieren – frühere Spracherkennungssysteme waren 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
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
Bei der kontinuierlichen Sprache gehen die einzelnen Wörter ineinander über, es sind keine Pausen erkennbar.
Größe des Wortschatzes
Durch die Flexion, also die Beugung eines Wortes je nach grammatikalischer Funktion, entstehen aus Wortstämmen (Lexemen) eine Vielzahl von Wortformen. Dies ist für die Größe des Wortschatzes von Bedeutung, da alle Wortformen bei der Spracherkennung als eigenständige Wörter betrachtet werden müssen.
Die Größe des Wörterbuchs hängt stark von der Sprache ab. Zum einen haben durchschnittliche deutschsprachige Sprecher mit circa 4000 Wörtern einen deutlich größeren Wortschatz als englischsprachige mit rund 800 Wörtern. Außerdem ergeben sich durch die Flexion in der deutschen Sprache in etwa zehnmal so viele Wortformen, wie in der englischen Sprache, wo nur viermal so viele Wortformen entstehen. (Quellen angeben)
Homophone
In vielen Sprachen gibt es Wörter oder Wortformen, die eine unterschiedliche Bedeutung haben, jedoch gleich ausgesprochen werden. So klingen die Wörter Meer und mehr zwar identisch, haben jedoch trotzdem nichts miteinander zu tun. Solche Wörter nennt man Homophone. Da ein Spracherkennungssystem im Gegensatz zum Menschen in der Regel kein Weltwissen hat, kann es die verschiedenen Möglichkeiten nicht anhand der Bedeutung unterscheiden.
Die Frage nach der Groß- oder Kleinschreibung fällt auch in diesen Bereich.
Formanten
Auf akustischer Ebene spielt insbesondere die Lage der Formanten eine Rolle: Die Frequenzanteile gesprochener Vokale konzentrieren sich typischerweise auf bestimmte unterschiedliche Frequenzen, die Formanten genannt werden. Für die Unterscheidung der Vokale sind insbesondere die zwei tiefsten Formanten von Bedeutung: 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
Konsonanten sind vergleichsweise schwierig zu erkennen; einzelne Konsonanten (sogenannte Plosive) sind zum Beispiel nur durch den Übergang zu den benachbarten Lauten feststellbar, wie folgendes Beispiel zeigt:
Man erkennt, dass innerhalb des Wortes sprechen der Konsonant p (genauer: die Verschlussphase des Phonems 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.
Andere Konsonanten sind durchaus an charakteristischen spektralen Mustern erkennbar. So zeichnen sich etwa der Laut s wie auch der Laut f (Reibelaute) durch einen hohen Energieanteil in höheren Frequenzbändern aus. Bemerkenswert ist, dass die für die Entscheidung dieser beiden Laute relevanten Informationen größtenteils außerhalb des in Telefonnetzen übertragenen Spektralbereichs (bis zirka 3,4 kHz) liegt. Dadurch ist es zu erklären, dass das Buchstabieren über Telefon ohne Verwendung eines speziellen Buchstabieralphabets auch in der Kommunikation zwischen zwei Menschen ausgesprochen mühselig und fehleranfällig ist.
Dialekte und Soziolekte
Auch wenn ein Spracherkennungsprogramm bereits gut auf eine Hochsprache eingestellt ist, bedeutet dies jedoch nicht, dass es jede Ausformung dieser Sprache verstehen kann. Besonders im Fall von Dialekten und Soziolekten stoßen solche Programme häufig an ihre Grenzen. Menschen sind meist in der Lage, sich schnell auf die möglicherweise unbekannte Mundart ihres Gegenübers einzustellen – Erkennungssoftware ist dazu nicht ohne weiteres in der Lage. Dialekte müssen dem Programm hierfür erst in aufwendigen Prozessen beigebracht werden.[9]
Zudem muss auch beachtet werden, dass sich gelegentlich und regional abhängig Wortbedeutungen verändern können. So meinen Bayern und Berliner beispielsweise unterschiedliche Süßspeisen, wenn von „Pfannkuchen“ die Rede ist. Ein Mensch kann durch sein kulturelles Hintergrundwissen derartige Missverständnisse leichter vermeiden und aufklären als es eine Software aktuell vermag.
Lösungsstrategien bei Kommunikationsproblemen
Sollte es zu Verständnisproblemen in einer Kommunikation kommen, tendieren Menschen naturgemäß dazu besonders laut zu sprechen oder missverstandene Begriffe ausführlicher zu umschreiben. Dies kann sich jedoch einem Computer gegenüber kontraproduktiv auswirken, da dieser auf normale Gesprächslautstärke trainiert ist und außerdem eher mit Schlüsselwörtern arbeitet als Sinnzusammenhänge zu erfassen.
Realisierung
Ein Spracherkennungssystem besteht aus folgenden Bestandteilen: Einer Vorverarbeitung, die die analogen Sprachsignale in die einzelnen Frequenzen zerlegt. Anschließend findet die tatsächliche Erkennung mit Hilfe akustischer Modelle, Wörterbücher und Sprachmodellen statt.
Vorverarbeitung
Die Vorverarbeitung besteht im Wesentlichen aus den Schritten Abtastung, Filterung, Transformation des Signals in den Frequenzbereich und Erstellen des Merkmalsvektors.
Abtastung
Bei der Abtastung wird das analoge (kontinuierliche) Signal digitalisiert, also in eine elektronisch verarbeitbare Bitfolge zerlegt, um es einfacher weiterverarbeiten zu können.
Filterung
Die wichtigste Aufgabe des Arbeitsschrittes Filterung ist die Unterscheidung von Umgebungsgeräuschen wie Rauschen oder z. B. Motorengeräuschen und Sprache. Dazu wird zum Beispiel die Energie des Signals oder die Nulldurchgangsrate herangezogen.
Transformation
Für die Spracherkennung ist nicht das Zeitsignal, sondern das Signal im Frequenzbereich relevant. Dazu wird es mittels FFT transformiert. Aus dem Resultat, dem Frequenzspektrum, lassen sich die im Signal vorhandenen Frequenzanteile ablesen.
Merkmalsvektor
Zur eigentlichen Spracherkennung wird ein Merkmalsvektor erstellt. Dieser besteht aus voneinander abhängigen oder unabhängigen Merkmalen, die aus dem digitalen Sprachsignal erzeugt werden. Dazu gehört neben dem schon erwähnten Spektrum vor allem das Cepstrum. Merkmalsvektoren lassen sich z. B. mittels einer zuvor zu definierenden Metrik vergleichen.
Cepstrum
Das Cepstrum wird aus dem Spektrum gewonnen, indem die FFT des logarithmierten Betrags-Spektrum gebildet wird. So lassen sich Periodizitäten im Spektrum erkennen. Diese werden im menschlichen Vokaltrakt und durch die Stimmbandanregung erzeugt. Die Periodizitäten durch die Stimmbandanregung überwiegen und sind daher im oberen Teil des Cepstrums zu finden, wohingegen der untere Teil die Stellung des Vokaltraktes abbildet. Dieser ist für die Spracherkennung relevant, daher fließen nur diese unteren Anteile des Cepstrums in den Merkmalsvektor ein. Da sich die Raumübertragungsfunktion – also die Veränderung des Signals z. B. durch Reflexionen an Wänden – zeitlich nicht verändert, lässt diese sich durch den Mittelwert des Cepstrums darstellen. Dieser wird deshalb häufig vom Cepstrum subtrahiert, um Echos zu kompensieren. Ebenso ist zur Kompensation der Raumübertragungsfunktion die erste Ableitung des Cepstrum heranzuziehen, die ebenfalls in den Merkmalsvektor einfließen kann.
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 Eingangssignalen 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 Viterbi-Algorithmus 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 Übergängen 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 zur Erkennung verwendet werden. Die Entwicklung hatte zunächst durchaus positive Ergebnisse gebracht, wurde dann aber zugunsten der HMMs wieder aufgegeben. Erst in den letzten Jahren wurde dieses Konzept im Rahmen von Deep Neural Networks wiederentdeckt. Spracherkennungssysteme, die auf Deep Learning aufsetzen, liefern Erkennungsraten im menschlichen Bereich.[10]
Es gibt aber auch einen hybriden Ansatz, bei dem die aus der Vorverarbeitung gewonnenen Daten durch ein neuronales Netzwerk vor-klassifiziert werden, und die Ausgabe des Netzes als Parameter für die Hidden Markov Modelle genutzt wird. Dies hat den Vorteil, dass man ohne die Komplexität der HMMs zu erhöhen auch Daten von kurz vor und kurz nach dem gerade bearbeiteten Zeitraum nutzen kann. Außerdem kann man so die Klassifizierung der Daten und die kontextsensitive Zusammensetzung (Bildung von sinnvollen Wörtern/Sätzen) voneinander trennen.
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 unter Verwendung Formaler Grammatiken oder ein statistisches Modell mit Hilfe von N-Grammen eingesetzt werden.
Eine Bi- oder Trigrammstatistik speichert die Auftrittswahrscheinlichkeit von Wortkombinationen aus zwei oder mehr Wörtern. Diese Statistiken werden aus großen Textkorpora (Beispieltexten) gewonnen. Jede von der Spracherkennung ermittelte Hypothese wird anschließend geprüft und ggf. verworfen, falls 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.
Mit Trigrammen sind im Vergleich zu Bigrammen theoretisch zutreffendere Schätzungen der Auftrittswahrscheinlichkeiten der Wortkombinationen möglich. Allerdings müssen die Beispieltext-Datenbanken, aus denen die Trigramme extrahiert werden, wesentlich größer sein als für Bigramme, denn es müssen sämtliche zulässigen Wortkombinationen aus drei Wörtern in statistisch signifikanter Anzahl darin vorkommen (d. h.: jede wesentlich mehr als einmal). Kombinationen von vier oder mehr Wörtern wurden lange nicht verwendet, weil sich im Allgemeinen keine Beispieltext-Datenbanken mehr finden lassen, die sämtliche Wortkombinationen in genügender Anzahl beinhalten. Eine Ausnahme bildet hier Dragon, welches ab der Version 12 auch Pentagramme verwendet – was die Erkennungsgenauigkeit in diesem System steigert.
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 meist nur für einen begrenzten Wortschatz und Spezialanwendungen verwendet, nicht aber in der gängigen Spracherkennungssoftware für PCs.
Evaluation
Die Güte eines Spracherkennungssystems lässt sich mit verschiedenen Zahlen angeben. Neben Erkennungsgeschwindigkeit – meist als Echtzeitfaktor (EZF) angegeben – lässt sich die Erkennungsgüte als Wortakkuratheit oder Worterkennungsrate messen.
Vokabulare
Für die Integration von professionellen Spracherkennungssystemen gibt es bereits vordefinierte Vokabulare, die die Arbeit mit der Spracherkennung erleichtern sollen. Diese Vokabulare werden etwa im Umfeld von SpeechMagic ConText und im Bereich von Dragon Datapack genannt. Je besser das Vokabular auf den vom Sprecher verwendeten Wortschatz und Diktierstil (Häufigkeit der Wortfolgen) angepasst ist, desto höher ist die Erkennungsgenauigkeit. Ein Vokabular beinhaltet neben dem sprecherunabhängigen Lexikon (Fach- und Grundwortschatz) auch ein individuelles Wortfolgemodell (Sprachmodell). Im Vokabular sind alle der Software bekannten Wörter in der Phonetik und Orthografie hinterlegt. Auf diese Weise wird ein gesprochenes Wort an seinem Klang durch das System erkannt. Wenn sich Wörter in Bedeutung und Schreibweise unterscheiden, aber gleich klingen, greift die Software auf das Wortfolgemodell zurück. In ihm ist die Wahrscheinlichkeit definiert, mit der bei einem bestimmten Benutzer ein Wort auf ein anderes folgt. Spracherkennung in Smartphones verwendet die gleichen technischen Konzepte, jedoch ohne dass der Nutzer Einfluss auf das vordefinierte Vokabular hat. Neuere Technologien lösen sich von der Vorstellung einer starren hinterlegten Wortliste, da Komposita gebildet werden können. Allen Systemen ist gemein, dass sie nur durch Korrekturen des jeweiligen Benutzers individuelle Wörter und Wortfolgen lernen.
Anwendungsbeispiele
Die Spracherkennung wird heutzutage u. a. in Smartphones eingesetzt z. B. bei Siri, Google Now, Cortana, Amazons Echo / Alexa und Samsungs S Voice. Mit der nun hohen Zuverlässigkeit in der Alltagssprache (z. B. Smartphones) oder in der Fachsprache (individualisierbare professionelle Systeme) können Sprache in Text gewandelt (speech to text), Befehle und Steuerungen ausgeführt (command and control) oder semantische Analysen durchgeführt werden (language understanding).
Siehe auch
Literatur
- Pirani, Giancarlo, ed.: Advanced algorithms and architectures for speech understanding. Vol. 1. Springer Science & Business Media, 2013. ISBN 978-3-642-84341-9
- Lawrence R. Rabiner, Ronald W. Schafer: Digital Processing of Speech Signals, 1978, ISBN 0-13-213603-1
- Matthias Woelfel, John McDonough: Distant Speech Recognition, 2009, ISBN 0-470-51704-2
- Lawrence R. Rabiner, Biing-Hwang Juang Juang: Fundamentals of Speech Recognition, 1993, ISBN 0-13-015157-2.
- Ernst Günter Schukat-Talamazzini: Automatische Spracherkennung. Grundlagen, statistische Modelle und effiziente Algorithmen, Vieweg, Braunschweig / Wiesbaden 1995, ISBN 3-528-05492-1.
Quellen
- ↑ http://cordis.europa.eu/project/rcn/8371_en.html
- ↑ Peckham, Jeremy: Speech Understanding and Dialogue over the telephone: an overview of the ESPRIT SUNDIAL project. HLT. 1991.
- ↑ Danieli, Morena; Elisabetta Gerbino: Metrics for evaluating dialogue strategies in a spoken language system. Proceedings of the 1995 AAAI spring symposium on Empirical Methods in Discourse Interpretation and Generation. Vol. 16. 1995.
- ↑ Ciaramella, Alberto: A prototype performance evaluation report. Sundial workpackage 8000 (1993).
- ↑ Charpentier, F., Micca, G., Schukat-Talamazzini, E., Thomas, T. (1995): The recognition component of the SUNDIAL project. In: Speech Recognition and Coding (pp. 345–348). Springer Berlin Heidelberg.
- ↑ Michael Spehr: Diktieren ist viel schneller als Tippen. In: FAZ.net. 22. September 2010, abgerufen am 13. Oktober 2018.
- ↑ L. Lamel, J.-L. Gauvain: Speech Recognition. Oxford Handbooks Online (Vol. 14). Oxford University Press, 2005. doi:10.1093/oxfordhb/9780199276349.013.0016
- ↑ Malaka, Rainer; Butz, Andreas; Hußmann, Heinrich: Medieninformatik: Eine Einführung. Pearson Studium München 2009, ISBN 978-3-8273-7353-3, S. 263.
- ↑ Ulf Schoenert: Spracherkennung: Die Normalität des Gespräches mit Maschinen. In: Zeit Online. 14. Februar 2012, abgerufen am 6. Februar 2016.
- ↑ https://www.infoq.com/news/2017/03/ibm-speech-recognition
Weblinks
- Leitfaden „Barrierefrei hören und kommunizieren in der Arbeitswelt“: Spracherkennungssoftware – Das Projekt hörkomm.de unterstützt die Inklusion schwerhöriger Beschäftigter.