Uvod do počítačového zpracování řeči Luděk Bártek Fakulta informatiky Masarykova univerzita podzim 2014 Luděk Bártek Úvod do počítačového zpracování řeči Obsah Luděk Bártek Úvod do počítačového zpracování řeči Cíle rozpoznávání řeči 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 Úvod • 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 Vektory příznaků a jejich 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) • d{x,z) < c/(x,y) + c/(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 • 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. Q Rozdělení signálu promluvy na segmenty. O Fonetické dekódování jednotlivých segmentů. 0 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 Metoda DTW (Borcenŕ časové osy) • Používá se pro porovnaní 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ů. O 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 Metoda DTW Pokračování • Algoritmus hledá parametrizaci f,g takovou, že i=f(k)J=g(k), k=l, K, minimalizuje výraz: D(A,B) = Y,d(a(f(k)),b(g(k))) k=l • d je vzdálenost mezi akustickými vektory (napr. Euklidovská metrika) • Euklidovská metrika i=l d(a, b) = \ Luděk Bártek Úvod do počítačového zpracování řeči Metoda DTW (2.) Omezující podmínky: • f,g - neklesající funkce • omezení na lokální souvislost a strmost: • 0 < f{k) - f(k - 1) < /* • 0>T(/) / = 1 Luděk Bártek Úvod do počítačového zpracování řeči Alternativní způsob výpočtu P(0\X) • 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 Trénování parametrů modelu A = (A/, M,7r) • 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 Rozhodovací pravidlo - rozpoznávání slova • Princip maximální věrohodnosti: • Pro neznámé slovo 0 určíme hodnoty P(0|A) pro všechna 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 Implementace • 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 Príklady struktur HMM pro fonémy Luděk Bártek Úvod do počítačového zpracování řeči Príklady struktur HMM pro fonémy Luděk Bártek Úvod do počítačového zpracování řeči Obtíže pri rozpoznávání 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 Ukázka plozívy Luděk Bártek Úvod do počítačového zpracování řeči Úvod • Hlavní rozdíly oproti rozpoznávání 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 "máma" 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 Jazykové modely Posloupnost slov (promluva) 1/1/ — (1/1/11/1/2 ... wn). Posloupnost akustických vektorů - O — 0(o\02 ... oŕ). Chceme nalézt l/l/* (množinu všech promluv) maximalizující P(W\0). Dle Bayesova pravidla platí:P(l/l/*IO) = 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 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 Gramatiky pro podporu 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 Ukázka gramatiky ve formátu JSGF #JSGF = Chci jet .| Chci jet z do .I Chci jet z do v .; = vlakem | autobusem; = ; = ; = ; Luděk Bártek Úvod do počítačového zpracování řeči Ukázka odpoví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 Ukázka odpovídající gramatiky v XML formátu SRGS Pokračování vlakem < i t em t ag=11 aut obus11 > aut obus em< / i t em> • * • Luděk Bártek Úvod do počítačového zpracování řeči Ukázka gramatiky v ABNF formátu SRGS root=$koren; language = cs-CZ; • • • $koren = Chci jet $cim. | Chci jet $cim z $ do $| • • • $cim = autobusem {$out=autobus} I vlakem {$out=vlak} Luděk Bártek Úvod do počítačového zpracování řeči