IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT...

127
ˇ Cesk´ e vysok´ e uˇ cen´ ı technick´ e v Praze Fakultaelektrotechnick´a Katedra teorie obvod˚ u IMPLEMENTACE ROZPOZN ´ AVA ˇ C ˚ U ˇ RE ˇ CI SYNT ´ EZOU BLOK ˚ U ˇ C ´ ASTE ˇ CN ´ YCH ZNALOST ´ I Disertaˇ cn´ ı pr´ ace Pavel ˇ Stemberk Praha, ´ unor, 2010 Doktorsk´ y studijn´ ı program: Elektrotechnika a informatika Studijn´ ı obor: Teoretick´a elektrotechnika ˇ Skolitel: Ing. V´aclav Hanˇ zl, CSc.

Transcript of IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT...

Page 1: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Ceske vysoke ucenı technicke v PrazeFakulta elektrotechnickaKatedra teorie obvodu

IMPLEMENTACE ROZPOZNAVACURECI SYNTEZOU BLOKUCASTECNYCH ZNALOSTI

Disertacnı prace

Pavel Stemberk

Praha, unor, 2010

Doktorsky studijnı program: Elektrotechnika a informatikaStudijnı obor: Teoreticka elektrotechnika

Skolitel: Ing. Vaclav Hanzl, CSc.

Page 2: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

.

Page 3: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Abstrakt

Text teto prace poskytuje prehled procesu rozpoznavanı mluvene reci na bazi skrytychMarkovovych modelu (HMM).

Prace dale popisuje vytvorenı jadra dekoderu (rozpoznavacı sıt’ z jednotlivychcastecnych znalostı jako jsou akusticke modely, slovnık a jazykovy model) a pouzitıkonecnych automatu pro optimalnı slozenı techto castı do jednoho celku.

Prace se take zabyva jazykovym modelem pro cesky jazyk zalozenym na trıdach slovvyuzıvajıcım zdroje dat z Ceskeho narodnıho korpusu (UCNK).

V praci jsou popsany nejen pouzıvane nastroje pro metody rozpoznavanı reci, tj. HTKa ATT nastroje, ale i vlastnı nastroj autora – program rct, ktery se stal nedılnou soucastıpropojenı ostatnıch nastroju a zdroje dat z UCNK korpusu.

V provadenych experimentech na dostupnych recovych databazıch se proverujı vlast-nosti jednotlivych dekoderu z pouzitych sad nastroju (HTK, ATT a rct) a vlastnostinavrzeneho modelu pro cesky jazyk zalozeneho na trıdach slov.

Abstract

This thesis provides the review of the ASR process based on Hidden Markov Models(HMM).

This work describes a core of decoder (recognition network assembled from elementarysources such as acoustics models, dictionary and language model) and usage of finite statemachines for optimal assembly into one part.

The thesis also deals with Czech language model based on word’s classes where datafrom Czech National Corpus (UCNK) are used.

Toolkits for ASR like HTK, ATT and program rct developed by the author are de-scribed in the thesis. Program rct became main part of data source interconnection betweenother toolkits and UCNK.

Properties of elementary decoders based on the used toolkits (HTK, ATT, and rct)and properties of designed Czech language model based on word classes are tested byexperiments on accessible speech databases.

Page 4: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

.

Page 5: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Obsah

Seznam obrazku v

Seznam tabulek vii

I Teoreticka cast 1

1 Statisticke metody rozpoznavanı mluvene reci 51.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Zakladnı schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Parametrizace dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.1 Mel kepstralnı koeficienty (MFCC) . . . . . . . . . . . . . . . . . . . 71.3.2 Vypocet kratkodobe energie . . . . . . . . . . . . . . . . . . . . . . . 81.3.3 Dynamicke koeficienty . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4 Akusticke modelovanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4.1 HMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4.2 Emitujıcı stavy HMM . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 Jazykove modelovanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.5.1 Stochasticky jazykovy model . . . . . . . . . . . . . . . . . . . . . . 121.5.2 n-gramovy jazykovy model . . . . . . . . . . . . . . . . . . . . . . . 121.5.3 Modely zalozene na trıdach slov . . . . . . . . . . . . . . . . . . . . 191.5.4 Posouzenı kvality jazykoveho modelu . . . . . . . . . . . . . . . . . . 20

1.6 Dekodovacı techniky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.6.1 Nalezenı posloupnosti stavu s nejvetsı verohodnostı . . . . . . . . . . 22

1.7 Zakladnı zpusoby prochazenı grafu . . . . . . . . . . . . . . . . . . . . . . . 231.7.1 Hledanı do hloubky - DFS . . . . . . . . . . . . . . . . . . . . . . . . 241.7.2 Hledanı do sırky - BFS . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.8 Algoritmus pro sıt’ realizovanou WFST . . . . . . . . . . . . . . . . . . . . 261.8.1 Prorezavanı rozpoznavacı sıte . . . . . . . . . . . . . . . . . . . . . . 27

2 Stavove automaty 282.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.2 Konecny automat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3 Polookruh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.4 Ohodnoceny stavovy automat . . . . . . . . . . . . . . . . . . . . . . . . . . 30

i

Page 6: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

2.5 Ohodnoceny prekladovy stavovy automat . . . . . . . . . . . . . . . . . . . 312.6 Zakladnı operace mezi stavovymi automaty . . . . . . . . . . . . . . . . . . 32

2.6.1 Sjednocenı (soucet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.6.2 Zretezenı (soucin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.6.3 Uzavrenı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.6.4 Otocenı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.6.5 Inverze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.6.6 Projekce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.6.7 Odstranenı epsilon prechodu . . . . . . . . . . . . . . . . . . . . . . 352.6.8 Prunik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.6.9 Rozdıl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.6.10 Konexe (orezanı) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.6.11 Ekvivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.6.12 Nejpravdepodobnejsı cesta (cesty) . . . . . . . . . . . . . . . . . . . 382.6.13 Nahodna cesta (cesty) . . . . . . . . . . . . . . . . . . . . . . . . . . 382.6.14 Prorezavanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.6.15 Skladanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.6.16 Determinizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.6.17 Stlacenı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.6.18 Minimalizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3 Stavovy automat jako rozpoznavacı sıt’ 453.1 Zakladnı topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.1.1 Hlavnı komponenty . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.1.2 Rozpoznavacı sıt’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

II Softwarove nastroje 50

4 Uvod 51

5 HTK 535.1 Parametrizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.2 Trenovanı modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.3 Shlukovanı kontextove zavislych fonemu . . . . . . . . . . . . . . . . . . . . 55

5.3.1 shlukovanı rızene daty . . . . . . . . . . . . . . . . . . . . . . . . . . 565.3.2 shlukovanı zalozene na fonetickych rozhodovacıch stromech . . . . . 56

5.4 Vytvorenı libovolneho modelu pomocı rozhodovacıho stromu . . . . . . . . 585.5 Rozpoznavanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6 AT&T nastroje 626.1 knihovna DCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.1.1 Stavba RN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626.1.2 Prıprava modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.1.3 Rozpoznavanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.2 grmtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.2.1 Vytvorenı statistickeho jazykoveho modelu . . . . . . . . . . . . . . 64

ii

Page 7: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

7 Uvod do programu rct 677.1 Univerzalnı parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677.2 Zpracovanı mlf -souboru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687.3 Uprava souboru symbolu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.4 Preindexovanı vstupnıch symbolu v automatu . . . . . . . . . . . . . . . . . 697.5 Zpracovanı vystupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.6 Zpracovanı prıznaku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707.7 Konverze HTK HMM modelu na AT&T DCD format . . . . . . . . . . . . 707.8 Rozpoznavanı programem rct . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8 Generovanı jednotlivych castı rozpoznavacı sıte 758.1 Jazykovy model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758.2 Slovnık . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758.3 FST kontextove zavislosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768.4 WFST reprezentujıcı Markovovy modely . . . . . . . . . . . . . . . . . . . . 778.5 Vytvorenı WSFA reprezentujıcıho pravdepodobnosti stavu promluvy . . . . 78

9 Zpracovanı databaze s morfologickymi kody 819.1 Zpracovanı dat z Ceskeho narodnıho korpusu . . . . . . . . . . . . . . . . . 81

9.1.1 Struktura UCNK korpusu SYN2000 . . . . . . . . . . . . . . . . . . 819.1.2 MYSQL Databaze pro ukladanı slov a jejich morfologickych znacek . 87

9.2 Soubor morfologickeho popisu . . . . . . . . . . . . . . . . . . . . . . . . . . 889.3 Pouzite kodovanı morfologickych znacek . . . . . . . . . . . . . . . . . . . . 899.4 Sestavenı FSM pro gramatiku . . . . . . . . . . . . . . . . . . . . . . . . . . 91

III Tvorba rozpoznavacu 93

10 Experimentalnı vysledky 9410.1 Pouzity hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9410.2 Pouzite recove databaze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9410.3 Akusticke modely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9410.4 Jazykove modely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9510.5 Rozpoznavacı sıt’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9510.6 Experimentalnı srovnanı dostupnych dekoderu . . . . . . . . . . . . . . . . 96

10.6.1 Nalezenı optimalnıho nasobitele jazykoveho modelu . . . . . . . . . 9610.6.2 Vliv pasoveho prorezavanı . . . . . . . . . . . . . . . . . . . . . . . . 9710.6.3 Vliv architektury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9810.6.4 Vyhodnocenı srovnavacıch testu dekoderu . . . . . . . . . . . . . . . 98

10.7 Srovnavacı test jazykovych modelu . . . . . . . . . . . . . . . . . . . . . . . 9810.7.1 Monofony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9910.7.2 Difony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10110.7.3 Trifony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

iii

Page 8: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

11 Shrnutı 10511.1 Splnenı cılu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

11.1.1 Algoritmus generovanı FST z bloku castecnych znalostı . . . . . . . 10511.1.2 Otestovanı ATT nastroju pro cesky jazyk . . . . . . . . . . . . . . . 10511.1.3 Konverze akustickych modelu z HTK do ATT . . . . . . . . . . . . . 10611.1.4 Vytvorenı Viterbiho dekoderu . . . . . . . . . . . . . . . . . . . . . . 10611.1.5 Zdroj pro jazykovy model . . . . . . . . . . . . . . . . . . . . . . . . 10611.1.6 Navrh JM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

11.2 Prınosy vysledku prace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Literatura 108

Autorovy publikace 112

Literatura pouzita pro tvorbu publikacı testovanı a vyvoj software 114

iv

Page 9: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Seznam obrazku

1.1 Princip rozpoznavanı reci zalozeny na statistickem prıstupu . . . . . . . . . 71.2 Melovska banka trojuhelnıkovych filtru . . . . . . . . . . . . . . . . . . . . . 71.3 Prıklad levo-praveho HMM vcetne matice prechodu . . . . . . . . . . . . . 91.4 Demonstrace Viterbiho algoritmu . . . . . . . . . . . . . . . . . . . . . . . 241.5 Princip prochazenı grafem pri zadane posloupnosti vektoru prıznaku . . . . 241.6 Rozpoznavac ”ano-ne” bez zpetnych prechodu . . . . . . . . . . . . . . . . . 251.7 Postupne navstevovanı stavu algoritmem DFS . . . . . . . . . . . . . . . . . 251.8 Mezikroky navstevovanı stavu algoritmem BFS . . . . . . . . . . . . . . . . 261.9 Princip generovanı hypotez pri prochazenı sıte . . . . . . . . . . . . . . . . 27

2.1 Prıklad WFSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2 Prıklad WFST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3 Prıklad sjednocenı (souctu) dvou WFSA . . . . . . . . . . . . . . . . . . . . 332.4 Prıklad zretezenı (soucinu) dvou WFSA . . . . . . . . . . . . . . . . . . . . 332.5 Prıklad uzavrenı WFSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.6 Prıklad otocenı WFSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.7 Prıklad inverze WFST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.8 Prıklad projekce WFST na WFSA . . . . . . . . . . . . . . . . . . . . . . . 352.9 Prıklad odstranenı epsilon prechodu WFSA . . . . . . . . . . . . . . . . . . 362.10 Prıklad pruniku dvou WFSA . . . . . . . . . . . . . . . . . . . . . . . . . . 362.11 Prıklad rozdılu dvou WFSA . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.12 Prıklad konexe WFSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.13 Prıklad dvou ekvivalentnıch WFSA . . . . . . . . . . . . . . . . . . . . . . . 372.14 Prıklad hledanı nejpravdepodobnejsıch cest . . . . . . . . . . . . . . . . . . 382.15 Prıklad hledanı nahodnych cest . . . . . . . . . . . . . . . . . . . . . . . . . 392.16 Prıklad prorezavanı WFSA . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.17 Prıklad skladanı dvou WFST . . . . . . . . . . . . . . . . . . . . . . . . . . 402.18 WFSA A1 pred determinizacı a determinizovany WFSA A2 . . . . . . . . . 412.19 Prıklad determinizace jednoducheho lexikonu . . . . . . . . . . . . . . . . . 422.20 Prıklad aplikace stlacenı na WFSA A2 . . . . . . . . . . . . . . . . . . . . . 432.21 Prıklad minimalizace WFSA A3 . . . . . . . . . . . . . . . . . . . . . . . . . 432.22 Prıklad minimalizace determinizovaneho lexikonu z obr. 2.19 . . . . . . . . 43

3.1 Bigramovy model pro slova w1 a w2 . . . . . . . . . . . . . . . . . . . . . . 453.2 Trigramovy model pro slova w1 a w2 . . . . . . . . . . . . . . . . . . . . . . 46

v

Page 10: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

3.3 Slovo ”cıl” reprezentovano modely a) monofonu b) trifonu c) difonu . . . . . 473.4 Prıklad FST kontextove zavislosti pro trifony . . . . . . . . . . . . . . . . . 473.5 Prıklad FST kontextove zavislosti pro difony . . . . . . . . . . . . . . . . . 483.6 Prıklad vytvorenı HMM WFST . . . . . . . . . . . . . . . . . . . . . . . . . 483.7 Uzavreny HMM WFST z obr. 3.6 . . . . . . . . . . . . . . . . . . . . . . . . 49

5.1 Prıklad fonetickeho rozhodovacıho stromu . . . . . . . . . . . . . . . . . . . 585.2 Prıklad realizace rozp. sıte ano-ne souborem wdn . . . . . . . . . . . . . . . 60

6.1 Prıklad cıtacıho automatu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.2 Prıklad automatu reprezentujıcıho jazykovy model . . . . . . . . . . . . . . 66

7.1 Struktura modelu DCD knihovny . . . . . . . . . . . . . . . . . . . . . . . . 71

8.1 Prıklad vytvorenı WFST slovnıku pomocı parametru -l a -ls . . . . . . . . . 778.2 Prıklad vytvorenı WFST slovnıku s alternativnımi vyslovnostmi pomocı

parametru -lL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778.3 Prıklad vytvorenı HMM WFST pro shlukovane stavy . . . . . . . . . . . . . 798.4 Prıklad WFSA reprezentujıcı pravdepodobnosti stavu promluvy . . . . . . . 80

9.1 Schema databaze pro ukladanı morfologickych struktur slov . . . . . . . . . 879.2 Prıklad vety ”stal tam samotny vysoky sloup”U reprezentovane pomocı FSA 909.3 Prıklad morfologickeho analyzatoru M realizovaneho pomocı FST . . . . . 909.4 FSA P = π2(U M), kde U je na obr. 9.2 a M na obr. 9.3 . . . . . . . . . . 91

10.1 Zavislost uspesnosti a koeficientu nasobitele vah RN na dobe rozpoznavanı- 125 slov, databaze SPEECON . . . . . . . . . . . . . . . . . . . . . . . . . 97

10.2 Zavislost uspesnosti a koeficientu pasoveho prorezavanı - kpp na doberozpoznavanı - 125 slov, databaze SPEECON . . . . . . . . . . . . . . . . . 98

10.3 Uzavreny test, monofony, 46 hustotnıch funkcı, N = 663 slov . . . . . . . . 10010.4 Uzavreny test jazykoveho modelu zalozeneho na slabikach, monofony, 46

hustotnıch funkcı, N = 689 slabik . . . . . . . . . . . . . . . . . . . . . . . . 10110.5 Uzavreny test, difony, 46 hustotnıch funkcı, N = 663 slov . . . . . . . . . . 10210.6 Uzavreny test, difony, bigramovy model zalozeny na morfologickych kodech,

srovnanı pro 16, 23 a 46 hustotnıch funkcı, N = 663 slov . . . . . . . . . . . 10210.7 Uzavreny test, trifony, 46 hustotnıch funkcı, N = 663 slov . . . . . . . . . . 10310.8 Uzavreny test, trifony, bigramovy model zalozeny na morfologickych

kodech, srovnanı pro 16, 23 a 46 hustotnıch funkcı, N = 663 slov . . . . . . 104

vi

Page 11: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Seznam tabulek

2.1 Vyber binarnıch a unarnıch operacı mezi jednotlivymi FSM . . . . . . . . . 32

3.1 Slozitost n-gramoveho modelu dle n a poctu slov k . . . . . . . . . . . . . . 46

9.1 Struktura morfologicke znacky v UCNK korpusu . . . . . . . . . . . . . . . 819.16 Kody padu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.17 Kody slovnıch druhu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.18 Kody pro cıslo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.19 Kody pro osobu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.20 Kody pro rod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.21 Kody pro slovesny rod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.22 Ostatnı druhy slov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.23 Kodovanı morfologickych znacek programem sharprct dle symbolu pop-

sanych v kapitole 9.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919.24 Ukazka zavislosti slozitosti automatu M ,P , G a HLG na poctu pouzitych

slov pro n = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

10.1 Optimalnı velikost nasobitele vah RN pro jednotlive dekodery dle testu . . 9710.2 Vysledky testu jednotlivych dekoderu . . . . . . . . . . . . . . . . . . . . . 9810.3 Uzavreny test, monofony, 46 hustotnıch funkcı, N = 663 slov . . . . . . . . 10010.4 Uzavreny test jazykoveho modelu zalozeneho na slabikach, monofony, 46

hustotnıch funkcı, N = 689 slabik . . . . . . . . . . . . . . . . . . . . . . . . 10110.5 Uzavreny test, difony, 46 hustotnıch funkcı, N = 663 slov . . . . . . . . . . 10310.6 Uzavreny test, trifony, 46 hustotnıch funkcı, N = 663 slov . . . . . . . . . . 103

vii

Page 12: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Seznam pouzitych zkratek a symbolu

ASR termın pro oblast rozpoznavanı mluvene reci (angl. Automatic SpeechRecognition)

AT&T americka telekomunikacnı spolecnost (angl. American Telephone andTelegraph)

ATT nastroje vyvinute spolecnostı AT&TBSD Berkeley Software DistributionCMU Carnegie Mellon UniversityGPL Vseobecna verejna licence (z angl. General Public License)FSA automat s konecnym poctem stavu (z angl. Finite-State Acceptor)FSM automat s konecnym poctem stavu - obecny pojem (z angl. Finite-State

Machine)FST prekladovy automat s konecnym poctem stavu (z angl. Finite-State

Transducer)HMM skryty Markovovuv model (z angl. Hidden Markov Model)HTK sada nastroju pro praci s HMM (z angl. Hidden Markov Model Toolkit)ISIP Institute for Signal and Information ProcessingJM jazykovy modelLVCSR termın pro rozpoznavanı reci s velkym slovnıkem (angl. Large-

Vocabulary Continuous Speech Recognition)MIT Massachusetts Institute of TechnologyRN rozpoznavacı sıt’ (z angl. Recognition Network)SGE (z angl. Sun Grid Engine) otevreny software firmy Sun Microsystem

umoznujıcı spoustet vzdalene fronty davekUCNK Ustav ceskeho narodnıho korpusuWFSA ohodnoceny automat (z angl. Weighted Finite-State Acceptor)WFST ohodnoceny prekladovy automat (z angl. Weighted Finite-State Trans-

ducer)

viii

Page 13: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Podekovanı

Rad bych uvedl nejen seznam grantu a vyzkumnych zameru podılejıcıch se nejakym zpu-sobem na financovanı teto disertace a tım i meho doktorandskeho zivota, ale i jmena lidıkterı s touto pracı jakkoliv pomahali.

Cela prace byla vytvarena pri podpore grantu GACR 102/03/H085 Modelovanı bio-logickych a recovych signalu, GACR 102/05/0278 Nove smery ve vyzkumu a vyuzitıhlasovych technologiı, AV CR 1ET201210402 Hlasove technologie v informacnıch sys-temech a vyzkumnym zamerem MSM 6840770014 Vyzkum perspektivnıch informacnıch akomunikacnıch technologiı.

Rad bych podekoval Ing. Vaclavu Hanzlovi, CSc. jako skoliteli za velmi dobre vedenıbehem meho studia a za mnoho pro mne novych poznatku. Podekovanı patrı take Doc.Ing. Petru Pollakovi, CSc. zejmena za umoznenı zucasnit se projektu nahravanı recovychdatabazı SPEECON a TEMIC2, Prof. Ing. Janu Uhlırovi CSc., Prof. Ing. Pavlu SovkoviCSc. a Doc. Ing. Romanu Cmejlovi, CSc. za umoznenı me ucasti ve vetsine zde uvadenychgrantu a vyzkumnem zameru.

Nemohu opomenout podekovat vsem lidem a organizacım nejakym zpusobem venu-jıcım se problematice rozpoznavanı mluvene reci, zejmena tem kterı do oblasti prispıvajıv ramci projektu pod tzv. “svobodnymi” licencemi.

V neposlednı rade podekovanı patrı me rodine, ktera byla zalozena behem vznikuteto prace a to hlavne za velkou trpelivost, kterou se mnou manzelka mela. Dale bychrad podekoval Antonu Skorochodovi za vyznamne prispenı do kodu ohledne komunikaces UCNK serverem, Hynku Borilovi, Petru Zlatnıkovi, Josefu Rajnohovi a dalsım, kterıjakkoliv k me praci prispeli a jejichz jmena jsem nechtene opomenul.

ix

Page 14: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Cast I

Teoreticka cast

1

Page 15: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Uvod

Moznost komunikace mluvenou recı se strojem je velkym pranım snad vsech lidı, kterıs nejakym zarızenım prisli do styku. Rec je nejrozsırenejsım prostredkem komunikace mezilidmi. Dodnes vsak nenı mozna bezproblemova plynula komunikace clovek-stroj na takoveurovni, aby stroj byl schopen napsat vnımane spontannı vety cloveka, ci dokonce temtotypum vet porozumet a vykonat splnitelne pranı recnıka.

Skala uplatnenı automatickeho rozpoznavanı reci - ASR (z angl. Automatic SpeechRecognition), resp. rozpoznavanı reci s velkym slovnıkem LVCSR (z angl. Large Voclabu-lary Continuous Speech Recognition), je skutecne velmi siroka, pocınaje ruznymi databa-zovymi systemy schopnymi vnımat nekolik zakladnıch hlasovych povelu, pres ruzne dik-tovacı systemy (napr. automaticka vyroba titulku pro handicapovane, ci studenty cizıchjazyku), konce prekladacımi systemy z jednoho jazyka do jineho (z angl. Speech to Speech).

Historie rozpoznavacu reci saha az k pocatku sedmdesatych let 19. stoletı. TehdyAlexandr Bell prisel s myslenkou stroje, ktery by pomahal sluchove postizenym lidem.Belovy laboratore vsak zaznamenaly prvnı vetsı uspech na poli reci az v roce 1936, kdypracovnıci laboratore vyvinuli recovy syntezator. Tak se zrodil ”roboticky” hlas, ktery meluspech v neprılis kvalitnıch nızko-rozpoctovych filmech.

Prvnı pokusy s rozpoznavanım se provadely v 50. letech, kdy se ruznı vedci pokouselipopsat zakladnı myslenky akusticke fonetiky. V roce 1952 v Bellovych laboratorıch bylpostaven system pro rozpoznavanı izolovanych cıslovek pro jednoho mluvcıho. Systempracoval na bazi merenı doby spektralnıch rezonancı samohlasek kazde cıslovky. V roce1959 na univerzite College ve Velke Britanii byly pokusy postavit fonemovy rozpoznavacpro rozpoznavanı 4 samohlasek a 9 souhlasek. Srovnavali pritom spektralnı cary s danymimodely.

Mnohem rychlejsı vyvoj rozpoznavacu nastal dıky platnosti Mooreova zakona o vyvojivykonu pocıtacu az v 70. letech 20. stoletı. Vyznamnym milnıkem v rozpoznavanı reci pakbyla 80. leta, kdy se systemy pro ASR zacaly realizovat pomocı statistickych metod nabazi skrytych Markovovych modelu HMMs (z angl. Hidden Markov Models) [Rab93].

Prestoze metoda rozpoznavanı pomocı HMM byla v nekolika laboratorıch pouzıvana(vyrazne IBM a Dragon Systems), do poloviny 80. let nebyla zadna publikaceo rozpoznavanı pomocı HMM rozsırena [Rab93].

V roce 1989 vznikla na univerzite v Cambridge prvnı verze HTK (z angl. HiddenMarkov Model Toolkit) [You02]. Jedna se o kolekci knihoven a modulu v jazyce C, ktereumoznujı stavbu rozpoznavace na bazi HMM.

V polovine 90. let aplikoval Mohruv tym v AT&T laboratorıch ohodnocene prekladoveautomaty - WFST (z angl. Weighted Finite-State Transducers) v rozpoznavanı reci[Moh97a]. K dispozici jsou dnes tzv. ATT nastroje pro operace se stavovymi automaty

2

Page 16: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

- tzn. FSM knihovna [Moha], nastroje pro jazykove modelovanı pomocı konecnych au-tomatu - GRM knihovna [Allb] a nastroje pro dekodovanı, resp. rozpoznavanı - DCDknihovna [Mohb].

Prehled soucasneho stavu dane vednı problematiky

Ve vetsine laboratorı rozpoznavanı reci jsou stejne jako na Katedre teorie obvodu s obliboupouzıvany nastroje pro praci s HMM - HTK. Ty umoznujı natrenovat skryte Markovovymodely na zaklade olabelovanych recovych databazı, vytvorit n-gramovy jazykovy modelpomocı predem pripravenych rozsahlych textu a provest dekodovanı, resp. rozpoznavanıvstupnı promluvy danym jazykovym modelem na zaklade slovnıku reprezentovaneho tex-tovym souborem (prevod slov na posloupnost akustickych jednotek) a HMM. Vycerpavajıcıpopis v [You02] spolu s dostupnymi zdrojovymi kody umoznuje bezproblemove studiummechanismu rozpoznavanı mluvene reci. Velkou nevyhodou je zde nejen absence optimali-zace rozpoznavacı sıte - RN (z angl. Recognition Network), ale i kopmlikovane zadanı sıtena urovni akustickych modelu.

Velky problem predstavuje rovnez n-gramove modelovanı pro cesky jazyk. Cestina,stejne jako ostatnı slovanske jazyky s vyjimkou Bulharstiny, je velmi ohebny jazyk s mnohatvary slov odvozenych od zakladnıho tvaru slova lemma. S poctem slov tak narusta islozitost n-gramoveho modelu (s n-tou mocninou) a problem nedostatku trenovacıch datzpusobujıcı nekvalitnı odhad jazykoveho modelu. Pouzıvanym resenım je rozdelenı slov namorfemy a nasledne natrenovanı n-gramu na bazi morfemu. Nevyhodou je vsak vyraznesnızenı prediktivnı schopnosti jazykoveho modelu.

Temer vycerpavajıcı prehled soucasne problematiky rozpoznavanı reci je v [Psu06].

Cıle disertace

Na zaklade predchozıho textu lze cıle disertace shrnout do nasledujıcıch bodu:

1. vytvorit algoritmus, ktery sestrojı na zaklade zakladnıch znalostı i velmi sloziteprekladove stavove automaty reprezentujıcı jednotlive casti rozpoznavacı sıte,

2. otestovat ATT nastroje pro cesky jazyk,3. vytvorit algoritmus pro moznou konverzi modelu mezi HTK a ATT nastroji,4. vytvorit vlastnı dekoder umoznujıcı ze zadane optimalizovane rozpoznavacı sıte v ATT

formatu a akustickych modelu v HTK formatu rozpoznat vstupnı promluvu,5. nalezt vhodny zdroj a zpusob zpracovanı dat pro vytvorenı ceskeho jazykoveho mo-

delu,

3

Page 17: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

6. navrhnout jazykovy model pro cesky jazyk, ktery by kombinoval vyhody spocıvajıcıv moznostech nastroju pro zpracovanı stavovych automatu a moznosti pouzitı mor-fologicky oznackovaneho korpusu.

4

Page 18: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 1

Statisticke metody rozpoznavanı

mluvene reci

1.1 Uvod

Po prvnıch vyznamnejsıch uspesıch s rozpoznavanım v padesatych letech se predpok-ladalo, ze behem nekolika let bude mozne zkonstruovat zarızenı, ktere automaticky a bezobtızı bude schopno prevest promluvu na psany text. Uved’me stezejnı duvody proc jestrojove tak problematicke rozpoznat vstupnı promluvu:• nestejnost promluv jako je odlisna barva hlasu, tempo, nebo koartikulace,• absolutne jiny fyzikalnı popis hlasu pri sepotu, normalnı promluve, nebo kriku,• nestejnost signalu promluvy pri ruznych akustickych pozadıch, resp. pri zpracovanı

signalu ruznymi analogovymi cestami.Vyvoj v teto oblasti prinesl dva zakladnı prıstupy. Prvnı je tzv. porovnavanı obrazu

(z angl. template matching). Ten je pouzit pouze v prıpade rozpoznavanı izolovanych slova hlavnı princip spocıva ve srovnavanı parametru rozpoznavaneho slova s mnozinou vzoru.Problem zmeny tempa reci (variabilita delek jednotlivych souhlasek) je vyresen pomocınelinearnı, tzv. bortive casove osy. Dnes se jiz tento zpusob nepouzıva casto. Podrobne jemetoda porovnavanı obrazu popsana napr. v [Psu95].

Druhym a dnes jiz beznym prıstupem je rozpoznavanı reci na bazi statistickehomodelovanı [Psu06]. Zakladem jsou zde jiz zminovane Markovovy modely reprezentujıcıbud’ jednotlive slova (prıpad rozpoznavanı izolovanych slov), nebo mnohem casteji ruznepodurovne slov (prıpad rozpoznavanı souvisle reci) – v teto praci kontextove nezavisle,nebo kontextove zavisle fonemy. Vyhoda v reprezentaci HMM jako fonemu spocıva v kon-stantnım poctu natrenovanych modelu, tj. pro 45 ceskych fonemu, a okamzite dostup-nosti vsech modelu. Nevyhodou je pak nizsı vysledne skore oproti Markovovym mod-

5

Page 19: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

elum reprezentujıcım prımo slova - duvodem je pravdepodobne vetsı obsahlost informacev HMM natrenovanem pro konkretnı slovo, nez v modelu slova vytvorenem z pospojo-vanych HMM fonemu.

1.2 Zakladnı schema

Rozpoznavanı je zde formulovano jako problem dekodovanı s maximalnı aposteriornıpravdepodobnostı. Predpokladejme, ze W = w1, w2, . . . , wN = wN1 je posloupnost N slova necht’ O = o1,o2, . . . ,oT je akustickou informacı (posloupnostı vystupnıch znacek)odvozenou ze signalu promluvy. Uloha je nalezt posloupnost slov W tak, aby pravdepodob-nost posloupnosti slov pro danou akustickou informaci O P (W |O) byla maximalizovana.Podle Bayesova pravidla platı

P (W |O) = maxW

P (W |O) = maxW

P (W )P (O|W )P (O)

, (1.1)

kde P (W |O) je pravdepodobnost, ze pri vyslovenı posloupnosti slov W bude generovanaposloupnost vystupnıch znacek O a P (W ) je aposteriornı pravdepodobnost posloupnostislov W (tj. pravdepodobnost, ze si recnık preje vyslovit prave tuto posloupnost slov).Jelikoz hledame posloupnost slov W pro maximalnı P (W |O), P (O) je v tomto prıpadekonstanta a muze byt ignorovana [Psu95]. Hledanı maxima pravdepodobnosti P (W |O) jetak ekvivalentnı hledanı maxima sdruzene pravdepodobnosti P (W,O)

P (W ,O) = maxW

P (W,O) = maxW

P (W )P (O|W ) . (1.2)

Uloha rozpoznavanı tak muze byt rozdelena do nekolika urovnı[Rab93, Moh96]:1. akusticke zpracovanı recoveho signalu - parametrizace2. vytvorenı akustickych modelu a sıte mapujıcı tyto modely na slova - reprezentaceP (O|W )

3. vytvorenı jazykoveho modelu - reprezentace aposteriornı pravdepodobnosti P (W )4. nalezenı nejpravdepodobnejsı posloupnosti slov W aplikacı ucinneho algoritmu

Tyto kroky jsou schematicky znazorneny na obr. 1.1.

1.3 Parametrizace dat

V aplikacıch rozpoznavanı reci bylo publikovano mnoho parametrizacı [Psu06, Rab93,You02]. Jakymsi ”standardem” se nejen na Katedre teorie obvodu stala parametrizacesignalu do tzv. Melovskych kepstralnıch koeficientu a energie. Konkretne bude v pracipouzito 12 Melovskych kepstralnıch koeficientu a energie, jejich delta a akceleracnı koefi-cienty. Celkem tedy budeme pracovat s 39-ti rozmernym normalnım rozdelenım.

6

Page 20: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Obrazek 1.1: Princip rozpoznavanı reci zalozeny na statistickem prıstupu

1.3.1 Mel kepstralnı koeficienty (MFCC)

Parametrizace MFCC patrı v oblasti rozpoznavanı reci mezi nejvıce pouzıvane[Psu06]. Je navrzena tak, aby respektovala nelinearnı vlastnosti vnımanı zvuku lidskymuchem. Kompenzace nelinearnıho vnımanı frekvencı je vyresena pomocı linearne rozloze-nych bank trojuhelnıkovych filtru v Melovske frekvencnı skale definovane jako

fm = 2595 · log10

(1 +

f

700

). (1.3)

Recovy signal s(k) jez je priveden na vstup je po preemfazi segmentovan na okna delky10-32 ms s prekryvem typicky 10 ms. Na segmenty je dale aplikovano Hammingovookenko a pomocı Fourierovy transformace spocteno amplitudove spektrum S(f). Nasle-duje Melovska filtrace ve spektru bankou vyse zmınenych trojuhelnıkovych filtru (obr.1.2). Pro strednı frekvence Melovskych filtru bm,i platı

Obrazek 1.2: Melovska banka trojuhelnıkovych filtru

bm,i = bm,i−1 + ∆m, (1.4)

kde pasmo rozlozenı filtru ∆m dostaneme

∆m =BmwM∗ + 1

, (1.5)

7

Page 21: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

kde bm,0 = 0 mel a i = 1, 2, . . . ,M∗.Po vynasobenı spektra Melovskou bankou filtru jsou spektralnı cary v jednotlivych pas-mech bank secteny. Tımto zpusobem jsme obdrzeli M∗ mel-spektralnıch koeficientu ym(i)[You02]. Aplikacı nasledujıcı diskretnı kosinove transformace (DCT) obdrzıme Melovskekepstralnı koeficienty cm(j).

cm(j) =M∗∑i=1

log ym(i) cos(πj

M∗(i− 0, 5)

), pro j = 0, 1, . . . ,M, (1.6)

kde M∗ je pocet pasem Melovske banky filtru a M je pocet pozadovanych Melovskychkepstralnıch koeficientu. Pocet techto koeficientu je mozne volit podstatne mensı, nez jepocet pasem Melovske banky filtru (v praxi stacı uvazovat prvnıch M = 10−−13) [Psu06].

1.3.2 Vypocet kratkodobe energie

Nulty koeficient cm(0) je umerny logaritmu energie signalu. Byva vsak casto nahra-zovan logaritmem kratkodobe energie elog prımo ze segmentu vstupnıho signalu s(k).

elog = logN−1∑k=0

[s(k)w(N − 1− k)]2 , (1.7)

kde N je pocet vzorku pro dany recovy segment a w(k) je funkce Hammingova okna.

1.3.3 Dynamicke koeficienty

Dynamicke koeficienty oznacovane jako delta ∆cm a delta-delta ∆2cm (nazyvane i jakoakceleracnı) vyjadrujı casove zmeny vektoru prıznaku. Pro kazdy analyzovany mikroseg-ment n se urcujı linearnı regresı z 2L1 + 1 (resp. 2L2 + 1) po sobe jdoucıch mikrosegmenturecoveho signalu

[∆cm(j)]n =

L1∑−L1

κ [cm(j)]n+κ

L1∑−L1

κ2

, (1.8)

[∆2cm(j)

]n

=

L2∑−L2

κ [∆cm(j)]n+κ

L2∑−L2

κ2

, (1.9)

s typickou hodnotou L1 = L2 = 1. Pro kazdy analyzovany mikrosegment v prıpade pouzitı12 Melovskych kepstralnıch koeficientu a kratkodobe energie dostavame celkem 39 koefi-cientu reprezentujıcıch jednotlive vektory prıznaku

o = [ce,∆ce,∆2ce]T , (1.10)

8

Page 22: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

kde ce = [cm, elog] predstavuje vektor zahrnujıcı Melovske kepstralnı koeficienty spolecnes energiı.

1.4 Akusticke modelovanı

1.4.1 HMM

Markovovuv model, tez Markovovuv retezec oznacuje stochasticky proces, kteryma Markovovskou vlastnost. Ta rıka, ze v kazdem stavu procesu je pravdepodobnostnavstıvenı dalsıch stavu nezavisla na drıve navstıvenych stavech. To znamena, ze chovanıv Markovovych retezcıch je bezpamet’ove: V kazdem konkretnım stavu je mozno zapome-nout historii (posloupnost stavu predchazejıcı stavu soucasnemu)[Kor02].1

Skryty Markovovuv model - HMM je statisticky model, ve kterem je system modelovanna zaklade Markovoveho procesu s nepozorovanou posloupnostı stavu. HMM v diskret-nıch casovych okamzicıch generuje nahodnou posloupnost vektoru pozorovanı (prıznaku)O = o1,o2, . . . ,oT . HMM uzıvany v aplikacıch rozpoznavanı mluvene reci se skladaze dvou castı - ze stavoveho automatu s konecnym poctem stavu (reprezentovano maticıprechodu A - (1.11)) a z konecneho poctu vystupnıch distribucnıch funkcı reprezentujıcıchspektralnı charakter kratkych useku recoveho signalu.

Prıklad HMM casto pouzıvaneho pro rozpoznavanı elementarnıch useku reci (fonemu)je zobrazen na obr. 1.3.

b ot( ) b ot( )2 3b

1ot( )

53 4

0.83 0.92

0.120.06 0.08

0.050.09

1 0.93 20.07

0.85

A =

0 0.93 0.07 0 00 0.85 0.06 0.09 00 0 0.83 0.12 0.050 0 0 0.92 0.080 0 0 0 0

=

a1,1 a1,2 a1,3 a1,4 a1,5

a2,1 a2,2 a2,3 a2,4 a2,5

a3,1 a3,2 a3,3 a3,4 a3,5

a4,1 a4,2 a4,3 a4,4 a4,5

a5,1 a5,2 a5,3 a5,4 a5,5

(1.11)

Obrazek 1.3: Prıklad levo-praveho HMM vcetne matice prechodu

1Markovovy retezce dostaly jmeno po matematiku Andreji Markovovi.

9

Page 23: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Podmınene pravdepodobnosti prechodu ai,j urcujı, s jakou pravdepodobnostı prechazımodel ze stavu si v case t do stavu sj v case t+ 1

ai,j = P (s(t+ 1) = sj |s(t) = si) , (1.12)

kde s(t) je stav HMM v case t. Stochasticnost je v modelu zavedena splnenım

N∑j=1

ai,j = 1 (1.13)

pro vsechny stavy si, i = 1, 2, . . . , N .Pokud je dolnı trojuhelnıkova cast matice prechodu nulova, HMM model nazyvame

levo-pravy - viz (1.11), obr. 1.3.

1.4.2 Emitujıcı stavy HMM

Funkce rozdelenı vystupnı pravdepodobnostı bj(ot) popisujı spojite rozdelenıpravdepodobnosti vektoru prıznaku ot generovaneho ve stavu sj v case t

bj(ot) = P (ot|s(t) = sj) , (1.14)

kde P znacı hustotu pravdepodobnosti [Rog98] 2. Stochasticnost je v modelu zavedenasplnenım ∫

o

bj(ot)do = 1 (1.15)

pro vsechny emitujıcı stavy si, i = 1, 2, . . . , N .Jedna se o spojite rozdelenı se smesı normalnıch hustotnıch funkcı (z angl. Continu-

ous Gaussian Mixture Densities) [Psu06]. Je obecne navrzeno pro vıce datovych proudu(z angl. streams). Vysledna hustota je dana vazenym prumerem jednotlivych normalnıchhustotnıch funkcı. Obecny vypocet bj(ot) pro stav j, S datovych proudu a Ms smesı pros-ty datovy proud je dan

bj(ot) =S∏s=1

[Ms∑m=1

cjsmN(ost; µjsm,Σjsm)

]γjs, (1.16)

kde ost = [o1 o2 ... on]T je vstupnı vektor prıznaku, µjsm = [µ1 µ2 ... µn]T je vektor stred-nıch hodnot n-rozmerneho normalnıho rozdelenı, Σjsm je kovariancnı matice n-rozmernehonormalnıho rozdelenı a cjsm, resp. γjs jsou vahy pro m-tou hustotnı smes, resp. pro s-tydatovy proud. Definicnı vztah pro vypocet hustotnı funkce normalnıho rozdelenı je

N(ost; µjsm,Σjsm) =1√

(2π)ns |Σjsm|· exp

(−1

2(ost − µjsm)TΣ−1

jsm(ost − µjsm))

.

(1.17)2Je vhodne poznamenat, ze pro ucely rozpoznavanı mluvene reci se drıve pouzıvalo rozdelenı diskretnı

kvuli nizsı komplexnosti.

10

Page 24: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Vzhledem k vysoke nekorelovanosti prvku vektoru prıznaku je mozne kovariancnı maticiΣjsm povazovat za diagonalnı a nahradit jı vektorem rozptylu r = [r1 r2 ... rn]T, kterypredstavuje diagonalu teto matice. Vypocet (1.16) pak prechazı na

bj(ot) =S∏s=1

[Ms∑m=1

cjsmN(ost; µjsm, rjsm)

]γjs, (1.18)

kde

N(ost; µjsm, rjsm) =1√

(2π)ns∏nsk=1 rjsmk

· exp

(−1

2

ns∑k=1

(osk − µjsmk)2

rjsmk

). (1.19)

V praxi se vsak spıse pracuje s logaritmickymi pravdepodobnostmi, a to kvuli mozneztrate presnosti pri nasobenı cısel mensıch jedne. Pro zakladnı matematicke operacedostavame

log(P1P2) = log(P1) + log(P2)

log(P1 + P2) = log(P1) + log(

1 + P2P1

) . (1.20)

V praxi pro soucet pravdepodobnostı je vhodne volit P1 ≥ P2, potom je mozne log(1 +P2/P1) aproximovat jako log(P1/P2). Pro logaritmicke pravdepodobnosti a,b se puvodnıoperace souctu menı na

ladd(a, b) = ln(ea + eb)= max(a, b) + f(|a− b|)

, (1.21)

kdef(x) = ln(1 + e−x) (1.22)

Zaved’me operator souctu N logaritmickych pravdepodobnostı

N⊔i=1

ai = lnN∑i=1

eai . (1.23)

Aplikacı (1.20) na (1.18) a (1.19) dostaneme efektivnı zpusob vypoctu logaritmu bj(ot)

ln bj(ot) =S∑s=1

γs

M⊔m=1

(ln cjsm + ln

1√(2π)ns

∏nsk=1 rjsmk

−ns∑k=1

(osk − µjsmk)2 12 rjsmk

),

(1.24)kde je mozne pro urychlenı vypoctu dopredu spocıtat hodnotu Gjsm

lnGjsm = ln cjsm + ln1√

(2π)ns∏nsk=1 rjsmk

. (1.25)

11

Page 25: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

1.5 Jazykove modelovanı

Ulohou jazykoveho modelu je poskytovat co nejpresnejsı odhad aposteriornıpravdepodobnosti P (W ) pro libovolnou posloupnost slov W . Ne vzdy je vsak pro libo-volnou posloupnost slov W nenulovy odhad aposteriornı pravdepodobnosti P (W ). To-muto omezenı se rıka deterministicke [Psu06]. Modelu jazyka, ktery nema deterministickeomezenı a urcuje aposteriornı pravdepodobnosti ke vsem posloupnostem slov, budeme rıkatstochasticky jazykovy model.

Jazykovy model by take mel byt schopen udavat odhady aposteriornıch pravdepodob-nostı nedokoncenych posloupnostı slov W behem vlastnıho rozpoznavanı v realnem casebez nutnosti cekat na ukoncenı promluvy.

Je potreba uvest, ze nektere vyklady v nasledujıcıch kapitolach jsou prevzaty z [Psu06,Kat87, Ney95] a dalsıch zdroju. Prıslusny zdroj je vzdy citovan. Autor kvuli sjednocenıtechto zdroju zavedl nepatrne odlisna znacenı.

1.5.1 Stochasticky jazykovy model

Jazykovy model vyjadruje pravdepodobnost posloupnosti slov W = w1, w2, . . . , wN,nadale znacene tez jako W = wN1 . Pro prirozene jazyky je nutne ocenit pravdepodobnostkazdeho slova na zaklade leveho kontextu (minule historie) ve vete. Platı

P (W ) = P (w1)P (w2|w1)P (w3|w21) . . . P (wN |wN−1

1 )

=N∏k=1

P (wk|wk−11 )

. (1.26)

V praxi je velmi tezke obdrzet jednotlive pravdepodobnosti P (wN |wN−11 ). Pro slovnık

ℵ o rozmeru |ℵ| a k-te slovo ve vete existuje |ℵ|k−1 ruznych historiı [Psu95]. Celkem jetak nutne pro vsechna slova napocıtat |ℵ|k ruznych pravdepodobnostı. Krome problemus nedostatkem pameti bychom se setkali i s problemy absence vetsiny posloupnostı slov wN1v trenovacıch textech prirozeneho jazyka. V [Jel85a] je tento problem vyresen rozdelenımvsech moznych historiı wk−1

1 do mensıch souboru tak, ze vsechny historie koncıcı nastejna dve slova wk−1

k−2 jsou oznaceny za ekvivalentnı, tj.

P (wk|wk−11 ) ∼= P (wk|wk−1

k−2) (1.27)

a tedy

P (W ) ∼=N∏k=1

P (wk|wk−1k−2) = P (w1)P (w2|w1)

N∏k=3

P (wk|wk−1k−2) . (1.28)

1.5.2 n-gramovy jazykovy model

Model jazyka (1.28) zalozeny na pravdepodobnostech vyskytu trojic po sobe jdoucıchslov - trigramu se nazyva trigramovy model. Obdobne pro n-tice slov lze vytvorit n-gramove

12

Page 26: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

modely, pro ktere platı

P (W ) ∼=N∏k=1

P (wk|wk−1k−n+1) . (1.29)

Pro zıskanı jednotlivych pravdepodobnostı n-gramu se pouzıva rozsahly trenovacıtext, ktery by navıc mel byt zameren na stejnou problemovou oblast, jako bude zpracov-avat vysledny rozpoznavac. Odhad jednotlivych pravdepodobnostı n-gramu je zalozen nazjist’ovanı relativnı cetnosti vyskytu slov, resp. jejich posloupnostı

P (wk|wk−1k−n+1) =

c(wkk−n+1)

c(wk−1k−n+1)

. (1.30)

Potrebujeme tak zıskat cetnosti vsech n-gramu c(wkk−n+1) (tj. pocet, kolikrat sev trenovacım textu objevila posloupnost slov wkk−n+1). Naprıklad pro slovnık o velikosti10000 slov a trigramovy model tak potrebujeme zıskat 1012 cetnostı. V praxi je nemoznezıskat text, kde by se vsechny n-gramy vyskytovaly, a proto je velmi pravdepodobne, ze priodvozenı parametru n-gramoveho modelu pouze z relativnıch cetnostı n-gramu by nekteren-gramy vyskytujıcı se v testovacım textu byly ocenene nulovou pravdepodobnostı, protozese v trenovacım textu nevyskytujı. Tento problem se nazyva problemem nedostatecnychdat.

Z duvodu zavedenı jednoznacnosti bude v nasledujıcıch podkapitolach pouzit ter-mın m-gram a symbol nr bude oznacovat celkovy pocet vyskytu vsech navzajem ruznychposloupnostı slov wkk−m+1, ktere se objevily v trenovacım korpusu presne r-krat. Dalebudou popsany predevsım ty metody odhadu, ktere umoznuje pouzıt AT&T GRM kni-hovna pro jazykove modelovanı [Alla], tedy Katzuv model (vyhradne pouzıvan ve vsechexperimentech teto prace) a model s absolutnım diskontem.

Zavedenı znacenı

Uved’me seznam nejcastejsıch symbolu pouzıvanych v teto kapitole:wkk−m+1 m-gram, tj. slovo wk s historiı wk−1

k−m+1,wk−1k−m+1 historie m-gramu wkk−m+1,

c(wkk−m+1) pocet vyskytu m-gramu wkk−m+1 v trenovacım korpusu,c(wk−1

k−m+1) pocet vyskytu historiı wk−1k−m+1,

nr(wk−1k−m+1)pocet vsech navzajem ruznych slov wk se stejnou historiı wk−1

k−m+1, kterese v trenovacım korpusu vyskytujı prave r-krat,

nr pocet vsech navzajem ruznych m-gramu wkk−m+1, ktere se v trenovacımkorpusu vyskytujı prave r-krat,

N−m+1 celkovy pocet vsech m-gramu wkk−m+1 v trenovacım korpusu, tj. rozdılpoctu vsech slov trenovacıho korpusu N a delky historie m-gramu 1−m.

13

Page 27: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Metoda maximalnı verohodnosti

Odvozenı vypoctu aposteriornıch pravdepodobnostı pro metodu maximalnı verohod-nosti - dale jen ML (z angl. Maximum Likelihood) spocıva v nalezenı vazaneho extremulogaritmu pomocne verohodnostnı funkce. Odvozenı je uvedeno napr. v [Psu06]. Pro ma-ximalne verohodny odhad PML(wk|wk−1

k−m+1) podobne jako v (1.30) platı

PML(wk|wk−1k−m+1) =

c(wkk−m+1)

c(wk−1k−m+1)

, (1.31)

pro odhad sdruzene pravdepodobnosti PML(wk, wk−1k−m+1), resp. PML(wkk−m+1) platı

PML(wk, wk−1k−m+1) = PML(wkk−m+1) =

c(wkk−m+1)N −m+ 1

, (1.32)

kde N je celkovy pocet slov ve slovnıku a N−m+1 celkovy pocet m-gramu s konstantnımm.

Problem nedostatecnych dat v tomto odhadu musı byt nejak kompenzovan. Moznostıje zvysit nulove pravdepodobnosti na nejakou nenulovou hodnotu a nasledne snızit jizvypocıtane nenulove odhady aposteriornıch pravdepodobnostı kvuli zachovanı vety o uplnepravdepodobnosti. Tento proces se nazyva vyhlazovanı (z angl. smoothing). ML metodatak byva zakladnım stavebnım kamenem pro ruzne vyhlazovacı techniky.

Gooduv-Turinguv odhad

Gooduv-Turinguv - dale jen GT odhad pochazı z odhadu cetnostı neznamychzivocisnych druhu. GT odhad rıka, ze vyskytuje-li se dany jev v celem souboru o velikostiN r-krat, potom opravena absolutnı cetnost tohoto jevu r∗ je dana

r∗ =(r + 1)nr+1

nr, (1.33)

kde nr je pocet vsech navzajem ruznych jevu (shodnych m-gramu s konstantnım m) vysky-tujıcıch se prave r-krat. GT odhad pravdepodobnosti m-gramu wkk−m+1 je dan

PGT (wkk−m+1) =r∗

N −m+ 1. (1.34)

Cetnost vsech vyskytujıcıch se m-gramu v textu pro konstantnı m je tez dana

N −m+ 1 =∞∑r=1

rnr . (1.35)

14

Page 28: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Z (1.33), (1.34) a (1.35) pro vsechny posloupnosti slov wkk−m+1 dostaneme∑wkk−m+1:c(wkk−m+1)>0

PGT (wkk−m+1)=∑

wkk−m+1:c(wkk−m+1)>0

r∗

N−m+1

=∞∑r=1

r∗

N−m+1nr =∞∑r=1

(r+1)nr+1

N−m+1

= 1N−m+1

∞∑r=2

rnr = 1N+m−1

[ ∞∑r=1

rnr − n1

]=1− n1

N−m+1

. (1.36)

Dle vety o uplne pravdepodobnosti platı∑wkk−m+1:c(wkk−m+1)≥0

PGT (wkk−m+1) =∑

wkk−m+1:c(wkk−m+1)>0

PGT (wkk−m+1)+

+∑

wkk−m+1:c(wkk−m+1)=0

PGT (wkk−m+1) = 1. (1.37)

Z (1.36) a (1.37) plyne, ze GT odhad celkove pravdepodobnosti vsech nepozorovanychjevu je zalozen na relativnı cetnosti tzv. singletonu - jevu (m-gramu s konstantnım m)vyskytujıcıch se v celem trenovacım textu prave jednou∑

wkk−m+1:c(wkk−m+1)=0

PGT (wkk−m+1) =n1

N −m+ 1. (1.38)

Pro odhad podmınene pravdepodobnosti nepozorovanych jevu bychom analogickympostupem dostali

∑wk:c(wkk−m+1)=0

PGT (wk|wk−1k−m+1) =

n1(wk−1k−m+1)

c(wk−1k−m+1)

, (1.39)

kde n1(wk−1k−m+1) je pocet singletonu s historiı wk−1

k−m+1.

Ustupove schema vyhlazovanı

Ustupove schema vyhlazovanı (z angl. backing-off - dale v prıpade zkratekBO) spocıva pri nedostatku trenovacıch dat v nahrade vypoctu pravdepodobnostiP (wk|wk−1

k−m+1) zobecnenym rozdelenım β(wk|wk−1k−m+2)

β(wk|wk−1k−m+2) =

c(wkk−m+2)

c(wk−1k−m+2)

, (1.40)

kde wk−1k−m+2 je tzv. zobecnena historie - historie zkracena o poslednı slovo3. Pravdepodob-

nosti pozorovanych m-gramu se odhadujı na zaklade jejich relativnıch cetnostı3Tento zpusob modifikace historie nemusı byt pravidlem, byva vsak pouzıvan velmi casto

15

Page 29: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

c(wkk−m+1)/c(wk−1k−m+1) snızenych diskontnım soucinitelem 0 ≤ dc(wkk−m+1)≤1. Odhady prav-

depodobnostı nepozorovanych m-gramu pak lze zıskat vynasobenım pravdepodobnostizobecneneho rozdelenı β(wk|wk−1

k−m+2) tzv. ustupovou vahou B(wk−1k−m+1). Ustupove schema

lze vyjadrit nasledovne

PBO(wkk−m+1|wk−1k−m+1) =

dc(wkk−m+1)

c(wkk−m+1)

c(wk−1k−m+1)

pro c(wkk−m+1) > 0

B(wk−1k−m+1)β(wk|wk−1

k−m+2) pro c(wkk−m+1) = 0,

(1.41)kde

B(wk−1k−m+1) =

1−∑

wk:c(wkk−m+1)>0

dc(wkk−m+1)

c(wkk−m+1)

c(wk−1k−m+1)∑

wk:c(wkk−m+1)=0

β(wk|wk−1k−m+2)

, (1.42)

kde citatel predstavuje celkovou prerozdelenou relativnı cetnost smerem k nepozorovanymjevum a jmenovatel pak normalizacnı clen zarucujıcı, ze soucet pravdepodobnostı vsechjevu bude roven 1. Pro odhad zobecneneho rozdelenı jiz nenı potreba tolik trenovacıch data je mozne pouzıt rekurzivnı formuli

β(wk|wk−1k−m+2) = PBO(wkk−m+1|wk−1

k−m+2) . (1.43)

Z praktickych duvodu se take pouzıva namısto diskontnıho soucinitele diskontnı faktorλc(wkk−m+1), ktery je definovan jako

λc(wkk−m+1) = 1− dc(wkk−m+1) (1.44)

Dosazenım (1.44) do (1.42) pak pro ustupovou vahu dostavame

B(wk−1k−m+1) =

∑wk:c(wkk−m+1)>0

λc(wkk−m+1)

c(wkk−m+1)

c(wk−1k−m+1)∑

wk:c(wkk−m+1)=0

β(wk|wk−1k−m+2)

. (1.45)

Linearnı interpolacnı schema vyhlazovanı

Zde se narozdıl od ustupoveho schematu pro odhad pravdepodobnostı jevu po-zorovanych v trenovacım korpusu pouzıva krom relativnıch cetnostı puvodnıho m-gramuc(wkk−m+1)/c(wk−1

k−m+1) i zobecnene rozdelenı β(wk|wk−1k−m+2). Z obojıho se pak pocıta

vazeny prumer, ktery lze zapsat jako

16

Page 30: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

PLI(wk|wk−1k−m+1)=dc(wkk−m+1)

c(wkk−m+1)

c(wk−1k−m+1)

+(

1− dc(wkk−m+1)

)β(wk|wk−1

k−m+2)

=(

1− λc(wkk−m+1)

)c(wkk−m+1)

c(wk−1k−m+1)

+ λc(wkk−m+1)β(wk|wk−1k−m+2)

. (1.46)

Katzuv diskontnı model

V Katzove modelu [Kat87] jsou relativnı cetnosti pozorovanych m-gramu nahrazenyGoodovym-Turingovym odhadem, tj.

c(wkk−m+1)

c(wk−1k−m+1)

=r

c(wk−1k−m+1)

≈ r∗

c(wk−1k−m+1)

. (1.47)

Dale je omezena mnozina ”diskontovanych”m-gramu na takove, jejichz absolutnı cetnostnenı vetsı, nez nejaka konstanta l > 0. Katzuv diskontnı model je pak definovan jako

PKT (wk|wk−1k−m+1) =

c(wkk−m+1)

c(wk−1k−m+1)

pro c(wkk−m+1) > l„1− λc(wk

k−m+1)

c(wkk−m+1)

c(wk−1k−m+1)

«pro 1 ≤ c(wkk−m+1) ≤ l

β(wk|wk−1k−m+2)

Pwk:c(wk

k−m+1)≤l

24λc(wk

k−m+1)

c(wkk−m+1)

c(wk−1k−m+1)

35P

wk:c(wkk−m+1)=0

β(wk|wk−1k−m+2)

pro c(wkk−m+1) = 0

(1.48)Dobre vysledky byly pozorovany pro l = 5, 6, 7. Uvahou, ze diskont bude pouzit provsechny cetnosti m-gramu r = c(wkk−m+1, tj. l → ∞ a pozadavkem, ze GT odhad (1.39)bude v souladu s Katzovym odhadem (1.48), tj.

1− λr|l→∞ = dr|l→∞ =r∗

r, (1.49)

je mozne postupem uvedenym napr. v [Psu06] urcit diskontnı faktor λr

λr =[1− (r + 1)nr+1

rnr

] [1− (l + 1)nl+1

n1

]−1

, 1 ≤ r ≤ l . (1.50)

Ze srovnanı (1.41) a (1.48) vyplyva, ze Katzuv model vyjadreny ve tvaru (1.48) je moznedefinovat zapisem (1.41) s tım, ze pro diskontnı soucinitel platı

dc(wkk−m+1) = dr =

1 pro r > l[(r+1)nr+1

rnr− (l+1)nl+1

n1

] [1− (l+1)nl+1

n1

]−1pro 1 ≤ r ≤ k

(1.51)

Katzuv model je pouzıvan ve vsech experimentech se statistickym jazykovym modelemteto prace.

17

Page 31: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Model s absolutnım diskontem

Zakladnı myslenkou modelu s absolutnım diskontem - dale jen AD [Ney94] je zachovattemer nezmenene vysoke pocty sdruzenych jevu wkk−m+1. Predstava je, ze se se pocetvyskytu techto sdruzenych jevu prılis nezmenı ani v prıpade zvolenı jineho trenovacıhokorpusu ze stejne problemove oblasti a pocet slov ve slovnıku V . Zavedenım parametrutrvale odchylky bwk−1

k−m+1budeme uvazovat moznou promenlivost, resp. odchylku poctu

vyskytu c(wk−1k−m+1). Diskontnı soucinitel pak muzeme vyjadrit jako

dc(wkk−m+1) =c(wkk−m+1)− bwk−1

k−m+1

c(wkk−m+1). (1.52)

Dosazenım (1.52) do (1.41) je pak mozne model s absolutnım diskontem vyjadrit jako

PAD(wk|wk−1k−m+1) =

c(wkk−m+1)−b

wk−1k−m+1

c(wkk−m+1)pro c(wkk−m+1) > 0

bwk−1k−m+1

β(wk|wk−1k−m+2)P

wk:c(wkk−m+1

)=0

β(wk|wk−1k−m+2)

V−n0(wk−1k−m+1)

c(wk−1k−m+1)

pro c(wkk−m+1) = 0,

(1.53)kde V je pocet slov ve slovnıku a n0(wk−1

k−m+1) je pocet slov, ktere se v trenovacım korpusunevyskytly po historii wk−1

k−m+1.Odvozenı parametru bwk−1

k−m+1pomocı metody odhadu s postupnym vynechavanım jed-

noho jevu je uvedeno napr. v [Psu06]. Vysledkem tohoto odvozenı je iteracnı vzorec

bwk−1k−m+1

=n1(wk−1

k−m+1)

n1(wk−1k−m+1)+2n2(wk−1

k−m+1)+RPr=3

rnr(wk−1k−m+1

)(1−bwk−1k−m+1

)

r−1−bwk−1k−m+1

pro ∀ wk−1k−m+1

, (1.54)

kde R = max(r) je nejvyssı uvazovany pocet vyskytu m-gramu wkk−m+1. Z rovnice (1.53)vyplyva, ze

0 < bwk−1k−m+1

< 1 . (1.55)

V [Psu06] je take proveden odhad hornı meze bwk−1k−m+1

, tj.

bwk−1k−m+1

≤ n1(wk−1k−m+1)

n1(wk−1k−m+1)+2n2(wk−1

k−m+1)pro ∀ wk−1

k−m+1 (1.56)

a dolnı meze bwk−1k−m+1

, tj.

bwk−1k−m+1

≥ n1(wk−1k−m+1)

n1(wk−1k−m+1)+2n2(wk−1

k−m+1)+RPr=3

rr−1

nr(wk−1k−m+1)

pro ∀ wk−1k−m+1 (1.57)

V praxi se pak volı radeji hodnota, ktera co nejvıce podhodnocuje vliv jevu, ktere nebylypozorovany v trenovacım korpusu, tj. hodnota blızıcı se hornı mezi (1.56).

18

Page 32: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Dalsı moznostı je uvazovat jen jeden parametr b pro vsechny historie wk−1k−m+1. Muze

to vsak dıky nedostatku parametru vest na velmi vychylene odhady pravdepodobnostı.Experimentalnı vysledky vsak poukazujı, ze uvazovanı historie se moc nevyplacı, a tak secasto predpoklada, ze

bwk−1k−m+1

≈ b =n1

n1 + 2n2. (1.58)

Model Kneseruv-Neyuv

Kneseruv-Neyuv model [Ney95] vychazı z jineho tvaru zobecneneho rozdelenıβ(wk|wk−1

k−m+2) nez je uvedeno v (1.40) a to

β(wk|wk−1k−m+2) = β1(wk|wk−1

k−m+2) =c1(wkk−m+2)

c1(wk−1k−m+2)

, (1.59)

kdec1(wkk−m+2) =

∑wk−1k−m+2:wk−1

k−m+2⊂wk−1k−m+1 ∧ c(w

kk−m+1)=1

1 (1.60)

ac1(wk−1

k−m+2) =∑wk

c1(wkk−m+2) . (1.61)

c1(wkk−m+2) udava pocet singletonu wkk−m+2 takovych, ze slovu wk predchazı historiewk−1k−m+2 je rozdelenı (1.59) nazyvano jako singletonove ustupove rozdelenı (z angl singleton

backing-off distribution). Dosazenım diskontnıho soucinitele

dc(wkk−m+1) =c(wkk−m+1)− bc(wkk−m+1)

. (1.62)

pri uvazenı 1.59 do (1.41) dostavame pro Kneser-Neyuv model predpis

PKN (wk|wk−1k−m+1) =

c(wkk−m+1)−bc(wk−1

k−m+1)pro c(wkk−m+1) > 0

bV−n0(wk−1

k−m+1)

c(wk−1k−m+1)

c1(wkk−m+2)

c1c(wk−1k−m+2

)Pwk:c(wk

k−m+2)=0

c1(wkk−m+2

)

c1(wk−1k−m+2

)

pro c(wkk−m+1) = 0.

(1.63)

1.5.3 Modely zalozene na trıdach slov

Modely zalozene na trıdach slov v podstate slouzı jako pomocne ustupovy model vespojenı s m-gramovymi modely. Jsou totiz schopny zobecnit kontextove zavislosti i naslova, ktera se v trenovacım korpusu vubec nevyskytujı. Statistiky slovnıch trıd se totizzıskavajı mnohem snadneji, nez statistiky slov samotnych.

19

Page 33: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Pro zjednodusenı prozatım predpokladejme, ze se jedna o relaci zobrazenı z mnozinyslov do mnoziny slovnıch trıd a n-gramovy model muze pouzıvat historii trıd ck−1

k−m+1

namısto historie slov wk−1k−m+1, tj. platı

P (wk|wk−1k−m+1)→ P (wk|ck−1

k−m+1) (1.64)

P (wk, ck|ck−1k−m+1) = P (wk|ck−1

k−m+1)P (ck|ck−1k−m+1)

= P (wk|ck)P (ck|ck−1k−m+1)

, (1.65)

kde P (wk|ck) je pravdepodobnost slova wk za podmınky, ze wk nalezı do trıdy ck

a P (ck|ck−1k−m+1) je pravdepodobnost vyskytu trıdy ck s historiı ck−1

k−m+1. Podmınenoupravdepodobnost je tak mozne na zaklade (1.65) vyjadrit jako

P (w|wk−1k−m+1) = P (wk|ck)P (ck|ck−1

k−m+1) . (1.66)

Pokud pouzijeme trıdy zalozene na slovnıch druzıch, muze jedno slovo patrit k vıce slovnımdruhum. Naprıklad slovo ”kolem”muze byt predlozka, prıslovce i podstatne jmeno v 7. padejednotneho cısla. Potom musıme pravou stranu rovnice (1.66) vyscıtat pres vsechny trıdyv nasem korpusu C

P (w|wk−1k−m+1) =

∑ck∈C

P (wk|ck)P (ck|ck−1k−m+1) . (1.67)

1.5.4 Posouzenı kvality jazykoveho modelu

Prvnı moznostı je pouzıt model v uloze rozpoznavanı mluvene reci a zjistit, o kolikse zlepsila presnost rozpoznavanı oproti nejakemu standardnımu jazykovemu modelu -etalonu.

Jazykovy model vsak muze byt posouzen i sam bez akustickeho modelu. Nejpouzı-vanejsı mırou hodnocenı kvality jazykoveho modelu je tzv. perplexita (z angl. perplexity)[Psu06] definovana jako

PP =1

N

√P (wN1 )

, (1.68)

kde N je pocet slov v danem korpusu a P (wK1 ) je odhad apriornı pravdepodobnosti udavanyjazykovym modelem. Je nutne rozlisovat mezi perplexitou testovacıho korpusu (z angl test-set perplexity) a perplexitou trenovacıho korpusu (z angl. train-set perplexity), ktera sepocıta na temze korpusu na jakem byl jazykovy model natrenovan. Casto se pouzıvalogaritmicka podoba perplexity

LP = log2 PP = − 1N

log2 P (wN1 ); . (1.69)

Pro m-gramove modely ma tento vztah tvar

LP = log2 PP = − 1N −m+ 1

N−m+1∑k=1

log2 P (wk|wk−1k−m+1); . (1.70)

20

Page 34: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Lze rıci, ze pokud je perplexita ulohy PP , potom obtıznost ulohy rozpoznavanı reci jestejna, jako kdyby jazyk mel PP stejne pravdepodobnych slov.

1.6 Dekodovacı techniky

Nynı byly popsany vsechny prvky potrebne pro konstrukci rozpoznavace mluvene recitak, jak byly uvedeny v kapitole 1.2. Mame tedy definovanou strukturu jazykoveho mo-delu P (W ) a akustickeho modelu P (O|W ) v podobe ohodnoceneho stavoveho automatua potrebujeme nalezt optimalnı cestu podle vstupnıch vektoru pozorovanı v tomto au-tomatu. Poznamenejme, ze oznacıme-li posloupnost stavu S a posloupnost vstupnıch vek-toru prıznaku obsahuje T pozorovanı, musı mıt kazda posloupnost S generujıcı O nejmeneT + 2 stavu. Vzdy totiz uvazujeme alespon pocatecnı a koncovy neemitujıcı stav. Prorozpoznavacı sıt’ reprezentovanou skrytymi Markovovymi modely, kde je posloupnost slovW jednoznacne urcena posloupnostı stavu pro akusticky model platı

P (O|W ) =∑S

P (O|S)P (S|W ) , (1.71)

kde P (O|S) je podmınena pravdepodobnost jevu, ze model pri dane posloupnosti stavu S(a tım je jednoznacne dana i posloupnost slov W ) vygeneruje posloupnost pozorovanı O aP (S|W ) je podmınena pravdepodobnost, ze model modelujıcı posloupnost slov W projdestavovou posloupnostı S. Pritom kazdy stav si = s(t), pro t = 1, 2, . . . , T resp. prechod majednoznacne prirazene rozdelenı pravdepodobnosti bi() a kazdy prechod ma definovanoupravdepodobnost aij prechodu ze stavu i do stavu j tak jak je uvedeno v kapitole 1.4.Cela uloha dekodovanı muze byt reprezentovana

W = argW

max

P (W )

∑S

P (O|S)P (S|W )

. (1.72)

Omezıme-li sumu ve vztahu 1.72 pouze na nenulove hodnoty P (S|W ), tj. S ∈ ΦW ,kde ΦW je mnozina vsech moznych posloupnostı stavu reprezentujıcı posloupnost slov W ,dostaneme definici ulohy dekodovanı podle kriteria MAP [Psu06]

W = argW

max

P (W )

∑S=ΦW

P (O|S)P (S|W )

= argW

max

P (W )

∑SW=ΦW

P (O|SW )P (SW )

. (1.73)

Experimentalne bylo zjisteno, ze pokud je pouze nejpravdepodobnejsı posloupnoststavu S namısto souctu pravdepodobnostı pres vsechna S ∈ ΦW , presnost rozpoznavanıse prılis nezmenı. Po uplatnenı teto aproximace dostavame dnes nejpouzıvanejsı Viterbiovo

21

Page 35: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

kriterium rozpoznavanı

W = argW

maxP (W ) max

S=ΦW

P (O|S)P (S|W )

= argW

maxP (W ) max

SW=ΦW

P (O|SW )P (SW ) . (1.74)

1.6.1 Nalezenı posloupnosti stavu s nejvetsı verohodnostı

Mame-li pripraveny vsechny zdroje znalostı, muzeme pristoupit k samotnemurozpoznavanı pomocı tzv. Viterbiho Algoritmu [Rab93]. Pro nalezenı nejverohodnejsıposloupnosti stavu s = (s1, s2, . . . , sT ) pro danou posloupnost vektoru prıznaku O =(o1,o2, . . . ,oT ) definujme promennou

δt(i) = maxs1,s2,...,st−1

P (s1, s2, . . . , st−1, st = i,o1,o2, . . . ,ot |M) , (1.75)

ktera oznacuje nejvyssı pravdepodobnost vyskytu posloupnosti o1,o2, . . . ,ot v nalezeneposloupnosti stavu s1, s2, . . . , st−1 a koncovy stav i. Indukcı dostaneme

δt+1(j) = bj(ot+1) max1≤i≤N

[δt(i)aij ] . (1.76)

Viterbiho algoritmus:1. Inicializace:

δ1(i) = πibi(o1), 1 ≤ i ≤ Nψ1(i) = 0

(1.77)

2. Rekurze:δt(j) = bj(ot) max

1≤i≤N[δt−1(i)aij ], 2 ≤ t ≤ N

1 ≤ j ≤ N(1.78)

ψt(j) = arg max1≤i≤N

[δt−1(i)aij ], 2 ≤ t ≤ N

1 ≤ j ≤ N(1.79)

3. Ukoncenı4:P ∗ = max

1≤i≤N[δT (i)] (1.80)

s∗T = arg max1≤i≤N

[δT (i)] (1.81)

4. Hledanı posloupnosti stavu (od konce)

s∗t = ψt+1(s∗t+1), t = T − 1, T − 2, . . . , 1. (1.82)

Narocnost algoritmu zahrnuje N(N + 1)(T − 1) + N ≈ N2T soucinu, pricemz velkouvyhodou je absence souctu pravdepodobnostı. Muzeme tak snadno pocıtat v logaritmick-ych pravdepodobnostech bez pouzitı soucinu.

4Casto predpokladame ukoncenı ve stavu N, tudız P ∗ = δT (N) a s∗T = N

22

Page 36: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Viterbiho algoritmus s pouzitım logaritmu pravdepodobnostı

Definujme logaritmicke promenne

πi = log(πi), 1 ≤ i ≤ Nbi(ot) = log[bi(ot)], 1 ≤ i ≤ N, 1 ≤ t ≤ T ;aij = log(aij), 1 ≤ i, j ≤ N

(1.83)

Dalsı postup pak:1. Inicializace:

δ1(i) = πi + bi(o1), 1 ≤ i ≤ Nψ1(i) = 0

(1.84)

2. Rekurze:

δt(j) = bj(ot) + max1≤i≤N

[δt−1(i) + aij

]ψt(j) = arg max

1≤i≤N

[δt−1(i) + aij

], 2 ≤ t ≤ T, 1 ≤ j ≤ N

(1.85)

3. Ukoncenı:P ∗ = max

1≤i≤N[δT (i)] (1.86)

s∗T = arg max1≤i≤N

[δT (i)] (1.87)

4. Hledanı posloupnosti stavu (od konce)

s∗t = ψt+1(s∗t+1), t = T − 1, T − 2, . . . , 1. (1.88)

Narocnost algoritmu je v tomto prıpade cca N2T souctu. Jedna se tak o nejvyhodnejsımoznou implementaci algoritmu hledanı nejlepsı posloupnosti stavu. Vyse uvedeny algo-ritmus demonstruje na prıklade trıstavoveho HMM s pozorovacı posloupnostı sesti vektoruobrazek 1.4, kde sipky ukazujı na stav i predchozıho vektoru o s nejvetsı castecnou pravde-podobnostı (1.85) a silne cary vyslednou posloupnost stavu obdrzenou na zaklade (1.86).

1.7 Zakladnı zpusoby prochazenı grafu

Obr. 1.4 popisuje nalezenı nejpravdepodobnejsı cesty v jednom modelu. To je ovsempro rozpoznavanı reci nedostatecne. Je potreba nalezt nejpravdepodobnejsı cestu v kom-plexnı rozpoznavacı sıti na urovni stavu. Zakladem je vzdy Viterbiho algoritmus. Po ob-drzenı posloupnosti vektoru prıznaku O = o1,o2, . . . ,oT se prostor stavu rozpoznavacısıte znacne zkomplikuje. Obr. 1.5 popisuje tuto skutecnost na jednoduche rozpoznavacısıti slova ”osm”. Pro rozpoznavacı sıt’ ”ano-ne” bez zpetnych prechodu je tataz situacezobrazena na obr. 1.6.

23

Page 37: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

o1 o2

2o

o3

o3

o3

o4

o4

o4

o5

o5

o6

(2)2~

(2)=1ψ2

δ

=b ( )+log(0.85)+(1)2~

(1)=1ψ2

δ 1 (1)~

(1)δ~

δ 1

1(2)3

~

(2)=1ψ3

δ 2 (1)δ~

2

(3)3~

(3)=2ψ3

δ 3 (2)δ~

2

(1)3~

(1)=1ψ3

δ 1 (1)δ~

2

(3)=2ψ4

(1)=1ψ4

(1)4~δ (1)δ

~31

(3)4~δ (2)δ

~33

(2)=1ψ4

(2)4~δ (1)δ

~32

(2)=2ψ5

(2)5~δ (2)δ

~4

(3)ψ6

~δ (3)δ

~536 (3)

=3(3)ψ5

~δ (2)δ

~435 (3)

=2

o 1o 2 o 3 o 4 6o o

5

=b ( )(1)=0ψ

1

(1)1δ~

1

2

=b ( )+log(0.85)+

=b ( )+log(0.92)+=b ( )+log(0.12)+

=b ( )+log(0.83)+=b ( )+log(0.06)+

=b ( )+log(0.85)+

=b ( )+log(0.06)+2

=b ( )+log(0.12)+

=b ( )+log(0.06)+

=b ( )+log(0.12)+

0.93

0.06

0.12

0.08

0.85

0.83

0.92

4

2

1

0

3

Obrazek 1.4: Demonstrace Viterbiho algoritmu

o1 o2 o3 o4 o5 o6 o7 o8 oN

bm#3( ) o1

bm#2( ) o1

bm#1( ) o1

bs#3 ( ) o1

bs#2 ( ) o1

bs#1 ( ) o1

bo#3( ) o1

bo#2( ) o1

bo#1( ) o1

bm#3( ) o2

bm#2( ) o2

bm#1( ) o2

bs#3 ( ) o2

bs#2 ( ) o2

bs#1 ( ) o2

bo#3( ) o2

bo#2( ) o2

bo#1( ) o2

bm#3( ) o3

bm#2( ) o3

bm#1( ) o3

bs#3 ( ) o3

bs#2 ( ) o3

bs#1 ( ) o3

bo#3( ) o3

bo#2( ) o3

bo#1( ) o3

bm#3o( ) 4

bm#2o( ) 4

bm#1o( ) 4

bs#3o( ) 4

bs#2o( ) 4

bs#1o( ) 4

bo#3o( ) 4

bo#2o( ) 4

bo#1o( ) 4

bm#3( ) o5

bm#2( ) o5

bm#1( ) o5

bs#3 ( ) o5

bs#2 ( ) o5

bs#1 ( ) o5

bo#3( ) o5

bo#2( ) o5

bo#1( ) o5

bm#3( ) o6

bm#2( ) o6

bm#1( ) o6

bs#3 ( ) o6

bs#2 ( ) o6

bs#1 ( ) o6

bo#3( ) o6

bo#2( ) o6

bo#1( ) o6

bm#3( ) o7

bm#2( ) o7

bm#1( ) o7

bs#3 ( ) o7

bs#2 ( ) o7

bs#1 ( ) o7

bo#3( ) o7

bo#2( ) o7

bo#1( ) o7

bm#3( ) oN

bm#2( ) oN

bm#1( ) oN

bs#3 ( ) oN

bs#2 ( ) oN

bs#1 ( ) oN

bo#3( ) oN

bo#2( ) oN

bo#1( ) oN

bo#2( ) o8

bo#3( ) o8

bs#1 ( ) o8

bs#2 ( ) o8

bs#3 ( ) o8

bm#1( ) o8

bm#2( ) o8

bm#3( ) o8

bo#1( ) o8

o#0

o_a11o#1

o_a22

s#1

o#3

o#2

s#3

s#2

m#4

m#3

m#2

m#1

o_a33

m_a33

m_a22

m_a11

s_a33

s_a22

s_a11

s_a12

s_a23

s_a34

m_a12

m_a23

m_a34

o_a34

o_a23

o_a12

o_a01

s

o

m

o1o2 o3

. bo#1o2

. b o2o#2

ε:ε /

ε:ε /

. bo#1o

. b oo#2

ε:ε /

ε:ε /

3

3( )

bo#1( ) o1

bo#2( ) o2

bo#3( ) o3

bo#2( ) o3

bo#1( ) o3bo#1( ) o2( )

( )

. b o

. b o

ε:ε /

ε:ε /

3

3

o#2

o#3

( )

( )

( )

. bo#1o

. b oo#2

ε:ε /

ε:ε / ( )

. b

. b

ε:ε /

ε:ε / ( )

( )

( ) 4

4

o4

o4

. b o

. b o

ε:ε /

( )

4

4ε:ο / s#1

o#3

o#3

o#2

o_a11

o_a12

o_a11

o_a12

o#0

o_a11o#1

o_a22

s#1

o#3

o#2

o_a33

s_a11

s_a12

o_a34

o_a23

o_a12

o_a01

o o_a22

o_a23

o_a11

o_a12

o_a22

o_a23

o_a33

o_a34

Obrazek 1.5: Princip prochazenı grafem pri zadane posloupnosti vektoru prıznaku

1.7.1 Hledanı do hloubky - DFS

Algoritmus hledanı do hloubky - DFS (z angl. Deepth-First-Search) vyuzıva datovytyp zasobnık, nebo rekurzi. Podstatou pri prochazenı grafu je ukladanı jiz navstıvenychstavu a ukoncenı dalsıho pronikanı pri naslednem dosazenı jiz navstıveneho stavu, civyskytu v koncovem stavu. Nasledujıcı prıklad demonstruje tento algoritmus pomocırekurze v jazyce C [Sed03].

void traverse (int k, void (*visit)(int))

link t;

(*visit)(k);

visited[k] = 1;

for (t = adj[k]; t != NULL; t = t->next)

if (!visited[t->v])

traverse(t->v, visit);

Obr. 1.7 pak demonstruje kroky algoritmu DFS na jednoduchem stavovem automatu.

24

Page 38: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

a

n

o

n

e

oo o o o o1 2 3 4 5 6 No

n_a33

n_a22

n_a11

a_a11

a_a22

n#1

n#3

n#2

o#3

o#2

o#1

a_a33

o_a33

o_a22

o_a11

n_a12

n_a23

n_a34

o_a12

o_a23

o_a34

n#1

n#3

n#2

e#3

e#2

e#1

e_a33

e_a22

e_a11

n_a33

n_a22

n_a11

n_a12

n_a23

n_a34

e_a12

e_a23

a#1

a#3

a#2

a_a23

a_a12

()#1

()#3

()#2

()_a23

()_a12

()#1

()#3

()#2

()_a23

()_a12

()_a01

()_a33

()_a22

()_a11

()_a33

()_a22

()_a11

Obrazek 1.6: Rozpoznavac ”ano-ne” bez zpetnych prechodu

Obrazek 1.7: Postupne navstevovanı stavu algoritmem DFS

1.7.2 Hledanı do sırky - BFS

Algoritmus hledanı do sırky - BFS (z angl. Breadth-First-Search) pouzıva abstraktnıdatovy typ fronta (FIFO) [Sed03], do ktere si uklada nenavstıvene cılove stavy danychprechodu v danem kroku. V nasledujıcım kroku jsou pak z fronty cteny a proces se opakuje.Nasledujıcı prıklad demonstruje tento algoritmus pomocı datoveho typu fronta (prıkazyQUEUEinit() - inicializace fronty, QUEUEput() - ulozenı stavu do fronty, QUEUEget() -vyjmutı stavu z fronty, QUEUEempty() - vracı log. 1, pokud je v dany okamzik frontaprazdna).

void traverse(int k, void (*visit)(int))

25

Page 39: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

link t;

QUEUEinit(V);

QUEUEput(k);

while (!QUEUEempty())

if (visited[k = QUEUEget()] == 0)

(*visit)(k);

visited[k] = 1;

for (t = adj[k]; t != NULL; t = t->next)

if (visited[t->v] == 0)

QUEUEput(t->v);

Obr. 1.8 pak demonstruje mezikroky algoritmu BFS (vzdy zpracovany stavy z frontyulozene v nejvıce vnorene smycce vyse uvedeneho algoritmu) na jednoduchem stavovemautomatu.

Obrazek 1.8: Mezikroky navstevovanı stavu algoritmem BFS

1.8 Algoritmus pro sıt’ realizovanou WFST

Jedna se o Viterbiho algoritmus, ktery aplikujeme na danou rozpoznavacı sıt’, sevstupem na urovni stavu. Nasledujıcı postup je pouzit v programu rct 5 coby dekoderu(pouzitı uvedeno v kap. 7.8). Popisme zakladnı body zmıneneho procesu:• pro prochazenı rozpoznavacı sıte je pouzit algoritmus hledanı do sırky (Breadth-First)

[Sed03], pricemz epsilon prechody jsou reseny algoritmem hledanı do hloubky (Deepth-First),• algoritmus zalozen na generovanı hypotez pro vybrane stavy a segmenty reci,• hypotezy jsou pro kazdy segment serazeny dle jejich hodnot (nalezenych po-

mocı souctu pravdepodobnostı – mixtur vektoru prıznaku v distribucnıch funkcıchvıcerozmerneho normalnıho rozdelenı [Rab93, You02]) a nasledne podle kriteriıprorezavanı ponechany jen ty nejdulezitejsı,

5Konkretne se jedna o modul asr base.

26

Page 40: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

• proces se takto opakuje, dokud nenı dosazen poslednı segment reprezentovany vek-torem prıznaku vstupnı promluvy.

1.8.1 Prorezavanı rozpoznavacı sıte

Na obr. 1.9 je videt zakladnı princip prochazenı rozpoznavacı sıte. Mimo jine odtudplyne, ze pokud mame alespon 2 prechody z kazdeho stavu, potrebujeme generovat propromluvu o stu casovych useku alespon 2100 = 1, 27×1030 hypotez! Takova pamet’ ktera byudrzela takto obrovske mnozstvı informacı, vsak neexistuje, a tak se pouzıva prorezavanı(z angl. pruning) pri rozpoznavanı. V popisovanem algoritmu se pouzıvajı celkem 3 druhyprorezavanı:

1. zachovanı N-nejlepsıch hypotez pro stejny cılovy stav - napr. pro hypotezys cılovymi stavy 1,2,2,3,2,3,3,4,5,6 vznikne pro N=1 mnozina hypotez s cılovymi stavy1,2,3,4,5,6.

2. stanovenı maximalnıho poctu hypotez pro dany segment - rozumne rozmezıtakto generovanych hypotez (serazenych od nejvyhodnejsı k nejhorsı) je cca 300 -10000.

3. svazkove prorezavanı - z angl. beam pruning - volıme rozmezı pravdepodob-nosti, kde serazene hypotezy pro dany segment akceptujeme. Tento parametr byvav rozpoznavacıch volitelny a bude pouzit i v grafech popisujıcı vysledky rozpoznavanıteto prace.

0 1 2 3 4

5

6

0 1 2 3 4

5

6

0 1 2 3 4

5

6

0 1 2 3 4

5

6

0 1 2 3 4

5

6

1

1 2

1 2 2 3

1 2 32 2 3 3 4 5 6

Obrazek 1.9: Princip generovanı hypotez pri prochazenı sıte

27

Page 41: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 2

Stavove automaty

2.1 Uvod

Stavove automaty, resp. transducery jsou s velkym uspechem pouzıvany jako kom-pletnı reprezentace zdroju znalostı (angl. Knowledge Sources) jazykovych modelu [Moh97a,Cho06, Sza01], a slovnıku [Moh94]. Jejich zakladnı vyhoda pro pouzitı v rozpoznavanıreci spocıva v moznosti optimalizace sıte mapujıcı casti akustickych modelu na slova -tzv. rozpoznavacı sıte. Cela teorie stavovych automatu je velmi vhodna pro optimali-zaci sıte akustickych modelu, nebot’ umı do sebe zahrnout vse, co dekodery pouzıvanev rozpoznavanı reci potrebujı. Konkretne jde v prıpade zdroju znalostı o moznosti sjed-nocenı stejnych cest (shodujıcı se zacatky a konce ruznych slov), stlacenı jednotlivychocenenı smerem k pocatecnımu uzlu a pouzitı operace kompozice pro vytvorenı vlastnısıte. V prıpade cele sıte teorie automatu nabızı moznost jejı finalnı optimalizace, popr.odstranenı ε−prechodu.

K vlastnımu dekodovanı je pak pouzit Viterbiho dekoder stejne jako je tomu i v beznepouzıvanych sıtıch. Ten ovsem pracuje s jiz predem pripravenou sıtı na nizsı urovni (urovenakustickych modelu, resp. slov), a tak tento dekoder nepotrebuje dalsı podpurne algoritmypro ”nalepenı” akustickych modelu na vstupnı jazykovy model pomocı slovnıku.

Poznamenejme, ze nasledujıcı texty byly vytvoreny na zaklade [Moh02b, Moh02a,Mel03] a dalsıch zdroju (vzdy citovano). AT&T knihovna FSM byla pouzita pro zıskanıuvadenych prıkladu FSM operacı. Pro vykreslenı automatu byl pouzit nastroj graphviz[itwc].

2.2 Konecny automat

Konecny automat (dale jen FSM, resp. FSA z angl. Finite-State Machine, resp. Finite-State Acceptor), jak bude v nasledujıcım vykladu uvedeno, je vzdy definovan jako nejaka

28

Page 42: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

n-tice mnozin (stavy, prechody, ...), resp. prvku (poc.stav, ...).

Definice: Deterministicky konecny automat M je petice

M = (Σ, Q,E, i, F ) , (2.1)

kde Q je konecna mnozina vnitrnıch stavu, Σ je konecna vstupnı abeceda, E je zobrazenız Q× (Σ ∪ ε) do Q, i ∈ Q je pocatecnı stav a F ⊆ Q je mnozina koncovych stavu.

Deterministicky konecny automat [Mel03] pracuje tak, ze zpracovava danou posloup-nost vstupnıch symbolu. Prechod t = (t−, l(t)) ∈ E je urcen stavem t−, ve kterem seautomat nachazı a jednoznacnym symbolem l(t), ktery je cten ze vstupnıho retezce. Pre-chod oznaceny prazdnym symbolem ε znamena, ze tomuto stavu neodpovıda zadny vstup.Pri prechodu prejde automat do noveho stavu a precte jeden vstupnı symbol. Symboly sectou zleva doprava.

Cesta v M je posloupnost navazujıcıch prechodu t1, t2, . . . , tn, pro ktere platı

t+i = t−i+1, i = 1, . . . , n− 1 . (2.2)

Uspesna cesta π = t1, t2, . . . , tn je cesta z pocatecnıho stavu i do koncoveho stavu f ∈ F .π je retezec slozeny z posloupnosti symbolu jednotlivych prechodu dane celkove cestyl(π) = l(t1) . . . l(tn). Retezec x je prijat automatem M , pokud existuje celkova cesta π

s posloupnostı symbolu x tak, zel(π) = x . (2.3)

Definice: Nedeterministicky konecny automat M je petice

M = (Σ, Q,E, i, F ) , (2.4)

kde Q je konecna mnozina vnitrnıch stavu, Σ je konecna vstupnı abeceda, E je zobrazenız Q× (Σ ∪ ε) do Q, i ∈ Q je pocatecnı stav a F ⊆ Q je mnozina koncovych stavu.

Prechod t = (t−, l(t), t+) ∈ E je urcen stavem t−, ve kterem se automat nachazı,stavem t+, kam ukazuje dana spojnice a symbolem l(t), ktery je cten ze vstupnıho retezce.Znamena to, ze oproti deterministickemu automatu zde nemusı byt pro jednotlive stavyprechod s jedinecnym symbolem, ale cela mnozina prechodu s tımto symbolem. Ostatnıvlastnosti jsou spolecne s deterministickym konecnym automatem (2.1).

2.3 Polookruh

Ohodnocene automaty s konecnym poctem stavu uvedene v nasledujıcım vykladuvyzadujı zavedenı pojmu polookruh (z angl. semiring). Je to uzitecne dıky jednotnemu

29

Page 43: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

tvaru operacı s ohodnocenımi [Moh02a, Kui86]. Polookruh (K,⊕,⊗, 0, 1) je tak mnozinaK obsahujıcı dve asociativnı matematicke operace ⊕ a ⊗, pro ktere platı

0⊕ a = a⊕ 0 = a

1⊗ a = a⊗ 1 = aa ∈ K . (2.5)

Naprıklad polookruhem je (N,+,×, 0, 1). Ceny pouzıvane pro rozpoznavanı reci castoreprezentujı pravdepodobnosti. Patricny polookruh pro uvedene pouzitı se tak nazyvapravdepodobnostnı polookruh (R,+,×, 0, 1).Jak jiz bylo uvedeno v predchozı kapitole, je vyhodne pocıtat s logaritmy pravdepodob-nostı. Logaritmicky polookruh ma pro tento prıpad tvar (R+ ∪ ∞, ladd,+,∞, 0), kde

ladd(a, b) = ln(ea + eb) (2.6)

a kde e−∞ = 0 a − ln(0) =∞.Pokud je pouzıvan Viterbiho algoritmus, kde se operace souctu nevyskytuje,

s vyhodou pouzıvame tzv. tropicky polookruh (z angl. tropical semiring) [Sim78], kteryse v oblasti zpracovanı reci pouzıva velmi casto (R+ ∪ ∞,max,+,∞, 0).

2.4 Ohodnoceny stavovy automat

Definice: ohodnoceny stavovy automat (dale jen WFSA z angl. Weighted Finite-StateAcceptor)

A = (Σ, Q,E, i, F, λ, ρ) (2.7)

pres polookruh K je dan konecnou vstupnı abecedou1 Σ, konecnou mnozinou stavu Q,konecnym poctem prechodu E ⊆ Q × (Σ ∪ ε) × K × Q, pocatecnım stavem i ∈ Q,mnozinou koncovych stavu F ⊆ Q, pocatecnı cenou λ a koncovou ohodnocenou funkcı ρ.

Prechod t = (t−, l(t), w(t), t+) ∈ E muze byt reprezentovan spojnicı ze zdrojovehostavu t− do cıloveho stavu t+ se symbolem l(t) a cenou w(t). Prechod oznaceny prazdnymsymbolem ε znamena, ze tomuto stavu neodpovıda zadny vstup. Cesta v A je posloupnostnavazujıcıch prechodu t1, t2, . . . , tn, pro ktere platı

t+i = t−i+1, i = 1, . . . , n− 1 . (2.8)

Uspesna cesta π = t1, t2, . . . , tn je cesta z pocatecnıho stavu i do koncoveho stavu f ∈ F .π je retezec slozeny z posloupnosti symbolu jednotlivych prechodu dane celkove cestyl(π) = l(t1) . . . l(tn). Ohodnocenı cesty w(π)je ⊗ operace mezi inicializacnı cenou, cenamijednotlivych prechodu a konecnou cenou ρ(t+n )

w(π) = λ⊗ w(t1)⊗ w(t2)⊗ . . .⊗ w(tn)⊗ ρ(t+n ) . (2.9)1Mozno oznacit i jako mnozinu vstupnıch symbolu.

30

Page 44: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

0 1<sil>/1

2dáma/0.5

4jezdec/0.5

5

na/0.5

na/0.5 3e/1

6pět/0.5

7čtyři/0.5 8

<sil>/0.5

<sil>/0.5

Obrazek 2.1: Prıklad WFSA

0

1č:čtyři/0.5

š:čtyři/0.5

6

d:dva/1

2t:<eps>/1

7v:<eps>/1

3i:<eps>/1

4ř:<eps>/0.5

r:<eps>/0.55

i:<eps>/1

8a:<eps>/1

Obrazek 2.2: Prıklad WFST

Retezec x je prijat automatem A, pokud existuje alespon jedna uspesna cesta π s posloup-nostı symbolu x tak, ze

l(π) = x . (2.10)

Vysledne ohodnocenı udelene automatem A a posloupnosti x je dano ⊕ operacemi mezicenami vsech uspesnych cest π s posloupnostı jednotlivych symbolu x. WFSA tak ocenujevstupnı posloupnost symbolu.

Dohodou je stanoveno, ze stavy se znacı kruznicemi a jsou ocıslovany dle jejich poradı.Pocatecnı stav je reprezentovan silnou kruznicı, koncove pak zdvojenou. Ceny a symbolybudou znaceny jako l(t)/w(t). Konecna cena ρ(f) koncoveho stavu f ∈ F je v koncovemstavu oznacena f/ρ(f), ci vynechana pokud ρ(f) = 1(uvedeny prıklad) podobne jakoinicializacnı cena λ. Na obr. 2.1 vidıme cast jazykoveho modelu pro hlasove ovladanıhry sachy, kde slova coby symboly skrz kazdou celkovou cestu reprezentujı moznou vari-antu posloupnosti slov. w(π) pak dava verohodnost dane posloupnosti. Ceny v ulohachrozpoznavanı reci velmi casto reprezentujı zaporne logaritmy pravdepodobnostı, resp. vero-hodnostı.

2.5 Ohodnoceny prekladovy stavovy automat

Ohodnocene prekladove automaty s konecnymi stavy2 (dale jen WFST z angl.Weighted Finite-State Transducers) se od WFSA lisı doplnenım prechodu namısto jed-noho symbolu parem (i, o) vstupnıho symbolu i a vystupnıho symbolu o.

2Mozno nazyvat i jako transducery.

31

Page 45: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

konstrukcnı operace optimalizacnı - identicke ostatnıuzavrenı A∗ odstr. epsilon otocenısjednocenı A ∪B determinizace inverzezretezenı AB minimalizace FSA projekce (FSM→FSA)rozdıl A−B FSA ekvivalenceprunik A ∩B FSA stlacenı cenkompozice A B FST nejlepsı cesta

Tabulka 2.1: Vyber binarnıch a unarnıch operacı mezi jednotlivymi FSM

Definice Ohodnoceny transducer (WFST)

T = (Σ,Ω, Q,E, i, F, λ, ρ) (2.11)

pres polookruh K je dan konecnou vstupnı mnozinou symbolu Σ, konecnou vystupnımnozinou symbolu Ω, konecnou mnozinou stavu Q, konecnym poctem prechodu E ⊆Q× (Σ ∪ ε)× (Ω ∪ ε)×K×Q, pocatecnım stavem i ∈ Q, mnozinou konecnych stavuF ⊆ Q, pocatecnı cenou λ a konecnou ohodnocenou funkcı ρ.

Prechod t = (t−, li(t), lo(t), w(t), t+) ∈ E muze byt reprezentovan spojnicı ze zdro-joveho stavu t− do cıloveho stavu t+ se vstupnım symbolem li(t), vystupnım symbolemlo(t) a cenou w(t). Definice cesty, jejı posloupnosti symbolu a cen je shodna s WFSA.Pribyla zde posloupnost vystupnıch symbolu (retezce) celkove cesty a ta je dana slozenımjednotlivych vystupnıch symbolu podel teto cesty. Gramatiku reprezentovanou na obr.2.1 pomocı WFSA lze stejne dobre reprezentovat pomocı WFST pridanım nejakych vys-tupnıch symbolu nejcasteji identickych se vstupnımi. Nenı zde zadna nova informace,reprezentace pomocı WFST se vsak da pouzıt stejne dobre jako pomocı WFSA. Na obr.2.2 je znazornen prıklad reprezentace slovnıku mapujıcıho jednotlive fonemy do slov po-mocı WFST, kde ceny coby pravdepodobnosti reprezentujı verohodnosti alternativnıchvyslovnostı.

2.6 Zakladnı operace mezi stavovymi automaty

WFSA, resp. WFST je mozne zpracovavat pomocı operacı [Moh02a, Roc97], viz tab.2.1, kde silne vytistene operace jsou dulezite pro konstrukci rozpoznavace reci.

2.6.1 Sjednocenı (soucet)

Pokud WFSA C obsahuje identicke celkove cesty π jako WFSA A a B, platı

C = A ∪B, resp. C = A+B . (2.12)

Graficka reprezentace operace sjednocenı je znazornena na obr. 2.3.

32

Page 46: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

A:

0

červená/0.5

1zelená/0.300 2/0.800modrá/0ž lutá/0.600

B:

0

1/0zelená/0.400

2/0.300

modrá/1.200

C:

0

červená/0.5

1zelená/0.300 2/0.800modrá/0ž lutá/0.600

3 4/0zelená/0.400

5/0.300

modrá/1.200

6

<eps>/0

<eps>/0

Obrazek 2.3: Prıklad sjednocenı (souctu) dvou WFSA

2.6.2 Zretezenı (soucin)

Pokud jsou celkove cesty WFSA C sretezeny celkovymi cestami automatu A a B

v tomto poradı, platıC = AB , (2.13)

graficka reprezentace operace zretezenı je znazornena na obr. 2.4.

A:

0

červená/0.5

1zelená/0.300 2/0.800modrá/0ž lutá/0.600

B:

0

1/0zelená/0.400

2/0.300

modrá/1.200

C:

0

červená/0.5

1zelená/0.300 2modrá/0ž lutá/0.600

3<eps>/0.800

4/0zelená/0.400

5/0.300

modrá/1.200

Obrazek 2.4: Prıklad zretezenı (soucinu) dvou WFSA

33

Page 47: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

2.6.3 Uzavrenı

Pokud jsou celkove cesty WFSA C sjednocenım libovolneho poctu opakovanıcelkovych cest automatu B, platı

C = B∗ =inf∑n=0

Bn , (2.14)

graficka reprezentace operace uzavrenı je znazornena na obr. 2.5.

B:

0

1/0zelená/0.400

2/0.300

modrá/1.200

C:

0

1/0zelená/0.400

2/0.300

modrá/1.200

<eps>/0

<eps>/0.300

3/0 <eps>/0

Obrazek 2.5: Prıklad uzavrenı WFSA

2.6.4 Otocenı

Pokud posloupnosti symbolu, tvorıcı celkove cesty WFSA C jsou v reverznım poradıoproti posloupnostem symbolu celkovych cest automatu A, platı

C = Ar , (2.15)

graficka reprezentace operace otocenı (z angl. reverse) je znazornena na obr. 2.6.

A:

0

červená/0.5

1zelená/0.300 2modrá/0ž lutá/0.600

3<eps>/0.800

4/0zelená/0.400

5/0.300

modrá/1.200

C:

0

5<eps>/0

6<eps>/0.300 4

zelená/0.400

modrá/1.200 1/0

červená/0.5

2 zelená/0.3003 modrá/0ž lutá/0.600

<eps>/0.800

Obrazek 2.6: Prıklad otocenı WFSA

34

Page 48: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

2.6.5 Inverze

Pokud u WFST A vymenıme vstupnı symboly za vystupnı, dostaneme WFST C.Platı

C = A−1 , (2.16)

graficka reprezentace operace inverze je znazornena na obr. 2.7.

A:

0

červená:včela/0.5

1zelená:slon/0.300 2/0.800modrá:kočka/0ž lutá:pes/0.600

C:

0

včela:červená/0.5

1slon:zelená/0.300 2/0.800kočka:modrá/0pes:ž lutá/0.600

Obrazek 2.7: Prıklad inverze WFST

2.6.6 Projekce

Odstranıme-li vstupnı (resp. vystupnı) symboly WFST A, obdrzıme WFSA C. Platı

C = π1(A) , (2.17)

graficka reprezentace operace projekce je znazornena na obr. 2.8.

A:

0

červená:včela/0.5

1zelená:slon/0.300 2/0.800modrá:kočka/0ž lutá:pes/0.600

C:

0

červená/0.5

1zelená/0.300 2/0.800modrá/0ž lutá/0.600

Obrazek 2.8: Prıklad projekce WFST na WFSA

2.6.7 Odstranenı epsilon prechodu

Operaci odstranenı epsilon prechodu nejlepe ilustruje obr. 2.9. Vlastnı algoritmus bylpodrobne popsan v [Moh00].

2.6.8 Prunik

Pokud WFSA C obsahuje identicke celkove cesty π jako WFSA A a zaroven WFSAB, platı

C = A ∩B, (2.18)

graficka reprezentace operace pruniku je znazornena na obr. 2.10.

35

Page 49: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

B:

0

1<eps>/0

4<eps>/0

červená/0.5

2zelená/0.300<eps>/0.5

5/0zelená/0.400

6/0.300

modrá/1.200

3/0.800modrá/0

ž lutá/0.600

C:

0

1červená/0.5

2zelená/0.300

4/0zelená/0.400

5/0.300

modrá/1.200

3/0.800

modrá/0.5ž lutá/1.100

červená/0.5

zelená/0.300

modrá/0

ž lutá/0.600

Obrazek 2.9: Prıklad odstranenı epsilon prechodu WFSA

A:

0

červená/0.5

1zelená/0.300

2/0.800modrá/0

ž lutá/0.600

B:

0/0 1červená/0.200

modrá/0.600

zelená/0.400

2/0.5ž lutá/1.299

C:

0 1červená/0.699

2zelená/0.700

3/0.800modrá/0.600

4/1.299

ž lutá/1.899

Obrazek 2.10: Prıklad pruniku dvou WFSA

2.6.9 Rozdıl

Pokud WFSA C obsahuje identicke celkove cesty π jako WFSA A bez celkovych cestFSA B, platı

C = A−B, (2.19)

graficka reprezentace operace rozdılu je znazornena na obr. 2.11.

2.6.10 Konexe (orezanı)

Pokud stavovy automat obsahuje nadbytecne stavy, resp. prechody jako WFSA A

(obr. 2.12) tzn. takove, pres ktere nevede celkova cesta, je stavovy automat bez techtostavu, resp. prechodu (WFSA C na obr. 2.12) ekvivalentnı. Odstranenı techto nad-bytecnych stavu, resp. prechodu se nazyva konexe (Z angl. connection).

36

Page 50: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

A:

0

červená/0.5

1zelená/0.300

2/0.800modrá/0

ž lutá/0.600

B:

0 1červená

modrá

zelená

2ž lutá

C:

0

1červená/0.5

3zelená/0.300

2červená/0.5

4/0.800modrá/0

ž lutá/0.600

zelená/0.300

červená/0.5

Obrazek 2.11: Prıklad rozdılu dvou WFSA

A:

0

červená/0.5

1zelená/0.300

2/0.800modrá/0

ž lutá/0.600

5

červená/0

3 4/0.200zelená/0.200

C:

0

červená/0.5

1zelená/0.300

2/0.800modrá/0

ž lutá/0.600

Obrazek 2.12: Prıklad konexe WFSA

2.6.11 Ekvivalence

Dva WFSA jsou ekvivalentnı, pokud prirazujı stejne ceny pro kazdou moznou vstupnıposloupnost. Ceny mohou byt rozmısteny odlisne, ohodnocenı vsech moznych uspesnychcest musı byt zachovana. Prıklad dvou ekvivalentnıch WFSA A a B je na obr. 2.13. DvaWFST jsou ekvivalentnı, pokud mapujı stejnou vystupnı posloupnost a stejne ohodnocenıuspesnych cest. Rozmıstenı cen podel celkove cesty byt identicke nemusı.

A:

0 1červená/0.300

2/0.300modrá/0.699

3/0.400

ž lutá/0.899

B:

0 1červená/0

2/1.299modrá/0

ž lutá/0.300

Obrazek 2.13: Prıklad dvou ekvivalentnıch WFSA

37

Page 51: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

2.6.12 Nejpravdepodobnejsı cesta (cesty)

Tato operace je serazenım n uspesnych cest WFSA A vzestupne dle jejich ohodnocenı.Tak vznika acyklicky WFSA, jak je znazorneno na obr. 2.14, kde WFSA B je pro n = 1a WFSA C pro n = 3.

A:

0

1červená/0.5

3zelená/0.300

2červená/0.5

4/0.800modrá/0

ž lutá/0.600

zelená/0.300

červená/0.5

B:

0 1zelená/0.300

2/0.800modrá/0

C:

0

1<eps>/0

4<eps>/0

7

<eps>/0

2zelená/0.300

5zelená/0.300

8červená/0.5

3/0.800modrá/0

6/0.800ž lutá/0.600

9

červená/0.5

10zelená/0.300

11/0.800modrá/0

Obrazek 2.14: Prıklad hledanı nejpravdepodobnejsıch cest

2.6.13 Nahodna cesta (cesty)

Tato operace je n nahodne vybranych celkovych cest WFSA A. Tak vznika podobnejako u predchozı operace acyklicky WFSA, jak je znazorneno na obr. 2.15, kde WFSA B

je pro n = 1 a WFSA C pro n = 3.

2.6.14 Prorezavanı

Zavedeme-li prah pro cenu celkovych cest ct a odstranıme celkove cesty s cenou vetsı,nez je tento prah, mluvıme o prorezavanı WFSA. Nazorny prıklad prorezavanı (z angl.pruning) WFSA A s ct = 1 je na obr. 2.16.

38

Page 52: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

A:

0

1červená/0.5

3zelená/0.300

2červená/0.5

4/0.800modrá/0

ž lutá/0.600

zelená/0.300

červená/0.5

B:

0 1červená/0.5

2červená/0.5

3červená/0.5

4zelená/0.300

5/0.800modrá/0

C:

0

1červená/0.5

5zelená/0.300

7

zelená/0.300

2červená/0.5

6/0.800modrá/0

8/0.800

modrá/0

3zelená/0.300

4/0.800ž lutá/0.600

Obrazek 2.15: Prıklad hledanı nahodnych cest

2.6.15 Skladanı

Skladanı3 (z angl. composition) je klıcovou operacı mezi jednotlivymi FST. Zapis tetooperace pro WFST T , ktery je slozen ze dvou WFST R a S je

T = R S . (2.20)

Skladanı ma za nasledek vytvorenı cesty mapujıcı posloupnost symbolu u na posloupnostsymbolu w prave kdyz WFST R mapuje posloupnost u na posl. v a soucasne WFST S

mapuje posl. v na posl. w. Ceny jsou pak vysledkem operatoru ⊗ mezi odpovıdajıcımiprechody WFST R a S [Moh02a, Roc97].

V uloze rozpoznavanı reci se skladanı casto pouzıva pro spojovanı jednotlivych urovnıreprezentovanych tzv. rozpoznavacı kaskadou. Stavy vysledneho WFST po operaci skladanı(2.20) jsou dany parem stavu jednotlivych WFST R a S, pokud• Pocatecnı stav je parem pocatecnıch stavu R a S• Koncove stavy jsou par koncovych stavu R a S• Pro kazdy par prechodu tR z r do r′ a tS z s do s′ existuje prechod t z (r, s) do (r′, s′)

tak, ze vystupnı symbol tR je roven vstupnımu symbolu tS

Prechod t tak prebıra vstupnı symbol z tR, vystupnı z tS a ohodnocenı jako ⊗ operaci centR a tS . Problematika prazdnych prechodu ε je diskutovana napr. v [Moh00].

3Tez mozno pouzıt i vyrazu kompozice

39

Page 53: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

A:

0

1červená/0.5

3zelená/0.300

2červená/0.5

4/0.800modrá/0

ž lutá/0.600

zelená/0.300

červená/0.5

B:

0 1zelená/0.300

2/0.800modrá/0

ž lutá/0.600

Obrazek 2.16: Prıklad prorezavanı WFSA

R:

0

1a:b/0.100

2b:a/0.200

c:a/0.300

3/0.600

a:a/0.400

b:b/0.5

S:

0 1b:c/0.300

2/0.699a:b/0.400

a:b/0.600

T:

(0,0) (1,1)a:c/0.400

(1,2)c:b/0.700

(3,2)/1.299a:b/0.800

c:b/0.900

a:b/1

Obrazek 2.17: Prıklad skladanı dvou WFST

Na uvedenem prıklade (obr. 2.17) je pouzit tropicky polookruh, operace ⊗ tak zna-mena soucet (ceny secteny).

2.6.16 Determinizace

WFST je deterministicky, pokud kazdy z jeho stavu ma nejvyse jeden prechods danym vstupnım symbolem [Moh02a]. Operaci zapisujeme

B = det(A) . (2.21)

Obrazek 2.18 ukazuje prıklad determinizace automatu A1. Naprıklad vezmeme-livstupnı posloupnost ”ae”, jsou zde 2 uspesne cesty s cenami 1 + 8 = 9, 3 + 11 = 14.Minimum 9 je ocenenı prirazovane automatem A2 posloupnosti ”ae”. Pro algoritmusv nasledujıcım vykladu [Moh02a] jsou vsechny stavy dosazitelne danym vstupnım sym-bolem z daneho stavu vlozeny do spolecne podmnoziny. I kdyz ruzne cesty s identickouposloupnostı vstupnıch symbolu mohou davat ruzna ocenenı, pouze minimalnı hodnotatohoto ocenenı muze byt vystupem determinizovaneho WFSA. Prebyvajıcı ceny tak musı

40

Page 54: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

byt zachovany pro zajistenı identicnosti vsech uspesnych a nejlepsıch cest. Proto podmno-ziny pouzıvane v algoritmu determinizace obsahujı pary (q, w) stavu q a prebyvajıcı cenyw.

A1: A2:

Obrazek 2.18: WFSA A1 pred determinizacı a determinizovany WFSA A2

Pocatecnı podmnozina S = i, 0, kde i je pocatecnı stav puvodnıho automatu.Naprıklad pro automat A1 z obr. 2.18 je pocatecnı podmnozina 0, 0. Pro kazdy symbola ze vstupnı abecedy Σ oznacujıcı nejmene jeden prechod ze stavu uvnitr podmnoziny Sje v nove vznikajıcım automatu vytvoren novy prechod t vedoucı z tohoto stavu. Vstupnısymbol prechodu t je a a ocenenı t je minimum ze vsech moznych souctu w + l, kde wje prebyvajıcı cena a l je vaha a-prechodu ze stavu uvnitr podmnoziny S. Cılovy stav q′

prechodu t je v podmnozine S′ = (q′, w′), kde w′ je patricna prebyvajıcı cena.Naprıklad stav 0 v A2 odpovıda pocatecnı podmnozine 0, 0 vytvorene algoritmem.

Prechod automatu A2 ze stavu 0 se symbolem ”a” je zıskan ze dvou prechodu se symbolem”a” ze stavu 0 automatu A1. Jeho ocenenı predstavuje minimum cen dvou zminovanychprechodu a jeho cılovemu stavu odpovıda podmnozina S = (1, 1− 1 = 0), (2, 3− 1− 2).Cely algoritmus determinizace WFSA pomocı podmnozin dobre ilustruje automat A2 naobr. 2.18.

Na obr. 2.19 je prıklad determinizace slovnıku cıslovek. Jak je z obrazku videt, de-terminizace zajist’uje jedinecny vstupnı symbol pro prechod z kazdeho stavu a sjednocenıshodujıcıch se pocatecnıch cest. Vysledny automat tedy neobsahuje redundantnı cesty.

Casova narocnost je umerna n2, kde n je pocet stavu. Je mozne dokazat, ze ne vsechnyohodnocene automaty lze determinizovat. Nicmene platı, ze determinizovat lze kazdy acyk-licky WFSA nebo WFST [Moh02a]. Obecne lze rıci, ze v prıpadech bloku urcenych prorozpoznavanı reci je vetsina automatu take determinizovatelna.

41

Page 55: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

A:

0

1d:deset

6d:dva

9d:dvacet

15

d:dvanáct

22

o:osm

2e:<eps>

7v:<eps>

10v:<eps>

16v:<eps>

23s:<eps>

3s:<eps> 4e:<eps>

5t:<eps>

8a:<eps>

11a:<eps> 12c:<eps> 13

e:<eps>14

t:<eps>

17a:<eps>

18n:<eps>

19á:<eps>

20c:<eps>

21t:<eps>

24m:<eps>

B:

0

1d:<eps>

2

o:osm

3e:deset

4v:<eps>

5s:<eps>

6s:<eps>

7a:<eps>

8m:<eps>

9e:<eps>

10c:dvacet

11

n:dvanáct

12

<eps>:dva

13t:<eps>

14e:<eps>

15á:<eps>

16t:<eps>

17c:<eps>

18t:<eps>

Obrazek 2.19: Prıklad determinizace jednoducheho lexikonu

2.6.17 Stlacenı

Pro moznost pouzitı operace minimalizace na ohodnoceny konecny automat popsanenıze je nutne stlacit ocenenı prechodu.

Stlacenı ocenenı je specialnı operace prevahovanı (z angl. reweighting) [Moh02a,Moh97a, Moh97b]. Nasledujıcı vyklad tuto operaci popisuje pro tropicky polookruh. Proostatnı typy polookruhu platı analogicky postup. Kazdy netrivialnı automat muze bytprevahovan nekonecne mnoha zpusoby tak, ze vysledny automat bude ekvivalentnı. Pred-pokladejme, ze WFSA A ma jeden koncovy stav fA. Necht’ V : Q→ R je libovolna funkce,nazyvana potencionalnı funkce stavu, pomocı ktere se kazdemu ohodnocenı (pocatecnımuλ, prechodovym w(t) i koncovemu ρ(fA)) priradı nove hodnoty

λ←λ+ V (i)w(t)←w(t) + (V (t+)− V (t−))ρ(fA)←ρ(fA) + (V (iA)− V (fA))

. (2.22)

Tımto zpusobem se nezmenı celkove ohodnocenı zadne z uspesnych cest. Cılem operacestlacenı cen smerem k pocatecnımu stavu je nalezt a pouzıt takovou potencionalnı funkciV splnujıcı rovnice (2.22), aby pro kazdy stav q ∈ Q platilo V (q) = d(q), kde d(q) jeminimum ze vsech ohodnocenı cesty ze stavu q do koncoveho stavu fA. Prıklad operacestlacenı WFSA A2 z obr. 2.18 je na obr. 2.20.

2.6.18 Minimalizace

Kazdy deterministicky automat muze byt minimalizovan dle dnes jiz beznych algo-ritmu [Rev92] Operaci zapisujeme jako

B = min(A) . (2.23)

42

Page 56: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

A2:

0

1

a/1

b/2

c/5

2

d/8

e/9

3/0

e/8

f/9

e/11

f/12

A3:

0

1

a/0

b/1

c/4

2

d/10

e/11

3/9

e/0

f/1

e/0

f/1

Obrazek 2.20: Prıklad aplikace stlacenı na WFSA A2

Vysledny automat B ma po minimalizaci nejmensı mozny pocet stavu a prechodu ze vsechmoznych deterministickych automatu ekvivalentnıch puvodnımu automatu A. Minimali-zace ohodnoceneho konecneho automatu prımo vyzaduje pred vlastnım procesem stlacenıcen. Prıklad minimalizace automatu A3 z obr. 2.20 je zobrazen na obr. 2.21.

A3:

0

1

a/0

b/1

c/4

2

d/10

e/11

3/9

e/0

f/1

e/0

f/1

A4:

0 1

a/0

b/1

c/4

d/10

e/11

2/9e/0

f/1

Obrazek 2.21: Prıklad minimalizace WFSA A3

V prıpade aplikace minimalizace na ohodnoceny prekladovy automat - WFST je nut-nostı tento automat prevest zakodovanım paru vstupne-vystupnıch symbolu na WFSA.Jde v podstate o vytvorenı klıcoveho WFST s jednım stavem mapujıcıho kazdou pouzi-tou kombinaci vstupnıch i vystupnıch symbolu vsech prechodu na novy symbol4. Ten jepak pouzit v zakodovanem WFSA jako vstupnı symbol. Analogicky je tomu i pro prıpaddekodovanı.

0

1d

2

o

3e

4v

5s

6s

7a

11

m

8e

c

<eps>

9n

t10

ác

Obrazek 2.22: Prıklad minimalizace determinizovaneho lexikonu z obr. 2.19

4Nutno poznamenat, ze ceny lze tez zakodovat. Je tedy mozne v prıpade nedeterminizovatelneho au-tomatu prevest WFST na WFSA, resp. na FSA.

43

Page 57: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Minimalizace FSA je celkem vykonny proces; casova narocnost je zde umerna m+ n,resp. m log n pro acyklicky prıpad, resp. obecny prıpad, kde m je pocet prechodu a n

pocet stavu. Objevily se tak i algoritmy, ktere minimalizaci pouze aproximujı a tım je takcely proces mene hardwarove narocny [Cas03]. Prıklad minimalizace determinizovaneholexikonu z obr. 2.19 ilustruje obr. 2.22.

44

Page 58: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 3

Stavovy automat jako

rozpoznavacı sıt’

3.1 Zakladnı topologie

3.1.1 Hlavnı komponenty

G - WFSA reprezentujıcı jazykovy model

Tez nazyvame WFSA gramatiky. Automat by mel zacınat a koncit promluvu mode-lem ticha. Vahy WFSA zde vzdy predstavujı apriornı pravdepodobnosti slov, resp. jejichzaporne logaritmy. O modelovanı samotnem bude vıce napsano v kapitolach 1.5 a 6.2.Zjednoduseny prıklad automatu G pro hru sachy je zobrazen na obr. 2.1. Reprezentacibigramoveho, resp. trigramoveho modelu pomocı WFSA pro dve slova ilustruje obr. 3.1,resp. obr. 3.2.

0

1w1:w1/P(w1)2

w2:w2/P(w2)

w1:w1/P(w1|w1)

w2:w2/P(w2|w1)

w1:w1/P(w1|w2)

w2:w2/P(w2|w2)

Obrazek 3.1: Bigramovy model pro slova w1 a w2

45

Page 59: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

0

w1w1/P(w1)

w2

w2/P(w2)

w1,w1w1/P(w1|w1)

w1,w2w2/P(w2|w1)

w2,w2w2/P(w2|w2)

w2,w1

w1/P(w1|w2)

w2/P(w2|w2,w2)w1/P(w1|w2,w2)

w1/P(w1|w2,w1)

w2/P(w2|w2,w1)

w1/P(w1|w1,w1)

w2/P(w2|w1,w1)

w2/P(w2|w1,w2)

w1/P(w1|w1,w2)

Obrazek 3.2: Trigramovy model pro slova w1 a w2

n nazev pocet stavu pocet prechodu1 unigram 1 k2 bigram 1 + k k + k2

3 trigram 1 + k + k2 k + k2 + k3

...

Tabulka 3.1: Slozitost n-gramoveho modelu dle n a poctu slov k

L - WFST reprezentujıcı slovnık

Na obr. 2.2 je ukazka automatu L pro slova ”dva” a ”ctyri”. Vstupnı symboly zdereprezentujı kontextove nezavisle fonemy a vystupnı pak slova, ktera musı nalezite ko-respondovat s automatem G pripravovane rozpoznavacı sıte. Pravdepodobnosti, resp. je-jich zaporne logaritmy reprezentujı alternativnı vyslovnosti jednotlivych slov. Napr. slovo”ctyri” jak je na obr. 2.2 uvedeno (”ctyri”,”styri”,”ctyry”,”styry”). Lze vsak i patricny fonemvynechat pomocı ε prechodu.

C - FST kontextove zavislosti

Moznosti jak reprezentovat kontextovou zavislost fonemu pouzite v teto praci demon-struje obrazek 3.3. Trifonova reprezentace vede na velky pocet modelu (teoreticky 423 =74088, v praxi se vsak pouzije kolem 10000) a tedy i na komplexnejsı rozpoznavacısıt’. Difonova reprezentace na obr. 3.3c dle [Nou04] pak predstavuje vhodny kompromismezi monofonnı a trifonovou reprezentacı akustickych modelu. Pocet difonu je teoreticky422 = 1764, pri experimentech pouzito 1108. Dalsı vyhodou teto difonove reprezentace jesnızenı poctu stavu modelu na dva.

46

Page 60: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

<sil> <sil>

<sil><sil>

c ii l

c+ii c−ii+l ii−l

a)

b)

c)

<sil> <sil>c ii lc+ii ii+l

Obrazek 3.3: Slovo ”cıl” reprezentovano modely a) monofonu b) trifonu c) difonu

FST mapujıcı kontextove zavisle fonemy (trifony, resp. difony) na kontextovenezavisle. Automat C pro trifony je pomerne komplexnı, nebot’ obsahuje n2 +n+ 1 stavua n3 + 2n2 + n prechodu, kde n je pocet fonemu. Na obr. 3.4 je z duvodu prehlednostizobrazen automat C pouze pro dva fonemy. Vstupnı posloupnost ”a b a a” bude mapovanana ”a+b a-b+a b-a+a a+a”, resp. na ”a/ε b b/a a a/b a a/a ε” pouzijeme-li HTK, resp.AT&T znacenı trifonu.

0

<sil>:sil<sp>:sp

1

a:a

2

b:b

3a:a+a

4b:b+a

5

a:a+b

6

b:b+b

<sp>:sp

<sil>:sil

<sp>:sp

<sil>:sil

a:a−aa:a−a+a

a:a−a+b

a:b−aa:b−a+a

a:b−a+b

b:a−b

b:a−b+a

b:a−b+b

b:b−b

b:b−b+a

b:b−b+b

Obrazek 3.4: Prıklad FST kontextove zavislosti pro trifony

47

Page 61: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Automat C pro difony byl navrzen tak, aby reprezentoval modelovanı slov difony dle[Nou04]. Vstupnı posloupnost ”a b a a” tak bude automatem z obr. 3.5 mapovana na ”aa+b b b+a a a+a a”.

0

<sil>:sil<sp>:sp 1

a:a

4

b:b

<sp>:sp

<sil>:sil

2a:a+a

3b:a+b

<sp>:sp

<sil>:sil

5a:b+a

6b:b+b

<eps>:a

<eps>:b

<eps>:a

<eps>:b

Obrazek 3.5: Prıklad FST kontextove zavislosti pro difony

Opacneho mapovanı (automat C−1) dosahneme inverzı automatu. Poznamenejme, zebezkontextove fonemy (”<sil>” a ”<sp>”) musı byt mapovany samy na sebe jak je videtna obrazcıch 3.4 a 3.5.

H - WFST reprezentujıcı casove domeny HMM

Markovovy modely se skladajı ze dvou castı. Jedna reprezentuje spektralnı charaktermodelovanych castı promluvy a druha pak charakter casovy (dobu trvanı jednotlivychuseku) [Rab93, Moh02a]. Prave casova domena HMM je obecne reprezentovatelna ohod-nocenym prekladovym automatem. Zjednoduseny prıklad automatu H pro 5 modelu jeuveden na obr. 3.6.

0

1<eps>:sil/0

5<eps>:sp/0

7<eps>:a−k+c/0

11

<eps>:b−n+ou/0

15

<eps>:ss−p+a/0

sil#0:<eps>/0.185

3

sil#0:<eps>/2.424

2sil#0:<eps>/2.520

sp#1:<eps>/0.185

6/0sp#1:<eps>/2.520

a−k+c#0:<eps>/0.531

8a−k+c#0:<eps>/0.886

b−n+ou#0:<eps>/0.656

12b−n+ou#0:<eps>/0.731

ss−p+a#0:<eps>/0.501

16ss−p+a#0:<eps>/0.931

sil#2:<eps>/3.285

sil#2:<eps>/0.077

4/0sil#2:<eps>/3.284sil#1:<eps>/2.929

sil#1:<eps>/0.054

a−k+c#1:<eps>/0.980

9a−k+c#1:<eps>/0.469

a−k+c#2:<eps>/0.695

10/0a−k+c#2:<eps>/0.691

b−n+ou#1:<eps>/0.750

13b−n+ou#1:<eps>/0.638

b−n+ou#2:<eps>/1.082

14/0b−n+ou#2:<eps>/0.413

ss−p+a#1:<eps>/0.907

17ss−p+a#1:<eps>/0.516

ss−p+a#2:<eps>/1.194

18/0ss−p+a#2:<eps>/0.360

Obrazek 3.6: Prıklad vytvorenı HMM WFST

48

Page 62: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

3.1.2 Rozpoznavacı sıt’

Mame-li pripravene ctyri vyse zmınene komponenty v podobe stavovych automatu,muzeme zkomponovat rozpoznavacı sıt’. Protoze automaty H a L jsou acyklicke, je nutnena ne pred vlastnı kompozicı aplikovat operaci uzavrenı. Prıklad uzavreneho H automatuje na obr. 3.7. Vyslednou rozpoznavacı sıt’ RN je mozne obdrzet jako

RN = min(det(H det(C det(L G)))) , (3.1)

resp.RN = min(det(H det(L G))) , (3.2)

mame-li k dispozici modely kontextove zavislych, resp. nezavislych fonemu. Poznamene-jme, ze v [Moh02a] autori poukazujı na nutnost zavedenı pomocnych symbolu pro odlisenıhomonym coby fonemu na konci slov se stejnou vyslovnostı ve slovnıku. Zatımco anglictinaje jazyk s vysokym vyskytem homonym stejne znejıcıch, ale jinak se zapisujıcıch (napr.”read” - ”red”), homonyma v cestine se v drtive vetsine prıpadu ctou a zapisujı stejne(napr. ”pila”). Z vlastnıch zkusenostı mohu konstatovat ze tento postup nenı pro cestinunezbytny.

0

1<eps>:sil/0

5<eps>:sp/0

7

<eps>:a−k+c/0

11

<eps>:b−n+ou/0

15

<eps>:ss−p+a/0

sil#0:<eps>/0.185

3sil#0:<eps>/2.424

2

sil#0:<eps>/2.520

sp#1:<eps>/0.185

6/0

sp#1:<eps>/2.520

a−k+c#0:<eps>/0.531

8a−k+c#0:<eps>/0.886

b−n+ou#0:<eps>/0.656

12b−n+ou#0:<eps>/0.731

ss−p+a#0:<eps>/0.501

16ss−p+a#0:<eps>/0.931

sil#2:<eps>/3.285sil#2:<eps>/0.077

4/0

sil#2:<eps>/3.284sil#1:<eps>/2.929sil#1:<eps>/0.054

<eps>:<eps>/0

<eps>:<eps>/0

a−k+c#1:<eps>/0.980

9a−k+c#1:<eps>/0.469

a−k+c#2:<eps>/0.695

10/0a−k+c#2:<eps>/0.691

<eps>:<eps>/0

b−n+ou#1:<eps>/0.750

13b−n+ou#1:<eps>/0.638

b−n+ou#2:<eps>/1.082

14/0

b−n+ou#2:<eps>/0.413

<eps>:<eps>/0

ss−p+a#1:<eps>/0.907

17ss−p+a#1:<eps>/0.516

ss−p+a#2:<eps>/1.19418/0ss−p+a#2:<eps>/0.360

<eps>:<eps>/0

19/0<eps>:<eps>/0

Obrazek 3.7: Uzavreny HMM WFST z obr. 3.6

49

Page 63: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Cast II

Softwarove nastroje

50

Page 64: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 4

Uvod

Na poli rozpoznavanı reci bylo vyvinuto mnoho nastroju, jejich aktualnı seznam je moznenalezt napr. na [wwwa]. V nasledujıcıch kapitolach bude priblızen nastroj Hidden MarkovModel Toolkit - HTK [wwwb], ktery je sıren jako open-source a nastroje firmy AT&T[Moha, Mohb, Allb], ktere jsou dostupne pouze v binarnım formatu. Je potreba pozname-nat, ze nynı lze nove velmi efektivne namısto FSM knihovny pouzıt jejı otevrenou variantuod stejnych autoru nazvanou OpenFst [Ril] napsanou v jazyce C++.

Pro realizaci uvedenych operacı automatu s konecnymi stavy jsou pouzity FSM kni-hovny v4.0 od AT&T (Mohri a kol. 2000). Z volne dostupnych knihoven je tato jednaz nejvykonnejsıch, avsak je dostupna pouze v binarnı forme.

Pro natrenovanı HMM reprezentujıcıch ceske trifony je pouzit HTK toolkit v3.2.1[wwwb]. Data pro trenovanı pochazejı z recove databaze SPEECON (cca 800 mluvcıch),ktera je pro studentske ucely k dispozici na katedre teorie obvodu FEL CVUT.

Pro zpracovanı dat pri trenovanı pomocı HTK a transformace HTK lattice formatuna AT&T FSM format byl napsan program hdp - HTK data preparation toolkit.

Pro vytvorenı prekladovych automatu H, C, L, G z volneho textu, ci mlf souborua vytvorenı dopredneho nedeterministickeho automatu z rozpoznavacı kaskady je vyvı-jen program rct - recognition cascade toolkit. Ten v soucasne dobe umoznuje tytonasledujıcı vyznamne operace:• vytvorit sıte H, C, L, G a tım kompletnı rozpoznavacı kaskadu ve formatu soboru

AT&T• aplikovat Viterbiho algoritmus na rozpoznavacı sıt’ HLG, resp. HCLG• konvertovat akusticke modely vytvorene nastrojem HTK na ATT format• zıskavat cenna data z Ceskeho narodnıho korpusu• pouzıvat stejne indexy shlukovanych stavu jako moduly HTK knihoven

51

Page 65: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Ze soucasnych vyznamnych verejne dostupnych zdroju dat bych uvedl otevreny re-pozitar VoxForge [wvo], ktery je zalozen na tzv. volne dostupnych audioknihach LibriVox[wli] publikovanych jako volne dılo. Hlavnım jazykem je zde anglictina.

Za vyznamne projekty v oblasti rozpoznavanı reci povazuji:• Julius [Jul] open source LVCSR system podporujıcı jazykove modely ve formatu

ARPA a akusticke modely v HTK formatu. V ramci projektu jsou i nabızeny datapro japonstinu (anglictina pouze pro nekomercnı vyuzitı).• CMU Sphinx [wsp] open source LVCSR system sıren pod BSD licencı, v ramci pro-

jektu dostupne open source modely pro anglictinu. Dostupny je tez port pro pocketPC.• ISIP ASR projekt [wIS] open source LVCSR system sıreny jako volne dılo.

52

Page 66: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 5

HTK

Hidden Markov Model Toolkit - HTK predstavuje kompletnı nastroje pro trenovanı skry-tych Markovovych modelu libovolne topologie a s n-rozmernym normalnım rozdelenımemitujıcıch stavu pro volitelne n, volitelny pocet smesı normalnıch hustotnıch funkcı avolitelny pocet datovych proudu s moznostı sdılenı na vsech moznych urovnıch HMM.Vycerpavajıcı popis nastroju HTK je uveden v [You02]. Uved’me jen, ze HTK dale posky-tuje komplexnı nastroje pro parametrizaci dat, rozpoznavanı a editovanı HMM. Nastroje,ktere byly v praci pouzity zde budou popsany v takove slozitosti v jake byly pouzıvany.

5.1 Parametrizace

HCopy - nastroj pro parametrizaci, resp. konverzi zvukovych souboru. Pouzity nasledu-jıcı univerzalnı parametry:

-S fn soubor fn predstavuje seznam cest vstupnıch a vystupnıch souborupromluv.

-C fn fn - konfiguracnı soubor, jehoz prıklad s nejdulezitejsımi parametry jeuveden nıze.

#Coding Params - pages 298 - 301 in HTK Book

SOURCEKIND = WAVEFORM

SOURCEFORMAT = NOHEAD

SOURCERATE = 625 #vzorkovacı frekvence (x 100 ns)

TARGETKIND = MFCC_E_D_A #druh parametrizace

TARGETRATE = 100000.0 #segmentace - posouvanı okna (x 100ns)

WINDOWSIZE = 250000.0 #delka okna (x 100ns)

USEHAMMING = T #nasobenı vst. segmentu Hammingovym okenkem

PREEMCOEF = 0.97 #koeficient preemfaze

NUMCHANS = 26 #pocet kanalu banky filtru

CEPLIFTER = 22 #koeficient kepstralnı liftrace

NUMCEPS = 12 #pocet kepstralnıch koeficientu

53

Page 67: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

ENORMALISE = T #normalizace podle energie (F)

#USESILDET = T #pouzitı detektoru rec/pauza

Zde uvadeny konfiguracnı soubor byl pouzit v experimentech. Konfigurace je nastavena provstupnı soubory se vzorkovacı frekvencı 16kHz, pouzita parametrizace na 12 Melovskychkepstralnıch koeficientu plus energie, z toho pak dalsıch 13 delta a 13 akceleracnıch koefi-cientu. Vyznam ostatnıch parametru je mozne dohledat v [You02]. konfiguracnıho souboru.

5.2 Trenovanı modelu

HCompV - nastroj pro vypocet globalnı strednı hodnoty µ a kovariancnı matice Σ, resp.jejı diagonaly r. Pouzitı:

HCompV [univ. volby] [hmm]

Soubor hmm predstavuje definici topologie jednoho HMM. Prıklad pro HMM s 2-rozmernym normalnım rozdelenım:

~o~<VecSize> 2 <MFCC>

~h "proto1"

<BeginHMM>

<NumStates> 5

<State> 2

<Mean> 2

0.0 0.0

<Variance> 2

1.0 1.0

<State> 3

<Mean> 2

0.0 0.0

<Variance> 2

1.0 1.0

<State> 4

<Mean> 2

0.0 0.0

<Variance> 2

1.0 1.0

<TransP> 5

0.0 1.0 0.0 0.0 0.0

0.0 0.6 0.4 0.0 0.0

0.0 0.0 0.6 0.4 0.0

0.0 0.0 0.0 0.7 0.3

0.0 0.0 0.0 0.0 0.0

<EndHMM>

Seznam univerzalnıch voleb:

54

Page 68: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

-S fn soubor fn predstavuje seznam cest souboru s prıznaky-M dn adresar dn predstavuje cılovou cestu k ulozenı HMM (soubor

dn/hmmdefs)s globalnımi parametry µ a Σ, resp. r-c dn odhad globalnıch strednıch hodnot (zapsano jako jeden vektor) do

adresare dn-m obnovenı strednıch hodnot v HMM def. souboru

HERest - nastroj pro trenovanı HMM vyuzıvajıcı zapouzdrenou verzi Baum-Welchovaalgoritmu [Rab93, You02]. Pouzitı:

HERest [univ. volby] hmmList

Soubor hmmList je obsahuje seznam nazvu vsech HMM. Pokud jsou dva nazvy HMMvedle sebe, prvnı je tzv. logickym HMM prirazenym k nasledujıcımu fyzickemu HMM.Rozdıl mezi log. a fyz. HMM spocıva pouze v jeho jmene, parametry jsou shodne (souborhmmdefs tak obsahuje pouze definice fyzickych HMM). V nasledujıcım prıklade HMMseznamu jsou logickymi HMM uu-nn+e, i-k+n a m-ii+v.

u-tt+ii

uu-nn+e nn+uu

i-k+n ss-k+uu

m-ii+v m-ii+m

...atd...

Seznam univerzalnıch voleb:

-S fn soubor fn predstavuje seznam cest souboru s prıznaky-H fn cesta k puvodnımu definicnımu souboru fn (hmmdefs) HMM-I fn cesta ke vstupnımu mlf souboru fn s fonetickym prepisem vet-M dn adresar dn predstavuje cılovou cestu k ulozenı definicnıch souboru HMM

po natrenovanı (soubor dn/hmmdefs).-s fn ulozenı zapornych souctu log. pravdepodobnostı vsech stavu (5.2) do

souboru fn (soubor stats - viz dale)-t f [i l] nastavenı prahu prorezavanı na hodnotu f [You02, Psu06]. V prıpade

zadanı koeficientu i a l je prah zvetsen o hodnotu i a proces se opakujedokud neprojde, nebo nenastane celkem l opakovanı

5.3 Shlukovanı kontextove zavislych fonemu

HHEd - editor HMM definicnıch souboru hmmdefs. Pouzitı:

HHEd [univ. volby] fn.hed hmmList

55

Page 69: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kde fn.hed je soubor s prıkazy editoru - prıklady tech nejpouzıvanejsıch budou uvedenydale a hmmList je seznam nazvu HMM k editaci. Nejpouzıvanejsı univerzalnı volby bylyH a M, ktere jsou identicke s nastrojem HERest.

5.3.1 shlukovanı rızene daty

Chceme-li pouzıt shlukovane stavy HMM, mame dve moznosti jak vlastnı shlukovanıprovest. Prvnı je pomerne jednoduche shlukovanı rızene daty [You02, Psu06], kde sepouzıva vztah vazene Euklidovy vzdalenosti mezi shluky i a j

d(i, j) =

√√√√ 1n

n∑k=1

(µik − µjk)2

σikσjk, (5.1)

kde µlk a σlk jsou k-te prvky vektoru strednı hodnoty µl a smerodatne odchylky σl n-rozmerneho normalnıho rozdelenı hustoty pravdepodobnosti ve stavu l. Obsahujı-li shlukyvıce stavu, vybıra se nejvetsı vzdalenost mezi stavy. Shlukovanı daty vsak neumoznuje”vyrobit” nove trifony, ktere se pri trenovanı nevyskytly. Tento zavazny nedostatek resıdruha metoda shlukovanı.

5.3.2 shlukovanı zalozene na fonetickych rozhodovacıch stromech

Nasledujıcı konfiguracnı soubor pro nastroj HHEd definuje mnozinu otazek (zaprıkazem TR 0) a udava zpusob jakym se majı tvorit shlukovane stavy (za prıkazemTR2)

RO 7000.0 data/stats

TR 0

QS ’L_similar2’ "j-*","i-*","ii-*"

QS ’L_fr_bk_vowel19’ "uu-*","oo-*","aa-*","u-*","o-*","a-*"

QS ’R_sylab_maker1’ "*+l","*+r","*+uu","*+u","*+ou","*+oo","*+o","*+ii",

"*+i","*+eu","*+ee","*+e","*+au","*+aa","*+a"

QS ’L_sylab_maker1’ "l-*","r-*","uu-*","u-*","ou-*","oo-*","o-*","ii-*",

"i-*","eu-*","ee-*","e-*","au-*","aa-*","a-*"

QS ’R_fr_bk_vowel2’ "*+e","*+i"

QS ’L_similar1’ "j-*","i-*"

...atd...

TR 2

TB 720.0 "c2_" (c, *-c, *-c+*, c+*).state[2]

TB 5000.0 "c3_" (c, *-c, *-c+*, c+*).state[3]

TB 720.0 "c4_" (c, *-c, *-c+*, c+*).state[4]

...atd...

NC 1 "a3_" (*-a+*,a+*,*-a).state[3]

56

Page 70: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

...atd...

TR 1

CO "data/tiedlist"

ST "data/trees"

Prıkaz NC definuje shlukovanı rızene daty. Je uveden ciste demonstrativne a doporucuji honepouzıvat kvuli nasledne nemoznosti syntetizovat trifony nevyskytujıcı se v trenovacımsetu. Soubor stats je zıskan pomocı parametru -s stats nastroje HERest a kazda radkaobsahuje cıslovanı trifonu, jejich nazev, pocet vyskytu v trenovacım setu a sumy zap. log.pravdepodobnostı

−∑i

logP (Oi|µp, rp) (5.2)

stavu s. Prıklad souboru stats je uveden nıze.

1 "u-p+uu" 1 1.108081 1.861922 2.626662

2 "ss-k+uu" 5 12.010897 7.986808 6.997828

3 "v-zz+e" 5 5.025526 5.459836 14.221378

4 "ou-k+e" 13 23.159161 19.077389 23.544138

417 "a-c+ii" 659 944.080566 1541.300659 2397.085938

954 "aa-c+e" 377 1171.068481 1108.445679 1834.993164

1015 "aa-c+l" 106 280.616699 247.487595 414.357513

...atd...

Postup konstrukce fonetickeho rozhodovacıho stromu - prıklad pro 3. (prostrednı) stavfonemu *-c+*:

1. do pocatecnıho delenı jsou vybrany vsechny prostrednı stavy pro fonemy typu *-c+*

(soubor stats) - mnozina S = s1, . . . , sK. Necht’ jsou tyto stavy svazany tak, zetvorı jediny stav se zap. log. pravdepodobnostı

H(S) = −∑i

logP (Oi|µp, rp) . (5.3)

2. pro vsechny otazky v konfiguracnım souboru pro HHEd je napocıtana hodnotıcıfunkce vypovıdajıcı kvalitu (strmost Gaussovych krivek) rozdelenı mnoziny vsechstavu na dve skupiny

−[H(SI)|q +H(SII)|q] +H(S) , (5.4)

kde H(SI)|q, resp. H(SII)|q jsou zap. logaritmy shlukovanych stavu platne pro klad-nou (I), resp. zapornou (II) odpoved’ na otazku q podobne jako v (5.3).

57

Page 71: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

3. vybere se otazka s nejvetsı hodnotıcı funkcı a priradı se delicımu uzlu. Pokud H(SI)|q,resp. H(SII)|q je mensı, nez zvoleny prah (zde 5000), vytvorı se i-ty shlukovany stavpro prostrednı stavy mnoziny fonemu *-c+* CC3_i. V opacnem prıpade se vytvorınovy uzel.

4. vybere se dalsı uzel bez prirazene otazky, oznacı se za delicı a proces se opakuje odbodu 2 dokud nejsou vycerpany vsechny uzly.

l−* r−* uu−* u−* ou−* oo−*o−* ii−* i−* eu−* ee−* e−*

au−* aa−* a−**+o *+ii *+i *+eu *+ee *+e

*+au *+aa *+a

*+l *+r *+uu *+u *+ou *+oo

C3_5

uu−* oo−* aa−* u−* o−* a−* j−* i−*

j−* i−* ii−*

*+e *+i

C3_1 C3_2

C3_4

C3_6 C3_7

C3_3

+

+

+

+

+

+ −

Obrazek 5.1: Prıklad fonetickeho rozhodovacıho stromu

5.4 Vytvorenı libovolneho modelu pomocı rozhodovacıho stromu

Rozhodovacı stromy pro jednotlive stavy trifonu vytvorene vyse uvedenym postupempouzijeme k vytvorenı setu trifonu pro danou testovacı mnozinu dat, resp. set trifonu. Nızeuvedeny vypis ukazuje prıklad stromu (soubor trees) pro prostrednı stav (3) vsech trifonutypu *-c+*.

QS ’L_similar2’ "j-*","i-*","ii-*"

QS ’L_fr_bk_vowel19’ "uu-*","oo-*","aa-*","u-*","o-*","a-*"

QS ’R_sylab_maker1’ "*+l","*+r","*+uu","*+u","*+ou","*+oo","*+o","*+ii",

"*+i","*+eu","*+ee","*+e","*+au","*+aa","*+a"

QS ’L_sylab_maker1’ "l-*","r-*","uu-*","u-*","ou-*","oo-*","o-*","ii-*",

"i-*","eu-*","ee-*","e-*","au-*","aa-*","a-*"

QS ’R_fr_bk_vowel2’ "*+e","*+i"

QS ’L_similar1’ "j-*","i-*"

58

Page 72: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

...atd...

c[3]

0 ’L_similar2’ -1 -5

-1 ’L_fr_bk_vowel19’ -3 -2

-2 ’R_sylab_maker1’ "c3_4" "c3_5"

-3 ’L_sylab_maker1’ -4 "c3_3"

-4 ’R_fr_bk_vowel2’ "c3_1" "c3_2"

-5 ’L_similar1’ "c3_6" "c3_7"

...atd...

Obr. 5.1 pak ukazuje jeho podobu. Nıze je uveden prıklad konfiguracnıho souboru pronastroj HHEd, kde soubor trees predstavuje rozhodovacı stromy pro vsechny stavy, soubortr2.mod pozadovany seznam trifonu a soubor tie pak vystupnı seznam trifonu s definicemilogickych HMM.

"LT data/trees"

"AU tr2.mod"

"CO tie"

5.5 Rozpoznavanı

HVite - dekoder na bazi Viterbiho algoritmu. Umoznuje rozpoznavanı pomocı zadanesıte na urovni slov (soubor wdn), slovnıku (soubor dict) a seznamu HMM (hmmList).Pouzitı:

HHEd [univ. volby] fn.hed hmmList

Seznam univerzalnıch voleb:

59

Page 73: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

-S fn soubor fn predstavuje seznam cest souboru s prıznaky-H fn cesta k definicnımu souboru fn (hmmdefs) HMM-w fn soubor fn predstavuje sıt’ na urovni slov (wdn)-s i nastavenı nasobenı vah sıte wdn na hodnotu i, standardne nastaveno 1-t f [i l] pasove prorezavanı na prah f. V prıpade modu zarovnavanı a zadanı

koeficientu i a l je pri neuspesnem zarovnanı prah zvetsen o hodnotu i aproces se opakuje do uspesneho zarovnanı, nebo dosazenı hodnoty prahul

-r f nastavenı nasobitele pravdepodobnosti alternativnı vyslovnosti na f(slovnık obsahuje pro jedno slovo vıce fon. prepisu), standardne 1

-p f nastavenı log. pravdepodobnosti vlozenı slova na f, standardne 0-v f povolenı prorezavanı na koncıch slov a nastavenı prahu f-a mod zarovnavanı - vstupnı promluvy jsou znamy (mlf soubor, parametr

-I), program tak navratı casove useky jednotlivych fonemu (mlf soubordefinovany parametrem -i)

-I fn fn definuje vstupnı mlf soubor pro mod zarovnavanı-i fn fn definuje vystupnı mlf soubor pro mod zarovnavanı-b silence pouzitı slova silence jako hranice vet v modu zarovnavanı

prıklad wdn:

VERSION=1.0

N=7 L=7

I=0 W=!NULL

I=1 W=!NULL

I=2 W=silence

I=3 W=ano

I=4 W=!NULL

I=5 W=ne

I=6 W=silence

J=0 S=6 E=1

J=1 S=0 E=2

J=2 S=2 E=3

J=3 S=3 E=4

J=4 S=5 E=4

J=5 S=2 E=5

J=6 S=4 E=6

prıklad dict:

silence [] sil

ano a n o sp

ctyri cc t i rr i sp

devet d e v j e t sp

dva d v a sp

dve d v j e sp

jedna j e d n a sp

ne n e sp

nula n u l a sp

osm o s m sp

pet p j e t sp

sedm s e d m sp

sest ss e s t sp

tri t rh i sp

!NULL silence2

ano3

ne

5!FINAL!NULL

0

0silence

6 1

Obrazek 5.2: Prıklad realizace rozp. sıte ano-ne souborem wdn

60

Page 74: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

HResult - nastroj pro porovnavanı mlf souboru - nejcasteji zakladnıho (znameho) a vys-tupnıho (obdrzeneho z rozpoznavace) - rec.mlf. Pouzitı:

HResult [univ. volby] hmmList rec.mlf

Seznam univerzalnıch voleb:

-I fn fn definuje vstupnı mlf soubor-t do vypisu prida i srovnanı nespravne rozpoznanych vet

Zakladnı format vypisu vypada nasledovne

------------------------ Overall Results --------------------------

SENT: %Correct=89.03 [H=138, S=17, N=155]

WORD: %Corr=97.83, Acc=97.60 [H=856, D=7, S=12, I=2, N=875]

===================================================================

kde H znamena pocet spravnych, N pocet celkovych, D pocet ztracenych, S pocetnahrazenych a I pocet pridanych polozek v rozpoznanem mlf souboru. Uspesnost je vy-pocıtana jako

Corr =H

N× 100% (5.5)

a presnost

Acc =H − IN

× 100% . (5.6)

61

Page 75: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 6

AT&T nastroje

Podobne jako v kapitole 5 zde bude uveden pouze nejcasteji pouzıvany vycet nastrojus jejich volitelnymi parametry pri konstrukcıch rozpoznavacu.

6.1 knihovna DCD

6.1.1 Stavba RN

dmake - nastroj pro stavbu optimalizovane rozpoznavacı sıte z jednotlivych komponentpomocı jejich optimalizace a postupne kompozice zprava doleva, tak jak je zadano v jehoparametrech. Vlastnosti jednotlivych komponent je dobre blıze specifikovat (parametry --a, -b, -n pred nazvem souboru reprezentujıcı komponentu pomocı FSM - viz nıze). Pouzitı:

dmake [-a fsm | -b fsm | -n fsm | -f file | -c c | -l l | -mv? ]

Pouzity nasledujıcı parametry:

-a fn oznacuje soubor fn za acyklicky prekladovy automat. Ten je pred vlastnıkompozicı dan programem do jednoznacne podoby a uzavren. Prıklademje reprezentace slovnıku a casove casti HMM modelu. Vystupnı symbolya vahy by mely byt co nejvıce stlaceny k pocatecnımu stavu.

-b fn oznacuje soubor fn za bi-determinizovatelny prekladovy automat, t.j. lzedeterminizovat automat samotny i jeho inverznı variantu. Prıkladem jereprezentace jazykoveho modelu a FST kontextove zavislosti.

-n fn oznacuje soubor fn za blıze nespecifikovany. Muze tak byt oznacenalibovolna komponenta v prıpade neuspesnosti zadanı vyse zmınenychtypu.

-m minimalizuje1 vsechny vstupnı casti i zkomponovany vysledny automat.-v verbose vystup na stderr.

62

Page 76: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Nasledujıcı prıklad demonstruje zkomponovanı rozpoznavacı sıte z WFST casovecasti HMM hmm.fst, FST kontextove zavislosti cntx.fst, WFST slovnıku lex.fst a WFSAjazykoveho modelu gram.fst. ,

dmake -mv -a hmm.fst -b cntx.fst -a lex.fst -b gram.fsa >hclg.fst

6.1.2 Prıprava modelu

amcompile - nastroj pro konverzi textove reprezentace HMM modelu definovanych v tex-tovem AT&T DCD (obdrzenych napr. programem rct - viz kap. 7.7) na binarnı format pronastroj drecog. Format AT&T DCD akustickych modelu je podrobneji popsanem v kapitole7.7. Pouzitı:

amcompile hmmset.am

kde soubor hmmset.am obsahuje seznam jednotlivych urovnı HMM modelu tak jak jepopsano v kap. 7.7. Binarnı reprezentace se pak nachazı na stdout.

6.1.3 Rozpoznavanı

drecog - nastroj pro rozpoznavanı na zaklade zadane RN (hclg.fst), akustickych modelu(model.am) a seznamu cest vstupnıch promluv (fea.scp). Pouzitı pro rozpoznavanı:

drecog [univ. parametry] drecog.conf fea.scp

kde drecog.conf je konfiguracnı soubor jehoz prıklad je uveden nıze.

# komentare lze psat pouze na novy radek, nikoliv jak je uvedeno nasledovne

# vyzadovane parametry:

fsms data/hclg.fst #cesta k~rozpoznavacı sıti, nepovinne pro zarov.

model data/model.am #cesta k~binarnı reprezentaci AT&T DCD HMM

beam 20 #hodnota pasoveho prorezavanı

dur_mult 1 #nasobitel koef. setrvanı ve stavu

gram_mult 1 #nasobitel jazykoveho modelu

self_loop false #false - smycky rozvinuty v~zadane RN

model_level state #state - uroven stavu HMM, model - uroven HMM

#volitelne parametry

final_state_mode prefer #ignore|prefer (def.)|require

arcs_max 10000 #max. pocet hypotez na segment (default: INT_MAX)

response_type onebest #onebest (def.),lattice - vyst. mrızka hyp. prom.

suppress_labels int1 int2 #konverze vyst symbolu na <eps> - (sil)

63

Page 77: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

kde dur mult a gram mult jsou pri vypoctu celkove vahy total svazany dle

total =ac

gram mult+ dc

dur mult

gram mult+ gc , (6.1)

kde ac jsou vahy akustickych modelu, dc vahy koeficientu setrvanı ve stavu jsou-li pouzity(jinak 0) a gc vahy jazykoveho modelu.Pro zarovnavanı, resp. ”podrobne” rozpoznavanı je nutne specifikovat souborem fsmlistbud’ seznam cest k automatum, nebo far archiv reprezentujıcı jednotlive RN (v nejjedno-dussım prıpade RN reprezentujıcı jedinou moznou vetu - prıpad zarovnavanı). Pouzitı:

drecog [univ. parametry] drecog.conf fsmlist fea.scp

Pouzity nasledujıcı parametry:

-i str zadanı formatu vstupnıch promluv, kde str muze byt bud’ ”raw” - pouzedata bez hlavicky, ”blasr”, ci ”ssw” (default), pricemz poslednı dva uve-dene formaty nejsou obecne znamy.

-X nastavenı big-endian pro vstupnı promluvy pri pouzitı parametru -i raw-v verbose vystup - vypisujı se na stderr nasledujıcı informace: utt: - poradı

promluvy, recog: 1 = rozpoznavanı probehlo uspesne (0 napr pri prazd-nem vstupu), final: 1 = pri rozpoznavanı bylo dosazeno koncoveho stavu,nframes: - pocet vektoru prıznaku v promluve, nres: - pocet vystupnıchFSM na promluvu, nres: - prumerny pocet aktivnıch prechodu (hypotez)na jeden segment, time:.- doba rozpoznavanı dane promluvy [sec].

6.2 grmtools

6.2.1 Vytvorenı statistickeho jazykoveho modelu

grmcount - nastroj pro vytvorenı cıtacıho FSM, pro pozdejsı modelovanı gramatikynastrojem grmmake. Nastroj pocıta vyskyt vsech moznych cest vsech automatu uvedenemve far archivu (stdin) - zıskaneho napr. z textu nastrojem farcompilestrings. Vystupem jetzv. cıtacı fsm. Napr. z nasledujıcıho textu (prevedenych do tvaru konecnych automatunastrojem farcompilestrings) - soubor grmdes.txt vznikne pro bigramovou verzi automatna obr. 6.1

byl by to mel

mel by to

mel by to zkusit

mel to zkusit

64

Page 78: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Prıklad pouzitı:

farcompilestrings grmdes.txt -i grmdes.lab|\

grmcount -n2 -s"<st>" -f"<en>" -i grmdes.lab>cnt.fsm

grmdes.lab je soubor symbolu pro far-archiv. Vysledny automat cnt.fsm je zobrazen naobr. 6.1. Pouzity nasledujıcı parametry:

0/0

2/0

<st>/4

3/0

byl/1

4/0by/3

5/0to/4

6/0

měl/4

1/0

<en>/4

7/0

zkusit/2

byl/1

měl/3

by/1

to/3

měl/1

<en>/1

zkusit/2

<en>/1

by/2

to/1

<en>/2

Obrazek 6.1: Prıklad cıtacıho automatu

-n n cıtanı pro n-gram radu n.-s i ”s” specifikace symbolu zacatku vety (nevyskytujı se ve vstupnım textu).

Mozne bud’ indexem symbolu i, nebo symbolem samotnym ”s” - v tomprıpade nutne specifikovat soubor symbolu parametrem -i

-f i ”s” specifikace symbolu konce vety, platı stejne podmınky jako pro parametr-s.

-i fn specifikace souboru symbolu fn

grmmake - nastroj vytvorı jazykovy model stdout dle cıtacıho FSM stdin. Implicitnımetoda vyhlazovanı je Katzuv model (viz kapitola 1.5.2). Je mozne pouzıt i model s ab-solutnım diskontem (viz kapitola 1.5.2), nebo vyhlazovanı vypnout [Allb]. Prıklad z obr.6.1 je na obr. 6.2.

65

Page 79: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

0/0

1

<en>/0.005

7<eps>/5.046

<en>/1.504

zkusit/2.1972

měl/1.504

4

by/1.791

3to/1.504

5byl/2.890

<en>/1.396

<eps>/3.947

by/0.698

to/1.396

<eps>/5.451

to/0.003<en>/1.396

zkusit/0.698

<eps>/4.080měl/1.396

<eps>/4.421 by/0.010

6

<eps>/4.971

měl/0.291

byl/1.396

Obrazek 6.2: Prıklad automatu reprezentujıcıho jazykovy model

66

Page 80: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 7

Uvod do programu rct

Program rct - Recognition Cascade Tool byl prubezne vyvıjen po celou dobu dok-torandskeho studia. V soucasnosti program rct umoznuje upravu mlf souboru, pracis databazı KARLIK, prevody symbolu z formatu AT&T na HTK, prevody jazykovychmodelu HTK lattice na AT&T fsm, stavbu slovnıkoveho FST, stavbu FST kontextovezavislosti, stavbu HMM WFST, stavbu WFSA reprezentujıcı pravdepodobnosti modelupro vstupnı prıznaky, upravy vstupnıch prıznaku, konverzi HTK HMM modelu na AT&TDCD format, upravu vystupu rozpoznavace AT&T DCD nastroju pro HTK nastroj HRe-sult a vlastnı rozpoznavanı.

7.1 Univerzalnı parametry

Univerzalnı parametry jsou v prıkazove radce uvadeny vzdy jako prvnı. Jejich seznamje nasledujıcı.

-t nastavenı textove reprezentace pro zpracovanı FSM, standardne nas-tavena binarnı reprezentace

-d dir nastavenı cesty (dir) k HTK definicnım souborum HMM, kde by se melynachazet soubory macros, hmmdefs a tiedlist

-b moznost vynechanı zpetneho prechodu v modelu ticha (sil), standardnemodel ticha vytvaren vcetne zpetneho prechodu

-s file v souboru file jsou ulozeny po radkach cesty jednotlivych souboru (ne-jcasteji recovych promluv) urcenych ke zpracovanı

-p int klestenı pri rozpoznavanı. pocet aktivnıch hypotez na segment nastavenna int. Pouze pro parametr -V

-a float multiplikacnı koeficient jazykoveho modelu. Pri rozpoznavanı udavacıslo, kterym se vynasobı vstupnı rozpoznavacı sıt’. Pouze pro parametr-V

67

Page 81: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

7.2 Zpracovanı mlf-souboru

Pro vlastnı rozpoznavanı AT&T nastroji, prıpadne modifikaci vstupnıho textu nauroven slabik, ci morfemu byly navrzeny nasledujıcı funkce. Nutno poznamenat, ze ve vsechnasledne uvedenych prıpadech se predpoklada vstupnı mlf soubor na stdin a vystupnı mlfsoubor pak na stdout.

-Gm-Gms

serazenı jednotlivych polozek mlf souboru do radku, kazda promluvatak predstavuje jeden radek. Pouzito zejmena pro naslednou aplikacinastroje farcompilestrings.

-Ym prevod mlf souboru na slabikovou verzi. Slova jsou rozdelena algoritmemPUML [La05], ktery rozdelı slovo na skupiny souhlasek a samohlasek,slabiku pak vyhodnocuje jako skupinu samohlasek ke ktere je pridanpravy kontext skupiny souhlasek delky n+ 1, resp. n pro celkovy pocetsouhlasek 2n + 1, resp. 2n ve skupine predstavujıcı pravy kontext alevy kontext delky n ze skupiny souhlasek 2n + 1, ci 2n ve skupinepredstavujıcı levy kontext.

-GkMm f rozdelenı mlf souboru na morfemy, ktere zatım predstavujı rozdelenıslov na zakladnı casti (predpona+koren) a prıpony. Rozdelenı je prove-deno na zaklade souboru morfologickeho popisu (soubor f ), ktery bymel obsahovat vsechny koncovky (vzory) pro vsechna pouzita slova - vizkapitola 9.

Na nasledujıcım prıklade je demonstrovano pouzitı techto funkcı.

vstupnı mlf soubor:

#!MLF!#

"*/mb73bc103003.lab"

protestnı

jızda

sanit

.

uprava pomocı -Ym:

#!MLF!#

"*/mb73bc103003.lab"

pro

tes

tnı

<sp>

jız

da

<sp>

sa

nit

<sp>

.

uprava pomocı -GkMm:

#!MLF!#

"*/mb73bc103003.lab"

protestnı

<sp>

jızd

a

<sp>

sanit

<sp>

.

uprava pomocı -Gm:

protestnı jızda sanit

uprava pomocı -Gms:

<sil> protestnı jızda sanit <sil>

68

Page 82: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

7.3 Uprava souboru symbolu

V teto kategorii byl vytvoren algoritmus pro prevod kodovanı fonemu z jednoznakoveabecedy na vıceznakovou a algoritmus pro redukci souboru symbolu na symboly, kterejsou obsazeny v zadanem automatu.

-cc pro zpracovanı pouzit standardnı vstup/vystup-R f.sym na stdout ponecha ze souboru f.sym pouze symboly, ktere jsou obsazeny

v automatu na stdin. Standardne je pro FSM nastaven binarnı vstup,volba -t pred hlavnım parametrem nastavı textovy vstup.

prıklad souboru symbolu pro FSTkontextove zavislosti:

<eps> 0

<sil> 1

<sp> 2

a/<eps>_<eps> 3

a/<eps>_s 4

a/H_t’ 5

b/a_e 6

l/z_y 7

uprava pomocı -cc:

<eps> 0

sil 1

sp 2

a 3

a+ss 4

ch-a+tt 5

a-b+e 6

z-l+ii 7

7.4 Preindexovanı vstupnıch symbolu v automatu

Tato operace se tyka hlavne zpracovanı trifonu. Vytvorıme-li programem rct FSTkontextove zavislosti C, obdrzıme soubor obsahujıcı n3 symbolu, kde n je pocet fonemu.Je mozne pouzıt pouze redukci a pridelit nove indexy pouhym cıtanım. Myslenka je za-lozena na moznosti disponovat stejnymi indexy jednotlivych HMM tak jak je tomu v HTKknihovnach.

-r fn1 fn2 ke vsem vstupnım symbolum v souboru fn1 je nalezen index (nutnodefinovat cestu k definicnım souborum HMM univerzalnım parametrem-d) HMM a vstupnı symboly s novymi indexy jsou zapsany do souborufn2. Pak je nacten automat ze stdin, stare indexy vstupnıch symbolujsou nahrazeny novymi a takto upraveny automat je odeslan na stdout.

7.5 Zpracovanı vystupu

Vystupem rozpoznavace v AT&T DCD nastrojıch je posloupnost slov realizovanamnozinou FSA - souborem far. Chceme-li pouzıt HTK nastroj HResult ktery vypocıta

69

Page 83: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

vlastnı uspesnost rozpoznavanı, potrebujeme obdrzet mlf soubor reprezentujıcı vystupnıpromluvy. K tomu slouzı nasledujıcı parametr.

-M g.s scp na stdin je far soubor obdrzeny z AT&T rozpoznavace drecog, g.s jepopisovacı soubor symbolu gramatiky a scp je soubor, obsahujıcı poradcıch seznam cest k jednotlivym prıznakum, reprezentujıcı promluvy.Na stdout se pak nachazı pozadovany mlf soubor.

7.6 Zpracovanı prıznaku

Pro rozpoznavanı nastrojem AT&T drecog jsou jednım z moznych formatu hola datareprezentujıcı vlastnı prıznaky1 typu float (32 bitu). Dalsı moznostı upravy kepstralnıchprıznaku je jejich normalizace na celkovy prumer dat, na kterych se trenovaly HMM mo-dely. V praxi to znamena vypocet prumeru vsech segmentu vsech dat trenovacı mnoziny TRa testovacı mnoziny TS (napr. pomocı HTK nastroje HCompV). Vlastnı normalizaci pakprovedeme prictenım rozdılu vektoru TR−TS ke vsem segmentum reprezentujıcı kepstralnırovinu testovacıch dat. Predstavuje to zpusob jak obejıt moznost rozdılnych mikrofonu, ciakustickych kanalu v pri porizovanı trenovacıch a testovacıch dat.

-E nutno pouzıvat ve spojenı s univerzalnım parametrem -s. Odrızne 12 bitupredstavujıcıch hlavicku jednotlivych HTK souboru prıznaku uvedenychv souboru jejich seznamu za parametrem -s a vysledne soubory ulozına stejne mısto s rozdılnou prıponou .fea. Seznam cest k temto novymsouborum je na stdout

-U a s nutno pouzıvat ve spojenı s univerzalnım parametrem -s. Upravı vsechnyprıznaky jednotlivych HTK souboru prıznaku uvedenych za parametrem-s tak, ze k nim pricte rozdıl TR − TS , kde a predstavuje definicnı sou-bor prumeru trenovacı mnoziny dat TR a kde b predstavuje definicnısoubor prumeru testovacı mnoziny dat TS . Seznam cest k temto novymsouborum je na stdout

prıklad souboru a, resp. b :

<CEPSNORM> <MFCC_E_D_A>

<MEAN> 39

-2.382369e+00 -2.991617e+00 -1.603375e+00 2.098884e+00 -6.115943e+00 ...

7.7 Konverze HTK HMM modelu na AT&T DCD format

Dalsı nutnostı pro rozpoznavanı nastrojem AT&T drecog je dany format modelu. Tenje reprezentovan souborem splt.am, ktery se odkazuje na jednotlive hierarchicke urovne

1v teto praci kepstralnı koeficienty + energie, jejich delta a akceleracnı koef. - celkem 39 na segment

70

Page 84: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Markovovych modelu. Pro tuto konverzi bylo s vyhodou pouzito otevrenych HTK knihovenumoznujıcıch nacıtanı a zpracovanı HTK HMM definicnıch souboru.

-C fn vytvorı soubor splt.am spolu s definicnımi soubory Markovovych mo-delu v nem uvedenych. Indexovanı jednotlivych HMM, resp. jejichstavu je provadeno na zaklade souboru fn. Ten muze byt zadan vesmyslu symbolu pro jednotlive HMM2 (koeficienty setrvanı ve stavujsou napocıtavany pouze v tomto prıpade), nebo ve smyslu symbolustavu. Podmınkou spravne funkce je umıstenı symbolu pro modely tichaa pauzy tak jak je zobrazeno na nasledujıcım prıklade.

-Ct fn vytvoreno pro prevod HMM se shlukovanymi stavy. fn zde musı bytsoubor symbolu reprezentujıcı jmena HMM. Indexy stavu jednotlivychHMM (tedy i soubor fn) je vsak potreba vytvorit pomocı parametru -rkvuli nutne shode s indexovanım modelu uvnitr HTK knihoven.

Nasledujıcı prıklad zobrazuje pouzitı parametru -C pro ctyri modely. L.sym pred-stavuje soubor symbolu reprezentujıcı jmena Markovovych modelu a H.sym pak jejichstavy. splt.am je vystupem tohoto algoritmu. Radek odkazujıcı na definicnı soubor ko-eficientu setrvanı ve stavu je vytvoren pouze je-li specifikovan vstupnı soubor symbolureprezentujıcı HMM. Soubor splt.hmm reprezentuje po radcıch jednotlive HMM, kde prvnıcıslo znamena index HMM, druhe pocet vyskytu (nenı podstatne) a dalsı pak indexy najednotlive emitujıcı stavy. Obrazek 7.1 zobrazuje navaznost jednotlivych souboru.

st

pdf

dur

mean

var

Obrazek 7.1: Struktura modelu DCD knihovny

71

Page 85: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

L.sym:

<eps> 0

<sil> 1

<sp> 2

a 3

o~4

H.sym:

<eps> 0

<sil>#0 1

<sil>#1 2

<sil>#2 3

<sp>#1 4

a#0 5

a#1 6

a#2 7

o#0 8

o#1 9

o#2 10

vystupnı soubor splt.am:

hmms splt.hmm

states splt.st

pdfs splt.pdf

means splt.mean

variances splt.var

state_durations splt.dur

splt.hmm:

1 1 1 2 3

2 1 4

3 1 5 6 7

4 1 8 9 10

Soubor splt.st reprezentuje po radkach emitujıcı stavy HMM, kde prvnı sloupec znamenaindex stavu, druhy pocet vyskytu (-1 znamena nepouzito) a dale pak po sobe nasle-dujı indexy jednotlivych mixtur a jejich vahy. Akusticke modely v AT&T DCD formatunezahrnujı pravdepodobnostnı matici prechodu. Da se vsak nahradit distribucnı funkcısetrvanı ve stavu. Jestlize pravdepodobnost prechodu do stejneho stavu je v HTK aii, po-tom pravdepodobnost, ze HMM setrva di segmentu ve stejnem stavu je dana geometrickoudistribucnı funkcı

pi(di) =

(1− aii)adi−1ii di ≥ 1

0 di ≤ 0. (7.1)

Strednı hodnota je spocıtana jako

di =1

1− aii, (7.2)

a rozptyl potom

σdi =12di

2 =1

2(1− aii)2. (7.3)

Takto jsou spocıtany jednotlive hodnoty souboru splt.dur, ktery reprezentuje pro kazdystav strednı hodnotu a rozptyl. Soubor splt.pdf zahrnuje indexy strednıch hodnot a rozptylu(diagonaly kovariancnıch matic vıcerozmerneho normalnıho rozdelenı), a hodnotu baze (0znamena baze nepouzita).

72

Page 86: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

splt.dur:

1 -1 7.80e+00 3.04e+01

2 -1 3.64e+01 6.62e+02

3 -1 2.06e+01 2.13e+02

4 -1 1.95e+01 1.90e+02

atd ..

10 -1 2.77e+00 3.83e+00

splt.st - prvnı 2 mixture:

1 -1 193 0.100469 194 0.045112 ...

2 -1 225 0.129627 226 0.020172 ...

3 -1 257 0.122439 258 0.024472 ...

4 -1 225 0.129627 226 0.020172 ...

atd. ...

10 -1 161 0.00000 162 0.087337 ...

splt.pdf:

1 1 1 0

2 2 2 0

3 3 3 0

4 4 4 0

atd. ...

288 288 288 0

Soubory splt.mean a splt.var reprezentujı strednı hodnoty a rozptyly (diagonaly kovari-ancnıch matic vıcerozmerneho normalnıho rozdelenı). Format je shodny s drıve uvadenymiformaty.

splt.mean - prvnı 2 prıznaky:

1 -1 0.000000e+00 0.000000e+00 ...

2 -1 5.427643e+00 -6.866843e+00 ...

3 -1 5.064353e+00 -2.239911e+00 ...

atd. ...

288 -1 -9.095788e+00 -1.425313e+00 ...

splt.var - prvnı 2 prıznaky:

1 -1 1.000000e+00 1.000000e+00 ...

2 -1 7.478480e+00 2.573437e+01 ...

3 -1 1.128059e+01 2.815436e+01 ...

atd. ...

288 -1 8.665616e+00 8.845456e+00 ...

7.8 Rozpoznavanı programem rct

Soucasny stav algoritmu pro rozpoznavanı programu rct je mozne posoudit z vysledkuv sekci 10. Algoritmus zalozeny na bazi Viterbiho algoritmu pouzıva vsechny druhyprorezavanı uvedenych v kap. 1.8.1, pricemz volitelne nastavit lze pouze prorezavanı typubeam. Algoritmus pouzıva HTK knihovny, a tak je nutne specifikovat cestu k HTK HMMdefinicnım souborum. Vstupem je rozpoznavacı sıt’ H LG, resp. H C LG, definicnısoubor symbolu a dana promluva, resp. soubor se seznamem cest k danym promluvam.Vystupem pak mlf soubor.

73

Page 87: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

-V f1 [f2] rozpoznanı vstupnı promluvy (uvedene za univ. parametrem -o), resp.promluv (seznam za univ. parametrem -s) pomocı rozpoznavacı sıte(stdin) a seznamu vstupnıch symbolu teto sıte f1. Ten je automatickyrozpoznan (na zaklade vyskytu znaku # a ve druhem radku tohotosouboru symbolu) zda se jedna nazvy shlukovanych stavu, ci nikoliv.Vystupem je standardne rozpoznana posloupnost slov (stdout) reprezen-tovana pomocı FSA, resp. zretezene posl. slov (far archıv), pokud je vstu-pem jedina promluva (volba -o), resp. seznam cest na vstupnı promluvy(volba -s). Vystup muze byt i rovnou v HTK mlf formatu, pokud jespecifikovan seznam symbolu slov f2. Implicitnı hodnota pro nasobenıvah (univ. parametr -a) je 1 a pro prorezavanı typu beam 100. Nutnostıje parametr -d, kterym specifikujeme cestu k HTK HMM definicnımsouborum.

74

Page 88: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 8

Generovanı jednotlivych castı

rozpoznavacı sıte

8.1 Jazykovy model

Na uvod je dobre poznamenat, ze vycerpavajıcı moznosti generovanı jazykovych mo-delu podava set AT&T nastroju grmtools. Program rct tak obsahuje algoritmy generovanıFSA, resp. WFSA, reprezentujıcı jazykovy model pouze na zaklade HTK lattice souboru.

-gl fn prevod bezvahoveho HTK lattice (stdin) na FSA (stdout) a vygenero-vanı souboru symbolu fn. Vytvoreno zejmena pro prevod vystupu HTKnastroje HParse a moznost srovnavanı vysledku rozpoznavanı za pouzitıHTK a AT&T nastroju. Poznamenejme, ze pro spravnou funkci algo-ritmu je nutne zacınat a koncit jazykovy model symbolem ticha (“sil“).

-gh fn prevod HTK lattice ARPA formatu [You02] stdin na WFSA stdout a vy-generovanı souboru symbolu fn. V soucasnosti je funkcnı pouze reprezen-tace bigramu (navrzeno pro zpracovanı vystupu HTK nastroje HLStatss parametrem -b) a jen textovy format vystupu reprezentujıcı WFSA.

8.2 Slovnık

Zpusoby vytvorenı slovnıkoveho WFST programem rct jsou vzdy zalozene na zpra-covanı vstupnıch symbolu jazykoveho WFSA napr. G.sym, seznamu slov (wlist) a k nemuprıslusıcımu seznamu jejich jednoznakovych fonetickych prepisu (pron). Vystupem je pakreprezentace slovnıkoveho WFST a soubor symbolu jednotlivych fonemu. Prıklady potreb-nych vstupnıch souboru ukazuje nasledujıcı vypis.

75

Page 89: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

G.sym:

<eps> 0

<sil> 1

<sp> 2

tri 3

ctyri 4

pet 5

wlist:

ctyri

pet

tri

pron:

ctyry

pjet

tRy

-l f1 f2 f3 pouzije definicnı soubor symbolu gramatiky stdin, seznam slov f1 a sez-nam jejich fonetickych prepisu f2 (jejich razenı po radcıch si musı navza-jem odpovıdat) pro vytvorenı WFST reprezentujıcıho slovnık stdout aseznamu jeho symbolu f3. Prıklad pro vyse uvedene prıklady vstupnıchsouboru je na obr. 8.1 nahore.

-ls f1 f2 f3 funguje stejnym zpusobem jako parametr -l, na konec slov vsak pridavamodel kratke pauzy, viz obr. 8.1 dole.

-lL f1 f2f3

funguje obdobne jako parametr -ls, pro jednotliva slova vsak uvazuje ialternativnı vyslovnost. Data pro alternativnı vyslovnost si program rctnacıta ze souboru rctdata/paltpron.txt. Zde je dobre upozornit, ze pokudpripravujeme model gramatiky pomocı nejakeho mlf souboru, je na mıstenutnost jeho modifikace. Casto se stava, ze mlf soubor obsahuje dvatermıny znamenajıcı jedno slovo akorat s jinym fonetickym prepisem,naprıklad ctyri-styri. Zde je potreba toto odstranit, tedy pro uve-deny prıklad vyskyty slov styri nahradit slovy ctyri. To je mozneprovest pomocı parametru -m (stdin/stdout), kde se k nahrazovanı slovpouzıva soubor rctdata/altpron.txt, ktery by mel korespondovat s vyseuvedenym souborem potrebnym pro vytvorenı alternativnı vyslovnosti.Prıklad WFST vytvoreneho tımto zpusobem je na obr. 8.2.

rctdata/altpron.txt:

$b B /B/ $be

$c C /C/ $ce

ctyri ctyry styry styri

rctdata/paltpron.txt:

b@ be

c@ ce

ctyri ctyry styry styri

8.3 FST kontextove zavislosti

Pouzıvame-li trifony jako zakladnı fonetickou jednotku (HMM modely je pak reprezen-tujı), potrebujeme tento prekladovy automat ke kompozici se sıtı LG. Jak jiz bylo popsanoautomat je pomerne slozity (n2 + n + 1 stavu a n3 + 2n2 + n prechodu, kde n je pocetfonemu - 45 pro cestinu). Nicmene po jeho kompozici CLG = C LG ma automat CLGsrovnatelnou slozitost jako puvodnı LG.

76

Page 90: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

l

0

1<sil>:<sil>

2č:čtyř i

7p:pět

11

t:tř i

3t:<eps>

8j:<eps>

12Ř:<eps>

4y:<eps> 5ř :<eps> 6y:<eps>

9e:<eps> 10t:<eps>

13y:<eps>

ls

0

1<sil>:<sil>

2č:čtyř i

8p:pět

13

t:tř i

3t:<eps>

9j:<eps>

14Ř:<eps>

4y:<eps> 5ř :<eps> 6y:<eps> 7<sp>:<eps>

10e:<eps> 11t:<eps> 12<sp>:<eps>

15y:<eps>

16<sp>:<eps>

Obrazek 8.1: Prıklad vytvorenı WFST slovnıku pomocı parametru -l a -ls

0

1<sil>:<sil>

2<eps>:čtyř i

27p:pět

32

t:tř i

3č:<eps>

9č:<eps>

15š:<eps>

21š:<eps>

28j:<eps>

33Ř:<eps>

4t:<eps>

10t:<eps>

16t:<eps>

22t:<eps>

5y:<eps> 6ř :<eps> 7y:<eps> 8<sp>:<eps>

11y:<eps> 12r:<eps> 13y:<eps> 14<sp>:<eps>

17y:<eps> 18r:<eps>19

y:<eps>20<sp>:<eps>

23y:<eps> 24ř :<eps>25

y:<eps>26

<sp>:<eps>

29e:<eps> 30t:<eps>31

<sp>:<eps>

34y:<eps>

35<sp>:<eps>

Obrazek 8.2: Prıklad vytvorenı WFST slovnıku s alternativnımi vyslovnostmi pomocıparametru -lL

-x fn vstupem (stdin) je soubor symbolu slovnıku (fonemy), vystupem pakuplny soubor symbolu trifonu poctu (n + 1)3 (n je pocet fonemu) fna vystupnı FSA (stdout) v textovem formatu. Pro spravnou funkci jepotreba ve vystupnım automatu zamenit vstupnı symboly s vystupnımi(AT&T operace fsminvert).

-xd fn vytvorı se FST kontextove zavislosti pro difony, jinak totez jako pred-chozı parametr.

8.4 WFST reprezentujıcı Markovovy modely

Pripomenme, ze Markovovy modely se zahrnujı dve casti. Prvnı je stavovy automats definovanymi pravdepodobnostmi prechodu reprezentujıcı casove vlastnosti elemen-tarnıch useku reci, druhou pak definice vıcerozmernych normalnıch rozdelenı, resp. jejich

77

Page 91: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

hustotnıch funkcı reprezentujıcı spektralnı vlastnosti elementarnıch useku reci. Konecnymautomatem bez znalosti vstupnı promluvy je mozne reprezentovat pouze prvnı cast.

-Hw fn vstupem (stdin) je soubor symbolu FST kontextove zavislosti (trifony),resp. slovnıku (fonemy), vystupem pak uplny soubor vstupnıch symboluMarkovovych modelu (generovan jmenem fonemu a naslednym pridanımindexu stavu) (fn - soubor Hw.sym na nasledujıcım prıklade) a WFST(stdout), kde vahy znamenajı zaporne prirozene logaritmy pravdepodob-nostı prechodu jednotlivych HMM aij . Nutnostı je pouzıt univerzalnıparametr -d hmm, kde hmm je cesta k definicnım souborum HTK HMM.

-Ht fn rozdıl teto volby oproti parametru -Hw spocıva v predpokladanemshlukovanı vsech stavu v zadanych definicnıch souborech pro HMM(volba -d). Nazvy symbolu a jejich indexy (soubor H.sym na nasledu-jıcım prıklade) tak prımo odpovıdajı nazvum a indexum definovanychpro shlukovane stavy HTK HMM definicnımi soubory a HTK knihov-nami. Prıklad sestavenı touto cestou pomocı souboru symbolu uve-deneho v nasledujıcıch prıkladech pro 5 modelu C.sym je na obr. 8.3

.

C.sym:

<eps> 0

<sil> 1

<sp> 2

k/a_c 3

n/b_O 4

p/s_a 5

Hw.sym:

<eps> 0

<sil>#0 1

<sil>#1 2

<sil>#2 3

<sp>#1 4

k/a_c#0 5

k/a_c#1 6

k/a_c#2 7

n/b_O#0 8

n/b_O#1 9

n/b_O#2 10

p/s_a#0 11

p/s_a#1 12

p/s_a#2 13

H.sym:

<eps> 0

n2_8 133

k2_8 158

p4_7 376

p3_3 666

n4_6 803

k4_4 815

p2_7 936

k3_3 1088

sill 1204

silr 1205

8.5 Vytvorenı WSFA reprezentujıcıho pravdepodobnosti stavu

promluvy

Tato procedura je nutna pouze v prıpade, ze rozpoznavame pomocı AT&T nastrojefsmcompose. Jedna se v podstate o napocıtanı pravdepodobnostı vsech modelu pro vsechny

78

Page 92: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

0

1<eps>:<sil>/0

5<eps>:<sp>/0

7<eps>:k/a_c/0

11

<eps>:n/b_O/0

15

<eps>:p/š_a/0

sill:<eps>/0.1853

sill:<eps>/2.424

2sill:<eps>/2.520

silst:<eps>/0.185

6/0silst:<eps>/2.520

k2_8:<eps>/0.531

8k2_8:<eps>/0.886

n2_8:<eps>/0.656

12n2_8:<eps>/0.731

p2_7:<eps>/0.501

16p2_7:<eps>/0.931

silst:<eps>/3.285

silr:<eps>/0.077

4/0silr:<eps>/3.284silst:<eps>/2.929

silst:<eps>/0.054

k3_3:<eps>/0.980

9k3_3:<eps>/0.469

k4_4:<eps>/0.695

10/0k4_4:<eps>/0.691

n3_5:<eps>/0.750

13n3_5:<eps>/0.638

n4_6:<eps>/1.082

14/0n4_6:<eps>/0.413

p3_3:<eps>/0.907

17p3_3:<eps>/0.516

p4_7:<eps>/1.194

18/0p4_7:<eps>/0.360

Obrazek 8.3: Prıklad vytvorenı HMM WFST pro shlukovane stavy

segmenty, ktere jsou pak reprezentovany jednotlivymi vahami. Potrebny WFSA tak ob-sahuje T + 1 stavu a n∗T prechodu, kde T je pocet segmentu vstupnı promluvy a n pocetHMM modelu reprezentujıcıch fonemy.

-O fn vytvorı WFSA (stdout) na zaklade souboru vstupnıch symbolu HMMWFSTfn, HTK definicnıch souboru HMM definovanych podle cesty zauniv. parametrem -d a souboru promluvy HTK mfc formatu definovaneza parametrem -o. Je mozne pouzıt i univ. parametr -s ktery zpracujecely seznam mfc souboru uvedeny za tımto parametrem a vysledneWFSA v binarnım formatu se objevı zretezene (far archıv) na stdout.Prıklad pro tri segmenty je zobrazen na obr. 8.4. Poznamenejme, ze pro-ces neumoznuje zadat jako vstup symboly ve tvaru nazvu shlukovanychstavu.

79

Page 93: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

0 1

<sil>#0:1/55.07

<sil>#1:2/61.57

<sil>#2:3/54.41<sp>#1:4/78.92

k/a_c#0:5/73.02

k/a_c#1:6/78.87

2

k/a_c#0:5/75.13

k/a_c#1:6/80.43

<sil>#0:1/57.53<sil>#1:2/67.15

<sil>#2:3/60.88

<sp>#1:4/80.31

3/0

<sil>#0:1/58.52

<sil>#1:2/67.68

<sil>#2:3/60.76<sp>#1:4/79.00

k/a_c#0:5/75.03

k/a_c#1:6/80.11

Obrazek 8.4: Prıklad WFSA reprezentujıcı pravdepodobnosti stavu promluvy

80

Page 94: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 9

Zpracovanı databaze

s morfologickymi kody

9.1 Zpracovanı dat z Ceskeho narodnıho korpusu

Cesky narodnı korpus (dale jen UCNK) umoznuje zaregistrovanym uzivatelum zada-vat dotazy do zvolene databaze. Seznam dostupnych korpusu lze nalezt na [Fila]. Proexperimenty v teto praci byl vybran korpus SYN2000.

Poznamenejme, ze zde uvedene texty popisujıcı morfologicky kod z UCNK jsouprevzaty z [Kop].

9.1.1 Struktura UCNK korpusu SYN2000

Korpus SYN2000 [Filb] je oznacen jako zanrove vyvazeny korpus, kde prevazujı textyz let 1990 az 1999. Obsahuje cca 100 mil. slov, kazde slovo ma prirazeny zakladnı tvar(lemma) a morfologickou znacku (TAG). Struktura morfologicke znacky, resp. TAGu jeznazornena tabulkou 9.1, kdePOS je slovnı druh (z angl. part of speeech).

A adjektivum (prıdavne jmeno)C numeral (cıslovka, nebo cıselny vyraz s cıslicemi)D adverbium (prıslovce)I interjekce (citoslovce)

1 2 3 4 5 6 7 8 9 10 11 12 15 16POS SPO GEN NUM CAS PGE PNU PER TEN GRA NEG VOI OPT ASP

Tabulka 9.1: Struktura morfologicke znacky v UCNK korpusu

81

Page 95: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

J konjunkce (spojka)N substantivum (podstatne jmeno)P pronomen (zajmeno)R prepozice (predlozka)T partikule (castice)V verbum (sloveso)X neznamy, neurceny, neurcitelny slovnı druhZ interpunkce, hranice vety

SPO je detailnı urcenı slovnıho druhu (z angl. zkratky SUBPOS ). Detailnı slovnıdruh slouzı predevsım k urcenı dalsıch relevantnıch morfologickych kategoriı, ktere jsouuvedeny na dalsıch pozicıch (ne vzdy vsak jednoznacne). Ze znaku pouziteho pro detailnıurcenı slovnıho druhu je mozne jednoznacne vyvodit hlavnı slovnı druh (pozice 1).

! zkratka jako adverbium# hranice vety (jen u ”virtualnıho” slova ”###”)

slovo ”krat” (slovnı druh: spojka), spojka podradicı (vc. ”aby” a ”kdyby” ve vsech tvarech). zkratka jako adjektivum: interpunkce vseobecne (ne vsak ”virtualnı”slovo ### jako hranice vety); zkratka jako substantivum= cıslo psane cıslicemi (znackovano jako slovnı druh: cıslovka - ’C’)? cıslovka ”kolik”^ spojka souradicı cıslovka psana rımskymi cıslicemi

zkratka jako sloveso@ slovnı tvar, ktery nebyl morfologickou analyzou rozpoznan (znackovano

jako slovnı druh: neznamy - ’X’)0 predlozka s pripojenym ”-n” (nej), ”pron”, ”nan”, atd. (znackovano jako

slovnı druh: zajmeno - ’P’)1 vztazne privlastnovacı zajmeno ”jehoz”, ”jejız”, ...2 slovo pred pomlckou3 zkratka jako cıslovka4 vztazne nebo tazacı zajmeno s adjektivnım sklonovanım (obou typu:

”jaky”, ”ktery”, ”cı”, ...)5 zajmeno ”on” ve tvarech po predlozce (tj. ”n-”: ”nej”, ”neho”, ...)6 reflexıvnı zajmeno ”se” v dlouhych tvarech (”sebe”, ”sobe”, ”sebou”)7 reflexıvnı zajmeno ”se”, ”si” pouze v techto tvarech, a dale ”ses”, ”sis”8 privlastnovacı zajmeno ”svuj”

82

Page 96: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

9 vztazne zajmeno ”jenz”, ”jiz”, ... po predlozce (”n-”: ”nehoz”, ”nız”, ...)A adjektivum obycejneB sloveso, tvar prıtomneho nebo budoucıho casuC adjektivum, jmenny tvarD zajmeno ukazovacı (”ten”, ”onen”, ...)E vztazne zajmeno ”coz”F soucast predlozky, ktera nikdy nestojı samostatne (”nehlede”, ”vzhle-

dem”, ...)G prıdavne jmeno odvozene od slovesneho tvaru prıtomneho prechodnıkuH kratke tvary osobnıch zajmen (”me”, ”mi”, ”ti”, ”mu”, ...)I citoslovce (znackovano jako slovnı druh: citoslovce - ’I’)J vztazne zajmeno ”jenz” (”jiz”, ...), bez predlozkyK zajmeno tazacı nebo vztazne ”kdo”, vc. tvaru s ”-z” a ”-s”L zajmeno neurcite ”vsechen”, ”sam”M prıdavne jmeno odvozene od slovesneho tvaru minuleho prechodnıkuN substantivum, obycejneO samostatne stojıcı zajmena ”svuj”, ”nesvuj”, ”tentam”P osobnı zajmena (vc. tvaru ”tys”)Q zajmeno tazacı/vztazne ”co”, ”copak”, ”cozpak”R predlozka, obycejnaS zajmeno privlastnovacı ”muj”, ”tvuj”, ”jeho” (vc. pluralu)T castice (slovnı druh ’T’)U adjektivum privlastnovacı (na ”-uv” i ”-in”)V predlozka vokalizovana (”ve”, ”pode”, ”ku”, ...)W zajmena zaporna (”nic”, ”nikdo”, ”nijaky”, ”zadny”, ...)X slovnı tvar, ktery byl rozpoznan, ale znacka (ve slovnıku) chybıY zajmeno ”co” spojene s predlozkou (”oc”, ”nac”, ”zac”)Z zajmeno neurcite (”nejaky”, ”nektery”, ”cıkoli”, ”cosi”, ...)a cıslovka neurcita (”mnoho”, ”malo”, ”tolik”, ”nekolik”, ”kdovıkolik”, ...)b prıslovce (bez urcenı stupne a negace; ”pozadu”, ”naplocho”, ...)c kondicional slovesa byt (”by”, ”bych”, ”bys”, ”bychom”, ”byste”)d cıslovka druhova, adjektivnı sklonovanı (”jedny”, ”dvojı”, ”desatery”, ...)e slovesny tvar prechodnıku prıtomneho (”-e”, ”-ıc”, ”-ıce”)f slovesny tvar: infinitivg prıslovce (s urcenım stupne a negace; ”velky”, ”zajımavy”, ...)h cıslovky druhove ”jedny” a ”nejedny”i slovesny tvar rozkazovacıho zpusobuj cıslovka druhova >= 4, substantivnı postavenı (”ctvero”, ”desatero”, ...)

83

Page 97: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

k cıslovka druhova >= 4, adjektivnı postavenı, kratky tvar (”ctvery”, ...)l cıslovky zakladnı 1-4, ”pul”, ...; sto a tisıc v nesubstantivnım sklonovanım slovesny tvar prechodnıku minuleho, prıp. (zastarale) prechodnık prı-

tomny dokonavyn cıslovky zakladnı >= 5o cıslovky nasobne neurcite (”-krat”: ”mnohokrat”, ”tolikrat”, ...)p slovesne tvary minuleho aktivnıho prıcestı (vcetne pridaneho ”-s”)q archaicke slovesne tvary minuleho aktivnıho prıcestı (zakoncenı ”-t’”)r cıslovky radoves slovesne tvary pasıvnıho prıcestı (vc. pridaneho ”-s”)t archaicke slovesne tvary prıtomneho a budoucıho casu (zakoncenı ”-t’”)u cıslovka tazacı nasobna ”kolikrat”v cıslovky nasobne (”-krat”: ”petkrat”, ”poprve” ...)w cıslovky neurcite s adjektivnım sklonovanım (”nejeden”, ”tolikaty”,

”nekolikaty” ...)x zkratka, slovnı druh neurcen/neznamyy zlomky zakoncene na ”-ina” (znackovano jako slovnı druh: cıslovka - ’C’)z cıslovka tazacı radova ”kolikaty”

GEN je rod (z angl. gender)

- neurcuje seF femininum (zensky rod)H femininum nebo neutrum (tedy nikoli maskulinum)I maskulinum inanimatum (rod muzsky nezivotny)M maskulinum animatum (rod muzsky zivotny)N neutrum (strednı rod)Q femininum singularu nebo neutrum pluralu (pouze u prıcestı a jmennych

adjektiv)T masculinum inanimatum nebo femininum (jen plural u prıcestı a jmen-

nych adjektiv)X libovolny rod (F/M/I/N)Y masculinum (animatum nebo inanimatum)Z ’nikoli femininum’ (tj. M/I/N; predevsım u prıslovcı)

NUM je cıslo (z angl. number).

- neurcuje seD dual (pouze 7. pad feminin)P plural (mnozne cıslo)

84

Page 98: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

S singular (jednotne cıslo)W pouze v kombinaci s jmennym rodem ’Q’ (singular pro feminina, plural

pro neutra)X libovolne cıslo (P/S/D)

CAS je pad (z angl. case).

- neurcuje se1 nominativ (1. pad)2 genitiv (2. pad)3 dativ (3. pad)4 akuzativ (4. pad)5 vokativ (5. pad)6 lokativ (6. pad)7 instrumental (7. pad)X libovolny pad (1/2/3/4/5/6/7)

PGE je privlastnovacı rod ( z angl. zkratky POSSGENDER). Rody muzsky nezivotnya strednı se nikdy nevyskytujı samostatne.’M’ se muze vyskytnout jen u privlastnovacıchadjektiv (ne u prıslovcı).

- neurcuje seF femininum (zensky rod)M maskulinum animatum (rod muzsky zivotny)X libovolny rod (F/M/I/N)Z ’nikoli femininum’ (tj. M/I/N; u privlastnovacıch adjektiv)

PNU je privlastnovacı cıslo z angl. zkratky POSSNUMBER).

- neurcuje seP plural (mnozne cıslo)S singular (jednotne cıslo)

PER je osoba (z angl. person).

- neurcuje se1 1. osoba2 2. osoba3 3. osobaX libovolna osoba (1/2/3)

85

Page 99: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

TEN je cas (z angl. tense).

- neurcuje seF futurum (budoucı cas)H minulost nebo prıtomnost (P/R)P prezens (prıtomny cas)R minuly casX libovolny cas (F/R/P)

GRA je stupen (z angl. grade).

- neurcuje se1 1. stupen2 2. stupen3 3. stupen

NEG je negace (z angl. negation).

- neurcuje seA afirmativ (bez negativnı predpony ”ne-”)N negace (tvar s negativnı predponou ”ne-”)

VOI je aktivum / pasıvum (z angl. voice)

- neurcuje seA aktivum nebo ’nikoli pasıvum’P pasıvum

OPT je varianta, stylovy prıznak apod. (z angl. option).

- neurcuje se (”zakladnı” tvar pro kategorie v pozicıch 1-14)1 varianta, vıcemene rovnocenna (”mene casta”)2 rıdka, archaicka nebo kniznı varianta3 velmi archaicky tvar, tez hovorovy4 velmi archaicky nebo kniznı tvar, pouze spisovny (ve sve dobe)5 hovorovy tvar, ale v zasade tolerovany ve verejnych projevech6 hovorovy tvar (koncovka standardnı obecne cestiny)7 hovorovy tvar (koncovka standardnı obecne cestiny), varianta k ’6’8 zkratky9 specialnı pouzitı (tvary zajmen po predlozkach apod.)

86

Page 100: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

ASP je vid (z angl. aspect).

P perfektivum (dokonave sloveso)I imperfektivum (nedokonave sloveso)B obouvide sloveso

Protoze jedinym oficialnım moznym zpusobem prıstupu do databaze UCNK je pomocıprogramu bonito [Kop], ktery je plne graficky a neumoznuje zpracovanı dat pomocı skriptu,byl vyvinut komunikacnı modul pro program rct.

-GUn q vypıse pocet vyskytu dotazu q v UCNK syntaxe dotazu dle manualuk programu bonito [Kop].

-GUq t q vypıse vysledek dotazu q v UCNK syntaxe dotazu dle manualu k pro-gramu bonito [Kop]. Format vysledku f lze specifikovat pomocı dalsıhoretezce. Naprıklad volanı rct -GUq "word,lemma,tag" \"lesem\"vratı lesem \col0 coll\ /les/NNIS7-----A---- attr

-GUs l vypıse frekvencnı analyzu slov (vcetne morfologickych znacek) prolemma l

-GUf naplnı MYSQL databazi SYN2000 pro vsechna lemma slov na stdin-Gku vytvorı soubor morfologickeho popisu na zaklade naplnene MYSQL

databaze parametrem -GUf.

9.1.2 MYSQL Databaze pro ukladanı slov a jejich morfologickych znacek

D_Distribution

D_W_Id INT(10)

D_T_Id INT(10)

D_Lemma_W_Id INT(10)

D_NOccur INT(10)

IndexesT_Tag

T_Id INT(10)

T_Tag CHAR(16)

Indexes

W_Word

W_Id INT(10)

W_Word VARCHAR(64)

Indexes

Obrazek 9.1: Schema databaze pro ukladanı morfologickych struktur slov

Program rct je v souvislosti s korpusem SYN2000 pouzit s volbou -GUf. Pomocı te sedo MYSQL databaze (struktura viz obr. 9.1) ulozı nejen vsechna slova z nejake trenovacı

87

Page 101: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

mnoziny slov a jejich morfologicke kody, ale i slova prıbuzna (slova se spolecnym lem-matem). Databaze je pak pouzita pro vytvorenı morfologickeho analyzatoru1. Jejı hlavnıvyznam spocıva v jakesi cache, ktera zamezuje opakovanym zadostem na UCNK server.

9.2 Soubor morfologickeho popisu

V dobe vyvoje programu rct byla k dispozici databaze UJC [Te85]. Ta slouzila jakozdroj dat pro soubor morfologickeho popisu jehoz ukazka je uvedena nıze.

#NOUNS

<MODELS> 184

ukol 0 u~u~0 _ u~em y u um y _ eH y

delka ka ky ce ku ko ce kou ky ek kam ky ky kaH kami

... atd ...

<WORDS> 1320

vyvoz 110211 5 ukol

spıgl 110211 5 ukol

skodovka 110321 6 delka

... atd ...

#ADJECTIVES

<MODELS> 103

jiny y eho emu eho _ 0 em ı yH ym e 0 0 ymi

jiny y eho emu y _ em ym e yH ym e _ yH ymi

jiny a e e ou _ e ou e yH ym e _ yH ymi

jiny e eho emu e _ em ym a yH ym a _ yH ymi

prvnı 0 ho 0 ho 0 0 m 0 H 0 0 _ _ mi

prvnı 0 ho mu 0 _ m m 0 H 0 0 _ H mi

prvnı 0 0 0 0 _ 0 0 0 H 0 0 _ H mi

prvnı 0 ho mu 0 _ m m 0 H 0 0 _ H mi

... atd ...

<WORDS> 1425

nyplovy 23 222 6 jiny

nespolehlivy 23 222 11 jiny

konkurencnı 22 227 11 prvnı

... atd ...

zduraznovati uji ujes uje _ _ _ oval ujeme _ ujı ovat _ _ ovali

zduraznovati _ uj _ _ _ ovan oval _ _ _ _ _ _ _

zduraznovati _ _ _ _ _ ovana ovala _ _ _ _ _ ovany ovaly

zduraznovati _ _ _ _ _ ovano ovalo _ _ _ _ _ _ _

najıti jdu jdes jde _ _ sel sel jdeme jdete jdou jıt _ _ sli

najıti _ jdi _ _ _ _ sel _ jdete _ _ _ _ sly

najıti _ _ _ _ _ _ sla _ _ _ _ _ sly sly

najıti _ _ _ _ _ slo slo _ _ _ _ _ _ _

... atd ...

<WORDS> 549

najıti 5151 1 2 najıti

vyjıti 5131 1 2 najıti

zduraznovati 5261 1 7 zduraznovati

vyjadrovati 5241 1 6 zduraznovati

1Z duvodu casove nenarocnosti byl zvolen jazyk C# platformy .NET. Program generujıcı morfologickyanalyzator z databaze se jmenuje rctsharp.

88

Page 102: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

... atd ...

#ADVERBS

<UC_WORDS> 1996

nezbytne 66 14

zejmena 1104118 311

.. atd ...

#UC_NOUNS

<UC_WORDS> 28517

vnitro 110412 1

vnitra 110412 10

znenı 157416 1

.. atd ...

Jedna se o sekce modelu (vzoru) pro dane slovnı druhy, se seznamem vsech koncovekpro pady v jednotnem a mnoznem cısle nasledovane sekcemi, kde jsou slova modelumprirazena.S tımto souborem je mozne jak vytvaret FST reprezentujıcı morfologicky analyzator, takrozdelenı slov na morfemy, tj. koreny a prıpony.

-Gkb fn vytvorenı FST mapujıcıho slova na morfologicke kody (stdout) za pouzitısouboru vstupnıch symbolu - slov (fn ) a morfologickeho popisu prive-deneho do stdin. Prıklad jednoducheho morfologickeho analyzatoruvytvoreneho touto cestou je uveden na obr. 9.3.

-GkM fn rozdelı slova privedena na stdin na morfemy dle souboru morfologickehopopisu fn.

-GkMm f vstupem je mlf file, jinak totez jako vyse uvedena volba.

9.3 Pouzite kodovanı morfologickych znacek

Na uvod je nutne poznamenat, ze v praci jsou pouzity 2 ruzne typy kodovanı. Prvnıje popsan tabulkami 9.16 az 9.22 a v zasade s nım pracuje program rct. Morfologickekody zahrnujı pro ohebne slovnı druhy slovnı druh, cıslo, rod a pad v tomto poradı. Tzn.,ze napr. zajmeno jednotneho cısla zenskeho rodu a 4. padu by bylo kodovano symbolempro_sg_fe_n_. Pro 4 ohebne slovnı druhy, ktere cestina ma tak pripada 56 kodu na jedendruh. Slovesa jsou razena do 25 skupin, kod pak zalezı na nasledujıcım:• rozkazovacı zpusob - slovnı druh, cıslo, osoba a kod ”imp”; prıklad pro rozkazovacı

zpusob 2. osobu mnozneho cısla je ver_pl_se_imp_

• prıtomny cas - slovnı druh, cıslo, osoba a kod ”pr”; prıklad pro 2. osobu mnoznehocısla je ver_pl_se_pr_

• minuly cas - slovnı druh, cıslo, rod (cinny - trpny) a osoba; prıklad pro zensky rod 2.osobu mnozneho cısla trpneho rodu je ver_pl_se_pass_fe_

89

Page 103: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

pad nazev kod1. nominative n2. genitive g3. dative d4. accusative a5. vocative v6. locative l7. instrumental i

Tabulka 9.16: Kody padu

cesky nazev anglicky nazev kodpodstatne jmeno noun nouprıdavne jmeno adjective adj

zajmeno pronoun procıslovka numeral numsloveso verb ver

prıslovce adverb advpredlozka preposition pre

spojka conjunction concastice particle par

citoslovce intersection int

Tabulka 9.17: Kody slovnıch druhu

nazev kodsingular sgplural pl

Tabulka 9.18: Kody pro cıslo

osoba kod1. fi2. se3. th

Tabulka 9.19: Kody pro osobu

cesky nazev anglicky nazev kodmuzsky nezivotny masculine inanimate mimuzsky zivotny masculine animate ma

zensky feminine festrednı neuter ne

Tabulka 9.20: Kody pro rod

cesky nazev anglicky nazev kodcinny past pasttrpny passive pass

Tabulka 9.21: Kody pro slovesny rod

vyjadrenı podminovacıho zpusobu modzvratne zajmeno zvr

Tabulka 9.22: Ostatnı druhy slov

0 1stál

2tam

3samotný

4vysoký

5sloup

Obrazek 9.2: Prıklad vety ”stal tam samotnyvysoky sloup” U reprezentovane pomocıFSA

0

<sil>:<sil>poř ádek:nou_sg_mi_n_

opravdový:adj_sg_ma_n_opravdový:adj_sg_mi_n_opravdový:adj_sg_mi_a_udělal:ver_sg_past_ma_udělal:ver_sg_past_mi_stál:ver_sg_past_ma_stál:ver_sg_past_mi_

tam:adv_nahoř e:adv_

poř ádek:nou_sg_mi_a_sloup:nou_sg_mi_n_sloup:nou_sg_mi_a_

vysoký:adj_sg_ma_n_vysoký:adj_sg_mi_n_vysoký:adj_sg_mi_a_samotný:adj_sg_mi_n_samotný:adj_sg_mi_a_

Obrazek 9.3: Prıklad morfologickeho ana-lyzatoru M realizovaneho pomocı FST

90

Page 104: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

slovnı druh kodV POS SPO GEN NUM PER TEN VOIP POS NUM GEN CAS PGE PNU

N,C,A POS NUM GEN CASPOS

Tabulka 9.23: Kodovanı morfologickych znacek programem sharprct dle symbolu pop-sanych v kapitole 9.1.1

0 1ver_sg_past_ma_ver_sg_past_mi_

2adv_

3adj_sg_mi_a_adj_sg_mi_n_

4

adj_sg_ma_n_

adj_sg_mi_a_

adj_sg_mi_n_5

nou_sg_mi_a_nou_sg_mi_n_

Obrazek 9.4: FSA P = π2(U M), kde U je na obr. 9.2 a M na obr. 9.3

Druhy zpusob kodovanı morfologickych znacek vznikl na zaklade kodu, resp. TAGuuvadenych v UCNK korpusech. Znamena to, ze kod je slozen ze znaku uvedenych v kapitole9.1.1. Vystupnı kody morfologickych znacek z FST morfologickeho analyzatoru M jsouuvedeny v tab. 9.23. Poznamenejme, ze dle experimentalnıch vysledku se ukazalo, ze jevyhodne predlozky vubec netransformovat na morfologicky kod. Naprıklad predlozky v ave by transformacı na jednoduchy kod pre dle tab. 9.17 ztratily informaci o rodu slovav pravem kontextu. Tj. klidne bychom naprıklad pripustili moznost ve jame.

9.4 Sestavenı FSM pro gramatiku

Nasledujıcı postup byl uspesne overen a je pouzit ve vsech experimentech tykajıcıchse modelovanı na zaklade morfologickych znacek.

1. vytvorıme FST morfologickeho analyzatoru M (jednoduchy prıklad na obr. 9.3),2. kompozicı vet reprezentovanych pomocı FSA (pr. na obr. 9.2) s morf. analyzatorem

reprezentovanym pomocı FST a naslednou projekcı vystupnıch symbolu dle

P = π2(U M) (9.1)

dostavame sadu FSA P (pr. na obr. 9.4),3. nastroji grmtools dle kap. 6.2 ze sady FSA P vygenerujeme n-gramovy statisticky

model grm(P ),4. formulı

G = π2(grm(P ) M−1) (9.2)

dostavame FSM G reprezentujıcı gramatiku.

91

Page 105: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

pocet slov M grm(P ) G HLG9 1/18 18/61 20/67 604/107942 1/91 71/320 73/440 3578/6379101 1/216 92/582 94/1990 8007/15512206 1/449 131/1170 133/6290 16304/34005663 1/1616 233/3697 235/63713 53491/155684

Tabulka 9.24: Ukazka zavislosti slozitosti automatu M ,P , G a HLG na poctu pouzitychslov pro n = 2

92

Page 106: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Cast III

Tvorba rozpoznavacu

93

Page 107: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 10

Experimentalnı vysledky

10.1 Pouzity hardware

Vsechny experimenty byly provadeny na clusteru magi katedry teorie obvodu. Jednase o nekolik PC s procesorem AMD Athlon(tm) 64 X2 Dual Core 4400+ (2200MHz)s operacnım systemem linux. Vlastnı skripty psane v skriptovacım jazyce Bourne shell[itwh] jsou spousteny systemem pro frontalnı distribuce uloh SGE [itwf]. Vsechny casyuvadene zde ve vysledcıch jsou souctem dob trvanı procesu vsech uzlu, tj. teoreticky jevse prepocıtano na jedno jadro procesoru AMD Athlon(tm) 4400+.

10.2 Pouzite recove databaze

Hlavnı recovou databazı byla zvolena databaze SPEECON, cast dospelych lidı [Pol03].Celkem tak bylo k dispozici cca 300 hodin recoveho signalu od 580 ruznych lidı.

10.3 Akusticke modely

V experimentech se pouzıvajı Markovovy modely reprezentujıcı monofony, difony,resp. trifony popsane v kapitole 3.3. Akusticke modely jsou parametrizovany nastrojemHCopy (kap. 5.1 - uveden i pouzity konfiguracnı soubor) a trenovany nastrojem HERest(kap. 5.2). ze sady nastroju HTK. Trenovacı data pro experimenty uvadene v kapitole10.6 predstavujı kompletnı databazi SPEECON. Trenovacı data pro experimenty uvadenev kapitole 10.7 byla pouzita s durazem na obdrzenı co nejvyssıho skore. Byly tak z recovedatabaze SPEECON vybrany promluvy pouze zen v prostredı office s tichym pozadım(tj. nikoliv se zapnutym hudebnım prehravacem).

94

Page 108: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

10.4 Jazykove modely

Jazykove modelovanı pouzite v experimentech nese nedostatek v ekvivalenci trenovacıa testovacı mnoziny dat. Duvodem, proc autor vybral toto resenı, je zejmena jednoduchost.Uved’me prehled vsech trı jazykovych modelu a vliv uvedeneho nedostatku na jednotlivemodely:

1. uniformnı model - pouzit v testech kap. 10.7. Nasobitel jazykoveho modelu jev techto testech nastaven vzdy na hodnotu 1. Zde ekvivalence trenovacı a testovacımnoziny nema velky vyznam, nebereme-li v uvahu moznost vetsı mnoziny slov protrenovanı jazykoveho modelu.

2. bigram - tento bigram na bazi slov je pouzit v kapitole 10.6 a v testu slabikovehomodelu (kap. 10.7). Jeho volba sice muze vypadat na prvnı pohled nesmyslne, ale zdeslo hlavne o porovnanı vykonu dekoderu.

3. n-gram na bazi morfologickych znacek - pouzit v testech kap. 10.7. Model je po-psan v kapitole 9.1. Jelikoz jde o model zalozeny na trıdach slov, ktery je schopny velmidobre zobecnovat kontextove zavislosti (kap. 1.5.3 ) nemel by byt uvedeny nedostatekekvivalence trenovacı a testovacı mnoziny dat problemem. Je zde pouzita Katzovametoda vyhlazovanı trıd. Morfologicky analyzator pouzity pro tento typ jazykovehomodelu je zkonstruovan na zaklade Ceskeho narodnıho korpusu metodami uvedenymiv kap. 9.1.

Podrobny postup konstrukce vsech zde pouzitych modelu je uveden v [Sta].

10.5 Rozpoznavacı sıt’

Konstrukce rozpoznavacı sıte popsana v kap. 3.1.2 v tomto prıpade nevyhovuje, nebot’ne kazdy FST, resp. WFST je determinizovatelny. Pro prıpady jazykoveho modelu, kdesıt’ L G je determinizovatelna pouzijeme nasledujıcı upravu formule (3.2), resp. (3.1).Pouzijeme tak

CLG = min [det [C min(det(L G))]]HCLG = de [min (det (en (H CLG)))]

(10.1)

pro sıt’ s kontextove zavislymi fonemy, resp.

HLG = de min [det [en [H min(det(L G))]]] (10.2)

pro sıt’ s kontextove nezavislymi fonemy. Pokud sıt’ L G nenı determinizovatelna, pouzi-jeme

CLG = de [min (det (en (C L)))] GHCLG = de [min (det (en (H CLG)))]

, (10.3)

95

Page 109: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

pro sıt’ s kontextove zavislymi fonemy, resp.

HLG = de [min (det (en (H L)))] G (10.4)

pro sıt’ s kontextove nezavislymi fonemy. Poznamenejme, ze ohodnocene prekladove au-tomaty L a H uvedene v (10.1) az (10.4) jsou uzavrene (kap. 2.6.3), operace en, resp.de znamenajı zakodovanı WFST na FSA, resp. dekodovanı FSA na WFST pres nejakypomocny FST (kap. 2.6.18 ). V prıpade pouzitı shlukovanych stavu v akustickych mod-elech (kap. 5.3) je nutne pred vlastnı konstrukcı HCLG sıte preindexovat vstupnı symbolyCLG v (10.1), resp. (10.3) sıte na indexy modelu HMM tak jak je tomu v HTK knihovnach(kap.7.4).

10.6 Experimentalnı srovnanı dostupnych dekoderu

Pro porovnanı jednotlivych dekoderu byly pouzity akusticke HMM modely se ctyrmihustotnımi funkcemi natrenovane na cele databazi SPEECON, casti dospelych lidı.

• testovacı promluvy jsou podmnozinou trenovacıch promluv pro akusticke modely,• testovacı promluvy jsou ekvivalentnı trenovacım promluvam jazykoveho modelu.

Jak jiz bylo uvedeno, k dispozici jsou 3 dekodery s Viterbiho algoritmem.1. drecog z AT&T DCD nastroju popsanych (kapitola 6.1.3). Ten je dale rozdelen na

• kontextovy HCLG - automat reprezentujıcı HMM je zakomponovan do rozpozna-vacı sıte HCLG - vstupnı symboly predstavujı stavy HMM,• kontextovy CLG - vstupnı symboly rozpoznavacı sıte CLG predstavujı jednotlive

HMM. Jejich pravdepodobnosti setrvanı ve stavu jsou prepocıtavany pri konverziz HTK modelu tak, jak je uvedeno v kap. 7.7.

2. rct v rezimu Viterbiho dekoderu (kapitola 7.8).3. HVite z HTK (kapitola 5.5).

Tento test si klade za cıl porovnat jednotlive dekodery podle vykonu, resp. casovenarocnosti. V testech je vzdy experimentalne nalezen nasobitel jazykoveho modelu, potese s tımto parametrem provadı vykonnostnı test. V tomto srovnavacım testu byl pouzitbigramovy model slov s Katzovym vyhlazovanım.

10.6.1 Nalezenı optimalnıho nasobitele jazykoveho modelu

Pro dosazenı optimalnıch vysledku bylo nutne nalezt hodnotu koeficientu nasobitelevah jazykoveho modelu. Obr. 10.1 a tab. 10.1 ukazuje vysledky testu pro jednotlive druhydekoderu. Zamerne zde byla zvolena vysoka hodnota kpp pro dosazenı nejvyssıho moznehoskore. Odtud plynou i vysoke casy rozpoznavanı v grafu.

96

Page 110: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

typ nasobitel vah RNdrecog CLG 30

drecog HCLG 7.4rct 4

HVite 5

Tabulka 10.1: Optimalnı velikost nasobitele vah RN pro jednotlive dekodery dle testu

Obrazek 10.1: Zavislost uspesnosti a koeficientu nasobitele vah RN na dobe rozpoznavanı- 125 slov, databaze SPEECON

10.6.2 Vliv pasoveho prorezavanı

Vliv koeficientu pasoveho prorezavanı (dale jen kpp) rozpoznavacı sıte demon-struje schopnosti rozpoznavacıch systemu, ktere nemohou fungovat jednoznacne s danymiparametry podobne jako v predchozım prıpade s nasobitelem vah RN. Obr. 10.2 ukazujevysledek zavislostı na koeficientu pasoveho prorezavanı pro polozky typu ”CD” z databazeSPEECON. Serazenı jednotlivych dekoderu od nejrychlejsıho k nejpomalejsımu je shrnutov tabulce 10.2.

97

Page 111: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Obrazek 10.2: Zavislost uspesnosti a koeficientu pasoveho prorezavanı - kpp na doberozpoznavanı - 125 slov, databaze SPEECON

typ kpp [-] cas [sec] uspesnost [%]drecog HCLG 21 113 97.32

HVite 70 163 96.34drecog CLG 100 175 89.02

rct 100 1550 94.88

Tabulka 10.2: Vysledky testu jednotlivych dekoderu

10.6.3 Vliv architektury

Bylo realizovano porovnanı dekoderu rct prelozeneho pro 32 a 64 bitovou architekturux86. Vysledkem bylo rychlejsı dekodovanı az o 25% na 64 bitove platforme.

10.6.4 Vyhodnocenı srovnavacıch testu dekoderu

Na zaklade testu z nichz vysel nejlepe nastroj firmy AT&T drecog v modu rozpozna-vacı sıte se vstupnımi symboly stavu HMM, tj. rozpoznavacı sıt’ typu HCLG, resp. HLG,byl tento typ dekoderu pouzit i pro nasledujıcı test, ktery posoudı narocnost navrzenehon-gramoveho jazykoveho modelu zalozeneho na trıdach slov pro jednotliva n.

10.7 Srovnavacı test jazykovych modelu

Test je uzavreny, tj. ze testovacı mnozina dat je podmnozinou trenovacı mnoziny dat.Znamena to, ze

98

Page 112: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

• testovacı promluvy jsou podmnozinou trenovacıch promluv pro akusticke modely,• testovacı promluvy jsou ekvivalentnı trenovacım promluvam jazykoveho modelu.

Testovacı sada dat predstavuje polozky typu S0, kde se jedna celkem o 111 vet, 954 slova 5769 znaku, viz prıklady nıze. Pocet vsech navzajem ruznych slov je N = 663. Ukazka 3vet z polozek S0 je uvedena nıze.

a nemohla tu vzniknout ani tradicnı vseobecne prijımana autokracie

za tech pet let jsem ho prece jen trochu ochocil ze uz mi leccos rekl

spıs si myslım ze by mel zıt podle zakonu svate tory

Prevedeme-li vety na slabiky algoritmem PUML uvedenym v kapitole 7 a popsanymv [La05], dostaneme testovacı set o 111 vetach a 2950 slabikach (model mezislovnı kratkepauzy se zde take pocıta jako slabika). Pocet vsech navzajem ruznych slabik je N = 689.Pro hlavnı testovanı byly pouzity nasledujıcı jazykove modely.

1. uniformnı jazykovy model - v grafech a tabulkach oznacen pısmenem U. Model jepouzit z duvodu moznosti porovnavanı s ostatnımi jazykovymi modely. Protozesıt’ LG tohoto modelu je determinizovatelna, byla pouzita optimalizovanejsı formarozpoznavacı sıte (10.2), resp. (10.1).

2. n-gramovy model zalozeny na morfologickych kodech slov - v grafech a tabulkachoznacen MCnn. Z duvodu nedeterminizovatelnosti sıte LG tohoto modelu byla pouzitamene optimalizovana forma rozpoznavacı sıte, tj. (10.4), resp. (10.3). Maximalnıuroven techto trıdovych n-gramu je limitovana hardwarem. Pro predstavu uved’me,ze nejslozitejsı sıt’ v testech, tj. binarnı reprezentace quadragramoveho modelu (8 mil.stavu. 15 mil. prech.) pro monofony predstavuje soubor o velikosti cca 300MB.

10.7.1 Monofony

Srovnanı vysledku testu pro monofonnı rozpoznavac s uniformnım jazykovym mode-lem a n-gramovymi modely zalozenych na morfologickych kodech popsanych v kapitole9 je uvedeno v grafech na obr. 10.3. Tabulka 10.3 zobrazuje parametry a vysledky jed-notlivych pokusu. Nasobitel vah byl v tomto prıpade pro uniformnı rozdelenı slov 1 a projazykove modely zalozene na morfologickych kodech 4.1.

99

Page 113: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Obrazek 10.3: Uzavreny test, monofony, 46 hustotnıch funkcı, N = 663 slov

typ JM slozitost G slozitost HLG uspesnost [%] presnost [%] cas [sec] kpp [-]uniformnı 669/1993 7257/12940 70.44 66.67 186 206

MC - bigram 235/63713 53491/155684 90.36 89.31 1552 41MC - trigram 3622/328309 1582699/3088613 96.75 96.23 9099 46

MC - quadragram 17192/895459 7849147/14726588 98.01 97.59 12776 47

Tabulka 10.3: Uzavreny test, monofony, 46 hustotnıch funkcı, N = 663 slov

Srovnanı vysledku testu pro monofonnı rozpoznavac zalozeny na slabikach s unifor-mnım a n-gramovym jazykovym modelem je na obr. 10.4. Tabulka 10.4 zobrazuje vybrananejlepsı skore pro jednotlive jazykove modely. Vsechny modely pouzıvajı nasobitel vah 5.1krom uniformnıho (1).

100

Page 114: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Obrazek 10.4: Uzavreny test jazykoveho modelu zalozeneho na slabikach, monofony, 46hustotnıch funkcı, N = 689 slabik

typ JM slozitost G slozitost HLG uspesnost [%] presnost [%] cas [sec] kpp [-]uniformnı 694/2759 1665/3788 31.36 23.63 70 196

bigram 694/3087 8722/18220 41.80 41.15 61 21trigram 2398/7302 23234/47852 52.64 51.76 87 21

quadragram 4824/12446 47594/98206 55.53 54.58 96 21pentagram 7434/17747 78046/161498 55.76 54.85 100 21hexagram 10016/22936 110502/229795 55.93 55.02 101 21

Tabulka 10.4: Uzavreny test jazykoveho modelu zalozeneho na slabikach, monofony, 46hustotnıch funkcı, N = 689 slabik

Nepresnosti jsou zpusobeny:• fonetickou transkripcı slabik. Naprıklad slovo op-rel bude foneticky prelozeno na

slovo ob-rel,• model kratke pauzy umoznuje preskocit jediny emitujıcı stav, ktery HMM ma. Vede

to na vysoky pocet vyskytu modelu pro kratkou pauzu v rozpoznane vete. Uspesnostuniformnıho modelu pro slabiky byla dle testu o 10% vetsı nez presnost.

10.7.2 Difony

Vstupnı data jsou stejna jako v podkapitole 10.7.1. Zde se testujı kontextove zavislefonemy - difony. Vysledek testu analogicky s obr. 10.3 je na obr. 10.5. Srovnanı pomocıtab. 10.5 umoznuje srovnanı s ostatnımi akustickymi modely. n-gramove jazykove modelyv tomto testu zde mely pouzity nasobitel vah 5.1 (uniformnı pak 1). Poznamenejme, ze

101

Page 115: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

v tomto prıpade nenı jista, zda poslednı hodnota pro trigramovy model je konecna. Zdeuz slo o velmi rozsahlou sıt’. Z duvodu casove narocnosti byl test predcasne ukoncen.

Obrazek 10.5: Uzavreny test, difony, 46 hustotnıch funkcı, N = 663 slov

Srovnanı vysledku rozpoznavanı pro ruzny pocet hustotnıch funkcı je na obr. 10.6.

Obrazek 10.6: Uzavreny test, difony, bigramovy model zalozeny na morfologickych kodech,srovnanı pro 16, 23 a 46 hustotnıch funkcı, N = 663 slov

102

Page 116: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

typ JM slozitost G slozitost HLG uspesnost [%] presnost [%] cas [sec] kpp [-]uniformnı 669/1993 12025/18576 81.55 51.36 285 131

MC - bigram 235/63713 85703/283042 91.40 88.16 4012 51MC - trigram 3622/328309 515940/901199 97.69 95.91 11909 51

Tabulka 10.5: Uzavreny test, difony, 46 hustotnıch funkcı, N = 663 slov

10.7.3 Trifony

Vstupnı data jsou stejna jako v podkapitole 10.7.1. Zde se testujı kontextove zavislefonemy - trifony. Vysledek testu analogicky s obr. 10.3 je na obr. 10.7. Tab. 10.6 opetshrnuje jednotlive testy uniformnıho (koef. nasobitele vah rozpoznavacı sıte zvolen 1) a namorfologickych kodech zalozeneho modelu.

Obrazek 10.7: Uzavreny test, trifony, 46 hustotnıch funkcı, N = 663 slov

typ JM slozitost G slozitost HLG uspesnost [%] presnost [%] cas [sec] kpp [-]uniformnı 669/1993 10697/18630 78.20 71.38 307 156

MC - bigram 235/63713 66253/255669 92.24 90.78 727 31MC - trigram 3622/328309 411325/776114 98.32 98.01 1780 36

Tabulka 10.6: Uzavreny test, trifony, 46 hustotnıch funkcı, N = 663 slov

Srovnanı vysledku rozpoznavanı pro ruzny pocet hustotnıch funkcı je na obr. 10.8.

103

Page 117: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Obrazek 10.8: Uzavreny test, trifony, bigramovy model zalozeny na morfologickych kodech,srovnanı pro 16, 23 a 46 hustotnıch funkcı, N = 663 slov

104

Page 118: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Kapitola 11

Shrnutı

11.1 Splnenı cılu

Zakladnımi cıli bylo:1. vytvorit algoritmus, ktery sestrojı na zaklade zakladnıch znalostı i velmi slozite

prekladove stavove automaty reprezentujıcı jednotlive casti rozpoznavacı sıte,2. otestovat ATT nastroje pro cesky jazyk,3. vytvorit algoritmus pro moznou konverzi modelu mezi HTK a ATT nastroji,4. vytvorit vlastnı dekoder umoznujıcı ze zadane optimalizovane rozpoznavacı sıte v ATT

formatu a akustickych modelu v HTK formatu rozpoznat vstupnı promluvu,5. nalezt vhodny zdroj a zpusob zpracovanı dat pro vytvorenı ceskeho jazykoveho mo-

delu,6. navrhnout jazykovy model pro cesky jazyk, ktery by kombinoval vyhody spocıvajıcı

v moznostech nastroju pro zpracovanı stavovych automatu a moznosti pouzitı mor-fologicky oznackovaneho korpusu.

11.1.1 Algoritmus generovanı FST z bloku castecnych znalostı

Pro syntezu FST z bloku castecnych znalostı byl vyvinut rct. Zpusob pouzitı programurct pro generovanı konecnych automatu reprezentujıcı jednotlive casti rozpoznavacı sıte jeuveden v kap. 3.

11.1.2 Otestovanı ATT nastroju pro cesky jazyk

Byly rozebrany a provereny moznosti nove teorie vazenych prekladovych automatupri zpracovanı ceskeho jazyka. V uvadenych experimentech (kap. 10) byly pozorovany jevy,ktere jsou pro cesky jazyk charakteristicke:• velke mnozstvı kratkych jednoslabicnych predlozek v ceskem jazyce zpusobuje jejich

zamenu, ci nechtene vlozenı,

105

Page 119: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

• akusticka podobnost slov zpusobuje zamenu rovnez,• problem homonym muze vest k mylnemu vysledku pri pouzitı JM zalozeneho na

trıdach slov.

11.1.3 Konverze akustickych modelu z HTK do ATT

Zpusob vytvorenı akustickych modelu pro ATT nastroje pomocı rct (modul htk base)je uveden v kap. 8.4. Pripomenme, ze zde byly pouzity HTK knihovny pro nacıtanı HMM,takze je zarucena kompatibilita s radou jinych projektu.

11.1.4 Vytvorenı Viterbiho dekoderu

Manual k rozpoznavanı pomocı rct je uveden v kap. 7.8. Zakladnı modul prorozpoznavanı je pojmenovan asr base. Kvuli casove narocnosti (kap. 10.6.2) byl dalsı vyvojpozastaven a testy pokracovaly s nejrychlejsım nastrojem ATT drecog. Nicmene z duvodujednoduchosti a prehlednosti algoritmu muze byt vyhradne pouzit pro studijnı ucely.

11.1.5 Zdroj pro jazykovy model

Zde byl s vyhodou pouzit Cesky narodnı korpus [Fila] umoznujıcı prıstup k oznacko-vanym textum. Popis pouzitı UCNK pro ucely rozpoznavanı je podrobne popsan v kap.9.1. Modul rct pro pripojenı na UCNK server je pojmenovan ucnk comm anton.

11.1.6 Navrh JM

Zpusob navrhu jazykoveho modelu zalozeneho na trıdach slov je popsan v kapitolach1.5.3, 9.1 a 10. Experimenty jsou uvedeny v kapitole 10. Model se vyznacuje relativne dob-rou uspesnostı za cenu vysoke slozitosti rozpoznavacı sıte a tım i pomalostı v rozpoznavanı(cca 1-4 sec na jedno slovo, tj. 3 - 12 krat pomalejsı, nez verze JM s uniformnım modelem).

11.2 Prınosy vysledku prace

V kapitolach 3 a 6 je podrobne popsan zpusob modelovanı rozpoznavacı sıte a pouzitınastroju firmy AT&T pro rozpoznavanı mluvene reci. Velmi podrobne je provedena reserseteprve v nedavne dobe publikovane rozsahle nove teorie vazenych prekladovych automatua nalezena rada souvislostı teto teorie s jinymi vyznamnymi technikami rozpoznavanı reci.Poznamenejme, ze v Ceske Republice zatım nikde nenı podobna reserse uvedena. Nejdejen o pouzıvanı nastroju s uzavrenym kodem (knihovny GRM, FSM, DCD a LEXTOOLS )ale nove i o moznost pouzıt otevrenou variantu FSM knihovny - Open-FST [Ril].

Dale byl vytvoren zpusob zıskavanı cennych dat z Ceskeho narodnıho korpusu a jejichnasledne vyuzitı v podobe konstrukce jazykoveho modelu zalozeneho na techto datech.

106

Page 120: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Jedna se hlavne o zıskavanı frekvencnı analyzy potrebnych slov, vsech tvaru slov k danemulemmatu a jejich morfologickych znacek. Vse je mozne nalezt krome kapitoly 9.1 i ve velmipodrobne forme v [Sta] a [Stb].

107

Page 121: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Literatura

[Alla] Allauzen, C., Mohri, M., Roark, B. A general weighted grammar library.[Allb] Allauzen, C., Mohri, M., Roark, B. GRM library - grammar library.

http://www.research.att.com/ fsmtools/grm/.[All07] Allauzen, C., Riley, M., Schalkwyk, J., Skut, W., Mohri, M. OpenFst: A gen-

eral and efficient weighted finite-state transducer library. In Proceedings ofthe Ninth International Conference on Implementation and Application of Au-tomata, (CIAA 2007), volume 4783 of Lecture Notes in Computer Science, pages11–23. Springer, 2007. http://www.openfst.org.

[Cas03] Caseiro, D., Trancoso, I. A tail-sharing WFST composition algorithm for largevocabulary speech recognition. Acoustics, Speech, and Signal Processing, 2003.Proceedings. (ICASSP ’03). 2003 IEEE International Conference on., 1:356–359, 2003.

[Cho06] Choueiter, G., Povey, D., Chen, S.F., Zweig, G. Morpheme-based languagemodeling for arabic LVCSR. Acoustics, Speech and Signal Processing, 2006.ICASSP 2006 Proceedings. 2006 IEEE International Conference on., 1:1053–1056, 2006.

[Dra06] Drabkova, J. Tvorba jazykoveho modelu zalozeneho na trıdach. Disertacnı prace,FM, TUL, Liberec, 2006.

[Fila] Filozoficka fakulta University Karlovy. Cesky narodnı korpus - dostupne kor-pusy. http://ucnk.ff.cuni.cz/struktura.php.

[Filb] Filozoficka fakulta University Karlovy. Cesky narodnı korpus - SYN2000.Ustav Ceskeho narodnıho korpusu FF UK, Praha 2000. Dostupny z WWW:http://www.korpus.cz.

[Haj04] Hajic, J. Disambiguation of rich inflection (computational morphology of czech).Karolinum Charles University Press, Praha, 1, 2004.

[Jel85a] Jelinek, F. The developement of an experimental discrete dictation recognizer.Proceedings of the IEEE., 11:1616–1624, 1985.

108

Page 122: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

[Jel85b] Jelinek, F. Markov source modeling of text generation. The Impact of ProcessingTechniques on Communication (Skwirzynski, J.K., ed.) Nijhoff, Dordrecht, TheNetherlands., 1985.

[Jul] Julius project team, Nagoya Institute of Technology. Open-source large vocab-ulary CSR engine julius. http://julius.sourceforge.jp/.

[Kat87] Katz, S., M. Estimation of probabilities from sparse data for the language modelcomponent of a speech recognizer. IEEE Transaction on Acoustic, Speech, andSignal Processing, 35(3):400–401, 1987.

[Kop] Koprivova, M., Kocek, J. Manual korpusoveho manazeru bonito.http://ucnk.ff.cuni.cz/bonito.

[Kor02] Korenar, V. Stochasticke procesy. Vysoka skola ekonomicka v Praze - ISBN80-245-0311-5, 1. edition, 2002.

[Kui86] Kuich, W., Salomaa, A. Semirings, automata, languages. Number 5 in EATCSMonographs on Theoretical Computer Science. Springer-Verlag Berlin, Ger-many., 1986.

[La05] Lansky, J. Slabikova komprese. Diplomova prace MFF UK, 2005.[Mel03] Melichar, B. Jazyky a preklady. CVUT Praha, 2003.[Moha] Mohri, M., Pereira, F., Railey, M. AT&T FSM library - finite-state machine

library. http://www.research.att.com/ fsmtools/fsm/.[Mohb] Mohri, M., Railey, M. DCD library - speech recognition decoder library.

http://www.research.att.com/ fsmtools/dcd/.[Moh94] Mohri, M., Pereira, F. Compact representations by finite-state transducers.

32nd Annual Meeting of the Association for Computational Linguistics, SanFrancisco, California, 1994.

[Moh96] Mohri, M., Pereira, F., Railey, M. Weighted automata in text and speech pro-cessing. Extended Finite State Models of Language: Proceedings of the ECAI’96Workshop, pages 46–50, 1996.

[Moh97a] Mohri, M. Finite-state transducers in language and speech processing. Associ-ation for Computational Linguistic, 23:2, 1997.

[Moh97b] Mohri, M. Minimization algorithms for sequential transducter. TheoreticalComputer science, 234:177–201, 1997.

[Moh97c] Mohri, M., Riley, M. Network optimizations for large vocabulary speech recog-nition. MIT Press , Cambridge, Massachusetts, 25:3, 1997.

[Moh00] Mohri, M., Pereira, F. The design principles of weighted finite-state transducerlibrary. Theoretical Computer Sience, 231:17–32, 2000.

[Moh02a] Mohri, M., Pereira, F. Weighted finite state transducers in speech recognition.Computer Speech and Language, 1:69–88, 2002.

109

Page 123: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

[Moh02b] Mohri, M., Pereira, F. Weighted finite state transducers in speech recognition.Computer Speech and Language, 1:69–88, 2002.

[Moh04] Mohri, M., Pereira, F. A generalized construction of integrated speech recogni-tion transducers. Acoustics, Speech, and Signal Processing, 2004. Proceedings.(ICASSP ’04). IEEE International Conference on, 1:I– 761–4, 2004.

[Ney94] Ney, H., Essen, U., Knesser, R. On structuring probabilistic dependences instochastic language modeling. Computer Speech and Language., 8(1):1–38, 1994.

[Ney95] Ney, H., Knesser, R. Improved backing-off for m-gram language modelling.Proceedings of ICASSP, 1:181–184, 1995.

[Nou04] Nouza, J., Nouza, T. A voice dictation system for a million-word czech vocab-ulary. Proc. of ICCCT 2004, Austin, USA, ISBN 980-6560-17-5., 1:142–152,2004.

[Per97] Pereira, F., Riley, M. Speech recognition by composition of weighted finiteautomata. MIT Press , Cambridge, Massachusetts, 1997.

[Pol03] Pollak, P., Cernocky, J. Czech Speecon Adult database, Speech Driven Inter-faces for Consumer applications (speecon) project. FEL CVUT Praha, 2003.

[Psu95] Psutka, J. Komunikace s pocıtacem mluvenou recı. Academia, nakladatelstvıAkademie ved CR, ISBN 80-200-0203-0, 1. edition, 1995.

[Psu06] Psutka, J., Muller, L., Matousek, J., Radova, V. Mluvıme s pocıtacem cesky.Academia, stredisko spolecnych cinnostı AV CR, ISBN 80-200-1309-1, 1. edition,2006.

[Rab93] Rabiner, L., Juang, B., H. Fundamentals Of Speech Recognition. EnglewoodCliffs, N.J., PTR Prentice Hall, c1993. 507 p. TK7895.S65R33, 1993.

[Rev92] Revuz, D. Minimisation of acyclic deterministic automata in linear time. The-oretical Computer Science., 92:181–189, 1992.

[Ril] Riley, M. Openfst library. http://openfst.org/.[Roc97] Roche, E., Schabes, Y. Finite-State Language Processing. 464p, ISBN 0-262-

18182-7, 1997.[Rog98] Rogalewicz, V. Pravdepodobnost a statistika pro inzenyry. Vydavatelstvı CVUT,

1. edition, 1998.[Sed03] Sedgewick, R. Algoritmy v C. SoftPress s.r.o, ISBN 80-96497-56-9, 1 edition,

2003.[Sim78] Simon, I. Limited subsets of a free monoid. Proceedings of the 19th Annual

Symposium on Foundation of Computer Science., pages 143–150, 1978.[Spo07] Spoustova, D., Hajic, J., Votrubec, J., Krbec, P., Kveton, P. The best of two

worlds: Cooperation of statistical and rule-based taggers for czech. Proceedingsof the Workshop on Balto-Slavonic Natural Language Processing., pages 67–74,2007.

110

Page 124: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

[Sza01] Szarvas, M., Furui, S. The use of finite-state transducers for modeling phono-logical and morphological constraints in automatic speech recognition. TokyoInstitute of Technology., 1, 2001.

[Te85] Tesitelova, M. a kol. Kvantitativnı charakteristiky soucasne cestiny. Academica,1985.

[Uhl07] Uhlır, J. a kol. Technologie hlasovych komunikacı. CVUT v Praze, ISBN 80-7184-786-0, 2007.

[Vil06] Villarejo, L. Building a morphological analyzer for regular nouns in swedishusing FSTs. NLP1 - GSLT courses., 1, 2006.

[wIS] Institute for signal and information processing - speech recognition.http://www.isip.piconepress.com/projects/speech/.

[wli] LibriVox. http://librivox.org/.[wsp] The CMU sphinx group open source speech recognition engines.

http://cmusphinx.sourceforge.net/.[wvo] VoxForge. http://www.voxforge.org/.[wwwa] ASRNews. http://www.asrnews.com/.[wwwb] HTK. http://htk.eng.cam.ac.uk/.[You02] Young, S. The HTK Book (for HTK Version 3.2.1). Microsoft Corporation,

Cambridge University Engineering Department, 3.2 edition, 2002.[Sta] Stemberk, P. AT&T FSM & GRM knihovny pro rozpoznavanı reci.

http://gaya.agron.org/wz/skola/fsm-howto/grmtools.html.[Stb] Stemberk, P. UCNK korpus jako zdroj dat pro rozpoznavanı reci.

http://gaya.agron.org/wz/ucnk-howto/.

111

Page 125: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Autorovy publikace

[St03] Stemberk, P. Miniaturnı platformy s procesorem ARM pro zpracovanı reci.Prıspevek ve sbornıku, Analyza a zpracovanı signalu IV Vydavatelstvı CVUT,Praha, ISBN 80-01-02768-6, 1:129–139, 2003.

[St04a] Stemberk, P. Implementation of self-designed IIR filter. POSTER 2004 [CD-ROM], Praha: CVUT v Praze, FEL, 2004.

[St04b] Stemberk, P. Introduction to speech recognition based on FSM. Prıspevek vesbornıku, 14. Czech-German Workshop , AV CR, Ustav radiotechniky a elektron-iky, Praha, ISBN 80-86269-11-6, 1:106–109, 2004.

[St04c] Stemberk, P. Platforma LART a zpracovanı reci. Prıspevek ve sbornıku, Analyza azpracovanı signalu V, Vydavatelstvı CVUT, Praha, ISBN 80-01-03139-X, 1:66–76,2004.

[St04d] Stemberk, P. Speech recognition based on FSM and HTK toolkits. Prıspevekve sbornıku, Digital Technologies 2004, EDIS-Zilina University publishers, Zilina,ISBN 80-8070-334-5, 1:55–60, 2004.

[St05a] Stemberk, P. Comparison of chosen ASRs based on FSM. Prıspevek ve sbornıku,POSTER 2006 [CD-ROM]. Praha: CVUT FEL Praha, 2005.

[St05b] Stemberk, P. Increasing the recognition speed by using FSM. Prıspevek vesbornıku, Electronic Speech Signal Processing 2005, TUDpress, Dresden, ISBN3-938863-17-X, 1:310–315, 2005.

[St05c] Stemberk, P. Modernı metody automatickeho rozpoznavanı reci. Prıspevek vesbornıku, ATP 2005, VUT Brno, Fakulta elektrotechniky a komunikacnıch tech-nologiı, Brno, ISBN 80-214-2925-9, 1:87–94, 2005.

[St05d] Stemberk, P. Speech recognition using finite-state automata. Prıspevek vesbornıku, Analyza a zpracovan signalu VI. Vydavatelstvı CVUT, Praha, ISBN80-01-03217-5, 1:114–124, 2005.

[St05e] Stemberk, P. Speech recognizer based on the FSM. Prıspevek ve sbornıku,POSTER 2005 [CDROM]. CVUT FEL Praha, pages 66–76, 2005.

112

Page 126: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

[St05f] Stemberk, P. Using AT&T FSM toolkit for speech recognition. Prıspevek vesbornıku, Analyza a zpracovanı recovych a biologickych signalu. VydavatelstvıCVUT, Praha, ISBN 80-01-03412-7., 1:36–45, 2005.

[St05g] Stemberk, P. Using FSM based ASR on the czech speech database SPEECON.Prıspevek ve sbornıku, Digital Technologies 2005, EDIS-Zilina University publish-ers, Zilina, ISBN 80-8070-486-4, 1:76–79, 2005.

[St05h] Stemberk, P.(50%), Hanzl, V.(50%). Finite-state transducer toolkit for fasterASR. In ASIDE 2005 - Applied Spoken Language Interaction in Distributed En-vironments - Book of Abstracts [CD-ROM]. Grenoble : International Speech Com-munication Association, ISBN 87-90834-85-2, 1, 2005.

[St06a] Stemberk, P. Speech recognizer construction using AT&T toolkit. Prıspevek vesbornıku, Analyza a zpracovanı recovych a biologickych signalu - Sbornık pracı2006. Vydavatelstvı CVUT, Praha, ISBN 80-01-03621-9, 1:65–71, 2006.

[St06b] Stemberk, P. Speech recognizer construction using the optimized network.Prıspevek ve sbornıku, Nove smery v spracovanı signalov VIII, Akadema ozbro-jenych sıl gen. Milana R. Stefanika, Tatranske Zruby, ISBN 80-8040-294-9, 1:301–304, 2006.

[St07] Stemberk, P. Pouzitı morfologickych kodu pro cesky jazykovy model. Prıspevekve sbornıku, Analyza a zpracovanı recovych a biologickych signalu. VydavatelstvıCVUT, Praha, ISBN 978-80-01-03940-3, 1:43–48, 2007.

113

Page 127: IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT …noel.feld.cvut.cz/speechlab/publications/075_disertace10.pdfCesk e vysok e u cen technick e v Praze Fakulta elektrotechnicka Katedra teorie

Literatura pouzita pro tvorbu

publikacı testovanı a vyvoj

software

[Her01] Herout , P. Ucebnice jazyka C. Kopp, Ceske Budejovice, ISBN 80-85828-21-9,2001.

[Her04] Herout , P. Ucebnice jazyka C - 2.dıl. Kopp, Ceske Budejovice, ISBN 80-7232-221-4, 2004.

[itwa] GAWK. http://www.gnu.org/software/gawk/.[itwb] Gnuplot homepage. http://www.gnuplot.info/.[itwc] Graphviz - Graph Visualization Software. http://www.graphviz.org/.[itwd] MySQL C API. http://dev.mysql.com/doc/refman/4.1/en/c.html.[itwe] MYSQL manual. http://mm.gene.cz/.[itwf] Sun Grid Engine. http://www.sun.com/software/sge/.[itwg] The GAWK Manual. http://www.cs.utah.edu/dept/old/texinfo/gawk/gawk_toc.html.[itwh] UNIX Shell Script Tutorials & Reference. http://www.injunea.demon.co.uk/

/pages/page201.htm.[itwi] Ceskoslovenske sdruzenı uzivatelu TeXu. http://www.cstug.cz/.[Sed03] Sedgewick, R. Algoritmy v C. SoftPress s.r.o, ISBN 80-96497-56-9, 1 edition,

2003.[Vir02a] Virius , M. Od C k C++. Kopp, Ceske Budejovice, ISBN 80-7232-110-2, 2002.[Vir02b] Virius , M. Od C++ k C#. Kopp, Ceske Budejovice, ISBN 80-7232-176-5, 2002.

114