Spracherkennung Hauptseminar Interaktion von Mensch und Roboter Vladislav Lazarov lazarov@in.tum.de
Was ist Spracherkennung?
Was ist (automatische) Spracherkennung? Identifikation und Analyse gesprochener Sprache aus gesprochene Äußerung unbekannten Inhaltes die Wörter zu Rekonstruieren Digitalisierung eines analoges Sprachsignals Benutzung verschiedener Algorithmen/Verfahren 15.10.07 Vladislav.Lazarov@in.tum.de 3
Einsatzgebiete Quelle: Automatische Spracherkennung von Schukat-Talamazinni 15.10.07 Vladislav.Lazarov@in.tum.de 4
Einsatzgebiete Sprachdialogsysteme (Telefonische Auskunft) Diktierfunktionen Steuerung von Geräten Automatisierte Datenerfassung (Call centers) Medizinische Unerstützung bei Krankheiten Spiele / Entertainment Suche in Audioarchiven Maschinelles Dolmetschen Sprecheridentifikation und -verifikation 15.10.07 Vladislav.Lazarov@in.tum.de 5
Probleme bei Spracherkennung Kontinuierität der Äußerungen Großer Wortschatz, Kombinatorik der Satzbildung Störquellen (Umgebungsgeräusche) Sprechweise (Tempo, Emotion, Aussprache, Artikulationsdruck) 15.10.07 Vladislav.Lazarov@in.tum.de 6
Probleme bei Spracherkennung individuelle Sprechermerkmale (Alter, Geschlecht, Gesundheitszustand, etc.) habituelle Sprechermerkmale (Dialekt, nicht native Sprache) Homophone (Meer / Mehr) 15.10.07 Vladislav.Lazarov@in.tum.de 7
Anforderungen Robustheit Sprecherunabhängigkeit Akustische Variabilität Unterschiede in der Sprechweise Identifizierung von Mehrdeutigkeit (Homophone, Wortgrenzen, syntaktische Mehrdeutigkeit, etc.) Echtzeitverhalten 15.10.07 Vladislav.Lazarov@in.tum.de 8
Voraussetzungen für automatische Spracherkennung
Gesprochene Sprache Erzeugung eines Sprachschalls durch eine folge von artikulatorische Bewegungen Bandpasssignal (Hauptspekralanteile im Frequenzbereich von ca. 300-6000 Hz) Phoneme kleinste bedeutungsunterscheidende Lauteinheit 15.10.07 Vladislav.Lazarov@in.tum.de 10
Gesprochene Sprache Silbe: kleinste Lautgruppe im natürlichen Sprechfluss, phonetische Einheit Intonation: Akzentuierung sprachlicher Einheiten zum Zweck der Wortunterscheidung Ausspracheverschleifung: Reduktionskette von der Standardaussprache 15.10.07 Vladislav.Lazarov@in.tum.de 11
Spracherkennungsarten einzelne Wörter Gleichwahrscheinlichkeit der Wörter Sprachsteuerung kontinuierliche Sprache Wahrscheinlichkeitstheoretische Ansätze Diktiersysteme spontan gesprochene Sprache Höchste Komplexität 15.10.07 Vladislav.Lazarov@in.tum.de 12
Allgemeiner Prozeß Quelle: Automatische Spracherkennung von Schukat-Talamazinni 15.10.07 Vladislav.Lazarov@in.tum.de 13
Vorverarbeitung
Vorverarbeitung Quelle: Automatische Spracherkennung von Schukat-Talamazinni 15.10.07 Vladislav.Lazarov@in.tum.de 15
Abtastung und Quantisierung Aufzeichnung des Sprachsignals (z.b. mittels Mikrofon) Überführung des kontinuierlichen Signals in diskrete Wertefolge Informationsverlust möglich wg. geringe Abtastrate oder Verzerrungen 15.10.07 Vladislav.Lazarov@in.tum.de 16
Abtastung und Quantisierung Quelle: Dissertation von Daniel Willett 15.10.07 Vladislav.Lazarov@in.tum.de 17
Merkmalgewinnung Quelle: Automatische Spracherkennung von Schukat-Talamazinni 15.10.07 Vladislav.Lazarov@in.tum.de 18
Merkmalgewinnung Extraktion einer diskreten zeitlichen Folge von Merkmalsvektoren x(m) digitale Repräsentation des Sprachschalls Reduktion der Datenmenge Erhaltung von wichtige Information für Sprachlautunterscheidung Herausfilterung von sprecherabhängige Informationsanteile und nicht-relevante Umgebungsinformationen 15.10.07 Vladislav.Lazarov@in.tum.de 19
Hidden-Markov-Modelle Typen von HMM: Diskrete Hidden-Markov-Modelle Kontinuierliche Hidden-Markov-Modelle Hybride Hidden-Markov-Modelle Schätzung der Parameter duch Algorithmen (Baum- Welch, Viterbi) Optimierung durch Maximum Likelihood Verfahren Trainingskriterium, um Pr[X W] der Beobachtungen bzgl. des Modells zu maximieren. 15.10.07 Vladislav.Lazarov@in.tum.de 26
Hidden-Markov-Modelle: Probleme Wie kann die Wahrscheinlichkeit der beobachteten Sequenz effizient ermittelt werden? Wie kann für eine Beobachtungssequenz ein optimalen Zustandspfad festgelegt werden? Wie können Parameter eines HMMs angepasst werden, so dass sie die Wahrscheinlichkeit der Sequenz bei gegebenem Modell optimal ist? 15.10.07 Vladislav.Lazarov@in.tum.de 27
Alternative: Neuronale Netze Radiale-Basisfunktionsnetze Quelle: Dissertation von Daniel Willett 15.10.07 Vladislav.Lazarov@in.tum.de 28
Sprachmodellierung 15.10.07 Vladislav.Lazarov@in.tum.de 29
Akustische Modellierung Quelle: Automatische Spracherkennung von Schukat-Talamazinni 15.10.07 Vladislav.Lazarov@in.tum.de 30
Sprachmodellierung Bestimmung der a-priori Auftrittswahrscheinlichkeit P[W] beliebiger Wortsequenzen W typische Wortkombinationen für Sprache/Anwendung unwahrscheinliche Wortfolgen Information über Struktur der Sprache 15.10.07 Vladislav.Lazarov@in.tum.de 31
Sprachmodellierung Wortpaar Grammatiken N-Gramm Grammatiken Backoff-N-Gramm Grammatiken 15.10.07 Vladislav.Lazarov@in.tum.de 32
Dekodierung der wahrscheinlichsten Wortfolge Wahrscheinlichkeitstheoretischer Ansatz W* = argmax(pr[w X]) Pr[X W] Auftrittswahrscheinlichkeit der akustischen Beobachtung X der Worfolge W (HMM) Pr[W] absolute, unbedingte Wahrscheinlichkeit der Wortfolge W (Sprachmodell) mit Bayes-Formel: W* = argmax(pr[w].pr[x W]) 15.10.07 Vladislav.Lazarov@in.tum.de 33
Zusammenfassung und Ausblick 15.10.07 Vladislav.Lazarov@in.tum.de 34
Zusammenfassung Quelle: Dissertation von Daniel Willett 15.10.07 Vladislav.Lazarov@in.tum.de 35
Ausblick Gesprochene Sprache verstehen Semantische Netze: Knoten, Kanten, verschiedene Beziehungen Scripts: Vorwissen über Abläufe (z.b. Restaurant- Script) Erkennung und Analyse spontan gesprochener Sprache 15.10.07 Vladislav.Lazarov@in.tum.de 36
Speech is the mirror of the mind - Seneca (5BC - 65AD) 15.10.07 Vladislav.Lazarov@in.tum.de 37
Quellen Ernst Günter Schukat-Talamazzini Automatische Spracherkennung Lawrence R. Rabiner A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition Daniel Willet Beiträge zur statistischen Modellierung und effizienten Dekodierung in der automatischen Spracherkennung Stephan Euler Grundkurs: Spracherkennung 15.10.07 Vladislav.Lazarov@in.tum.de 38
Backup 15.10.07 Vladislav.Lazarov@in.tum.de 39
Hamming Fensterfunktion Quelle: Wikipedia 15.10.07 Vladislav.Lazarov@in.tum.de 40
Inverse DCT 15.10.07 Vladislav.Lazarov@in.tum.de 41
Mel Frequency Cepstral Coefficients Mel: Maßeinheit für die psychoakustische Größe Tonheit trennen von Anregungssignal und Impulsantwort 15.10.07 Vladislav.Lazarov@in.tum.de 42
Mel Frequency Cepstral Coefficients Mel: Maßeinheit für die psychoakustische Größe Tonheit trennen von Anregungssignal und Impulsantwort 15.10.07 Vladislav.Lazarov@in.tum.de 43
Hidden-Markov-Modelle Beispiel: Wetter S = (s1=regnerisch, s2=bewölkt, s3=sonnig) Startwahrscheinlichkeit = (0, 0, 1) Wahrscheinlichkeit für O:={s3,s3,s1,s1,s3,s2,s3}? P=(O,λ)=π 3 *a 33 *a 33 *a 13 *a 11 *a 31 *a 23 *a 32 = 0,0001536 Quelle: A Tutorial on Hidden Markov Models... von Lawrence Rabiner 15.10.07 Vladislav.Lazarov@in.tum.de 44
Baum-Welch Algorithmus Instanz des EM-Algorithmus benutzt um unbekannten Parameter von HMM zu finden erwartungsmaximierender Algorithmus Maximalwahrscheinlichkeitsschätzungen posterior mode Schätzungen Übergangs- und Emissionswahrscheinlichkeit, wenn nur die Emissionsdaten als Trainingsdaten gegeben 15.10.07 Vladislav.Lazarov@in.tum.de 45
Baum-Welch Algorithmus 2. Schritte: forward probability und backward probability Frequenz der Übergangs-Emissions-Paar-Werte dividiert durch die Wahrscheinlichkeit des Gesamtstrings damit Wahrscheinlichkeit wegen Unterlauf nicht 0 wird kann man deren Logarithmen addieren 15.10.07 Vladislav.Lazarov@in.tum.de 46
Viterbi-Algorithmus v[0][0] = 1.0 for k = 1 to K v[k][0] = 0.0 end for for i = 1 to length do for j = 1 to number_states do maxindex = 1; max = NEGATIVE_INFINITY; for k = 0 to number_states do result = ek(xi) * v[k][i 1] * t[k][j]; if result > max max = result; maxindex = k; endif endfor endfor endfor 15.10.07 Vladislav.Lazarov@in.tum.de 47
Bayes Formel 15.10.07 Vladislav.Lazarov@in.tum.de 48