Štandardné metódy rozpoznávania hlasu
Tento proces sa skladá z niekoľkých častí, ktoré zahŕňajú nahranie signálu, jeho predspracovanie a samotnú klasifikáciu.
Vstupný signál je najprv nahraný, uložený v digitálnej forme. Prvé predspracovanie sa snaží upraviť signál tak, aby zvýšila úspešnosť a znížila zložitosť určenia hraníc slov. Po určení hraníc sa už teda môžeme baviť o jednotlivých vzorkách (ktoré môžu byť alternatívnym vstupom) . Tieto vzorky následne predspracujeme druhýkrát, tento krát už pre samotný klasifikátor. Spravidla sa jedná o nejakú redukciu informačného toku, pričom sa snažíme zachovať charakteristické rysy danej vzorky. Klasifikátor ako posledný prvok má za úlohu samotné rozpoznanie.
Detekcia hraníc slov
Určenie hraníc (speech – nonspeech problém) je významný článok v procese rozpoznávania. Cieľom je čo najpresnejšie rozdeliť vstupný signál na šum a rečový akt. Menší vstup = rýchlejší výpočet, čo je dôležité hlavne pri real-time klasifikátoroch. Na druhú stranu si nemôžeme dovoliť príliš tesne orezávanie, pretože pre mnohé spoluhlásky sú charakteristické práve okrajové časti vzoriek a hrozilo by, že by sme o ne prišli. Volí sa preto určitý kompromis, ktorý sa snaží určiť hranice čo najpresnejšie, ale ak to nemá byť úplne presne, tak radšej nech je toho viac ako menej. Ako základné metódy detekcie sa používajú funkcie krátkodobej energie KKUI FEI 20 (intenzity) signálu a krátkodobej funkcie stredného počtu priechodov nulou. Ich prednosťou je výpočtová, nenáročná a relatívne vysoká spoľahlivosť. Signál, ktorý prichádza nepretržite ako vstup, spracovávame po malých častiach, pričom pre každú túto časť vypočítame hodnotu spomenutých funkcií. Ak prekročia vopred stanovený prah, tak to vyhodnotíme ako začiatok slova.
Sekundárne spracovanie
Rečový signál nesie množstvo informácii, ktoré nie sú pre samotnú klasifikáciu potrebné. Jedná sa napríklad o intonáciu, farbu hlasu, tempo reči. Sekundárnym spracovaním sa preto snažíme zo vzoriek získať práve tie charakteristické informácie, aby sme teda znížili dátový tok a urýchlili proces rozpoznávania. Sekundárne spracovanie signálu je zvyčajne založené na diskrétnej Fourierovej transformácii (DFT), diskrétnej kosínusovej transformácii (DCT) alebo lineárnej prediktívnej analýze (LPC). O porovnanie viacerých metód spracovania sa pokúsil Biswas. Jednalo sa o Mel Frequency Cepstrum Coefficients (MFCC), Linear Frequency Cepstrum Coefficients (LFCC), Linear Prediction oefficients(LPC), Linear Prediction Cepstrum Coefficents (LPCC) a Reflection Coefficients (RC). Z tohto porovnania vyšla najlepšia prvá spomenutá metóda – MFCC. MFCC využíva DFT, DCT a Mel scale – logaritmickú stupnicu, ktorá zohľadňuje to, že človek lepšie rozlišuje nižšie, ako vyššie frekvencie. Ako najväčší problém je určiť správne parametre, aby sa dosiahla čo najväčšia úspešnosť. Jeden z najúspešnejších klasifikátorov izolovaných hlások používal 12 MFCC koeficientov, 12 delta koeficientov, energiu a energiu delta koeficientov. Využíval ISOLET databázu a dosahovaná úspešnosť sa blížila k 97.37%.
Klasifikátor
Úlohou klasifíkátora je zatriediť vzorku do jednej z dopredu definovanej triedy. Keďže pre praktické využitie rozpoznávania je potrebné, aby tento proces prebiehal v reálnom čase (0,5 – 1 sekundu po vyslovení), tak sa snažíme tento proces čo najviac optimalizovať – a to napriek neustále sa zvyšujúcim výpočtovým možnostiam. Najznámejšie prístupy pri klasifikácii sú:
· Dynamic Time Warping (DTW)
· Hidden Markov Model (HMM)
· Neurónové siete
Dynamic Time Warping (DTW)
Najpopulárnejšia metóda na kompenzovanie variability rýchlosti reči v systémoch založených na porovnávaní vzorov sa volá DTW. Tento textovo závislý model je vlastne sekvencia vzorových vektorov (x1, . ., xN ), ktoré sa porovnávajú so vstupnou sekvenciou (y1, . . , yM ).
Vo všeobecnosti sa N nerovná M, pretože človeku sa nikdy nepodarí vysloviť niečo dvakrát presne rovnako rýchlo. Preto je použité asymetrické skóre zhody z, ktoré sa počíta ako
z =M
i=1
d(yi, xj(i))
kde indexy vzorových vektorov j(i) sa získajú ako výstup samotného DTW algoritmu. Pri danom referenčnom a vstupnom signáli, DTW vykoná vektor po vektore lineárnu transformáciu - mapovanie jednej (alebo oboch) časovej osi tak, aby zarovnal oba signály a zároveň minimalizoval ich vzdialenosť. Toto mapovanie sa hľadá pomocou dynamického programovania a odtiaľ je odvodený aj názov tejto metódy. Napočítaná vzdialenosť sa nakoniec stane základom pre skóre zhody. Táto metóda zohľadňuje časové parametre (tzv. trajektórie), ktoré korešpondujú s dynamickou konfiguráciou artikulátorov a hlasového traktu. Ak by boli obidva signály identické, cesta by bola diagonálna čiara a zarovnávanie by nemalo
žiaden efekt. Vzdialenosť' dvoch signálov je nazbieraná odchýlka od čiarkovanej cesty.
Hiden Markov model (HMM)
Ako už bolo spomínané vyššie, človek vytvára reč artikuláciou. Pri vyslovovaní slov mení vzájomné polohy orgánov hlasového ústrojenstva, mení tlak vzduchu, ktorý nimi prechádza. Teda hlasový trakt sa postupne počas vyslovovania slov nachádza v určitých stavoch. V každom stave vzniká nejaký zvuk, ktorý je pre daný stav typický. Prechod z jedného stavu do iného je síce plynulý (a aj reč je vďaka tomu plynulá), ale ak rozdelíme reč na dostatočne krátke úseky (okolo 10 ms) tak ju môžeme považovať' za diskrétnu, teda akoby v určitých taktoch prechádzal hlasový trakt z jedného stavu do druhého a postupne generoval zvuky. Ľudskú reč potom môžeme modelovať' pomocou konečnostavového automatu, ako je HMM.
Skrytý Markovov model je štatistický model, v ktorom sa modelovaný systém považuje za Markovov proces (proces, kde pravdepodobnosti prechodov do d'al'šieho stavu závisia iba od súčasného stavu) so skrytými parametrami, a úlohou je určiť' tieto skryté parametre z parametrov pozorovaných. Získané parametre modelu potom môžu byt' použité na d'al'šiu analýzu (napr. v tomto prípade rozpoznávanie určitých typov). V bežnom Markovovom modeli je stav priamo viditeľný pozorovateľovi, a preto pravdepodobnosti prechodov medzi stavmi sú jediné parametre. V skrytom Markovovom modeli stav nie je viditeľný riamo, iba parametre, ktoré sú týmto stavom ovplyvnené. Každý stav môže generovať' výstupné symboly s určitou pravdepodobnosťou, ktoré sa nazývajú pozorovania (observations). Ak potom HMM vygeneruje nejakú postupnosť' symbolov, táto nesie určitú informáciu postupnosti stavov, cez ktoré HMM prešiel.
Predpokladajme, že máme priateľa, ktorý žije d'al'eko od nás, a o ktorom sa dozvieme iba, čo robil každý deň. Náš priateľ' sa zaujíma iba o tri aktivity: prechádzka po parku, a kupovanie a upratovanie svojho bytu. Voľba, akú aktivitu si v daný deň vyberie, je závislá ba na počasí v ten deň. Nemáme síce žiadnu presnú informáciu o počasí u nášho priateľa, ale poznáme trendy zmien počasia. Na základe toho, aké aktivity náš priateľ' vykonával chceme odhadnúť' počasie.
Dôležitý je v týchto úvahách predpoklad, že počasie sa správa ako diskrétny Markovov proces. Ten má dva stavy, ,,Dážď" a ,,Slnečno", ale tie nemôžeme pozorovať' priamo, teda sú pre nás skryté. Každý deň existuje určitá šanca závislá od počasia, že náš priateľ bude vykonávať' jednu z nasledujúcich aktivít: prechádzka, nákup, upratovanie. Pretože sa o týchto aktivitách dozvieme, sú to naše pozorovania. Celý tento systém je modelom HMM. Poznáme trendy počasia a aktivity nášho priateľa. Teda parametre HMM sú známe:
Stavy ,,Dážd'", ,,Slnečno" Pozorovania ,,Prechádzka", "Nákup", "Upratovanie"
Prechodová funkcia
Dážd' : Dážd' = 0,8 Slnečno = 0,2
Slnečno : Dážd' = 0,5 Slnečno = 0,5
Výstupné pravdepodobnosti
Dážd' : Prechádzka = 0.1 Nákup = 0.2 Upratovanie = 0.7
Slnečno : Prechádzka = 0.5 Nákup = 0.4 Upratovanie = 0.1
Prechodová funkcia reprezentuje zmeny počasia (stavov) v Markovovom procese a vyjadruje pravdepodobnosti, že HMM prejde zo stavu A do stavu B. Výstupné pravdepodobnosti reprezentujú závislosť' aktivít nášho priateľa od momentálneho počasia, alebo pravdedobodnostnú distribučnú funkciu stavu.
S HMM sú spojené tri základné problémy:
ˇ pri daných parametroch modelu spočítať' pravdepodobnosť' určitej konkrétnej sekvencie. V našom príklade napr. otázka: Aká je pravdepodobnosť' postupnosti Prechádzka, Prechádzka, Upratovanie? Tento problém sa rieši pomocou forward-backward algoritmu
ˇ pri daných parametroch modelu nájsť' najpravdepodobnejšiu sekvenciu skrytých stavov, ktorá mohla vygenerovať' výstupnú sekvenciu. Príklad: Náš priateľ' vykonal aktivity v tejto následnosti: Nákup, Upratovanie, Nákup, Nákup, prechádzka. Ako sa
najpravdepodobnejšie menilo počasie? Tento problém sa rieši pomocou Viterbiho algoritmu
ˇ pri danej výstupnej sekvencii (alebo sade takýchto sekvencií) nájsť' najpravdepodobnejšiu sadu stavov, prechodových a výstupných pravdepodobností. Inými slovami natrénovať parametre HMM na danú sadu sekvencií. Tento problém sa rieši pomocou Baum-Welchovho algoritmu. Keďže neexistuje analytické vyjadrenie vzťahov medzi pravdepodobnosťami jednotlivých
stavov a výstupom, neexistuje ani priamy spôsob inicializácie automatu. Na vytvorenie konkrétneho automatu sa používa "trénovací" forward-backward rekurzívny algoritmus založený na Baum-Welchovej formule približovania parametrov.
Neurónové siete
Rozpoznávanie pomocou neurónových sietí je hybridom medzi prístupmi akustickej fonetiky a rozpoznávania vzorov tým, že využíva myšlienky a koncepty oboch metód. Pri rozpoznávaní reči neurónovými sieťami sa využíva ich schopnosť' asociovať', teda triediť' prvky podľa nejakých vlastností do tried.
Neurónové siete sa snažia automatizovať' proces rozpoznávania na základe princípu, akým ľudia používajú inteligenciu. Toto sa využíva na vizualizáciu, analýzu a nakoniec aj pri rozhodnutí o nameraných akustických charakteristikách. Najdôležitejšími technikami použitými v tejto triede sú predovšetkým metódy na segmentáciu a značkovanie. Použitie neurónových sietí sa dá pritom považovať' aj ako unikátny prístup k rozpoznávaniu reči, tak j ako implementačná architektúra včlenená do niektorého z predchádzajúcich prístupov. eurónová sieť' je tvorená z elementárnych prvkov tzv. neurónov (alebo perceptrónov).Tie sú usporiadané do vrstiev a pospájané tak, že každý neurón z vyššej vrstvy je spojených s každým neurónom nižšej vrstvy. Každý neurón dostane na vstupy (spoje prichádzajúce od iných neurónov) vstupné signály. Každý zo vstupov má vlastnú váhu. Ak súčet signálov prenásobených váhami presiahne určitú hranicu (tzv. prah excitácie) neurón pošle výstupný signál 1. Inak posiela signál 0.
Viacvrstvé neurónové siete sú schopné vykonávať' skoro každý lineárny alebo nelineárny výpočet a môžu s ľubovoľnou presnosťou reprezentovať' každú rozumnú funkciu. Tento typ sietí rieši aj problémy jednoduchších lineárnych neurónových sietí. Na druhej strane aj keď trénovaná sieť teoreticky by mala vo výslednej konfigurácii fungovať' správne, trénovací algoritmus nemusí túto konfiguráciu vždy nájsť'.

Komentáre