Institut für Anthropomatik Aussprachemodellierung 15.12.2010 Interactive Systems Labs
Zwei Arten von Fehlern durch falsche Aussprachen im Wörterbuch: Fehler 1: Im Training werden die Modelle mit Trainingsdaten verschmutzt, die eigentlich nicht zu ihnen gehören Die Modelle werden unschärfer und verrauschter als sie sein könnten. Fehler 2: Beim Testen werden die falschen (u.u. richtig trainierten) Modelle angewandt Der Wahrscheinlichkeit des richtigen HMMs auf den Testdaten wird unterschätzt, die W keit einiger falscher HMMs wird u.u. überschätzt. 2
Manuelles Niederschreiben Manuelle Regeln Automatisches Lernen aus Trainingsmaterial: Inkrementelles vs. Batch Lernen Lernen von Regeln, vs. Lernen von statistischen Modellen Interaktives Lernen Spätere, manuelle Kontrolle 3
Englische Wörterbücher haben typischerweise zwischen 38-45 Phonemen Unterschiedliche Quellen verwenden unterschiedliche Phonemsätze Phonemsätze müssen vereinheitlicht werden auf einen, evtl. den eigenen Phonemsatz Beispiel: CMU Dictionary: Amerikanisches Englisch 39 Phoneme >125.000 Wörter Beispiel BEEP Dictionary: British English Kompilation aus mehreren Quellen >250.000 Wörter 4
Benötigt: Alignment zwischen Graphemen und Phonemen: Beispiel für das Englische Wort checked : c h e c k e d tš - ε k - t Alignments können automatisch gefunden werden: (alle möglichen generieren, durch hinzufügen von ε in allen möglichen Positionen) Wahrscheinlichste Alignment nehmen U.U. ein Buchstabe auf mehrere Phoneme abgebildet 5
Mit dem Alignment kann man: Lernen der Aussprache eines Buchstaben in seinem Kontext: Z.B. mit Entscheidungsbäumen Lernen der Aussprachen mit Mitteln aus der maschinellen Übersetzung (extrahiere Phrasen, suche wahrscheinlichste Übersetzung von Graphemen zu Phonemen) Beispiel Ergebnisse für Entscheidungsbäume (10% des Wörterbuchs als Testmaterial): Lexikon Korrekt Sprache Phoneme Wörter OALD British English 95,80% 74,56% CMUDICT U.S. English 91,99% 57,80% BRULEX Französisch 99,0% 93,03% DE-CELEX Deutsch 98,79% 89,38% Thai Thai 95,60% 68,76% 6
1. Nimm die 200-500 häufigsten Worte einer Sprache (Beobachtung: häufige Worte haben oft eine unregelmäßige Aussprache) 2. Lerne Graphem-zu-Phonem Regeln auf diesen Wörtern 3. Nimm die nächsten 100 Wörter mit hoher Frequenz, sage Aussprache gemäß Regeln voraus: Wenn korrekt, füge ins Wörterbuch ein Wenn falsch, korrigiere und füge ins Wörterbuch ein 4. Wenn gewünschte Vorhersagegenauigkeit erreicht, terminiere. 7
Problem: Das gleiche Wort kann unterschiedlich ausgesprochen werden, wegen: unterschiedlichen Kontexten (Koartikulationseffekte) Dialekte ("Beispiel" vs. "Beispui", "zwonzge" vs. "zwantsch",...) Verschiedene, korrekte Aussprachen ("zwanzig" und "zwanzich", "Schemie" und "Kemie",...) korrekt anders als häufige/übliche Aussprache ("Super" vs. "Zuper", "und" vs. "unt",...) Lösung: füge mehrere Einträge ins Aussprachelexikon ein bei Aufbau eines Wort-HMMs, erlaube verschiedene Zustandsfolgen 8
Beispiele: FÜNFUNDZWANZIG(1) F Ü N F U N D Z V A N Z I G FÜNFUNDZWANZIG(2) F Ü N F U N D Z V A N Z I H FÜNFUNDZWANZIG(3) F Ü M U N D Z V A N Z I G FÜNFUNDZWANZIG(4) F Ü M U N D Z V A N Z I H FÜNFUNDZWANZIG(5) F Ü N F U N Z V A N Z I G JA(1) J A JA(2) JO EIN(1) AIN EIN(2) N ES(1) E S ES(2) S 9
Wie findet man sinnvolle Aussprachevarianten? Experte (Linguist, Phonetiker) schreibt alles auf: Problem: Akustische Laute entsprechen nicht immer phonetischen/linguistischen Einheiten. Spracherkennungsexperte schreibt alles auf: Oft am erfoglreichsten, aber auch am teuersten. Sammeln von Regeln and Anwenden derselben auf vorhandene Aussprachen: Regeln sind sowas wie z.b....ig ->... I G,... I CH,... Automatisches Finden von Regeln: Führe Erkenung auf Trainingsdaten durch. Identifiziere die häufigsten phonemsequenzen für bestimmte Wörter. (Dictionary Learning) 10
Varianten: einen AI N E N einen AI N einen N haben wir H A B N W I ER haben wir H A M ER einmal AI N M A L einmal M A L Gemeint: Nimm mal einen Hammer Gesagt: Nimm mal n Hammer Erkannt ohne Varianten: Nimm mal Hammer Erkannt mit vielen Varianten: einen im einmal einen haben wir 11
zu viele (sehr kurze) Varianten können leicht Erkennungsfehler herbeiführen => ggf. sollten beim Erkennen nicht dieselben Varianten wie im Training verwendet werden Noch ein Problem: 2 Varianten für sieben (Z IE B E N und Z IE M), 3 Varianten für und (U N D, U N T und U N), 2 Varianten für zwan- (Z W A N und Z W O N), 3 Varianten für -zig (Z I G, Z I CH und Z G E) => viele Varianten für siebenundzwanzig. 12
HMM ohne Varianten: HMM mit Varianten: Wo kommen die Aussprachevarianten her? p/n? Oder muss man alle Aussprachevarianten gesehen haben in Training? Was am Wortende? wenn Wahrscheinlichkeitssumme der Übergänge 1,0 sein soll, werden Wörter mit vielen Varianten benachteiligt: Wort 1: 0,5 * 0,5 * 0,5, Wort 2: 0,5 * 0,1 * 0,5 13
ZWANZIG: Z V A N Z I G KÖNIG Z V A N Z I CH K Ö N I G K Ö N I CH FLUGZEUG F L U G Z EU G F L U CH Z EU CH HABEN OBEN H A B E N H A B N H A M O B E N O B N O M SIEBEN Z I B E N Z I B N Z I M BRAV B R A V B R A F POSITIV P O Z I T I V P O Z I T I F OKTAVE O K T A V E O K T A F E SUPER S U P ER Z U P ER DSCHUNGEL D ZH U NG L T SCH U NG L GARAGE G A R A ZH E G A R A SCH E JOB D ZH O B T SCH O P UND WIRD U N D U N T WALD GIB V I ER D V I ER T V A L D V A L T G I B G I P 14
Ausfall des Glotallverschlusses (GL AU T O => AU T O) Schwa-Elision (H A B E2 N => H A B N) Reduktion von R zu Schwa (P O R T => P O ER T) Änderung der Vokaldauer (D U => D U:) Änderung der Vokalqualität (B Ä K ER => B E K ER) Stimmhaft nach Stimmlos (B R A V => B R A F, S E K S => Z E K S, U N D => U N T) Gleichlautverschmelzung (U N N Ü Z => U N Ü Z) und andere seltenere 15
Nachteile von Experten Experten tendieren dazu, korrekte Aussprachen ins Lexikon aufzunehmen Experten übersehen leicht einige evtl. wichtige Varianten Experten sind teuer und langsam und nie da, wenn man sie braucht Nachteile von Regeln Regeln erkennen Ausnahmen nicht immer (haben => H A M, aber nicht Ben => M) Regeln sind meist zu undifferenziert Regeln produzieren oft zu viele mögliche Varianten (siebenundzwanzig) Datengetriebener Algorithmus: Verwende Erkenner, der nur einzelne Phoneme als Vokabular hat Erkenner liefert (Phonem-)Hypothesen für die gesamten Trainingsdaten Nimm die häufigsten Phonemsequenzen für jedes Wort als Variante auf Verwende ggf. Heuristiken basierend auf Phonemkonfusion zur Ablehung von Varianten 16
Experimentelles Ergebnis: EIN KÖNNEN 56% AI N 16% AI N E N 9% A N 73% K Ö N 8% K Ö N E M 4% K Ö N E Fehlerreduktion: 7%-9% relativ 17
Statt Phonemerkenner, nimm Silbenerkenner Für Deutsch: Einheit Wörter Phoneme Silben Anzahl 10 5-10 6 ca. 50 ca. 10 4 # 2-silbige 10 4-10 5 >10 10 ca. 10 8 Jetzt statt verwende Berechne Phonotaktik (Übergangswahrscheinlichkeiten von Phonemen in einer Silbe) auf zu modellierenden Wörtern (ggf. den seltenen Trainingswörtern für Neues-Wort-Problem) Ein großer Zustandsautomat, der komplette deutsche Phonotaktik enthält: ca. 5000 Zustände Erkennung nicht im Lexikon vorhandener Wörter: ca. 10% - 30% davon werden erkannt 18
Normal: Regeln: "einen => N", "einen => N E N", "einen => EI N E N", "einen => EI N hast => H A S T", "hast => H A S", "hast => H A T "du => D U", "du => U", "du => T E Mit FTA: zusätzlich noch: nicht eingezeichnete SILENCE und MUMBLE Wörter 19
Idee: Stöpsle Radio-Kopfhörerausgang (oder mehrere) in Soundkarte von PC, lasse Erkennertraining laufen. Nach ein paar Jahren kommt ein Super-Erkenner heraus. Algorithmus: Erkenner erkennt etwas (vermutlich mit Fehlern), verwendet Hypothese als Transkription für Viterbi- oder Forward- Backward-Training Problem: Unbekannte Wörter können weder erkannt noch trainiert werden => ein Detektor für unbekannte Wörter + Algorithmus der Phonemsequenz liefert wäre schön Vorgehen: Verwende spezielles Modell für unbekannte Wörter=> der Erkenner erkennt hoffentlich [UNK] wenn unbekanntes Wort extrahiere [UNK]-erkannte Segmente, lasse Phonemerkenner darauf laufendetektiere wiederholte Beobachtungen gleicher Phonemfolgen => neues Wort 20
Feststellung: In verschiedenen emotionalen Zuständen sprechen Menschen Äußerungen verschieden aus. ja indifferent = J A, ja traurig = J OH Stimmung Indifferent Glücklich Ängstlich Verärgert Traurig WA 72% 52% 46% 64% 45% Experiment: sammle Daten (gleiche Äußerung) in verschiedenen Stimmungslagen der Spender bestimme für Emotionen typische Zustandsfolgen (Varianten) zur Ermotionserkennung: berechne für jede Variante v die Wahrscheinlichkeit der Beobachtung p(x v) erkenne Emotion deren Varianten am häufigsten maximale Wahrscheinlichkeit haben experimentelles Ergebnis: ca. 60%- 80% korrekte Emotionserkennung trainiere emotionsabhängige Erkenner und verwende passenden Erkenner Stimmung Indifferent Glücklich Ängstlich Verärgert Traurig WA 78% 67% 68% 64% 70% 21
22
Manche Aussprachevarianten werden besser impliziert modelliert: Beispiel Affectionate: AX F EH K SH AX N AX T AX F EH K SH AX N IX T Statt Aussprachevariante: Reichere GMM von AX mit Gaussglocken aus IX an Koppel die Parameter von AX und IX 23
Einfügen von Aussprachevarianten problematisch: Wenn Variante eingeführt, sicherstellen, dass bei allen passenden Wörtern eingeführt Fehler in den Varianten U.U. besser: Keine Aussprachevarianten, lasse Wörterbuch konsistent Idee: Implizite Modellierung über Parameterkopplung von Polyphonen Problem: Separate Cluster Bäume für Polyphone mit unterschiedlichen Zentrumsphonemen. 24
Lösung erweiterter Clusterbaum: Baue einen Baum für alle Polyphone 25
Ergebnisse auf Telephonkonversationen: Beobachtung: Fragen nach Begin,Middle,End State weit oben im Baum, also keine Parameterkopplung, 26
Auf der Welt gibt es 4.000-7.000 Sprachen Erstellung des Aussprachewörterbuchs ist aufwendig: Linguistisches Wissen (um evtl. Regeln zu erstellen) Langwierige manuelle Arbeit (zum Niederschreiben von Regeln oder von Aussprachen) Viel Trainingsmaterial erforderlich (um automatisch Aussprachen zu erlernen) Alles das steht für viele der Sprachen mit wenigen Sprecher nicht zur Verfügung Oder es ist zu teuer Kann man das Aussprachewörterbuch los werden? 27
Mögliche Lösung: Statt Phoneme als Einheiten bei der Aussprachemodellierung, verwende Grapheme Graphem: atomare Einheiten in geschriebener Sprache: Z.B. Buchstaben des lateinischen Alphabets Zeichen der Chinesischen Hanzi Schrift. Silbenzeichen im Thailändischen Wichtige Eigenschaften der Modellierungseinheiten: Konsistente, einheitliche akustische Ausprägung Alle Wörter müssen aus ihnen aufgebaut werden können Ihre Anzahl muss klein genug sein, dass genügend Trainingsmaterial gesammelt werden kann für robustes Training 28
Erinnerung: Sechs Arten von Schriftsystemen: Logosyllabisch: Grapheme repräsentieren Wörter oder einzelne Silben Syllabisch: Grapheme repräsentieren Silben Abjads: Grapheme entsprechen Konsonanten Alphabete: Grapheme entsprechen Vokal oder Konsonant Abugidas: Grapheme entsprechen einer Kombination aus Konsonant und zugehörigem Vokal, ggf. Modifizierer der Zeichen, um andere Vokale darzustellen Featural: Die Form der Zeichen korrespondiert mit distinguierenden Eigenschaften des Sprachsegments, das sie repräsentieren 29
Logosyllabisch: Gute Korrespondenz zwischen Graphem und akustischer Ausprägung Hohe Anzahl an Wörtern pro Sprache => ungeeignet für Erkennung mit großem Vokabular Syllabisch: Gute Korrespondenz zwischen Graphem und akustischer Ausprägung Evtl. hohe Anzahl an Silben pro Sprache (muss aber nicht sein) Häufig so, dass syllabische Schriften nur für Sprachen mit wenig Silben verwendet wird. 30
Abjads: Schlechte Korrespondenz zwischen Akustik und Graphem: Jedes Zeichen entspricht de facto einem Konsonant und einer Vielzahl von Vokalen Geringe Anzahl von Modellierungsheiten Wenn Emissionsw keiten flexibel genug, und genügend Trainingsmaterial (alle Kombinationen aus Konsonant und Vokal im Training gesehen), möglich Abjad Grapheme zu verweden (z.b. für Arabisch) Abigudas: Zwischen Alphabeten und Abjads Wenn Modifizierer als Graphem betrachtet wird, dann so gut geeignet wie Alphabete Featural: Sehr heterogen, wenig verwendet: Beispiel Koreanisch: Wenn man die Grapheme (Quadratisch angeordnete Buchstaben) zerlegt, dann entspricht es einem Alphabet 31
3 Abjads: 27 Sprachen 18 Alphabete: 229 Sprachen 28 Abigudas: 28 Sprachen 19 Silbenschriften: 7 Sprachen 2 Logosyllabaries: 2 Sprachen Nur für wenige Sprachen bekannt, welche Schrift sie benutzen Viele Sprachen sind ungeschrieben Alphabete sehr weit verbreitet, gefolgt von Abigudas und Abjads Logographische Systeme nur für wenige, große Sprachen verwendet. Wenn eine neue Schrift entworfen wird, dann wird häufig ein Alphabet verwendet. 32
Geographische Verteilung der Schriftsysteme [Quelle:Wikipedia]
Alphabete: Hinreichend kleine Anzahl an Graphemen Von der Theorie her gute Korrespondenz zwischen Graphem und Aussprache Aber oft: Sprachen haben sich über die Zeit anders entwickelt als Schrift Ursprünglich gute Korrespondenz hat sich über die Zeit verschlechtert Es gibt Sprachen mit guter Korrespondenz und Sprachen mit schlechter Korrespondenz 34
Arabisch wird mit Abjad geschrieben Vokalisierung mittels Diakritiken möglich Meiste Texte nicht vokalisiert Deshalb traditionell graphembasierte Modellierung. Vokale werden impliziert mitmodelliert. 35
50 phonemes graphemes 40 36.2 39.3 30 20 17.3 13.0 14.7 17.2 14.1 14.0 10 10.3 9.1 0 EN GE RU SP TH 36
Problem: Keine linguistische Fragen für Grapheme definiert, wie Baum clustern? Lösung 1: Verwende ein Verfahren zum automatischen Finden von Fragen Lösung 2: Frage nur nach der Identität der Grapheme im Polygraphem ( Singelton Fragen) Beobachtung: Gewinn durch Kontextabhängige Modellierung bei Graphemen größer als bei Phonemen: Relativer Gewinn für die Sprachen: 80 70 67.7 62.3 60 50 55.1 51.2 40 30 29.6 20 10 0 EN GE RU SP TH 37
Kontextabhängige Modellierung für Grapheme wichtig weil Aussprache regel eines Graphems abhängig vom Kontext U.U. kann ein Graphem sehr unterschiedlich ausgesprochen werden Deshalb gleiche Parameterkopplung wie bei den Single Pronunciation Dictionaries: Trennung nach Vokalen und Konsonanten ist sinnvoll 50 traditional tree flexible tree 40 39.3 38.4 30 20 17.3 16.9 14.7 13.8 14.1 14.1 14.0 13.6 10 0 EN GE RU SP TH 38
Aussprachemodellierung: Die Wahl der Einheiten, in die Wörter zerlegt werden Phoneme, Silben, Grapheme etc. Die Wahl der Einheiten für die HMM Zustände Subphonemzustände, etc. Die Abbildung von Wörtern auf ihre Einheiten Kanonische Aussprachen, Aussprachevarianten, ggf. alternative Aussprachen Implizite Aussprachemodellierung: Möglich z.b. durch das Koppeln von Parametern Lernen mehrere Aussprachen in einem Modell 39