34
Thema: Finite State Transducer (FST) Siamak Mehraghdam

Thema: Finite State Transducer (FST) Siamak Mehraghdam

Embed Size (px)

Citation preview

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

Thema: Finite State Transducer (FST)

Siamak Mehraghdam

Page 2: 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)

Page 3: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 4: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 5: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 6: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 7: Thema: Finite State Transducer (FST) Siamak Mehraghdam

Finite-state-transducer (FST)Einführung: (2) Beispiel: Betrachtung des Wortes „hospitalization“ Morphologische Struktur:

Hospital + ize + ationDa 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

Page 8: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

,

,

Page 9: Thema: Finite State Transducer (FST) Siamak Mehraghdam

Finite-state-transducer (FST)Einführung: (4)

Dieses Bsp. ist ein winziges Fragment aus der Morphembildung des Englischen

Noun i

Adj i

-ize -ation

-al

1 2 3

Page 10: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 11: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 12: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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>

Page 13: Thema: Finite State Transducer (FST) Siamak Mehraghdam

FST Beispiel 1: (2)

Darstellung von FST´s oder FSM´s auch mit Hilfe von „state transition“ Tabellen möglich:

a : Ø 1 2

a : a b : b

a a b

State: a Ø b

1: 1 2 0

2: 0 0 2

Page 14: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 15: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 16: Thema: Finite State Transducer (FST) Siamak Mehraghdam

FST Beispiel 2: (3)

( =:=* R:= [-cor]:=* -[+son]:= =:=*)*

R bezeichnet die retroflexen Konsonanten /ş, r/ = bedeutet „irgendetwas“ Die state transition Tabelle sieht wie folgt aus:

ş r t n n [+son] =

State: = = = ņ n = =

1: 2 2 1 0 1 1 1

2: 2 2 1 3 0 2 1

3: 0 1 0 3 0 1 0

Page 17: Thema: Finite State Transducer (FST) Siamak Mehraghdam

FST Beispiel 2: (4)

t:=[+son]:=n:n=:=

1

0

2

3

[+son]:=r:=

n:ņ

t:=ş:=n:n=:=

[+son]:=r:=ş:=

n:ņ

n:n n:ņ r:=ş:=

t:==:=

Page 18: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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:

Page 19: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

r V =

State: l = =

1: 0 2 1

2: 3 2 1

3: 0 2 0

Page 20: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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”

Page 21: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 22: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 23: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 24: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 25: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 26: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 27: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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)

Page 28: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 29: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 30: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 31: Thema: Finite State Transducer (FST) Siamak Mehraghdam

FST für Strassennamen (2)

Start Root First

Silbenmodell / 10

# / 0 End

Fuge

Wort aus DB / 0.2 # [Streetname] / 0

Komponentenverbindung / 0.2[+] / 0.1

[+] / 0.5

Page 32: Thema: Finite State Transducer (FST) Siamak Mehraghdam

FST für Strassennamen (3)Beispiel an: „Dachsteinhohenheckenalleenplatz“

Start Root First# / 0 End

Fuge

# [Streetname] / 0

n / 0.2[+] / 0.1

Silbenmodel / 10

d´ach / 0.2

st´ein / 0.2

h´ecke / 0.2

all´ee / 0.2

platz / 0

[+] / 0.5

Page 33: Thema: Finite State Transducer (FST) Siamak Mehraghdam

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

Page 34: Thema: Finite State Transducer (FST) Siamak Mehraghdam

FST für Strassennamen (5) Trainingsmaterial: Strassennamen wurden zufällig aus den

4 Städten entnommen Testmaterial: Strassennamen wurden aus Frankfurt und

Dresden entnommen

Trainingsdaten Testdaten

New system correct && old system wrong 84.7 % 70 %

New system wrong && old system correct 15.3 % 30 %