Dialogové systémy Dialogové systémy Rozpoznávání řeči Gramatiky pro podporu rozpoznávání řeči Luděk Bártek Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2022 Rozpoznávání řeči Dialogové systémy Luděk Bártek Rozpoznávání řeči ■ Rozpoznávání plynulé řeči - převádí souvislou promluvu na Rozpoznáváni izolovaných slov Rozpoznávání psaný text. plynulé řeči Gramatiky pro n/"iri nnri i ■ Rozpoznávání izolovaných slov/příkazů. rozpoznávání řeči ■ Princip rozpoznávání: O získání vektoru příznaků pomocí metod krátkodobé analýzy signálu, B klasifikace na základě vektoru příznaku získaného v předchozím kroku. Rozpoznávání izolovaných slov Dialogové systémy Luděk Bártek ■ Slouží k rozpoznání povelů nebo slov (příkazů) zřetelně oddělených na začátku a konci mezerou. Rozpoznávání řeči rí nrt7níin ni ■ Odpadá problém stanovení začátku a konce slova v \\KJL.\JKJL. \ 1 d V d [ 11 izolovaných slov Rozpoznávání souvislé promluvě. plynulé řeči Gramatiky pro podporu ■ Obvykle systémy závislé na uživateli: rozpoznávání řeči ■ 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é obsahují pauzy, ■ možná přítomnost infrazvuku. ■ . .. Rozpoznávání izolovaných slov Typy klasifikátorů Dialogové systémy ■ Klasifikátory využívající porovnání slov metodou DTW. Luděk Bártek ■ Snaží se nalézt co největší shodu mezi rozpoznávaným Rozpoznávání slovem a slovy v databázi. řeči Rozpoznávání ■ Klasifikátory založené na statistických metodách - izolovaných slov Rozpoznávání modelování pomocí skrytých M a r kovových modelů: plynulé řeči Gramatiky pro podporu ■ simulace procesu tvorby řeči. rozpoznávání ř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ů. ■ Využití umělých neuronových sítí - více viz: ■ Hinton, 0., Teh - A Fast Learning Algorithm for Deep Belief Nets, in Neural Computation, 2006 ■ Bengio, L., Popovici, L. - Greedy Layer-Wise Training of Deep Networks, in NIPS' 20016 ■ Speech recognition - Lecture 14: Neural Networks Dynamic Time Warping (DTW) Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči Metoda borcení časové osy. Používá se pro porovnání dvou číselných řad - dvou úseků promluv (dvou slov). Vstup: ■ posloupnost akustických vektorů získaných pomocí metod 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 ■ Vytvoříme databázi rozpoznávaných slov (referenční posloupnosti akustických vektorů). Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči ■ 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. DTW Formalizace Dialogové systémy Luděk Bártek ■ Algoritmus DTW hledá parametrizaci f,g: Rozpoznávání řeči Rozpoznávání izolovaných slov f,g:i = f(k)J = g(k),ke Rozpoznávání plynulé řeči Gramatiky pro minimalizující výraz podporu r07 n07 n n i rpfi 1 UĺuUĺI vúl II 1 K D(Ae) = ^d(af(/);y i=l ■ d - vzdálenost akustických vektorů (např. Euklidovská metrika) ■ af(-,), bg(ij - referenční a rozpoznávaný příkaz. DTW Omezující podmínky Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči f,g - neklesající funkce Omezení na lokální souvislost a strmost: ■ 0 < f(k) - f(k-l) < /* ■ 0 Q Rekurzivní krok pro t=l,.. . T-l: podporu rozpoznávání řeči N a/+iO") = Eat(/>/>j(o/+i) /=i pro j G< 1, N >, m(ot) je ekvivalentní zápisu /T7,(/), pokud ot = v/. B Výsledná pravděpodobnost: P(0\\) = J2<*tV) i=l HMM Alternativní způsob výpočtu P(0 A) Dialogové systémy Luděk Bártek Rozpoznávání řeči ■ Nevýhoda předchozího postupu: Rozpoznávání izolovaných slov ■ ve výsledném vztahu jsou zahrnuty pravděpodobnosti všech Rozpoznáváni plynulé řeči í -. r ^ m ^ "h i u \ f n vŕ\ možných posloupností stavů délky T. Vj ľ d 111 d LI t\y yjl (J podporu rozpoznávaní řeči ■v ■ Ř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,7r) Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči 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. ■v Řešení: ■ lze použít iterativní algoritmy zajišťující aspoň lokální maximalitu. Nejpouží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 Dialogové systémy Luděk Bártek Rozhodovací pravidlo při rozpoznávání izolovaného slova Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči Používá se princip maximální věrohodnosti. Pro slovo O a všechna A: □ Spočítáme P(0|A). Jako výsledek vybereme třídu s maximální hodnotou P(0\X). HMM Implementace Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči 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\X). Príklady struktur pro fonémy Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči □ r5P - = Dialogové systémy Príklady struktur pro fonémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči Rozpoznávaní plynulé řeči Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči Hlavní rozdíly oproti rozpoznávání slov: ■ nelze vytvořit databázi vzorů ■ nutno brát zřetel na prozodické faktory ■ nutno určovat hranice mezi slovy ■ vypořádání se s výplňkovými zvuky a chybami řeči. Řešení - statistický přístup: ■ jazykový model ■ model uživatele. Příklad: HMM vrátí stejnou pravděpodobnost např. pro slova Mmáma" a „nána" - nejspíše se použije máma - je castejsi. Rozpoznávaní plynulé řeči Jazykové modely Dialogové systémy Luděk Bártek Rozpoznávaní Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči Máme: ■ posloupnost slov (promluva) 1/1/ = (1/1/1,..., wn) m posloupnost akustických vektorů O = (oi,..., ot). Chceme nalézt l/l/* (množinu všech promluv), která maximalizuje P(W\0). Dle Bayesova pravidla platí: P(1/|/*|0) = maxP(W\0) = max P(l/I/)* P(0\W) Rozpoznávaní plynulé řeči Jazykové modely - pokračovaní Dialogové systémy Luděk Bártek Rozpoznávaní Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči Pro nalezení maxima potřebujeme znát: ■ model řečníka - P(0\W) ■ jazykový model - P{W). Model řečníka lze nahradit pravděpodobností generování W odpovídajícím Markovovým modelem. Trigramový model: ■ Experimentálně ověřeno, že platí: P{wn\wi . . . !/!/„_ l) = P(l/l/„|l/l/„_2 !/!/„-1) Rozpoznávaní plynulé řeči Rozpoznávání tématu Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči Úspěšnost rozpoznávání řeči se pohybuje cca 50 % — 99 % v závislosti na úkolu, jazyku, ... Úspěšnost rozpoznávání lze zvýšit omezením domény rozpoznávání: ■ rozpoznání tématu ■ použitím gramatik pro rozpoznávání řeči. Známé téma: ■ změna stavového prostoru a pravděpodobnosti trigramů ■ např. burzovní zprávy - rozpoznáno „honey" nebo money "? ■ možnost vytvoření přesnějšího jazykového modelu. Gramatiky pro podporu rozpoznávání řeči Dialogové systémy Luděk Bártek Rozpoznávání ■ ✓ Úspěšnost obecného rozpoznávání plynulé řeči může řeči Rozpoznávání klesnout až na cca 50 %. izolovaných slov Rozpoznávání n vni ip rpr*i ■ Zvýšení lze dosáhnout omezením domény - např. ij i y 11 li i c i Gramatiky pro podporu specifikováním přípustných vstupů. rozpoznávání řeči ■ Lze použít gramatiky pro podporu rozpoznávání řeči: ■ bezkontextové gramatiky ■ Způsoby zápisů gramatik: ■ prostředky logického programování ■ proprietami řešení ■ otevřené standardy - JSGF, W3C SRGS, .. . Gramatiky pro podporu rozpoznávání řeči Java Speech Grammar Specification (JSGF) Dialogové systémy Luděk Bártek Rozpoznávání ■ Textový zápis gramatiky nezávislý na platformě a prodejci. řeči Rozpoznávání ■ Určen pro použití při rozpoznávání řeči. izolovaných slov Rozpoznávání plynulé řeči ■ Součást Java Speech API. Gramatiky pro podporu rozpoznávání řeči ■ Používá styl a konvence jazyka Java. ■ Aktuální verze 1.0 (říjen 1998). ■ Použit např. v rozpoznávací Sphinx-4, VoiceXML interpretru VoiceGlue, . .. ■ Podrobněji v 2. polovině semestru při probírání tvorby dialogových rozhraní. Gramatiky pro podporu rozpoznávaní řeči Ukázka JSGF Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči #JSGF = 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 Rozpoznávání ■ Aktuální verze 1.0 (březen 2004). plynulé řeči Gramatiky pro r~Hr"\r\ nf\ri i ■ Definuje způsob zápisu pravidel a jejich odkazování. |J(JU (J(Jl U rozpoznávání řeči ■ Dva způsoby zápisu: ■ XML ■ 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í Rozpoznávání izolovaných slov Rozpoznávání plynulé řeči Gramatiky pro podporu rozpoznávání řeči #ABNF 1.0 UTF-8 root Spozdrav; language cs-CZ; mode voice; Spozdrav = ahoj ahoj < /rule> < /grammar>