AT&T FSM toolkit pro účely rozpoznávání řeči Pavel Štemberk České vysoké učení technické v Praze, Fakulta elektrotechnická
[email protected] Abstrakt: Předložená práce popisuje koncepci rozpoznávače řeči sestaveného pomocí AT&T nástrojů pro operace s konečnými překladovými automaty (FSM). Základní výhoda v použití konečných automatů pro stavbu rozpoznávací sítě spočívá v možnosti její optimalizace pomocí FSM nástrojů. Skryté Markovovy modely (HMM) jsou trénovány pomocí HTK nástrojů a české databáze SPEECON, na které je poté testován i rozpoznávač samotný. Zatím je Viterbiho algoritmus hledání nejpravděpodobnější cesty realizován AT&T nástrojem drecog. V závěru jsou uvedeny výsledky testů rychlosti rozpoznávače s optimalizovanou sítí pro jednu skupinu promluv (cca 100 mluvčích) a ukázka správnosti realizace rozpoznávací sítě jako porovnání úspěšnosti nástroje HVite a přípravou dat pro AT&T nástroje programem rct.
1.
Úvod
Významným milníkem v rozpoznávání řeči byly 80. léta, kdy se systémy pro ASR (Automatic speech recognition) začaly realizovat pomocí statistických metod na bázi HMMs (Hidden Markov models) [8]. V roce 1989 vznikla na univerzitě v Cambridge první verze HTK (Hidden Markov Model Toolkit) [11]. Jedná se o kolekci knihoven a modulů v jazyce C, které jsou nezbytné pro stavbu rozpoznávače na bázi HMM. V polovině 90. let aplikoval Mehryar Mohry [2] jako vedoucí jednoho z výzkumných týmů v AT&T laboratořích WFSTs (Weighted Finite-State Transducers) v rozpoznávání řeči [3]. K dispozici dal nástroje pro operace mezi WFST a jejich optimalizace v podobě FSM knihovny. Pro rozpoznávání samotné vyvinul knihovnu DCD, pomocí které je možné sestavit rozpoznávací síť (RN) z jednotlivých komponent v podobě WFST, nalézt nejpravděpodobnější cestu v RN pro danou vstupní promluvu a soubor HMM, převažování RN na základě akustických dat a zarovnat referenční automat s hypotetickým za použití editovatelných vzdáleností [2]. Veškeré nástroje, které dal Mohry k dispozici jsou dostupné pouze v binární formě. V případě FSM knihovny to nevadí, protože je-li RN jednou zkonstruována, pomocí naimplementovaného Viterbiho algoritmu spolu se zparametrizovanou vstupní promluvou je možné nalézt nejpravděpodobnější cestu. Odtud je jasné, že stavba vlastního Viterbiho dekodéru by měla být též součástí mé dizertační práce. Stejně i stavba jednotlivých komponent rozpoznávače pro velký seznam slov (gramatika, slovník, překladový automat kontextové závislosti a automat reprezentující HMM) je významnou součástí vytvoření rozpoznávače na bázi WFST.
2.
FSM a rozpoznávání řeči
Váhové automaty s konečným počtem stavů (dále jen WFSM) závisí mimo jiné na algebraické struktuře použitého semiringu [6]. Semiring (K, ⊕, ⊗, ¯0, ¯1) je tak množina K obsahující dvě matematické operace ⊕ a ⊗, pro které platí ¯0 ⊕ a = a ⊕ ¯0 = a ¯1 ⊗ a = a ⊗ ¯1 = a
a∈K .
(1)
Například semiringem je (N, +, ., 0, 1). Váhy používané pro rozpoznávání řeči často reprezentují pravděpodobnosti. Patřičný semiring pro uvedené použití se tak nazývá pravděpodobnostní semiring (R, +, ., 0, 1). Jak již bylo uvedeno v předchozí kapitole, je výhodné počítat s logaritmy pravděpodobností. Logaritmický semiring má pro tento případ tvar (R+ ∪ {∞}, ladd, +, ∞, 0). Pokud je používán Viterbiho algoritmus, kde se operace součtu nevyskytuje, použijeme tzv. tropical semiring (R+ ∪ {∞}, max, +, ∞, 0). 2.1.
Váhové automaty s konečným počtem stavů (WFSA)
Modely, jako je např. HMM pro rozpoznávání řeči jsou speciálním případem váhového automatu konečných stavů - WFSA. WFSA A = (Σ, Q, E, i, F, λ, ρ)
(2)
přes semiring K je dán vstupní množinou Σ, konečnou množinou stavů Q, konečným počtem přechodů E ⊆ Q × (Σ ∪ {}) × K × Q, počátečním stavem i ∈ Q, množinou konečných stavů F ⊆ Q, počáteční váhou λ a konečnou váhovou funkcí ρ. Přechod t = (t− , l(t), w(t), t+ ) ∈ E může být reprezentován spojnicí ze zdrojového stavu t− do cílového stavu t+ s návěštím l(t) a váhou w(t), která v rozpoznávačích řeči velmi často reprezentuje logaritmus pravděpodobnosti. Cesta v A je posloupnost pospojovatelných přechodů, pro které platí − t+ i = ti+1 ,
i = 1, . . . , n − 1 .
(3)
Návěští značí přechod nepředpokládající vstup. Úspěšná cesta π = t1 . . . tn je cestou z počátečního stavu i do koncového stavu f ∈ F . π má přiřazeno své návěští, pospojované z návěští jednotlivých přechodů l(π) = l(t1 ) . . . l(tn ) a svou váhu, což je ⊗ operace mezi inicializační vahou, vahami jednotlivých přechodů a konečnou vahou ρ(t+ n) w(π) = λ ⊗ w(t1 ) ⊗ w(t2 ) ⊗ . . . ⊗ w(tn ) ⊗ ρ(t+ n) .
(4)
Posloupnost symbolů x je akceptována automatem A, pokud existuje cesta π s návěštím x tak, že l(π) = x . (5) Celková váha přiřazená automatem A posloupnosti x je dána ⊕ operací mezi vahami všech úspěšných cest π s posloupností jednotlivých návěští x. WFSA tak mapuje vstupní posloupnost symbolů na váhy úspěšných cest.
dáma:dáma/0.5 0
<sil>:<sil>/1
1
2
na:na/0.5 na:na/0.5
jezdec:jezdec/0.5
pět:pět/0.5 5
e/1
3
čtyři:čtyři/0.5
4
č:čtyři/0.5 0
1
t:<eps>/1
6
<sil>:<sil>/0.5 <sil>:<sil>/0.5
8
7
2
i:<eps>/1
3
š:čtyři/0.5
ř:<eps>/0.5 r:<eps>/0.5
4
i:<eps>/1
5
d:dva/1 6
v:<eps>/1
7
a:<eps>/1
8
Obrázek 1: Příklady WFST
2.2.
Váhové překladové automaty (WFST)
Váhové překladové automaty s konečnými stavy (dále jen WFST - Weighted Finite-State Transducers) se od WFSA liší doplněním jednoduchého návěští přechodů párem (i, o) vstupního návěští i a výstupního o. WFST T = (Σ, Ω, Q, E, i, F, λ, ρ) (6) přes semiring K je dán vstupní množinou návěští Σ, výstupní množinou návěští Ω, konečnou množinou stavů Q, konečným počtem přechodů E ⊆ Q×(Σ∪{})×(Ω∪{})×K×Q, počátečním stavem i ∈ Q, množinou konečných stavů F ⊆ Q, počáteční váhou λ a konečnou váhovou funkcí ρ. Přechod t = (t− , li (t), lo (t), w(t), t+ ) ∈ E může být reprezentován spojnicí ze zdrojového stavu t− do cílového stavu t+ se vstupním návěštím li (t), výstupním návěštím lo (t) a vahou w(t). Definice cesty, její posloupnosti návěští a vah je shodná s WFSA. Přibyla zde posloupnost výstupních návěští úspěšné cesty a ta je dána složením jednotlivých výstupních návěští podél této cesty. Gramatika reprezentovaná na obr. 1 pomocí WFST by pomocí WFSA vypadala stejně, avšak označením přechodů by chyběly výstupní návěští. Reprezentace pomocí WFST se tak používá mnohem častěji. Na obr. 1 dole je pak znázorněn příklad slovníku mapujícího jednotlivé fonémy do slov, kde váhy coby pravděpodobnosti reprezentují věrohodnost alternativní výslovnosti. 2.3.
Operace mezi WFST
WFSA, resp. WFST je možné zpracovávat pomocí operací [3] [6]. Ty jsou zobrazeny v následující tabulce, kde silně vytištěné operace se často používají v rozpoznávání řeči a budou zde popsány. Všechny operace jsou popsány v [3] nebo v manuálu k libovolnému FSM toolkitu (viz dále). konstrukční closure union concatenation complementation intersection composition
operace A∗ A∪B AB A¯ FSA A ∩ B FSA A ◦ B FST
optimalizující - identické epsilon removal determinization minimization FSA
ostatní reverse inversion projection (FSM→FSA) equivalence weight pushing best path
Na obr. 1 je ukázka jednoduché gramatiky a lexikonu (shora). Pokud budou do lexikonu vstupem jednotlivé fonémy, výstupem z něj jsou slova, které pak použijeme jako vstup do automatu gramatiky pro zmapování dané věrohodnosti posloupnosti slov. Pokud z těchto dvou překladových automatů chceme udělat jeden, použijeme operaci skládání (composition). 2.3.1.
Skládání (composition)
Skládání dvou WFST R a S T =R◦S
(7)
má za následek vytvoření cesty mapující posloupnost návěští u na posloupnost w právě když WFST R mapuje posloupnost u na posl. v a současně WFST S mapuje posl. v na posl. w. Váhy jsou pak výsledkem operátoru ⊗ mezi odpovídajícími přechody WFST R a S [6, 9]. Skládání se tak používá pro spojování jednotlivých částí RN. Stavy výsledného WFST c:a/0.300 a:b/0.100 0
a:b/0.600 a:a/0.400
1
b:b/0.5
b:a/0.200
3/0.600
0
b:c/0.300
a:b/0.400
1
2/0.699
2
c:b/0.900 c:b/0.700 (0,0)
a:c/0.400
(1,1)
(1,2)
a:b/1
a:b/0.800
(3,2)/1.299
Obrázek 2: Příklad skládání dvou WFST po operaci skládání (7) jsou dány párem stavů WFST R a S pokud • Počáteční stav je párem počátečních stavů R a S • Koncové stavy jsou párem koncových stavů R a S • Pro každý pár přechodů tR z r do r0 a tS z s do s0 existuje přechod t z (r, s) do (r0 , s0 ) tak, že výstupní návěští tR je rovno vstupnímu návěští tS Přechod t tak přebírá vstupní návěští z tR , výstupní z tS váhu jako ⊗ operaci vah tR a tS . Problematika prázdných návěští je diskutována např. v [5] Na obr. 2 je příklad operace skládání [6]. Je zde použit tropical semiring, operace ⊗ tak znamená součet (váhy sečteny). 2.3.2.
Determinizace
WFST je deterministický, pokud každý z jeho stavů má nejvýše jeden přechod pro dané vstupní návěští [6]. Obr. 3 ilustruje příklad determinizace slovníku číslovek. Jak je z obrázku vidět, determinizace zajišťuje jedinečné vstupní návěští pro přechod z každého stavu. To se po determinizaci projeví jakýmsi ”rozvětvením” automatu. Pro WFST, resp. WFSA zde platí zachování nejnižší váhy úspěšné cesty [6]. Determinizace je identickou operací. Znamená to, že vznikající automat je ekvivalentní původnímu. Dva WFSA jsou ekvivalentní, pokud přiřazují stejné váhy pro každou možnou vstupní
d:deset
1
d:dva
6
d:dvacet
0
9
d:dvanáct
15
o:osm
22
e:<eps>
2
v:<eps>
7
v:<eps>
10
v:<eps>
16
s:<eps>
23
s:<eps>
a:<eps>
d:<eps> 0
1
v:<eps>
e:<eps>
11
a:<eps>
17
m:<eps>
c:<eps>
n:<eps>
e:<eps>
6
c:dvacet
4
2
s:<eps>
m:<eps>
5
12
18
9
10
n:dvanáct
7
<eps>:dva
o:osm
t:<eps>
5
e:<eps>
á:<eps>
13
19
t:<eps>
c:<eps>
14
20
t:<eps>
21
24
3 a:<eps>
4
8
a:<eps>
s:<eps> e:deset
3
8
11
t:<eps>
e:<eps>
á:<eps>
13
14
15
t:<eps>
c:<eps>
16
17
t:<eps>
18
12
Obrázek 3: Příklad determinizace lexikonu (část rozpoznávací kaskády)
posloupnost. Váhy mohou být rozmístěny odlišně, váha všech možných úspěšných cest musí být zachována. Dva WFST jsou ekvivalentní, pokud mapují stejnou výstupní posloupnost a stejné váhy úspěšných cest. Rozmístění vah podél úspěšné cesty být identické nemusí. Časová náročnost je úměrná n2 , kde n je počet stavů. Je možné dokázat, že ne všechny váhové automaty jdou determinovat. Nicméně platí, že determinizovat lze každý acyklický WFSA nebo WFST [6]. Podrobný popis algoritmu je možné najít např v [3]. 2.3.3.
Minimalizace
Každý deterministický automat může být minimalizován. Výsledný automat B má po minimalizaci nejmenší možný počet stavů a přechodů ze všech možných deterministických automatů ekvivalentních původnímu automatu A. Minimalizace FSA je celkem výkonný <eps>
a 4
7
n c
9
v
d 0
1
e
o 2
á
10 e
c 8
t
11
6
s 3 s
m 5
Obrázek 4: Příklad minimalizace determinizovaného lexikonu z obr. 3 proces; časová náročnost je zde úměrná m + n, resp. m log n pro acyklický případ, resp. obecný případ, kde m je počet přechodů a n počet stavů. Příklad minimalizace determinizovaného lexikonu z obr. 3 ilustruje obr. 4. Algoritmus minimalizace WFSA vyžaduje před minimalizací samotnou tzv. řazení vah [6, 3].
2.4.
Rozpoznávací síť
Rozpoznávací sítí rozumíme složení [1] H ◦C ◦L◦G ,
(8)
kde • H - WFST mapující stavy jednotlivých HMM na kontextově závislé fonémy • C - WFST mapující kontextově závislé fonémy (trifóny) na kontextově nezávislé • L - slovník, resp. lexikon mapující fonémy do slov • G - stavový automat reprezentující gramatiku (pravděpodobnost posloupnosti slov) 2.4.1.
WFST gramatiky
Zjednodušený příklad gramatiky pro hru šachy je zobrazen na obr. 1 nahoře. Gramatika muže být vytvořena buď ručně, nebo pomocí nějakých dlouhých textů bez pravopisných chyb. Ve druhém případě automat gramatiky nazýváme n-gram, kde n je historie předchozích slov. Například pro n = 2 a dvě slova w1 a w2 bude automat gramatiky vypadat dle obr. 5 a. P (w) zde označuje věrohodnost výskytu slova w a P (w1 | w2) věrohodnost w1:w1/P(w1|w1) w2:w2/P(w2|w1) 1
w1:w1/P(w1) 0
w2:w2/P(w2|w2)
w1:w1/P(w1|w2)
2
w2:w2/P(w2)
a) jedna:jedna/0.480 jedna:jedna/0.671 jedna:jedna/1.048
1/0
<eps>:<eps>/4.342
<eps>:<eps>/2.672
0
<eps>:<eps>/4.342
dva:dva/0.801
3/0 !EXIT:!EXIT/0.124
dva:dva/0.932 dva:dva/0.174
dva:dva/0.442
jedna:jedna/0.833 2/0
!EXIT:!EXIT/0.133
4
b) Obrázek 5: a) - Bigram pro slova w1 a w2 - princip udělování pravděpodobností, b) Skutečná reprezentace bigramu pro 2 slova - generováno pomocí nástrojů HLStats a rct výskytu slova w1 po slově w2. Skutečná reprezentace i se vstupně-výstupními modely ticha dle [12] je pak zobrazena na obr. 5 b. 2.4.2.
WFST pro lexikon
WFST pro lexikon mapuje vstupní posloupnost fonémů na slova, přičemž může brát v úvahu alternativní výslovnost (např. obr. 6 dole). 2.4.3.
WFST kontextové závislosti
Tento WFST mapuje kontextově závislé fonémy (trifóny) na kontextově nezávislé. Automat je poměrně rozlehlý, neboť obsahuje n2 +n +1 stavů a n3 +2n2 +n přechodů, kde n je počet fonémů. Na obr. 7 je z důvodů přehlednosti zobrazen WFST pouze pro dva fonémy, kde kontextově závislý foném je označen jako foném/levý kontext pravý kontext.
<sil>:<sil>/0
1/0 é:<eps>/0.693
p:P/0 0
3
@:<eps>/0.693
2
e:S/0.693
s:<eps>/0
5
6
s:S/0.693
4/0
<sp>:<eps>/0 <sp>:<eps>/0
@:<eps>/0
7
<sp>:<eps>/0
9/0
8
Obrázek 6: Příklad slovníku s alternativními výslovnostmi a:a/<eps>_<eps>
<sp>:<sp>
<sil>:<sil>
1 a:a/a_<eps>
a:a/a_a
<sp>:<sp> <sil>:<sil> 0
a:a/<eps>_a
a:a/b_<eps>
a:a/b_a
3 a:a/a_b b:b/<eps>_a
4
b:b/a_a
a:a/<eps>_b
a:a/b_b 5 b:b/a_<eps>
b:b/b_a
b:b/<eps>_b b:b/a_b b:b/b_b <sp>:<sp>
6
b:b/b_<eps>
2 <sil>:<sil>
b:b/<eps>_<eps>
Obrázek 7: Příklad FST kontextové závislosti; pro jednoduchost pouze pro dva fonémy ”a” a ”b”. Např. vstupní posloupnost ”a b a a” bude mapována na ”a/ b b/a a a/b a a/a ” a naopak, prohodíme-li vstupní a výstupní návěští automatu (tzv. inverze)
2.4.4.
WFST reprezentující HMM
HMM byly podrobněji popsány v předchozí kapitole. Automat musí obsahovat všechny použité modely s kontextovou závislostí. V případě rozsáhlejších systémů může v praxi jít i o cca 10000 modelů. Váhy jsou reprezentovány pomocí matice přechodů A, distribučními funkcemi bj o(t) jednotlivých vektorů pozorování o(t). Váhy je tak možné doplnit až po rozvinutí rozpoznávací kaskády do dopředné nedeterministické sítě a po ukončení promluvy. Ukázka dvou uzavřených HMM je na obr. 8 2.5.
Rozpoznávání řeči s použitím WFST
Konkrétní postup, který vede k vytvoření rozpoznávače založeného na FSM pomocí AT&T nástrojů a mých vlastních (rct a hdp) je možné nalézt na [12] a to včetně těchto nástrojů, resp. odkazů na ně. Měl-li bych uvedený postup stručně shrnout, vypadal by takto: 1. z vybrané posloupnosti slov (vět) generujeme bigram v ARPA formátu (backedoff state - viz obr. 5 b.), vytvoříme seznam těchto slov a seznam alternativních výslovností. Tento bigram pak převedeme do binární podoby AT&T WFST ⇒ G
<sil>#0:<eps>/2.329 <sil>#1:<eps>/0.068
<sil>#0:<eps>/0.178 1
<sil>#0:<eps>/2.712
2
<sil>#2:<eps>/0.060 <sil>#1:<eps>/2.716
3
<sil>#2:<eps>/3.455
4/0
<eps>:<sil>/0 <sil>#2:<eps>/3.599
<sp>#1:<eps>/0.178 0
<eps>:<sp>/0
5
<sp>#1:<eps>/2.712
<eps>:<sp>/2.716
6/0
Obrázek 8: Příklad dvou HMM pro krátkou pauzu a ticho
2. pomocí hdp máme-li příslušný slovník, nebo nástroje pro fonetickou transkripci transc v opačném případě, spolu se seznamem alternativních výslovností vytvoříme slovník ⇒ L. Z jeho souboru symbolů pomocí rct je snadné vytvořit zbývající komponenty ⇒ C, L 3. nástroj z AT&T knihovny DCD dmake sestaví pomocí skládání a optimalizačních operací RN min(det(H ◦ det(C ◦ det(L ◦ G))))) . (9) 4. nástroj z AT&T knihovny DCD drecog aplikuje Viterbiho algoritmus [8, 11] na výslednou RN spolu tak s daným formátem HMM modelů a vstupních zparametrizovaných promluv dá na výstupu nejpravděpodobnější posloupnost slov v AT&T FSM formátu. 5. pomocí rct je možné tento tvar výstupu převést na mlf soubor, který se dá snadno porovnat s originálním pomocí HTK nástroje HResult
3. 3.1.
Dosažené výsledky Testovaná data
Veškeré HMM modely byly trénovány pomocí HTK Toolkitu [11] a řečové databáze SPEECON (550 dospělých lidí, přibližně 200 hodin čistých promluv) z FEL ČVUT. Z důvodů úspory času jsou HMM modely natrénovány pouze na 99 lidech (cca 33 hodin čisté promluvy) a je použita pouze jedna mixture [8, 11]. Jako parametrizace je použit 39 rozměrný vektor (energie + 12 mel kepstrálních + 13 delta + 13 akceleračních koef.) na segment délky 32 ms. Jednotlivé komponenty RN (H,C,L,G) jsou zkonstruovány pomocí programu rct, kde G je realizován jako bigram z promluv uložených v mlf souboru. Zbytek potřebných dat pro AT&T nástroj drecog je realizován rovněž pomocí nástroje rct [12]. 3.2.
Test rychlosti rozpoznávače
Pro tento test bylo vybráno 91 lidí-promluv (cca 800 slov), zejména číslovek. Složitost WFST gramatiky realizované jako bigram je 51 stavů a 470 přechodů. Na obr. 9 je výsledek tohoto testu. Je vidět, že na takto jednoduchou gramatiku není možné hledat pozitivní výsledky bez použití klestění. Rozpoznávač s hodnotami cen klestěni pod 120 se tedy v tomto případě zdá rychlejší, než HTK nástroj HVite, kde je čas rozpoznávání 22 s a úspěšnost 82.53%.
correct words & recognition time vs. prunning - drecog 0.0 120
40.0
80.0
120.0
160.0
200.0
240.0 76 72 68
80
64 60 60 40
HVite
56
20 drecog - correct words score 0 -20 0.0
drecog - recognition time 40.0
80.0 120.0 160.0 beam prunning [-]
200.0
correct words [%]
recognition time [sec]
100
52 48
44 240.0
Obrázek 9: Závislost času rozpoznávání & úspěšnosti rozpoznaných slov na klestěni
Typ CQ (ano-ne) CI (0-9) CC (0-9) CB (0-9) EN (nums.) CE (nums.) CM (curr.) CL (spell) CT (time) CD (dates) CW (i.adr.)
slov úspěšných sl. použitých všech HTK FSM 4 11 12 12 35 38 47 55 61 115 348
202 400 1991 1554 2744 1089 1426 2383 1009 1426 2086
99% 95% 92% 94% 81% 84% 90% 65% 86% 90% –
99% 95% 92% 95% 80% 82% 80% 61% 77% 80% 63%
Tabulka 1: Porovnání výsledného skóre při použití nástrojů HTK a AT&T, kde jsou jednotlivé komponenty RN realizovány programem rct
3.3.
Test správnosti realizace jednotlivých komponent RN
Tab. 3.3. ukazuje různé typy promluv v databázi SPEECON. Položky uváděné jako ”nums” a ”0-9” značí číslovky, ”curr.” číslovky s měnami a ”i.adr” internetové adresy. Rozpoznávací skóre dle očekávání klesá s rostoucím počtem použitých slov. Patrné rozdíly v úspěšnosti mezi rozpoznáváním pomocí HTK a FSM nástrojů jsou pravděpodobně důsledkem stále nedokonalé reprezentace jednotlivých komponent realizovaných programem rct.
4.
Závěry
V případě testu rychlosti rozpoznávání je testovaná síť příliš malá na to abychom mohli dělat nějaké závěry. Nicméně rychlejšího rozpoznávání se dá dosáhnout pomocí klestění.
Nástroj pro přípravu jednotlivých komponent RN rct je dle testů uvedených testů nutno zdokonalit na srovnatelnou úroveň úspěšnosti rozpoznávání s HTK toolkitem. Nejpropastnější rozdíly (až 10%) vznikají při použití více různých slov. Z uvedeného plyne, že další práce bude věnována možnosti rozpoznávání s obsáhlým slovníkem (klidně i 100 000 slov). Tak bude možné realizovat mnohem hodnověrnější testy rychlosti rozpoznávání, než je tento případ pro cca 12 slov.
Poděkování Tato práce byla podporována grantem GAČR 102/05/0278 ”New Trends in Research and Application of Voice Technology”, GAČR 102/03/H085 ”Biological and Speech Signals Modeling” a výzkumným záměrem MŠMT 6840770014 ”Research in the Area of the Prospective Information and Navigation Technologies”.
Reference [1] Fernando, C.; Pereira, N.; Riley, M. Speech recognition by composition of weighted finite automata. MIT Press , Cambridge, Massachusetts (1997). [2] Mohri, M. Mohri’s homepage. http://www.cs.nyu.edu/ mohri/index.html. [3] Mohri, M. Finite-state transducters in language and speech processing. Association for Computational Linguistic (1997). [4] Mohri, M. Minimization algorithms for sequential transducer. Theoretical Computer science (1997), 177–201. [5] Mohri, M.; Fernando, C.; Pereira, N. The design principles of weighted finite-state transducer library. Theoretical Computer science (2000), 17–32. [6] Mohri, M.; Fernando, C.; Pereira, N. Weighted finite state transducters in speech recognition. Computer Speech and Language (2002), 69–88. [7] Mohri, M.; Riley, M. Network optimizations for large vocabulary speech recognition. MIT Press , Cambridge, Massachusetts (1997). [8] Rabiner, L. R.; Juang, B.-H. Fundamentals of Speech Recognition. Murray Hill, New Yersey, USA, 1993. [9] Roche, E.; Schabes, Y. Finite-State Language Processing. MIT Press, USA, 1997. [10] Rogalewicz, V. Pravděpodobnost a statistika pro inženýry. Vydavatelství ČVUT, CZ, 1998. [11] Young, S. The HTK Book (for HTK Version 3.2.1). Microsoft Corporation, Cambridge University Engineering Department, USA, 2002. [12] Štemberk, P. At&t fsm toolkit pro rozpoznávání řeči. http://stembep.wz.cz/fsmhowto/index.html.