Dialogové systémy Rozpoznávání řeči Luděk Bártek Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2013 Rozpoznávání řeči Dialogové systémy Luděk Bártek Rozpoznávání řeči Rozpoznáváni ■ Rozpoznávání plynulé řeči - převádí souvislou promluvu na izolovaných slov DTW psaný text. HMM Rozpoznávání plynulé řeči ■ Rozpoznávání izolovaných slov/příkazů. Gramatiky pro ■ Princip rozpoznávání: podporu rozpoznávání Q získání vektoru příznaků pomocí metod krátkodobé řeči analýzy signálu, B klasifikace na základě vektoru příznaku získaného v předchozím kroku. Rozpoznávaní izolovaných slov Rozpoznávání izolovaných slov DTW HMM Rozpoznávaní plynulé řeči Gramatiky pro podporu rozpoznávání ■ Slouží k rozpoznaní povelu nebo slov (príkazu) zřetelně oddělených na začátku a konci mezerou. ■ Odpadá problém stanovení začátku a konce slova v souvislé promluvě. ■ Obvykle systémy závislé na uživateli: ■ nutnost natrénování ■ omezená kapacita slovníku. ■ Obtíže při rozpoznávání izolovaných slov: ■ Určení začátku a konce promluvy: ■ odlišení šumu od sykavek, ■ detekce nahodilého zvukového vzruchu (klepnutí, . . .) kontra okluzívy, které obsanují pauzy, ■ možná přítomnost infrazvuku. Rozpoznávaní izolovaných slov Typy klasifikátorů Dialogové systémy Klasifikátory využívající porovnaní slov metodou DTW. ■ Snaží se nalézt co největší shodu mezi rozpoznávaným slovem a slovy v databázi. Klasifikátory založené na statistických metodách -modelování pomocí skrytých Markovových modelů: ■ simulace procesu tvorby řeči. Klasifikátory pracující na dvou úrovních: Q segmentace a fonetické dekódování jednotlivých segmentů B rozpoznání slova na základě dekódovaných segmentů. Dyn amic Time Warping (DTW) Dialogové systémy Luděk Bártek Rozpoznávání řeči ■ Metoda borcení časové osy. Rozpoznávání izolovaných slov DTW ■ Používá se pro porovnání dvou číselných řad - dvou úseků HMM Rozpoznávání promluv (dvou slov). plynulé řeči Gramatiky pro ■ Vstup: podporu rozpoznávání ■ posloupnost akustických vektorů získaných pomocí metod řeči krátkodobé analýzy signálu ■ databáze akustických vektorů rozpoznávaných slov. ■ Výstup - rozpoznané slovo resp. povel. DTW Základní postup Dialogové systémy Luděk Bártek Rozpoznávání řeči Rozpoznávání izolovaných slov DTW HMM Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči ■ Vytvoříme databázi rozpoznávaných slov (referenční posloupnosti akustických vektorů). ■ Obvykle několik posloupností pro každé slovo, které odpovídají několika způsobům vyslovení příkazu. ■ Rozpoznávané slovo převedeme na odpovídající posloupnost akustických vektorů. ■ Metodou DTW nalezneme referenční posloupnost akustických vektorů s maximální shodou. ■00.0 DTW Formalizace Dialogové systémy Luděk Bártek ■ Algoritmus DTW hledá parametrizaci f,g: Rozpoznávání řeči Rozpoznávání f,g:i = f{k),j = g{k),ke izolovaných slov DTW HMM Rozpoznávání minimalizující výraz plynulé řeči Gramatiky pro podporu rozpoznávání řeči K D{A,B) = Ytd{af(i),bg(i)) i=l ■ d - vzdálenost akustických vektorů (např. Euklidovská metrika) ■ a/•(,■) - referenční příklaz (proslov), bg^ - rozpoznávaný příkaz (proslov). DTW Omezující podmínky Dialogové systémy Luděk Bártek ■ f,g - neklesající funkce Rozpoznávání řeči ■ Omezení na lokální souvislost a strmost: Rozpoznávání izolovaných slov ■ 0 < f{k) - f{k-l) < 1* DTW HMM m 0 < g(k) - g(k - 1) < J* Rozpoznávání plynulé řeči ■ většinou platí l*,J* — 1,2,3 Gramatiky pro ■ Z praktických testů vyplynulo, že při příliš strmém podporu rozpoznávání přírůstku může dojít k nevhodné korespondenci mezi příliš řeči krátkým segmentem vzorku a a příliš dlouhým segmentem vzorku b. m Omezení na hraniční body: ■ f(l) — 1, f(K) — 1, kde 1 je počet vzorků slova a. ■ g(l) — l,g(K) — J, kde J je počet vzorků slova b. DTW Omezující ' podmínky - pokračování Dialogové systémy Luděk Bártek Rozpoznávání ■ Globální vymezení oblasti pohybu funkce DTW: řeči Rozpoznávání ■ omezení minimální a maximální přípustné směrnice přímky izolovaných slov DTW vymezující přípustnou oblast pohybu funkce DTW, při HMM Rozpoznávání splnění podmínky na hraniční body: plynulé řeči Gramatiky pro 1 + a[i(k) - 1] < 1 + 0[i(k) - 1] podporu rozpoznávání řeči ■ a - minimální směrnice přímky omezující přípustnou oblast ■ j3 - maximální směrnice přímky omezující přípustnou oblast. DTW - Praktická realizace klasifikátoru slov Blokové schéma Rozpoznávání izolovaných slov DTW HMM Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání Zpracování signálu Vytvořeni referenčních obrazů slov a jejich uložení ve slovníku Výber příznaků Vytváření obrazu testovaného slova Porovnání obrazů Algoritmem DTW Rozpoznání neznámého slova Obrázek: Blokové schéma klasifikátoru slov DTW - Praktická realizce klasifikátoru slov Trénování Rozpoznávání izolovaných slov DTW HMM Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání ■ Obecný postup: Q Řečník resp. skupina řečníků vysloví postupně každé trénované slovo požadovaného slovníku, bud' jednou nebo opakovaně. B Vstupní slova jsou zdigitalizována a následně převedna zvolenou metodou krátkodobé analýzy na posloupnost vektorů příznaků. Q Detekce hranic (počátku a konce) slov: ■ Může být náročné na provedení, např. kvůli rušivému pozadí. ■ Nekorektní detekce hranic slov zhoršuje úspěšnost rozpoznávání. ■ Metody odstraňující i jen částečně vliv akustického pozadí zvyšují výpočetní náročnost. Q Vytvoření referenčních obrazů slov. DTW - praktická realizace Metody vytváření referenčních obrazů slov Dialogové systémy ■ Přímé použití obrazů trénovací množiny jako referenčních Luděk Bártek obrazů slov - DTW nevyžaduje, aby obrazy téhož slova Rozpoznávání řeči byly stejně dlouhé, ale z důvodu možnosti aplikace pomocných kritérií, je vhodné provést časovou normalizaci Rozpoznávám každého obrazu. HMM ■ Vytváření průměrného vzorového obrazu pro každou třídu Rozpoznáváni plynulé řeči slov w. Gramatiky pro podporu rozpoznávání ■ používají se metody lineárního a dynamického průměrová ní. řeči ■ Vytváření vzorových obrazů shlukováním. ■ Vzorové obrazy pro dané slovo se rozdělí do shluků tak, že obrazy uvnitř shluku jsou si „podobné" a obrazy z různých shluků jsou „nepodobné". ■ Shlukování lze realizovat interaktivně (poloautomaticky -metoda řetězové mapy, algoritmus ISODATA), automaticky (algoritmy založené na MacQueenově algoritmu). Více viz závěrečná práce Mgr. Jiřího Kučery. ' < □ ► <äŕ> < < i ► i -00.O DTW Redukce výpočetních a paměťových nároků Dialogové systémy Luděk Bártek ■ Nevýhody DTW - vysoké paměťové a výpočetní nároky Rozpoznávání mohou znesnadňovat klasifikaci v reálném čase i při řeči Rozpoznávání relativně malém slovníku. izolovaných slov DTW H MM ■ Metody řešení: Rozpoznávání ■ Hrubá síla - využití paralelních procesorů popř. Gramatiky pro zákaznických obvodů - může být drahé. podporu ■ Vhodné zakódování parametrů jednotlivých mikrosegmentů rozpoznávání řeči referenčních i testovacích obrazůs. Využívá se: ■ vektorová kvantizace - počet různých vzorků je konečný - uloží se do kódové knihy a místo hodnoty vzorku se pracuje s jejich indexy v kódové knize. ■ kódová kniha - abeceda všech hodnot, které se vyskytly v signálu (lze kódovat úsporněji než při použití standardního PCM). Q Rekurzivní krok pro t=l,. .. T-l: i=i pro j G< 1, N >, m(ot) je ekvivalentní zápisu rrii(l), pokud ot = v>. Výsledná pravděpodobnost: P(0\\) = Y,<*tV) HMM Alternativní způsob výpočtu P(0\X) Dialogové systémy 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. Řešení: ■ výpočet maximálně pravděpodobné posloupnosti stavů Q. Výpočet realizován pomocí Viterbiova algoritmu: ■ problém řešen rekurzivně s použitím technik dynamického programování. HMM Trénování parametrů modelu A = (A/, M, tv) Rozpoznávání izolovaných slov DTW HMM Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání ■ Nutno stanovit postup při trénování parametrů modelu. ■ Cíl trénování: ■ maximalizace pravděpodobnosti P(0\X) ■ Problém: ■ neexistuje analytická metoda ke zjištění globálního maxima funkce n proměnných. ■ Řešení: ■ lze použít iterativní algoritmy zajištující aspoň lokální maximalitu. ■ Nej používanější postup - Baum-Welchův algoritmus. ■ Další problém při trénování modelu: ■ vliv konečné trénovací množiny: ■ čím menší trénovací množina a čím větší matice M, tím větší pravděpodobnost, že některé prvky zůstanou nastaveny na 0 (problém chybějících/neadekvátních dat). HMM Rozhodovací pravidlo při rozpoznávání izolovaného slova Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov DTW HMM Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči ■ Používá se princip maximální věrohodnosti. Q Pro slovo 0 a všechna A: Q Spočítáme P(OA). Q Jako výsledek vybereme třídu s maximální hodnotou P(0\X). HMM Implementace Dialogové systémy Modelování povelů: ■ nejčastěji se používají modely se 4 — 7 stavy. ■ Pro modelovaní lze využít nástroje pro tvorbu HMM ■ HTK - Hidden Markov Model Toolkit. 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 ■ lze řešit pomocí speciálních algoritmů pro hledání maxima P(0\\). Příklady struktur pro fonémy Příklady struktur pro fonémy Rozpoznávání plynulé řeči Dialogové systémy Luděk Bártek Rozpoznávání řeči ■ Hlavní rozdíly oproti rozpoznávání slov: ■ nelze vytvořit databázi vzorů Rozpoznávání izolovaných slov DTW HMM ■ nutno brát zřetel na prozodické faktory ■ nutno určovat hranice mezi slovy Rozpoznávání plynulé řeči ■ vypořádání se s výplňkovými zvuky a chybami řeči. Gramatiky pro podporu rozpoznávání řeči ■ Řešení - statistický přístup: ■ jazykový model ■ model uživatele. ■ Příklad: HMM vrátí stejnou pravděpodobnost např. pro slova „máma" a ,,nána" - nejspíše se použije máma - je častější. Rozpoznávání plynulé řeči Jazykové modely Dialogové systémy Luděk Bártek Rozpoznávání ■ Máme: řeči Rozpoznávání izolovaných slov DTW H MM ■ posloupnost slov (promluva) 1/1/ — (wi,..., wn) ■ posloupnost akustických vektorů 0 — (oi,..., ot). Rozpoznávání plynulé řeči ■ Chceme nalézt l/l/* (množinu všech promluv), která Gramatiky pro podporu rozpoznávání řeči maximalizuje P(W\0). ■ Dle Bayesova pravidla platí: P(W*\0) = maxP{W\0) = maxP^ * ^) = Chci jet .| Chci jet z do .| Chci jet z do v = vlakem | autobusem; = ; = ; = ; Gramatiky pro podporu rozpoznávání řeči W3C Speech Recognition Grammar Specification (SRGS) Dialogové systémy Luděk Bártek Rozpoznávání řeči ■ Standard W3C. Rozpoznávání izolovaných slov DTW ■ Aktuální verze 1.0 (březen 2004). HMM Rozpoznávání ■ Definuje způsob zápisu pravidel a jejich odkazování. Gramatiky pro ■ Dva způsoby zápisu: podporu rozpoznávání ■ XML řeči ■ ABNF (Augmented BNF). ■ Podrobněji v 2. polovině semestru při probírání tvorby dialogových rozhraní. Ukázka W3C SRGS Dialogové systémy Luděk Bártek Rozpoznávání řeči Rozpoznávání izolovaných slov DTW HMM Rozpoznávání #ABNF 1.0 UTF-8 root $pozdrav; language cs-CZ; mode voice; $pozdrav = ahoj Gramatiky pro podporu rozpoznávání řeči ahoj < /rule> < /grammar> 1 -00.0