1 / 34

Thema: Finite State Transducer (FST)

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)

Download Presentation

Thema: Finite State Transducer (FST)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Thema: Finite State Transducer (FST) Siamak Mehraghdam

  2. Ü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)

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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} )

  11. 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

  12. 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>

  13. 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

  14. 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

  15. 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]:= =:=*)*

  16. FST Beispiel 2: (3) • ( =:=* R:= [-cor]:=* -[+son]:= =:=*)* • R bezeichnet die retroflexen Konsonanten /ş, r/ • = bedeutet „irgendetwas“ • Die state transition Tabelle sieht wie folgt aus:

  17. 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:ņ

  18. 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:

  19. 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

  20. 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”

  21. 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 !!!

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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)

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. FST für Strassennamen (5) • Trainingsmaterial: Strassennamen wurden zufällig aus den 4 Städten entnommen • Testmaterial: Strassennamen wurden aus Frankfurt und Dresden entnommen

More Related