IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT...
Transcript of IMPLEMENTACE ROZPOZNAVA C U RE CI SYNT...
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.
.
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.
.
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
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
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
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
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
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
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
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
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
Cast I
Teoreticka cast
1
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
- 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
<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
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
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
Cast II
Softwarove nastroje
50
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
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
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
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
-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
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
...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
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
...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
-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
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
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
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
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
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
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
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
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
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
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
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
dur
mean
var
Obrazek 7.1: Struktura modelu DCD knihovny
71
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
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
-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
... 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
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
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
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
Cast III
Tvorba rozpoznavacu
93
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
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
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
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
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
• 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
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
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
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
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
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
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
• 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
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
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
[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
[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
[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
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
[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
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