Dialogové systémy Luděk Bártek Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2015 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ání psaný text. Sémantická ■ Rozpoznávání izolovaných slov/příkazů. interpretace promluvy ■ Princip rozpoznávání: Řízení průběhu Q získání vektoru příznaků pomocí metod krátkodobé dialogu 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í řeči Rozpoznávánj Sémantická interpretace promluvy Řízení průběhu dialogu ■ Slouží k rozpoznání povelů nebo slov (příkazů) 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. S°aZ„n™nsio„ ■ Používá se pro porovnání dvou číselných řad - dvou úseků Sémantická promluv (dvou slov). interpretace promluvy ■ Vstup: Řízení průběhu ■ posloupnost akustických vektorů získaných pomocí metod dialogu 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 Sémantická interpretace promluvy Řízení průběhu dialogu ■ 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 Algoritmus DTW hledá parametrizaci f,g: f,g:i = f{k),j = g{k),ke minimalizující výraz K D{A,B) = YJd{af[i),bg{i)) i=l ■ d - vzdálenost akustických vektorů (např. Euklidovská metrika) ■ 3f(,), - referenční a rozpoznávaný příkaz. 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: Sv^nýtÍsíov ■ 0 < f{k) - f{k-l) < 1* m 0 < g(k) - g(k — 1) < J* Sémantická ■ většinou platí l*,J* — 1, 2, 3 interpretace promluvy ■ Z praktických testů vyplynulo, že při příliš strmém Řízení průběhu přírůstku může dojít k nevhodné korespondenci mezi příliš dialogu 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. ■ — l,g(K) — J, kde J je počet vzorků slova b. DTW Omezující podmínky - pokračování Dialogové systémy Globální vymezení oblasti pohybu funkce DTW: ■ omezení minimální a maximální přípustné směrnice přímky vymezující přípustnou oblast pohybu funkce DTW, při splnění podmínky na hraniční body: 1 + a[i(k) - 1] < 1 + P[i(k) - 1] a - minimální směrnice přímky omezující přípustnou oblast P - maximální směrnice přímky omezující přípustnou oblast. DTW - Praktická realizace klasifikátoru slov Blokové schéma Rozpoznávání řeči Rozpoznávánj Sémantická interpretace promluvy Řízení průběhu dialogu Zpracování signálu Vytvořeni referenčních obrazů slov a jejich uloženi 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á realizace klasifikátoru slov Trénování Rozpoznávání řeči Rozpoznávánj Sémantická interpretace promluvy Řízení průběhu dialogu ■ 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řevedena 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 Rozpoznávání řeči Rozpoznávánj Sémantická interpretace promluvy Řízení průběhu dialogu ■ Přímé použití obrazů trénovací množiny jako referenčních obrazů slov - DTW nevyžaduje, aby obrazy téhož slova byly stejně dlouhé, ale z důvodu možnosti aplikace pomocných kritérií, je vhodné provést časovou normalizaci každého obrazu. ■ Vytváření průměrného vzorového obrazu pro každou třídu slov w. ■ používají se metody lineárního a dynamického průměrová ní. ■ 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 J 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\\) = J2^t(í) 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í řeči Rozpoznávánj Sémantická interpretace promluvy Řízení průběhu dialogu ■ 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šťují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 Používá se princip maximální věrohodnosti. Q Pro slovo 0 a všechna A: Q Spočítáme p(0\\). 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\\). Rozpoznávaní plynulé řeči Dialogové systémy 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 „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 izoíoPvaZn/chasiov ■ posloupnost slov (promluva) 1/1/ — (wi,..., wn) ■ posloupnost akustických vektorů 0 — (oi,..., ot). Sémantická ■ Chceme nalézt l/l/* (množinu všech promluv), která interpretace promluvy maximalizuje P{W 0). Řízení průběhu dialogu ■ Dle Bayesova pravidla platí: P(W*\0) = maxP{W\0) = max P^ * ^ = 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. izoío^n/crfsiov ■ Aktuální verze 1.0 (březen 2004). plznuféřecT' Sémantická ■ Definuje způsob zápisu pravidel a jejich odkazování. interpretace promluvy ■ Dva způsoby zápisu: Řízení průběhu ■ XML dialogu ■ 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 #ABNF 1.0 UTF-8 root $pozdrav; language cs-CZ; mode voice; $ pozdrav = ahoj ahoj < /rule> < /grammar> Sém antická interpretace promluvy Dialogové systémy ■ Cíl - počítači srozumitelná interpretace informací Luděk Bártek zadaných uživatelem. Rozpoznávání ■ Příklad: Chtěl bych si koupit Zkrocení zlé ženy od Shakespeara. plznuféřecT' ■ akce — nákup Sémantická ■ titul — Zkrocení zlé ženy interpretace promluvy ■ autor — Shakespeare Řízení průběhu ■ Reprezentace - dvojice (atribut, hodnota). ■ Implementace: ■ pravidlům gramatiky pro rozpoznávání řeči přidáme atributy, do kterých ukládáme jejich sémantickou reprezentaci. ■ Na atributech lze provádět operace sloužící k sestavení sémantické interpretace celé promluvy z interpretací jednotlivých pravidel. Popis Sémantické Interpretace Dialogové systémy Luděk Bártek ■ JSGF: Rozpoznávání ■ přiřazena pomocí značek (tags) řeči ■ zápis - {sémantická interpretace} Ro^znÍvání0" < sentence >=< intro >< titul > od < autor > plznulé řeči < titul >= Pejska a kočičku Sémantická interpretace {Povídání o pejskovi a kočičce} promluvy Řízení průběhu (Zlou ženu Zkrocení zlé ženy) {Zkrocení zlé ženy} ... dialogu ■ SRGS - standard SISR : ■ standard W3C Voice Browser Activity. Je postaven na jazyce ECMAScript. ■ K pravidlům se přidává pomocí značky nebo atributu tag. ■ Do dialogu je interpretace vracena ve formátu JSON. ■ . . . Základní pojmy Dialogové systémy Luděk Bártek ■ Dialog - rozhovor dvou a více účastníku (sled promluv). Rozpoznávání řeči ■ Promluva - Souvislé sdělení, které učiní jeden účastník SaZnýcVrfsíov dialogu směrem k druhému. plznu^řecT' ■ Obrat - Promluva a reakce druhého účastníka na ni. Sémantická Dialogová strategie interpretace ■ pro m 1 u vy Řízení průběhu ■ Postup, který k dané promluvě přiřazuje následující dialogu promluvu. Teorie ■ Využívá znalost stavu dialogu: ■ zadané a požadované informace ■ schopnosti účastníků dialogu ■ ■ Je vlastností každého účastníka dialogu. Základní pojmy Dialogová komunikace Dialogové systémy Luděk Bártek Rozpoznávání ■ Hodnotící funkce: řeči ■ funkce přiřazující každému dialogu reálné číslo. ■ Označuje se E(L), kde Z. je dialog. Sémantická interpretace promluvy Řízení průběhu d la logu ■ Dialogová komunikace - Uspořádaná čtveřice M = {S1,S2,E1,E2) ■ S,, i G {1,2} - dialogová strategie příslušného účastníka. ■ E-,, i G {1, 2} - hodnotící funkce příslušného účastníka. Základní pojmy Kooperativita dialogu Dialogové systémy Dialogovou komunikaci M = (Si, S2, Ei, £2) nazveme: ■ Kooperativní •<=> £1 = £2. Oba účastníci dialogu mají stejný cíl a snaží se spolupracovat. ■ Nekooperativní <ř=> £1 7^ £2. Cíle obou účastníků dialogu se odlišují. ■ S nulovým součtem •<=> £1 — —£2. Cíle obou účastníků dialogu jsou protichůdné. Toto hodnocení vychází z teorie her: ■ na dialog lze pohlížet jako na hru dvou účastníků. Pravidla pro vedení kooperativního dialogu Dialogové systémy Dialogový systém by se měl snažit o kooperativní dialog. Autor Herbert Paul Grice - anglický jazykovědec. Aspekt informativnosti: Q Buď přiměřeně informativní - ne méně než je potřeba, ale ani ne více než je potřeba. Aspekt přesvědčivosti: Q Neuváděj nepravdivé informace. B Neuváděj informace, které nelze dokázat nebo doložit. Aspekt způsobu: Q Informace v replice by měla být co nejvíce explicitní. B Vyhýbejte se nejednoznačnostem. Q Usilujte o stručnost. Q Buďte disciplinovaní, udržujte v dialogu pořádek. Pravidla pro vedení kooperativního dialogu pokračování Dialogové systémy ■ Aspekt zdvořilosti, empatie a etiky: Luděk Bártek Q Minimalizujte nároky vůči komunikačnímu partnerovi, Rozpoznávání maximalizujte výhody pro něj. řeči B Minimalizujte nedostatky komunikačního partnera a maximalizujte jeho přednosti. plznuléřeči B Maximalizujte souhlas s partnerem a minimalizujte jeho Sémantická interpretace promluvy nesouhlas. Q Maximalizujte empatii vůči partnerovi. Řízení průběhu dialogu ■ Aspekt asymetrie: Q Informujte uživatele o všech důležitých charakteristikách, které vybočují z očekávaného normálního průběhu dialogu, a která by měl vzít v úvahu k zajištění kooperativity. B Zajistěte stručné, avšak dostatečné informování uživatele o možnostech systému a jeho omezeních. Q Informujte srozumitelně a dostatečně o způsobu interakce se systémem. Pravidla pro vedení kooperativního dialogu Komunikace člověk — počítač Dialogové systémy Luděk Bártek ■ Aspekt znalostí a schopností: Rozpoznávání Q Vezměte v úvahu relevantní znalosti uživatele. řeči B Vezměte v úvahu možné uživatelovy chybné analogie. Rozpoznávání Q Rozlišujte mezi začínajícím a zkušeným uživatelem plznuléřeči systému. Sémantická interpretace Q Vezměte v úvahu legitimní představy uživatele o promluvy znalostech a schopnostech systému. Řízení průběhu dialogu ■ Aspekt vyjasňování a odstraňování chyb: Teorie Q V případě selhání komunikace iniciujte meta komunikaci zajišťující odstranění chyby nebo její vysvětlení. B Zajistěte vysvětlující meta komunikaci v případě nekonsistentních nebo nejednoznačných uživatelových vstupních dat. Aspekty komunikace kooperativního dialogového systému Dialogové systémy Luděk Bártek Rozpoznávání řeči ■ Dialogový systém při komunikaci s uživatelem by měl brát rzoTov^n/df s ov ohled na následující aspekty: plznuléreěr' ■ aspekt informativnosti Sémantická interpretace ■ aspekt přesvědčivosti promluvy ■ aspekt způsobu Řízení průběhu ■ aspekty zdvořilosti, empatie a etiky dialogu ■ aspekt asymetrie ■ aspekt znalostí a schopností uživatele ■ aspekt vyjasňování a odstraňování chyb. Iniciativa v dialogu Dialogové systémy Luděk Bártek Rozpoznávání ■ Další krok dialogu je vždy určen dialogovou strategií jedné řeči z komunikujících stran. Rozpoznávání ■ Jedna strana klade dotazy, druhá na ně odpovídá. plznulé řeči Sémantická ■ V případě komunikace člověk — počítač lze rozlišit: interpretace promluvy ■ dialog s iniciativou uživatele Řízení průběhu ■ dialog s iniciativou systému dialogu ■ dialog se smíšenou iniciativou. ■ Reálné systémy používají: ■ dialogy se smíšenou iniciativou ■ dialogy s iniciativou systému. Iniciativa v d ialogu Příklady Dialogové systémy ■ Dialog s iniciativou systému: Luděk Bártek Systém: Zadejte Vaše uživatelské jméno Rozpoznávání řeči Uživatel: xyz Systém: Aby Vás bylo možné ověřit řekněte větu: Izoío^ný^rfsov „Můj hlas je můj pas. Ověř si mě." plznuléřeěr' Uživatel: Můj hlas je můj pas. Ověř si mě. Sémantická interpretace promluvy ■ Dialog se smíšenou iniciativou: Řízení průběhu dialogu Uživatel: Chtěl bych je dnes vlakem z Adamova do Kerkyry. Systém: Chcete nalézt přímý spoj nebo spojení s přestupy? Uživatel: Chtěl bych jet bez přestupů. Systém: Je mi líto, ale přímý vlak z Adamova do Kerkyry nejezdí. Zpětná vazba v dialogovém systému Dialogové systémy Luděk Bártek ■ Před tím, než systém zpracuje získané informace, je vhodné provést jejich verifikaci: ■ oprava chyb rozpoznávání řeči Rozpoznávání řeči plznulé řeči' ■ oprava chyb uživatele ■ Sémantická interpretace ■ Způsoby ověření získaných dat: promluvy ■ Sumarizující zpětná vazba - po zadání veškerých dat Řízení průběhu dialogu uživatelem je zopakuje a případně umožní jejich opravu. ■ Zpětná vazba „echo" - po zadání každého údaje ho uživateli zopakuje, poskytne mu možnost případné opravy. ■ Implicitní zpětná vazba - posledně zadaná data jsou součástí dotazu na následující údaj. ■ Explicitní zpětná vazba - systém validuje zadaná data pomocí explicitních dotazů na jejich hodnoty. Zpětná vazba v dialogovém systému Příklady Dialogové systémy Sumarizující zpětná vazba: Uživatel: Chci jet vlakem z Adamova do Kerkyry. Systém: Hledaný druh spojení Vlak. Odjezd Adamov, cílová stanice Kerkyra. Zpětná vazba „echo": Systém: Čím chcete jet? Uživatel: Vlakem. Systém: Chcete jet vlakem. Odkud chcete jet? Uživatel: Z Adamova. Systém: Chcete jet z Adamova. Kam chcete jet? Uživatel: Do Kerkyry. Zpětná vazba v dialogovém systému Příklady Dialogové systémy Luděk Bártek Rozpoznávání ■ Implicitní zpětná vazba: řeči Systém: Jméno studenta. Roz7oVná^nr°V Uživatel: Jan Novák. plznuléřeči Sémantická Systém: Ve kterém městě se Jan Novák narodil. interpretace promluvy Řízení průběhu ■ Explicitní zpětná vazba: dialogu Systém: Zadejte jméno studenta. Uživatel: Jan Novák. Systém: Student se jmenuje Jan Novák. Je to tak? Ukázka opravného dialogu Dialogové systémy Luděk Bártek Rozpoznávání řeči Uživatel: Jmenuji se Jan Horák a narodil jsem se 8.8. 1988 v ABC. Izoíov^n/c^slov Systém: Bylo zadáno jméno Jan Novák, datum narození plznuléřeěr' 8.8. 1988 a místo narození ABC. Sémantická interpretace Uživatel: Ne jméno je Jan Horák. promluvy Řízení průběhu dialogu Systém: Zadal jste jméno Jan Horňák. Datum narození 8.8. 1988 a místo ABC. Teorie Uživatel: Ne, jméno má být Jan Novák. Systém: Zadal jste jméno Jan Novák, datum narození 8.8. 1988 a místo ABC.