Zpracování multimédií
Rozpoznávání řeči

Řečový signál vytvářejí lidské orgány řeči a původně je reprezentován vlněním vzduchu. Kromě jiného v sobě obsahuje lexikální složku, která je pro rozpoznávání řeči klíčová. Lexikální informace je zakódována v akustickém signálu jako sekvence akusticky odlišných zvuků. Každý jazyk obsahuje vlastní soustavu základních zvuků, které jsou přiřazeny k fonémám. Například ve slovenštině jich je 51. Naneštěstí, běžně vyslovené fonémy se vzájemně ovlivňují v časové i frekvenční oblasti, takže vytvářejí akusticky odlišné zvuky. Kromě toho se každá fonéma liší s každým jejím vyslovením a u každého řečníka (obsahuje charakteristické informace o řečníkovi). V každém reálném prostředí ještě navíc existuje aditivní a konvolutorní šum, který situaci dále stěžuje. A aby toho nebylo málo, každý jazyk obsahuje obrovskou slovní zásobu, obvykle několik stovek tisíc slov, ze kterých každé může nabývat více tvarů (pádů, časů, atd.). Je jasné, že úloha je pak dosti složitá a výpočetně náročná.

Po mnoho let se velké úsilí vynakládalo na stavbu a využití systémů ASR (Automated Speech Recognition) v oblastech jako jsou systémy pro přístup k informacím, dialogové systémy, atd., avšak až s rostoucími technologickými možnostmi se začínají vytvářet náročnější systémy: diktační systémy, či dokonce automatický přepis mluvené řeči. Tyto pokročilé systémy musí být schopny provozu v reálném čase, být nezávislé na řečníkovi, dosahovat vysoké přesnosti a podporovat slovníky skládající se ze stovek tisíc slov. V současnosti existují systémy na rozpoznávání spojité nebo diktované řeči v reálném čase, přičemž velikost slovníku se pohybuje v řádech stovek tisíc slov.

## Metody extrakce vlastností řeči

Jak už bylo zmíněno v úvodu, je řeč komplexní signál tvořený hlasovými orgány člověka. Takový signál v sobě zahrnuje různé typy informací jako: co se mluví, kdo mluví, jakou má náladu,odkud pochází (dialekt), jaké má sociální pozadí, je nemocný, má vadu řeči a mnoho dalších. Všechny tyto informace jsou „nepřímo zakódované“ pomocí mozku a hlasových orgánů do výstupního hovorového signálu.

Podle šířky efektivního spektra řeči a počtu potřebných kvantizačních úrovní se dá odhadnout informační tok hovorového signálu, který se pohybuje okolo 100 kbit/s. Když se ale bude zkoumat informační hodnota lexikální složky obsažená v hovorovém signálu, pak je tento tok mnohem pomalejší, a sice cca 10 bit/s.

Je tedy zřejmé, že z řeči je potřeba extrahovat jen velmi malé množství informace, které bude odrážet právě jen lexikální složku. Tento proces je však velmi komplikovaný, neboť proces „kódování“ všech složek do výsledného hovorového signálu je složitý a ne zcela reverzibilní. Proto v prvém kroku v návrhu ASR systému se rozhoduje, kterou techniku výběru „lexikálních“ vlastností se má použít. Existuje množství metod, které buď simulují tvorbu hovorového signálu (lineární model tvorby řeči) anebo častěji se snaží simulovat lidský sluchový systém, matematicky ho popsat, zjednodušit pro praktické zpracování a případně ho přizpůsobit pro správné a jednoduché použití s vybranými typy klasifikačních metod. To má vliv na efektivní potlačení aditivních a konvolučních šumů, které jsou přítomné v běžných podmínkách. Předpokládá se totiž, že evoluce selektivním výběrem „nastavila“ sluchové orgány spolu s příslušnými částmi mozku tak, aby tyto byly co nejvíce citlivé právě na řeč a lexikální informaci, čímž vlastně potlačují ostatní rušivé vlivy.

Požadovanými vlastnostmi metod extrahujících lexikální informaci jsou, kromě redukce bitové náročnosti, též vysoká citlivost na změny zvuku, které jsou lidmi vnímány různě. Naopak by citlivost měla být „hluchá“ na ty, které jsou nedůležité pro náš sluchový systém. Ukázalo se, že významnými indikátory rozdílu jsou tzv. formantové frekvence. Na následujících obrázcích je nakresleno frekvenční spektrum signálu a jeho časový průběh. Ve spektru jsou označeny polohy formantových frekvencí ( z čehož je též jasný jejich význam), jakož i obálka spektra, která souvisí s postavením hlasových orgánů při vyslovení samohlásky „e“. Na obrázku časového průběhu hlásky „e“ je dobře pozorovatelná hlasivková frekvence.

Polohy formantových frekvencí a obálka spektra pro hlásku „e“
Časový průběh samohlásky „e“.

Aby bylo zřejmé, jak formanty souvisí s vyslovováním různých samohlásek, je v tabulce naznačeno jaké jsou průměrné polohy prvých třech formantových frekvencí pro muže a ženy – z nich je zřejmý kladný posun jejich polohy pro ženy.

Polohy formantových frekvencí pro samohlásky odděleně pro muže a ženy
Hláska | Muži | Ženy
F1 [Hz] | F2 [Hz] | F3 [Hz] | F1 [Hz] | F2 [Hz] | F3 [Hz]
a | 730 | 1100 | 2450 | 850 | 1200 | 2800
e | 530 | 1850 | 2500 | 600 | 2350 | 3000
i | 400 | 2000 | 2550 | 430 | 2500 | 3100
o | 570 | 850 | 2400 | 590 | 900 | 2700
u | 440 | 1000 | 2250 | 470 | 1150 | 2700

Na základě mnoha experimentů bylo zjištěno, že následující fenomény jsou posuzovány jako výrazně vnímatelné:

Rozdíly v počtu formantových frekvencí

Výrazné rozdíly v poloze formantových frekvencí

Výrazné rozdíly v šířce pásem formantových frekvencí

Rozdíl energií signálu (a frekvenčních složek) je vnímán spíše poměrově a nikoliv absolutně. Člověk tedy vnímá intenzitu zvuku nelineárně, tj. hlasitější části potlačuje a slabší zesiluje. Matematicky se tato vlastnost dá aproximovat logaritmem.

Naopak obecně existují následující spektrální rozdíly, které nepřispívají k výrazně odlišnému vjemu zvuků:

- Sklon spektra ve tvaru X(ω)=S(ω)*ωα, kde α je faktor sklonu
- Ořezání nízkofrekvenčních složek ležících před první formantovou frekvencí F1

Ořezání vysokofrekvenčních složek ležících nad třetí formantovou frekvencí F3

Potlačení úzkého frekvenčního pásma, a to i v pásmu potřebném pro dosažení základní srozumitelnosti

Navíc vlastnosti extrahovaných příznaků by neměly být citlivé na aditivní (šum pozadí) a konvolutorní šum (vliv nahrávacího zařízení a místnosti – ozvěny). Tyto podmínky však je těžké současně splnit. Proto je vhodné, aby alespoň řečové příznaky byly prezentovány tak, že tato rušení budou v prostoru vlastností lehce lokalizovatelné a potlačitelné. Navíc dobré příznaky musí být lehce extrahovatelné současnými matematickými postupy a technickým vybavením v reálném čase.

Současně nejpreferovanější akustické příznaky jsou MFCC a PLP, které jsou navrženy na zachycování pozic a šířek formantů, které jsou akusticky vnímatelné. Samozřejmě existuje celá řada dalších metod, které mohou dosahovat ještě lepší vlastnosti, ale tyto jsou většinou specializovány na užší oblast praktického použití, např. jsou určeny pro konkrétní prostředí.

## Výpočet MFCC koeficientů

Zkratka MFCC znamená Melovy frekvenční cepstrální koeficienty. Tyto koeficienty tedy popisují modifikované cepstrální koeficienty, které jsou počítané nikoliv ve frekvenční, ale Melové škále, která lépe odráží psychoakustické vlastnosti lidského vjemu. Postup výpočtu MFCC koeficientů je graficky znázorněn na obrázku.

Postup výpočtu MFCC

## Výpočet PLP koeficientů

Zkratka PLP znamená perceptuální lineární predikční koeficienty. Tyto koeficienty též popisují modifikované cepstrální koeficienty, ale jejich postup extrakce je komplexnější než v případě MFCC, protože zahrnuje více psychoakustických jevů. Jejich výpočet postupně obsahuje segmentaci signálu a Hammingovo váhování, výpočet spektra (fft), transformaci na Barkovu frekvenční osu, vyhlazení (DP filtrace) Barkova spektra (simuluje funkci kritická pásma), vzorkování spektra, které odpovídá šířce kritického pásma,- tedy 1 bark, váhování kopírující křivku stejné hlasitosti, transformace energie do hlasitosti,výpočet modelu produkce řeči (LPC) a přepočet modelu do cepstra. I přes složitější výpočet poskytují MFCC a PLP podobné výsledky.

## Pomocné koeficienty – dynamika a energie

Řeč je úzce spjata s plynutím času, a proto je velmi důležité obsáhnout v základních akustických parametrech také jejich vývoj v čase. Pro tento účel se používají tzv. dynamické koeficienty, které aproximují první a druhou derivaci příznaků v čase. Dalším parametrem je energie signálu. Samotná energie však samozřejmě nenese dostatek akusticky diskriminační informace, a proto se užívá jen zřídka, což však neplatí o jejích dynamických vlastnostech v čase, které v hrubém nárysu popisují plynutí řeči.

Na závěr by se však mělo poznamenat, že proces extrakce příznaků není, pro svoji komplexnost, doposud úplně vyřešena a stále se pro tuto oblast vynakládá velké úsilí. Existuje mnoho příznaků a metod jejich výpočtu, ale zatím žádná nesplňuje všechny požadované vlastnosti.

## Techniky sloužící k rozpoznávání řeči

Po extrahování vhodných příznaků řeči je každý hovor popsán jako časová posloupnost vektorů příznaků. V dalším kroku je proto potřeba porovnat neznámou posloupnost příznaků, která může odpovídat buď slovu, frázi anebo i celé větě se vzorem, o kterém víme, jakému hovoru patřil. Tyto promluvy však musely existovat ve fázi tréningu. Podle toho, zda rozpoznávání je založeno na rozpoznávání menších akustických jednotek jako jsou fonémy, či slabiky anebo větších jako jsou slova či celé fráze, rozlišujeme systémy založené na rozpoznávání menších akustických jednotek menších než slova (např. hlásky) U celých slov nebo frází je možno postihnout tzv. koartikulační jev, kdy výslovnost jednotlivých hlásek je ovlivněna výslovností konkrétního slova. To však naráží na problém, že všechna slova nebo fráze musí být v tréningové databázi obsaženy víckrát, což je u rozsáhlých slovníků nerealizovatelné. Lepší volbou je použít jednotky menší než slovo, kterých je menší počet, ty ale nemusí postihnout fenomén koartikulace.

Dále se systémy dělí podle toho, zda rozpoznávají izolovaná slova anebo spojitou řeč, což je složitější problém, protože není zřejmé, kde jednotlivá slova začínají a končí. Specifický problémporovnávání vzorů mezi referenčním (známým) a neznámým vzorkem řeči spočívá v tom, že i stejné promluvy mohou, a skoro vždy mají různé délky (počty vektorů příznaků). Situace se komplikuje tím, že dochází k neronoměrnému prodlužování anebo zkracování jednotlivých částí (hlásek) v rámci slov. Proto není vhodné použít jednoduché principy lineárního zkracování (decimace) nebo prodlužování (lineární interpolace) posloupnosti vektorů.

Existuje více metod, které se pokoušejí řešit tento problém, ale nejúspěšnější z nich se jeví DTW a HMM. Proto budou tyto dvě v dalším textu popsány.

### DTW

DTW (Dynamic time Warping) je metoda,která slouží pro akustické porovnávání dvou vzorů (příznaků řeči)referenčního a vstupního slova, přičemž jsou zohledněny specifické vlastnosti řeči. Jde hlavně o nelineární časovou míru při porovnávání příznaků příslušných ke vzorovému a testovanému slovu. Tato vlastnost je nutná pro eliminaci vlivu různých délek vyslovování stejného slova. Dále v sobě zahrnuje řešení častého případu variací různých délek jednotlivých hlásek uvnitř slova, což se nedá řešit jednoduchým lineárním přečíslováním (roztáhnutím resp. stlačením) časové osy referenčního nebo testovaného hovoru.

V základním použití této metody se předpokládá poznání přesných hranic obou porovnávaných hovorů. To si v praxi vyžaduje dodatečné použití algoritmu detekce řeči.

Jádro metody vychází z principu dynamického programovaní řešícího problém nalezení minimální cesty mezi dvěma body na stanovený počet kroků. Tedy hledá se nelineární mapování (ohýbání času) indexů (vektorů) neznámého slova na referenční, aby byla dosažena nejmenší akustická vzdálenost mezi nimi. Toto mapování musí ale splňovat jisté přirozené požadavky jako jsou začáteční akonečné vektory slov se musí mapovat na sebe, funkce času pro indexy referenčních i testovacích vektorů musí být rostoucí a musí existovat nějaký rozumný práh maximální časové vzdálenosti mezi mapovaným indexem refernčním a testovacím. Při samotném výpočtu se používají dvě matice, jedna tzv. lokální, kde jsou vypočteny akustické vzdálenosti jednotlivých vektorů příznaků řeči mezi sebou a druhá globálná, ve které se kumulují tyto chyby při hledání možných minimálních cest s přihlédnutím k různým lokálním omezením na pohyb vpřed. Ukázka globální matice vzdáleností je na obrázku.

Globální matice vzdáleností při DTW s optimální cestou, povolenou a zakázanou oblastí

Na dalším obrázku jsou zase pro úplnost zobrazeny některé z používaných lokálních cest i s váhováním.

Dve možné lokálne cesty pre pohyb v globálnej matici aj s váhovaním smerov

Metoda měla významné postavení při počátku budování jednoduchých systémů ASŘ, ale vzhledem k potřebám kontinuálního rozpoznávání řeči, kde je třeba slova řadit jednoduchým způsobem za sebou, přičemž se ještě vyžaduje i nezávislost na hovořícím, ztratila svůj význam a byla pro větší aplikace úspěšně nahrazena statistickou metodou modelování řeči pomocí HMM .

### Skryté Markovové Modely (HMM)

Metoda skrytých Markovových modelů je založena na statistickém modelování hovorového signálu, respektive pro jeho části, které se návrhář systému rozhodne použít, tj. slova, slabiky, fonémy, subfonémy, atd. Její velkou výhodou je její nezávislost na hovořícím, neboť model řeči je možno trénovat pro různé řečníky současně, jakož i lehké spojování jednotlivých modelů za sebou, což vede až ke spojitému rozpoznávání řeči. Metoda vzchází z konceptu Markovových řetězců prvého řádu, které matematicky jednoduchým způsobem popisují časový sled událostí pomocí stavů a jejich pravděpodobností. Díky tomu je výpočetně velmi efektivní, i když úplně neodráží přirozený časový vývoj běžné řeči.

Markovovův řetězec je dán stavy S1 až Sn, přechodovou maticí PNxNπ pravděpodobností přechodu mezi stavy a vektorem počátečních pravděpodobností π, následovně:

Potom pravděpodobnost výskytu nějaké posloupnosti stavů na nějakém modelu je dána

Takovýto model však neobsahuje žádné propojení stavu s vektorem příznaků. Když se předpokládá, že stav bude korespondovat s nějakou stacionární částí řeči, např. nějakou samohláskou, potom je zřejmé, že minimálně pro více hovořících bude existovat i více realizací vektoru příznaků.Proto musí stav v sobě zahrnovat dodatečnou pravděpodobnost s jakou generuje takovéto vektory v daném stavu, tj. P(X/ Si). Kombinací těchto pravděpodobností potom vznikne výsledný model nazývaný skrytý Markovovův model. Existují tři základní možnosti jak modelovat pravděpodobnost pozorování ve stavu. Podle toho rozlišujeme tři typy HMM:

- Diskrétní HMM
- Spojité HMM
- Polospojité HMM

Diskrétní HMM modely předpokládají, že vstupní posloupnost vektorů příznaků je konečná, což se realizuje pomocí vektorové kvantizace (VQ). Potom každý vstupní vektor je nahrazen některým z konečné množiny vektorů z kódové knihy. Jestliže VQ má L vektorů, pak v každém stavu je potřeba znát pravděpodobnost těchto vektorů, tedy jen L čísel.

Tento postup je poměrně jednoduchý a rychlý. Jeho další výhodou je jistá robustnost vůči malým zkreslením způsobených šumem.

Při procesu VQ se však dopouštíme trvalé kvantizačním chyby. Navíc, pro malý počet trénovacích vzorků a malý rozsah kódové knihy dochází k poměrně velké chybě.

Spojité HMM představují v současnosti ověřený standard, který poskytuje dobré výsledky pro široké spektrum použití.

Pravděpodobnost pozorování vektoru příznaků v daném stavu P(X/Si) je dána směsí Gaussových rozdělení takto:

Z uvedeného plyne,že takovýto model je dán vektory středních hodnot (μ), kovariančními maticemi (Σ) a váhami (ci).

Směs dvou Gaussových dvourozměrných rozdělení je zobrazena na obrázku.

Opis 2D priestoru pomocou dvoch Gaussových zmesí

Takovýto model je schopen dobře popsat prostor parametrů i při malém počtu vzorků.

Jeho nevýhodou je ale vyšší výpočetní i paměťová náročnost.

Polospojité HMM se snaží kombinovat výhody obou předchozích. Postup je takový, že se vytvoří jednotný popis vícerozměrného prostoru pomocí množiny Gaussových funkcí (může jich být až několik set) na rozdíl od VQ, kde jsou oblasti dány jen centroidamy. Tyto směsi jsou následně využívány všemi stavy společně, tj. nebude pro každý stav vytvořena vlastní množina Gaussových funkcí, čímž se zredukuje množství dat a ulehčí se i samotný výpočet. Potom se v jednotlivých stavech už jen pamatuje pravděpodobnost pozorování vektorů na dané směsi pro daný stav.

Příklad levopravého čtyřstavového diskrétního HMM modelu je znázorněn na obrázku.

Čtyřstavový levopravý diskrétní HMM model

Potom pravděpodobnost pozorování řetězce vektorů příznaků o délce T na modelu λ s N stavy se počítá rekursivně pomocí pomocné proměnné α.

kde

Výsledná pravděpodobnost je dána:

Potom se rozpoznávání provede zvolením HMM modelu λ s nejvyšší pravděpodobností, jak je to schematicky znázorněno na obrázku.

Princip rozpoznávání pomocí HMM

Je založena na konceptu Markovovy řady, díky čemuž je výpočetně velmi efektivní i přesto, že neodráží časový vývoj přirozené řeči. Tedy každý model se musí odhadnout použitím obvykle velmi velkého souboru trénovacích příkladů, které obsahují více nahrávek stejného slova (jeho různé vyslovení). HMM je definován apriorními pravděpodobnostmi (π) začátku v určitých stavech, přechodovou maticí (přechodové pravděpodobnosti mezi stavy, aij) a pravděpodobnostním rozdělením (likelihoods) generování pozorovacích vektorů v daném stavu, P (x/si). Tato rozdělení nejsou předem známa, ale většina těch široce používaných je směsí vícerozměrných normálních rozdělení (GMM). 4stavový model zleva doprava je znázorněn na obrázku níže.

Velkou výhodou HMM modelů je možnost zřetězení několika modelů do řetězce, tedy vyjádření libovolné délky může být vybudováno použitím souboru základních modelů.

V praktické situaci se kvůli rychlosti a řetězení modelů počítá pouze cesta s maximální pravděpodobností, např. P(x1 , St1 , x2 , St2, …, xT , StT ) a zpětně je určena posloupnost skrytých stavů, resp. modelů použitím Viterbiho algoritmu.

Složitou otázkou je trénování takovýchto modelů, tj. najít neznámé parametry, aby pro množinu pozorování daly maximální pravděpodobnost. Neexistuje analytické řešení tohoto procesu, a proto se provádí iteračně, přičemž je zaručeno nalezení pouze lokálního maxima. Existuje více způsobů výpočtu, ale nejznámějším je tzv. Baum-Welche algoritmus. Kromě trénovacích strategií je též důležitá struktura HMM modelu. Obvykle se užívá model zleva doprava pro řečové jednotky. Je všeobecně akceptováno, že každý akustický stav je modelován třemi stavy HMM za účelem zachycení jeho začátku, středu a končící části. Na základě teorie klasifikace jsou modely HMM náchylné na „nadměrné přeučení“. Proto se na detekci a prevenci tohoto fenoménu musí použít validační soubor.

Nejmodernější postupy dnes využívají diskriminativní trénování (MMI, MCE), anebo modelování pozorování ve stavech pomocí tzv. Support Vector Machines a Neuronových sítí (Deep belief networks).

Čtyřstavový model HMM zleva doprava

Potom pravděpodobnost pozorování řetězce vektorů vlastností v modelu λ je dána:

Potom rozpoznávání se provede volbou HMM modelu (λ) s nejvyšší pravděpodobností. Velkou výhodou HMM modelů je možnost zřetězení více modelů do řetězce, tedy vyjádření jakékoliv délky může být vybudováno použitím souboru základních modelů. V praktické situaci se počítá jen cesta s maximální pravděpodobností, např. P (x1, St1, x2, St2, …, xT, StT), a zpětně je určena posloupnost skrytých stavů (stavy se mohou vztahovat k posloupnosti slov) použitím Viterbiho algoritmu.

Kromě trénování strategií je též důležitá struktura HMM modelu. Obyčejně je použit model zleva doprava pro řečové jednotky a nejvšeobecnější je pravděpodobnost Bakisovy struktury. Je obecně akceptováno, že každý akustický stav je modelován třemi stavy HMM za účelem zachycení jeho začátku, středu a končící části. Základní HMM model může modelovat fonémy, slabiky, slova anebo i celé věty. Je to kompromis mezi přesností modelování a výpočetní flexibilitou a dostupností trénovacích dat. Některé častá, obvykle krátká slova mohou být modelována samostatným HMM modelem. Dobrou vyváženost možno dosáhnout tzv. navázaným trifónovým modelem, který používá většina existujících systémů. Nechť je použito jakékoliv trénovací kritérium, neexistují přesné vzorce pro optimální parametry, musí se tedy použít mnoho iteračních cyklů. Tím se však zabezpečí nalezení pouze lokálního maxima. Na základě teorie klasifikace jsou modely HMM náchylné na nadměrné přeučení, proto se na detekci a prevenci tohoto fenoménu musí použít validační soubor.