170 likes | 290 Views
Transkription in Sprachsynthese und -erkennung. Seminar: Transkription von Sprache Von: Daniel Herrmann. Überblick. - Einleitung zu NETtalk - Aufbau des verwendeten Netzes - Performanz des Netzes - Analyse der Hidden Units - Zusammenfassung - Programmvorführung eines Neuronalen Netzes.
E N D
Transkription in Sprachsynthese und -erkennung Seminar: Transkription von Sprache Von: Daniel Herrmann
Überblick - Einleitung zu NETtalk - Aufbau des verwendeten Netzes - Performanz des Netzes - Analyse der Hidden Units - Zusammenfassung - Programmvorführung eines Neuronalen Netzes
Einleitung - Was ist Sprache? - Wie trainiert man selbige? - Kann man richtige Aussprache einem System beibringen? - Wie könnte man es realisieren? - NETtalk als Konzept - Vergleich zu anderen Sprachprogrammen z.B. Mit Datenbanken, etc… - Idee des Neuronalen Netzes
Aufbau des verwendeten Netzes TEACHER /k/ Output Units26 Neuronen 18629 Kanten insgesamt Hidden Units 80 Neuronen Input Units 203 Neuronen 29 pro Zeichen ( - a - c a t - )
Der Lernalgorithmus • Das Lernverfahren : • Menschliche Lernverfahren basieren auf Adaption & Imitation. • Rolle des Lehrers wir als internes Model eines gewünschten Verhaltens gesehen, nicht als externe Quelle von Korrektur. • Lernverfahren des Neuronalen Netzes basiert auf einem Trainer • Eingabe wird verarbeitet und vom Trainer ggf. korrigiert • Methode: Back Propagation of Error • Veränderungen im Output Layer ziehen sich durchs gesamte Netz.
Beispiel für Backpropagation ... Wert des Knotens: 0,5 Wertänderung gemäß gewählter Einstellung Neuer Wert: 0,5 + 1,0*0,1 = 0,6 Wert des Knotens : 1,0 Endknoten Wert des Knotens: -0,75 ........ Wähle diesen Knoten ... ist der Gewinner!!!
Beispiel für Backpropagation ... Wert des Knotens: 0,5 Neuer Wert: 0,5 + 0,1*-0,85 = 0,415 Wertänderung Wert des Knotens: -0,75 Wert des Knotens : 1,0 ........ Neuer Wert: -0,75 + 0,1*-1,0 = -0,85 Wertänderung ........ Endknoten Wähle diesen Knoten. ist der Gewinner. Wert des Knotens : -1,0 Wert des Knotens : 0,75
Das Netz TEACHER /k/ Output Units26 Neuronen 18629 Kanten insgesamt Hidden Units 80 Neuronen Input Units 203 Neuronen 29 pro Zeichen ( - a - c a t - )
Die Output-Funktion • NETtalk verwendet 21 „articulatory features“ um 1 Phonem zu repräsentieren. • Diese beinhalten Betonung, Artikulation und Zungenstellung. • Zusätzlich gibt es 5 Neuronen für Stresses und Silbenbindungen. • Somit ergeben sich insgesamt 26 Neuronen im Output Layer. • Wieso so viele Neuronen? • Beim lernen bleiben die Neuronen in einem Wertebereich von (0,1). • Um herauszurechnen welches Phonem „erkannt“ wurde, wird wie folgt gerechnet: • - Die Werte der Output Neuronen werden als Vektor aufgefasst. • - Für jedes Phonem gibt es auch einen Vektor. • - Beide werden miteinander Skalar-multipliziert. • - Der Vector mit dem niedrigsten Winkel ist das gesuchte Phonem.
Funktionsweise • Der Text wird in einem 7 Buchstaben Fenster betrachtet • Die 7 Buchstaben werden in das Netz gespeist und dort verarbeitet • Das Netz berechnet die Phoneme für die jeweiligen Buchstaben Beispiel: This_is_a_text_for_testing_purposes DIs Iz x tEkst fxR tEstIN pxRpxsxz
Warum ein 7 Buchstaben Fenster Informationsgewinn der einzelnen Buchstaben
Trainingslektüre • Zwei Bücher wurden zum Training verwendet: • 1. Meriam Webster´s Pocket Dictionary • 2. Phonetic Transcriptions From Informal, Continuous Speech of a Child • Es wurden 2 verschiedene Prozeduren verwendet um das Netz zu trainieren • 1. Wortverbindungszeichen wurden eingefügt und dann mit dem Netz erfasst. So können mehrere Wörter im Fenster betrachtet werden. • Z.B.: ...a-cat-is... • 2. Die Wörter vom Text wurden zufällig in das Fenster gelegt und gelernt. • Das Erlernte wurde stets überprüft und ggf. von Hand korrigiert • Dabei wurden die Werte der Neuronen mit dem Backprop-Verfahren angepasst und trainiert.
Erste Tests • - Ein 1024 Worte umfassender Corpus wurde zum testen des Netzes erstellt. • Dabei wurden Wörter von Kindern und Erwachsenen ausgesprochen. • Kinder, sowie Erwachsene waren sehr inkonsistent bei der Betonung gleicher Wörter. • Somit ergaben sich verschiedene Betonungen für ein und dasselbe Wort. • Kam Anfangs nur ein Babbeln hervor so war nach 10 Durchläufen der Text verständlich und zu ca. 85% korrekt betont. • Dennoch machte das Netz noch Fehler: z.B. bei „thesis“ und „these“ • Alles in Allem war die Aussprache als GUT zu bewerten. • Bei einem Test mit 439 neuen Wörtern hatte das Netz eine Richtigkeit von 78%. • Somit kann das Netz gelerntes auf neues anwenden.
Tests mit Beschädigungen • Wie verhält sich das Netz bei Beschädigung von Neuronen? • Kann man ein Netz was gelernt hatte und „beschädigt“ wurde wieder neu trainieren? • Ist es danach genauso effizient wie vorher? • Das Netz wurde mit falscher Gewichtung trainiert. • Es ergab sich bei Fortschreitendem „Beschädigen“ auch eine schlechtere Leistung. • Jedoch gestaltete sich das „Wiedererlernen“ als einfacher als gedacht. • Die vorhandenen Beschädigungen wurden sehr schnell ausgemerzt und das Netz wieder auf den alten Stand gebracht.
Nutzen der Hidden Units • Wie wirkt sich die Anzahl der Hidden Units auf das Verhalten aus? • Kann man eine Lösung finden die Platz- und Leistungseffizient ist? • Aus Meriam Webster´s P. D. wurden aus 20012 Wörtern,1000 zu sich ähnliche Wörter gewählt. • Ohne Hidden Units erkannte das Netz 82%. • Bei 120 Units war die Erkennung bei 95%. • Beobachtungen zeigten, dass das Netz verschiedene letter-to-sound Korrespondenzen auch verschiedenartig lernt. • Z.B. der Frikativ [ s] für c bei „Space“ bzw. der Plosiv [k] für c bei „Lock“ • - Ersteres muss zwar länger trainiert werden, hat aber nachher eine bessere Erkennung.
Zusammenfassung • Alles in Allem erfüllte und übertraf das Netz die Erwartungen. • Das lernen des Netzes wird mit dem von Menschen gleichgesetzt. • Richtige Aussprache Englischer Texte ist schnell erlernt. • Technischer Aufwand ist im Vergleich zu Datenbankgestützten Modellen kleiner. • Viele Kombinationsmöglichkeiten gegeben durch freie Wahl der Anzahl von Hidden Units. • Laut Sejnowski und Rosenberg ist so ein Netz in der Lage jede Sprache zu erlernen. (Aussage getroffen 1987!) • Jedoch sollte man bedenken: 90% der Phoneme werden richtig erkannt und die Wortlänge ist im Schnitt 6 Zeichen => nur 53% richtig ausgesprochene Wörter • Erkennt das Netz 89% der Phoneme sind sogar unter 50% der Wörter richtig. Ende.