Rozpoznávání řeči Uvod do počítačového zpracování řeči Luděk Bártek Fakulta informatiky Masarykova univerzita podzim 2015 Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Q Rozpoznávání řeči Rozpoznávání izolovaných slov • Rozpoznávání plynulé promluvy Luděk Bártek Úvod do počítačového zpracování řeči r-, , , , v v. Rozpoznávam izolovaných slov Rozpoznávam reci Rozpoznávam plynule promluvy Cíle rozpoznávání řeči: • Interpretace příkazů uživatele -zařízení. • telefon • navigace asové ovládání různých Převod mluveného slova na text - přepis mluveného slova • záznamy soudních přelíčení • Druhy rozpoznávání řeči: • rozpoznávání izolovaných slov • rozpoznávání plynulé promluvy Luděk Bártek Úvod do počítačového zpracování řeči • Cíl - rozpoznání částí promluvy ohraničených z obou stran pauzou. • Uživatel může zadávat pouze jednotlivé povely nebo musí po vyřčení slova udělat pauzu. • Odpadá problém se stanovením rozhraní dvou slov/povelů. • Povel může být víceslovný, ale pro tyto účely představuje jedno slovo. • Obvykle jde o systémy závislé na uživateli • nutnost tréninku. • Mívají omezenou kapacitu slovníku • slovník - seznam rozpoznávaných slov. • Používají obvykle vektor příznaků. • Vektor hodnot získaných analýzou signálu (spektrum, kepstrum, energie, intenzity, ...). • Získán některou z metod krátkodobé analýzy. Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluvy Vel kto ry i P n ízr ía kŕ j a j jich porovnávání • Vektor příznaků • Vektorový prostor nad tělesem F je množina V společně s dvěma operacemi sčítání vektorů a násobení skalárem, které splňují následující axiomy: • (V, +) je komutativní grupa • Násobení skalárem (FxV —>> V) je asociativní a(bv) = ab(v) • lv=v, kde 1 je jednotkový prvek tělesa • a dále platí distributivní zákon: o a(v+w) = av + aw • (a+b)v = av +bv • Metrický prostor: Množina M se zobrazením d (metrikou), pro které platí: • c/(x,y) > 0 • d(x. y) = 0 <^> x = y • d(x,y) = c/(y,x) • c/(x,z) < c/(x,y) + cf(y,z) • Příklad metriky je např. Euklidovská vzdálenost. Luděk Bártek Úvod do počítačového zpracování řeči • Klasifikátory využívající porovnání slov metodou DTW (Dynamic Time Warping) • umožňují porovnání podobnosti dvou dynamických jevů, které probíhají různými rychlostmi. • Klasifikátory založené na statistických metodách • modelování pomocí skrytých M a r kovových modelů. • Hierarchické klasifikátory • Pracují hierarchicky: O Akustická analýza signálu. O Rozdělení signálu promluvy na segmenty. O Fonetické dekódování jednotlivých segmentů. O Rozpoznání slova (povelu) probíhá ve druhé vyšší úrovni na základě posloupnosti klasifikovaných segmentů. • Podobný princip se využívá pro rozpoznávání plynulé řeči. Luděk Bártek Úvod do počítačového zpracování řeči , , , v v. Rozpoznávaní izolovaných slov Doznávaní reci r-, , , , , ., J , Rozpoznávaní plynule promluvy *ní časové osy) • Používá se pro porovnání dvou úseků promluv (slov). • Úseky jsou vyjádřeny posloupností vektorů příznaků • úsek promluvy rozdělen do mikrosegmentů • klasifikovány souborem krátkodobých charakteristik • Postup: O Pro rozpoznávané posloupnosti vytvoříme soubor referenčních posloupností akustických vektorů. 0 Vytvoříme posloupnost akustických vektorů pro rozpoznávané slovo. O Metodou DTW porovnáme rozpoznávanou posloupnost s referenčními a vybereme tu, s největší shodou. Luděk Bártek Úvod do počítačového zpracování řeči Doznávání řeči R R ■ ■ znava znává DT Algoritmus hledá parametrizaci f,g takovou, že i=f(k)J=g(k), k=l, K, minimalizuje výraz: D(A B) = 5>(a(W), *(*(*))) k=l • d je vzdálenost mezi akustickými vektory (např. Euklidovská metrika) • Euklidovská metrika n 1 = 1 \ Luděk Bártek Úvod do počítačového zpracování řeči Omezující podmínky: • f,g - neklesající funkce • omezení na lokální souvislost a strmost: • 0 < f{k) - f(k - 1) < /* • 0>r(/) / = 1 Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluvy P(0\\) • Nevýhoda předchozího postupu: • ve výsledném vztahu jsou zahrnuty pravděpodobnosti všech možných posloupností stavů délky T • Lze nahradit výpočtem maximálně pravděpodobné posloupnosti Q. • Výpočet realizován pomocí Viterbiova algoritmu: • problém řešen rekurzivně s použitím techniky dynamického programování Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluvy Trénování parametrů modelu A = (/V, M,tt) • Nutno stanovit postup při trénování parametrů modelu • maximalizace pravděpodobnosti P(0\X) • neexistuje analytická metoda k zajištění globálního maxima • používají se iterativní algoritmy zajištující aspoň lokální maximalitu • Nejpoužívanější postup - Bauman-Welchův algoritmus. • Problém při trénování modelu: • vliv konečné trénovací množiny - čím menší je trénovací množina a čím vetší matice M, tím vetší pravděpodobnost, že některé prvky matice budou nastaveny na 0 - problém chybějících (neadekvátních) dat Luděk Bártek Úvod do počítačového zpracování řeči r-, , , , v v. Rozpoznávam izolovaných slov Rozpoznávam reci r-, , , , , ., J , Rozpoznávam plynule promluvy pravidlo - rozpoznávání slova rincip maximální věrohodnosti: • Pro neznáme slovo 0 určíme hodnoty P(0|A) pro všech modely A. • Jako výsledek vybereme třídu s maximální hodnotou. Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluv^ • Modelování povelů: • nejčastější se používají modely se 4-7 stavy • lze využít SW nástroje pro tvorbu H MM: • HTK - Hidden Markov Model ToolKit (http://htk.eng.cam.ac.uk/) • Modelování fonémů: • obvykle 4-7 stavů • model slova - zřetězení modelů fonémů • problémy s výpočtem v reálném čase • speciální algoritmy na vyhledávání Luděk Bártek Úvod do počítačového zpracování řeči Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluvy W MM pro fonémy Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluv^ Rozpoznávání řeči izolovaných slov • Určení začátku a konce promluvy: • šum kontra sykavky • detekce nahodilého zvukového vzruchu (klepnutí, ...) kontra okluzívy, které obsahují pauzy • možná přítomnost infrazvuku. Luděk Bártek Úvod do počítačového zpracování řeči Figure: Hláska P Luděk Bártek Úvod do počítačového zpracování řeči Hlavní rozdíly oproti rozpoznávaní slov: o nelze vytvořit analogii databáze vzorů • prozodické faktory • nutnost určovat hranice mezi slovy • výplň kove zvuky a chyby řeči Řešení - statistický přístup • použití jazykových modelů • HMM vrátí stejnou pravděpodobnost např. pro slova a nana O máma je častější - vhodné použít máma Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluv> Posloupnost slov (promluva) 1/1/ — (1/1/11/1/2 ... wn). Posloupnost akustických vektorů - O — 0(o\02 ... ot). Chceme nalézt l/l/* (množinu všech promluv) maximalizující P(W\0). Dle Bayesova pravidla platí: P( l/l/* | O) = max(P(W\0)) = max(P(W) * Pf{^}) Pro nalezení maxima potřebujeme znát: • model řečníka P(0\W) • jazykový model P (l/l/) Model řečníka se nahrazuje pravděpodobností generování W odpovídajícím Markovovým modelem. Trigramový model: • Platí: P(wn\ 1/1/1..wn-i) = P(wn\wn-2Wn-i) Luděk Bártek Úvod do počítačového zpracování řeči r-, , , , v v. Rozpoznávam izolovaných slov Rozpoznávam reci r-, , , , , J , Rozpoznávam plynule promluvy Rozpoznávání tématu - topic recognition • Úspěšnost rozpoznávání plynulé řeči 50-99 • úkolu • jazyku • mluvčím • ... • Úspěšnost rozpoznávání může zvýšit: • znalost tématu promluvy • použití gramatiky pro rozpoznávání řeči. • Mění se stavový prostor a pravděpodobnosti trigramů • např. mějme burzovní zprávy - bylo rozpoznáno slovo honey nebo money? • Známé téma - může být přesnější jazykový model. Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluvy Gramatiky pro pod poru rozpoznávání řeči • Umožňují omezit množinu rozpoznávaných promluv: • výhoda - vyšší úspěšnost rozpoznávání • nevýhoda - nižší volnost vyjadřování • Používají se bezkontextové gramatiky. • V praxi často používané formáty gramatik: • JSGF (http://www.w3.org/TR/jsgf/) - původně definována v Java Speech API (http://j ava.sun.com/products/j ava-media/speech/) • SRGS (http://www.w3.org/TR/speech-grammar/)-součást standardů W3C Voice Browser Activity (http://www.w3.org/Voice) • Určeny pro tvorbu dialogových a hlasových rozhraní. Luděk Bártek Úvod do počítačového zpracování řeči r-, , , , v v. Rozpoznávam izolovaných slov Rozpoznávam reci r-, , , , , J , Rozpoznávam plynule promluvy Ukázka gramatiky ve formátu JSGF #JSGF = Chci jet .| Chci jet z do .| Chci jet z do v .; = vlakem | autobusem; = ; = ; = ; Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluvy Ukázka od povídající gramatiky v XML formátu SRGS Chci jet . Chci jet z do • • • Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluvy l Ukázka od Pokračování povíd lající gramatiky v XML formátu SRGS vlakem