Rečový signál vytvárajú ľudské orgány reči a pôvodne je reprezentovaný vlnením vzduchu. Okrem iného v sebe obsahuje lexikálnu zložku, ktorá je pre rozpoznávanie reči kľúčová. Lexikálna informácia je zakódovaná v akustickom signáli ako sekvencia akusticky odlišných zvukov. Každý jazyk obsahuje vlastnú sústavu základných zvukov, ktoré sú priradené k fonémam. Napríklad v slovenčine ich je 51. Nanešťastie, bežne vyslovené fonémy sa navzájom ovplyvňujú v časovej aj vo frekvenčnej oblasti, takže vytvárajú akusticky odlišné zvuky. Okrem toho sa každá fonéma líši s každým jej vyhovorením a u každého rečníka (obsahuje charakteristické informácie o rečníkovi). V každom reálnom prostredí ešte navyše existuje aditívny a konvolutórny šum, ktorý situáciu ďalej sťažuje. A aby toho nebolo málo, každý jazyk obsahuje obrovskú slovnú zásobu, zvyčajne niekoľko stoviek tisíc slov, z ktorých každé môže nadobúdať viacero tvarov (pádov, časov, atď.). Je jasné, že úloha je dosť zložitá a výpočtovo náročná.
Bolo vyvinutých mnoho systémov, takže existujú ich základné klasifikácie: systémy s malou, strednou a veľkou slovnou zásobou, systémy závislé a nezávislé od rečníka, systémy na báze foném, slov alebo fráz, systémy pre samostatné slová (diktačné) alebo aj spojitú reč a podobne. V súčasnosti už boli prezentované systémy pracujúce s viac ako 100 tisíc slovami v reálnom čase.
Po mnoho desaťročí sa veľké úsilie vynakladalo na stavbu a využitie systémov ASR (Automated Speech Recognition) v oblastiach ako sú systémy na prístup k informáciám, dialógové systémy, atď., avšak až s rastúcimi technologickými možnosťami sa začínajú vytvárať náročnejšie systémy: diktačné systémy, či dokonca automatický prepis prirodzenej reči. Tieto pokročilé systémy musia byť schopné prevádzky v reálnom čase, byť nezávislé od rečníka, dosahovať vysokú presnosť a podporovať slovníky pozostávajúce zo stoviek tisíc slov. V súčasnosti existujú systémy na rozpoznanie spojitej alebo diktovanej reči v reálnom čase, pričom veľkosť slovníka sa pohybuje v rádoch stoviek tisíc slov.
Ako už bolo povedané v úvode, reč je komplexný signál tvorený hlasovými orgánmi človeka. Takýto signál v sebe obsahuje rôzne typy informácií ako: čo sa hovorí, kto hovorí, akú má náladu, odkiaľ pochádza (dialekt), aké má sociálne pozadie, je chorý, má rečovú vadu a mnoho ďalších. Tieto všetky informácie sú nepriamo „zakódované“ pomocou mozgu a hlasových orgánov do výstupného rečového signálu.
Podľa šírky efektívneho spektra reči a počtu potrebných kvantizačných úrovní sa dá odhadnúť informačný tok rečového signálu, ktorý sa pohybuje okolo 100 kbit/s. Keď sa ale bude skúmať informačná hodnota lexikálnej zložky obsiahnutej v rečovom signáli je podstatne nižšia cca. 10 bit/s.
Je teda zrejmé, že z reči je potrebné extrahovať len veľmi malé množstvo informácie, ktoré bude odrážať práve lexikálnu zložku. Táto úloha je však veľmi komplikovaná, lebo proces „kódovania“ všetkých zložiek do výsledného rečového signálu je zložitý a nie úplne reverzibilný. Preto v prvom kroku návrhu ASR systému sa rozhoduje, ktorú techniku výberu „lexikálnych“ vlastností použiť. Je množstvo metód, ktoré buď simulujú tvorbu rečového signálu (lineárny model tvorby reči) alebo častejšie sa snažia simulovať ľudský sluchový systém, matematicky ho popísať, zjednodušiť pre praktické spracovanie a prípadne ho prispôsobiť pre správne a jednoduché používanie s vybranými typmi klasifikačných metód. To má vplyv na efektívne potlačenie aditívnych a konvolučných šumov, ktoré sú prítomné v bežných podmienkach. Predpokladá sa totiž, že evolúcia selektívnym výberom „nastavila“ sluchové orgány spolu s príslušnými časťami mozgu tak, aby tie boli čo najviac citlivé práve na reč a lexikálnu informáciu, čím potláčajú ostatné rušivé vplyvy.
Žiadané vlastnosti metód extrahujúcich lexikálnu informáciu sú okrem redukcie bitovej náročnosti aj vysoká citlivá na zmeny zvuku, ktoré sú u ľudí vnímané ako rôzne a naopak mala by byť „hluchá“ na tie, ktoré ostávajú nepovšimnuté pre náš sluchový systém. Ukázalo sa, že významnými indikátormi rozdielu sú tzv. formantové frekvencie. Na nasledujúcich obrázkoch sú nakreslené frekvenčné spektrum signálu a jeho časový priebeh. Vo frekvenčnom spektre sú vyznačené polohy formantových frekvencií (z čoho je jasný aj ich význam) ako aj obálka spektra, ktorá súvisí s postavením hlasových orgánov pri vyslovení hlásky „e“. Na obrázku časového priebehu hlásky „e“ je dobre pozorovať hlasivkovú frekvenciu.
Aby bolo zrejmé ako formanty súvisia s vyslovovaním rôznych samohlások, je v tabuľke naznačené aké sú priemerné polohy prvých troch formantových frekvencií pre mužov a ženy, z nich je zrejmý kladný posun ich polohy pre ž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áklade množstva experimentov bolo zistené, že nasledujúce fenomény sú posudzované ako výrazne vnímateľné:
Naopak, vo všeobecnosti existujú nasledovné spektrálne rozdiely, ktoré neprispievajú k výrazne odlišnému vnemu zvukov:
Navyše, vlastnosti extrahovaných príznakov by nemali byť citlivé na aditívny (šum pozadia) a konvolutórny (vplyv nahrávacieho zariadenia a miestnosti - ozveny) šum. Tieto podmienky je ale ťažko súčasne splniť. Preto je vhodné, aby aspoň rečové príznaky boli prezentované tak, že tieto rušenia budú v priestore vlastností ľahko lokalizovateľné a potlačiteľné. Navyše, dobré príznaky musia byť ľahko extrahovateľné súčasnými matematickými postupmi a technickým vybavením v reálnom čase.
Súčasne najpreferovanejšie akustické príznaky sú MFCC a PLP, ktoré sú navrhnuté na zachytávanie pozícií a šírok formantov, ktoré sú akusticky vnímateľné. Samozrejme existuje celý rad ďalších metód, ktoré môžu dosahovať ešte lepšie vlastnosti, ale tie sú zväčša špecializované na užšiu oblasť praktického použitia, napr. sú určené pre konkrétne prostredie.
Skratka MFCC znamená Melove frekvenčné kepstrálne koeficienty. Tieto koeficienty teda opisujú modifikované kepstrálne koeficienty, ktoré sú počítané nie vo frekvenčnej ale Melovej škále, ktorá lepšie odráža psychoakustické vlastnosti ľudského vnemu. Postup výpočtu MFFC koeficientov je graficky znázornený na obrázku.
Skratka PLP znamená perceptuálne lineárne predikčne koeficienty. Tieto koeficienty tiež opisujú modifikované kepstrálne koeficienty, ale ich postup extrakcie je komplexnejší ako v prípade MFCC, lebo zahŕňa viac psychoakustických javov. Ich výpočet je nasledovný: segmentácia signálu a Hammingove váhovanie, výpočet spektra (fft), transformacia na Barkovú frekvenčnú os, vyhľadenie(DP filtrácia) Barkovho spektra, ktoré simuluje funkciu kritické pásma, vzorkovanie spektra, ktoré zodpovedá šírke kritického pásma, teda 1 bark, váhovanie kopírujúce krivku rovnakej hlasitosti, transformácia energie do hlasitosti, výpočet modelu produkcie reči (LPC), prepočet modelu do kepstra. I napriek zložitejšiemu výpočtu často MFCC a PLP poskytujú podobné výsledky.
Reč je úzko spätá s plynutím času, preto je veľmi dôležité v základných akustických parametroch obsiahnuť aj ich vývoj v čase. Na tento účel sa používajú dynamické koeficienty, ktoré aproximujú prvú a druhú deriváciu príznakov v čase. Ďalším parametrom je energia signálu. Samotná energia však prirodzene nenesie dostatok akusticky diskriminačnej informácie, preto sa používa len zriedka, čo ale neplatí o jej dynamických vlastnostiach v čase, ktoré v hrubý črtách opisujú plynutie reči.
Na záver by sa malo poznamenané, že úloha extrakcie príznakov pre svoju komplexnosť nie je do teraz celkom vyriešená a je stále vynakladané množstvo úsilia v tejto oblasti. Existuje veľa príznakov a metód ich výpočtu, ale zatiaľ žiadna úplne nespĺňa všetky požadované vlastnosti.
Po extrahovaní vhodných príznakov reči je každé prehovorenie opísané ako časová postupnosť vektorov príznakov. V ďalšom kroku je preto potrebné porovnať neznámu postupnosť príznakov, ktorá môže zodpovedať buď slovu, fráze alebo aj celej vete so vzorom, o ktorom vieme akému vyhovoreniu patril. Tieto vyhorenia však museli existovať vo fáze trénovania. Podľa toho či rozpoznávanie je založené na rozpoznávaní menších akustických jednotiek ako fonémy, či slabiky alebo väčších ako sú slová či celé frázy, rozlišujeme systémy založené na rozpoznávaní a modelovaní jednotiek menších ako slova, napr. hlásky, celých slov, alebo fráz. Pri celých frázach alebo slovách je možné postihnúť tzv. koartikulačný jav, kedy výslovnosť jednotlivých hlások je ovplyvnená výslovnosťou konkrétneho slova. To však naráža na problém, že všetky slová alebo frázy musia byť v trénovacej databáze obsiahnuté viac krát, čo je pri veľkých slovníkoch nerealizovateľné. Lepšou voľbou je použiť jednotky menšie ako slovo, ktorých je menší počet, tie ale nemusia postihnúť fenomén koartikulácie. Ďalej sa systémy delia podľa toho či rozpoznávajú izolované slová alebo spojitú reč, čo je zložitejší problém, keďže nie je jasné, kde jednotlivé slová začínajú a končia. Špecifický problém porovnania vzorov medzi referenčnou (známou) a neznámou vzorkou reči spočíva v tom, že aj rovnaké vyhovorenia môžu a skoro vždy aj majú rôzne dĺžky (počty vektorov príznakov). Situácia sa komplikuje tým, že dochádza k nerovnomernému predlžovaniu alebo skracovaniu jednotlivých častí (hlások) v rámci slov. Preto nie je vhodné použiť jednoduché princípy lineárneho skrátenia (decimácia) lebo predĺženia (lin. interpolácia) postupnosti vektorov. Existuje viacero metód, ktoré sa pokúšajú riešiť tento problém, ale najúspešnejšie z nich sú DTW a HMM. Preto v ďalšom texte budú obe v jednoduchosti opísané.
DTW (dynamic time warping) je metóda, ktorá slúži na akustické porovnávanie dvoch vzorov (príznakov reči) referenčného a vstupného slova, pričom sú zohľadnené špecifické vlastnosti reči. Ide hlavne o nelineárnu časovú mierku pri porovnávaní príznakov prislúchajúcich ku vzorovému a testovanému slovu. Táto vlastnosť je nutná na elimináciu vplyvu rôznych dĺžok výpovedí rovnakého slova. Ďalej v sebe zahŕňa riešenie častého prípadu variácií rôznych dĺžok jednotlivých hlások vo vnútri slova, čo sa nedá riešiť jednoduchým lineárnym prečíslovaním (natiahnutím, resp. stlčením) časovej osi referenčného alebo testovaného vyhovorenia.
V základnom použití tejto metódy sa predpokladá poznanie presných hraníc oboch porovnávaných vyhovorení. To si v praxi vyžaduje dodatočné použitie algoritmu detekcie reči.
Jadro metódy vychádza z princípu dynamického programovania riešiaceho problém nájdenia minimálnej cesty medzi dvoma bodmi na stanovený počet krokov. Teda hľadá sa nelineárne mapovanie (ohýbanie času) indexov (vektorov) neznámeho slova na referenčné, aby bola dosiahnutá najmenšia akustická vzdialenosť medzi nimi. Toto mapovanie musí ale spĺňať isté prirodzené požiadavky ako sú: začiatočné a konečné vektory slov sa musia mapovať na seba, funkcia času pre indexy referenčných ako aj testovacích vektorov musí byť rastúca, a musí existovať nejaký rozumný prah maximálnej časovej vzdialenosti medzi mapovaným indexom referenčným a testovacím. Pri samotnom výpočte sa používajú dve matice, jedna tzv. lokálna, kde sú vypočítane akustické vzdialenosti jednotlivých vektorov príznakov reči medzi sebou a druhá globálna, v ktorej sa kumulujú tieto chyby pri hľadaní možných minimálnych ciest s prihliadnutím na rôzne lokálne obmedzenia na pohyb vpred. Ukážka globálnej matice vzdialeností je na obrázku.
Na ďalšom obrázku sú zase pre úplnosť zobrazené niektoré z používaných lokálnych ciest aj s váhovaním.
Metóda mala významné postavenie v začiatkoch budovania jednoduchých ASR systémov, ale vzhľadom pre potreby kontinuálneho rozoznávania reči, kde je treba slová radiť jednoduchým spôsobom za sebou, pričom sa ešte vyžaduje aj nezávislosť od hovoriaceho, stratila svoj význam a bola pre väčšie aplikácie úspešne nahradená štatistickou metódou modelovania reči pomocou HMM.
Metóda skrytých Markovových modelov je založená na štatistickom modelovaní rečového signálu, respektíve jeho častí, ktoré sa návrhár systému rozhodne použiť, t.j. fonémy, slabiky, slová, frázy atď. Jej veľkou výhodou je jej nezávislosť od hovoriaceho, lebo model reči je možné trénovať pre rôznych hovoriacich súčasne ako aj ľahké spájanie jednotlivých modelov za sebou, čo vedie až ku spojitému rozpoznávaniu reči. Metóda vychádza z konceptu Markovových reťazcov prvého radu, ktoré matematicky jednoduchým spôsobom opisujú časový sled udalostí pomocou stavov a ich pravdepodobností. Vďaka tomu je výpočtovo veľmi efektívna aj napriek tomu, že úplne neodráža prirodzený časový vývoj bežnej reči.
Markovov reťazec je daný stavmi S1 až SN, prechodovou maticou PNxN pravdepodobností prechodu medzi stavmi a vektorom počiatočných pravdepodobností π, nasledovne:
Potom pravdepodobnosť výskytu nejakej postupnosti stavov na nejakom modeli je daná nasledovne:
Takýto model však neobsahuje žiadne spojenie stavu s vektorom príznakov. Ak sa predpokladá, že stav bude korešpondovať s nejakou stacionárnou časťou reči napr. nejaká samohláska, potom je zrejmé, že minimálne pre viacero hovoriacich bude existovať aj viacero realizácií vektora príznakov. Preto stav v sebe musí ešte obsahovať aj dodatočnú pravdepodobnosť s akou generuje takéto vektory v danom stave, t.j. P(X/Si). Kombináciu týchto pravdepodobností potom vznikne výsledný model nazývaný skrytý Markovov model. Existujú tri základné možnosti ako modelovať pravdepodobnosť pozorovania v stave. Podľa toho rozlišujeme tri typy HMM:
Diskrétne HMM modely predpokladajú, že vstupná postupnosť vektorov príznakov je konečná čo sa realizuje pomocou vektorovej kvantizácie (VQ). Potom každý vstupný vektor je nahradený niektorým z konečnej množiny vektorov z kódovej knihy. Ak má VQ L vektorov, potom v každom stave je potrebne poznať pravdepodobnosť týchto vektorov, teda len L čísel.
Tento postup je pomerne jednoduchý a rýchly. Jeho ďalšou výhodou je istá robustnosť voči malým skresleniam spôsobených šumom.
Pri procese VQ sa však dopúšťame trvalej kvantizačnej chyby. Navyše, pre malý počet trénovacích vzoriek a malý rozsah kódovej knihy sa dosahujú pomerne veľké chyby.
Spojité HMM predstavujú v súčasnosti overený štandard, ktorý poskytuje dobré výsledky pre široké spektrum použitia.
Pravdepodobnosť pozorovanie vektora príznakov v danom stave P(X/Si) je daná zmesou Gaussových rozdelení nasledovne:
Z uvedeného vyplýva, že takýto model je daný vektormi stredných hodnôt (μ), kovariančnými maticami (Σ) a váhami (ci).
Zmes dvoch Gaussových 2 rozmerných rozdelení je zobrazená na obrázku.
Takýto model je schopný dobre popísať priestor parametrov aj pri malom počte vzoriek.
Jeho nevýhodou je ale vyššia výpočtová aj pamäťová náročnosť.
Polo-spojité HMM sa snažia kombinovať výhody oboch. Postup je taký, že vytvorí jednotný opis viacrozmerného priestoru pomocou množiny Gaussových funkcií (môže byť ich aj niekoľko stoviek) na rozdiel od VQ, kde sú oblasti dané len centroidmi. Tieto zmesi sú následne využívané všetkými stavmi spoločne, t.j. nebude pre každý stav vytvorená vlastná množina Gaussových funkcií, čim sa zredukuje množstvo dát a uľahčí sa aj samotný výpočet. Potom v jednotlivých stavoch sa už len pamätá pravdepodobnosť pozorovania vektorov na danej zmesi pre daný stav.
Príklad ľavo pravého 4 stavového diskrétneho HMM modelu je znázornený na obrázku.
Potom pravdepodobnosť pozorovania reťazca vektorov príznakov o dĺžke T na modeli λ s N stavmi sa počíta rekurzívne pomocou pomocnej premennej α:
, kde
a
Výsledná pravdepodobnosť je daná:
Potom rozpoznávanie sa vykoná zvolením HMM modelu (λ) s najvyššou pravdepodobnosťou tak, ako je schematický zobrazené na obrázku.
Veľkou výhodou HMM modelov je možnosť zreťazenia viacerých modelov do reťazca, teda vyjadrenie akejkoľvek dĺžky môže byť vybudované použitím súboru základných modelov.
V praktickej situácii sa kvôli rýchlosti a reťazeniu modelov počíta iba cesta s maximálnou pravdepodobnosťou, napr. P(x1,St1,x2,St2,…xT,StT), a spätne je určená postupnosť skrytých stavov, resp. modelov použitím Viterbiho algoritmu.
Zložitá otázka je trénovanie takýchto modelov, t.j. nájsť neznáme parametre, aby pre množinu pozorovaní dali maximálnu pravdepodobnosť. Neexistuje analytické riešenie tejto úlohy a preto sa robí iteračne, pričom je zaručené nájdenie len lokálneho maxima. Existuje viacero spôsobov výpočtu, ale najznámejší je tzv. Baum-Welche algoritmus. Okrem trénovacích stratégií je tiež dôležitá štruktúra HMM modelu. Zvyčajne je použitý model zľava doprava pre rečové jednotky. Je všeobecne akceptované, že každý akustický stav je modelovaný troma stavmi HMM za účelom zachytenia jeho začiatku, stredu a končiacej časti. Na základe teórie klasifikácie sú modely HMM náchylné na nadmerné preučenie, preto sa na detekciu a prevenciu tohto fenoménu musí použiť validačný súbor.
V súčasnosti najmodernejšie postupy využívajú diskriminatívne trénovania (MMI, MCE), alebo modelovanie pozorovaní v stavoch pomocou tzv. Support Vector Machines a Neurónových sieti (Deep belief networks).