Rozpoznávání řeči Úvod do počítačového zpracování řeči Luděk Bártek Fakulta informatiky Masarykova univerzita podzim 2023 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 Luděk Bártek Úvod do počítačového zpracování řeči o Cíle rozpoznávání řeči: © Interpretace příkazů uživatele - hlasové ovládání různých zařízení. • telefon • navigace • ... • Převod mluveného slova na text - přepis mluveného slova o záznamy soudních přelíčení • přenos řeči při velmi nízké přenosové rychlosti • ... • Druhy rozpoznávání řeči: • rozpoznávání izolovaných slov o rozpoznávání plynulé promluvy Luděk Bártek Úvod do počítačového zpracování řeči ..... Rozpoznávam izolovaných slov Rozpoznávam reci Rozpoznávam plynule promluvy Rozpoznávání řeči Obecný postup • Postup při rozpoznávání řeči: O Získání posloupnosti vektorů příznaků. 9 vhodnou metodou zpracování signálu O Klasifikace posloupnosti příznaků. o DTW • HMM • DNN 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 slov • 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 o slovník-seznam rozpoznávaných slov. o Používají obvykle vektor příznaků. © Vektor hodnot získaných analýzou signálu (spektrum, kepstrum, LPA, energie, intenzita, autokorelace, ...) • 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 ktoi ry pr ízr ía ků a j i ■ lej icľ P1 orovná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) • 1 v=v, kde 1 je jednotkový prvek tělesa • a dále platí distributivní zákon: • a(v+w) = av + aw • (a+b)v = av +bv • Metrický prostor: Množina M se zobrazením d (metrikou), pro které platí: • d(x, y) > 0 9 d(x. y) = 0 <^> x = y • cŕ(x, y) = d(y, x) • d(x, z) < d(x, y) + d(y, z) • Příklad metriky je např. Euklidovská vzdálenost. Luděk Bártek Úvod do počítačového zpracování řeči a 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. a Klasifikátory založené na statistických metodách <* modelování pomocí skrytých Markovových modelů. • Klasifikátory založené na umělých neuronových sítích o Deep Neural Networks - použito např. v rozpoznávací CMU Sphinx «... • 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 Rozpoznávání řeči Rozpoznávání izolovaných slov Rozpoznávání plynulé promluvy Metoda DTW (Borcení čas ové 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ů. Q 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 ..... Rozpoznávam izolovaných slov Rozpoznávam reci Rozpoznávam plynule promluvy Metoda DTW Pokračování Algoritmus hledá parametrizaci f,g takovou, že i=f(k),j=g(k) k=1, K, minimalizuje výraz: K D(A,B) = Y/d(a(f(k)),b(g(k))) /C=1 o d je vzdálenost mezi akustickými vektory (např. Euklidovská metrika) • Euklidovská metrika n d {a, b) \ /=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 o Omezující podmínky: • f,g - neklesající funkce • omezení na lokální souvislost a strmost: • 0 < f(k) - f(k- 1) < /* o 0r(/) /=1 Luděk Bártek Úvod do počítačového zpracování řeči • 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: o 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ů modi elu A = (A/, M,tt) a Nutno stanovit postup při trénování parametrů modelu • maximalizace pravděpodobnosti P(0|A) o 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 ..... Rozpoznávam izolovaných slov Rozpoznávam reci Rozpoznávam plynule promluvy Rozhodovací pravidlo - rozpoznávání slova • Princip maximální věrohodnosti: • Pro neznámé slovo O určíme hodnoty P(0\\) pro všechny 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 Modelování povelů: • nejčastější se používají modely se 4-7 stavy o 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ů: o obvykle 4-7 stavů • model slova - zřetězení modelů fonémů 9 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 Rozpoznávání řeči r Rozpoznávaní [ Příklady struktur HMM pro fonémy Rozpoznávání izolovaných slov Rozpoznávání plynu Q 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ávam izolovaných slov Rozpoznávam reci Rozpoznávam plynule promluvy Obtíže při rozpoznávání izolovaných slov o Určení začátku a konce promluvy: 9 šum kontra sykavky • detekce nahodilého zvukového vzruchu (klepnutí, ...) kontra okluzívy, které obsahují pauzy o možná přítomnost infrazvuku. 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 • Vícevrstvá umělá neuronová síí s jednou vstupní vrstvou, jednou výstupní vrstvou a mnoha skrytými vrstvami o orientovaný graf, kde uzly jsou jieurony", hrany představují ,jdendrity" (vstupní hrany) a ,£xon" (výstupní hrana) • dendrity a axony sousedních neuronů se propojují pomocí ,3ynapsí" • vzruch proudící z neuronu do sousedního musí projít přes synapsi, která představuje odpor, který musí vzruch překonat • intenzita signálu jdoucího z vrstvy 1-1 do vrstvy /: v1 = f(W'v'-i 9 v1 e RNl - vzruch na vrstvě / • W1 g RN'xN'-i - váha synapse mezi vrstvou la 1-1 • b1 - ovlivnění neuronů na /. vrstvě okolím • Ni - počet neuronů na N. vrstvě • f(x) - aktivační funkce Luděk Bártek Úvod do počítačového zpracování řeči proceduře ForwardComputation(0) //O - soubor //vektorů pozorování V[0] = 0 for 1=1 ; 1 = 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 tiky v XML formátu SRGS < r u 1 e i d= " k o r e n " > 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 Ukázka od Pokračování povíd ající gramatiky v XML formátu SRGS vlakem autobusem • • • Luděk Bártek Úvod do počítačového zpracování řeči ..... Rozpoznávam izolovaných slov Rozpoznávam reci „ . . . , Rozpoznávam plynule promluvy 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} | vlakem {$out=vlak} Luděk Bártek Úvod do počítačového zpracování řeči