340 likes | 460 Views
Thema: Finite State Transducer (FST). Siamak Mehraghdam. Überblick Einführung: TTS-System. TTS-System kann charakterisiert werden als Analyse-Prozess TTS-System ist modular aufgebaut wir betrachten hier nur die Textanalysekomponente (TAC)
E N D
Thema: Finite State Transducer (FST) Siamak Mehraghdam
ÜberblickEinführung: TTS-System • TTS-System kann charakterisiert werden als Analyse-Prozess • TTS-System ist modular aufgebaut • wir betrachten hier nur die Textanalysekomponente (TAC) • TAC ist in einem einheitlichem Rahmen implementiert, der auf gewichtete endliche Automaten beruht (WFST)
Einschub: Was sind WFST´s ? • WFST´s sind FTS´s mit Gewichtungen an den Pfaden • Durch die Gewichtungen lassen sich linguistische Alternationen beschreiben und vorhersagen • Gewichte werden aufgrund linguistischer Kenntnisse oder auch Intuition zugewiesen
Aufbau der linguistischen Textanalyekomponente • Eingabetext wird in einem finite-state-akzeptor konvertiert • Dann mit Hilfe von FST´s kompiliert • liefert alle möglichen legalen lexikalischen und morphologischen Analysen • Disambiguierung der Alternativen erfolgt durch eine andere Komponente
Aufbau der linguistischen Textanalyekomponente (2) • Diese Komponente filtert die wahrscheinlichste Analyse unter Berücksichtigung des wortübergreifenden Kontextes heraus • Die beste Analyse wird dann mit phonolgischer Komponente kombiniert
Finite-state-transducer (FST)Einführung: • Wie kommen wir auf FST´s ??? • Stellen eine Annahme auf: • Der einzige Weg um mit Morphemen Wörter zu bilden ist die Konkenation • naheliegendste Annahme: • Vorangehendes Morphem entscheidet über nachfolgendes Morphem
Finite-state-transducer (FST)Einführung: (2) • Beispiel: • Betrachtung des Wortes „hospitalization“ • Morphologische Struktur: • Hospital + ize + ation • Da Hospital = Substantiv • „ize“ darf folgen wir haben ein Verb • „ation“ macht aus einem Verb ein Substantiv • ize + ation ist erlaubt • hospital ize ation ist erlaubt
Finite-state-transducer (FST)Einführung: (3) • Realisierung mit Hilfe eine • finite-state-machines • Definition des FSM: • Maschine M mit Sprache L • M = ( Q, ,q1 , F) mit: • Q = Anzahl der Zustände • = endliches Alphabet der Morphem der Sprache L • = Funktion Q x Q: qi Q v L : qj Q mit (qi , ) = qj • F = Menge der Endzustände • q1 ist der Startwert
Finite-state-transducer (FST)Einführung: (4) • Dieses Bsp. ist ein winziges Fragment aus der Morphembildung des Englischen Noun i -al -ize -ation 1 2 3 Adj i
Finite-state-transducer (FST) • FST´s werden in Textanalyse jeglicher Art verwendet • Unterschied FSM und FST: • FSM akzeptiert Sprache aus einem endlichem Alphabet einzelner Symbole ( z.B. A={a, b, c}) • FST akzeptiert hingegen Sprachen mit paarweisen Symbolen ( z.B. A= {a:a , b:b , c:c , a:Ø , Ø:c} )
Finite-state-transducer (FST) (2) • Alphabet wird getrennt auf 2 „Bänder“ • Linkes Symbol = 1.Band = oberes Band = „lexikal tape“ • Rechtes Symbol = 2.Band = unteres Band = „surface tape“ • z.B. bei (a:a) muss ein a vom 1.Band einem a vom 2.Band entsprechen • Um alles besser zu verstehen betrachten wir ein Beispiel
FST Beispiel 1: • Alphabet A={a:Ø , a:a , b:b} • Regulärer Ausdruck: a:a* a:Ø b:b* • R erlaubt z.B. : <aaabbb , aabbb> , <a , Ø> , <abb , bb> • R verwirft z.B. : <aaabbb , aaabbb> , <a , a> , <bbb , bbb>
FST Beispiel 1: (2) a : a b : b • Darstellung von FST´s oder FSM´s auch mit Hilfe von „state transition“ Tabellen möglich: a : Ø 1 2
FST Beispiel 2: • Beispiel einer phonologischen Regel aus dem Sanskrit • Dentales /n/ wird in ein retroflexes /ņ/ umgewandelt wenn: • Irgendwo im Wort vorher ein retroflexer Konsonant /ş, r/ existiert. • uşnataraanaam uşņataraaņaam
FST Beispiel 2: (2) • Ohne FST´s müsste die Regel sukzessive von links nach rechts angewendet werden • Aber ein FST einmal angewendet auf dem ganzen String löst das Problem • Der reguläre Ausdruck zu dieser Regel lautet: • ( =:=* R:= [-cor]:=* -[+son]:= =:=*)*
FST Beispiel 2: (3) • ( =:=* R:= [-cor]:=* -[+son]:= =:=*)* • R bezeichnet die retroflexen Konsonanten /ş, r/ • = bedeutet „irgendetwas“ • Die state transition Tabelle sieht wie folgt aus:
FST Beispiel 2: (4) 0 n:n n:ņ r:= ş:= t:= ş:= n:n =:= [+son]:= r:= ş:= t:= [+son]:= n:n =:= 1 2 t:= =:= [+son]:= r:= n:ņ 3 n:ņ
Mehrere FST´s • Bis jetzt: Implementation einer einzigen phonologischen Regel mit FST • Um weitere phonologische Regel zu implementieren muss man die FST´s hintereinanderschalten • Stellen wir uns vor: • Sanskrit hat die Regel:
Mehrere FST´s (2) • Stellen wir uns vor: • Sanskrit hat die Regel: • Intervocalisches /r/ muss in ein nonretroflexes /l/ umgewandelt werden • Jetzt bauen wir ein FST, der dies erfüllt
Mehrere FST´s (3) • Nun kann man auf dem 1.Band des 1.FST „uşnataraanaam“ laufen lassen • Auf dem 2.Band des 1.FST erhält man dann „uşņataraaņaam” • Den String vom 2.Band des 1.FST lässt man jetzt auf dem 1.Band des 2.FST laufen • Und auf dem 2.Band des 2.FST hat man jetzt „uşņatalaaņaam”
Mehrere FST´s (4) • Allgemein: n Regel mit n FST´s + (n+1) Bänder implemetierbar • wobei: n-1 Bänder sind Zwischenbänder • Bei n FST´s können die n-1 Zwischenbänder exponentiell steigen !!!
Parallele FST´s • Aus diesem Grund ist es besser die FST´s parallel laufen zu lassen. • d.h. Jedes FST sieht die gleichen 2 Bänder • Die Ergebnisse müssen dann mit einem entsprechendem Algorithmus durch Alignment zusammengeführt werden
Namensanalyse in TTS-Systemen • Die korrekte Aussprache von Namen ist eine der größten Herausforderungen für ein TTS-System. • Einige Probleme der Namensanalyse: • Namen können sehr viele verschiedene etymologische Ursprünge haben • Namen können ohne Anpassung an das neue phonologische System in eine Sprache einfliesen • Es gibt eine sehr grosse Anzahl verschiedener Namen
Namensanalyse in TTS-Systemen (2) • Strassennamen aus zusammengesetzte Wörter (Rheinstraße, Kennedyallee) • Viele Namensaussprechungen wiedersprechen den jeweiligen phonologischen Mustern • Fazit: • Die große Anzahl an Namen mit einer eingeschränkten morphologischen Struktur sind ein grosses Problem
Namensanalyse in TTS-Systemen (3) • Einige weitere Probleme: • z.B Graphem <e> wird normalerweise auch [e:] ausgesrochen Melanie, Stefan • <chem> Chemie , Chemnitz • Korrekte Analyse von unbekannten orthographischen Strings muss durchgeführt werden
Namensanalyse in TTS-Systemen (4) • Motivation für Bern Möbius: Entwicklung einer Namensanalyse und Aussprachekomponente für GerTTS mit Hilfe von WFST´s • FST´s erlauben dynamische Kombination und Rekombination von lexikalischen und Morphologischen Substrings
Namensanalyse in TTS-Systemen (5) • Trainingsmaterial D-Info 1995 • Städtenamen: • 3837 Städtenamen ( 15% aller Städte) • Graphemstrings mit 3-7 Grapheme wurden aus den Städtenamen entnommen • 295 nützliche Graphemstrings (bilden 2969 Städtenamen)
Namensanalyse in TTS-Systemen (6) • Vornamen und Strassennamen wurden den 4 Städten Berlin, Hamburg, Köln und München entnommen • Vornamen: • Alle Vornamen deren Anzahl > 100 wurden genommen • 10 beliebtesten Jungen und Mädchennamen neugeborener Kinder von 95/96 • 754 Vornamen insgesamt
Namensanalyse in TTS-Systemen (7) • Strassennamen: • Alle Strassennamen aus den 4 Städten • Komponenten der Strassennamen wurden seperat gespeichert (Konrad-Adenauer-Platz) • 3124 Strassennamenkomponenten • Wir betrachten jetzt einen FST für Strassennamen
FST für Strassennamen • Jede Strasse wird mit Hilfe von bestimmten lexikalischen Morpheme identifiziert • z.B. Strasse, Weg, Platz, Gasse, Allee, ... • Die vorher gesammelten Information werden in einer kombinierten Liste von 4173 Komponenten + „Identifier“ gespeichert
FST für Strassennamen (2) Silbenmodell / 10 # [Streetname] / 0 Wort aus DB / 0.2 # / 0 Start End Root First [+] / 0.1 Komponentenverbindung / 0.2 [+] / 0.5 Fuge
FST für Strassennamen (3) Beispiel an: „Dachsteinhohenheckenalleenplatz“ Silbenmodel / 10 d´ach / 0.2 st´ein / 0.2 h´ecke / 0.2 all´ee / 0.2 # / 0 # [Streetname] / 0 Root platz / 0 First Start End [+] / 0.1 n / 0.2 [+] / 0.5 Fuge
FST für Strassennamen (4) • System wurde getestet • Modul in GerTTS eingefügt • Ausprache des GerTTS mit Namensanalysekomponente wurde mit GerTTS ohne Namensanalysekomponente getestet • Trainingsmaterial und Testmaterial
FST für Strassennamen (5) • Trainingsmaterial: Strassennamen wurden zufällig aus den 4 Städten entnommen • Testmaterial: Strassennamen wurden aus Frankfurt und Dresden entnommen