Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání řeči Sémantická interpretace promluvy Dialogové systémy Luděk Bártek Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2021 Rozpoznávaní řeči Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání řeči Rozpoznávání plynulé řeči - převádí souvislou promluvu na psaný text. Rozpoznávání izolovaných slov/příkazů. Princip rozpoznávání: O získání vektoru příznaků pomocí metod krátkodobé analýzy signálu, klasifikace na základě vektoru příznaku získaného v předchozím kroku. Rozpoznávaní plynulé řeči Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání plynulé řeči Jazykový model 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 „má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ávání Rozpoznávání plynulé řeči Jazykový model 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čování Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání plynulé řeči Jazykový model 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í plynulé řeči Jazykový model 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 %. plynulé řeči Jazykový model ■ Zvýšení lze dosáhnout omezením domény - např. Gramatiky pro podporu rozpoznávání řeči specifikováním přípustných vstupů. Sémantická ■ Lze použít gramatiky pro podporu rozpoznávání řeči: interpretace promluvy ■ 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í Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání řeči Textový zápis gramatiky nezávislý na platformě a prodejci Určen pro použití při rozpoznávání řeči. Součást Java Speech API. 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í plynulé řeči Jazykový model 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í plynulé řeči Jazykový model ■ Aktuální verze 1.0 (březen 2004). Gramatiky pro podporu r/~\~7nA7ná\/á ni rc±c~i ■ Definuje způsob zápisu pravidel a jejich odkazování. 1 \j£-VJ\j£- \ Id Vd 1 II 1 CL 1 Sémantická ■ Dva způsoby zápisu: interpretace promluvy ■ 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í plynulé řeči Jazykový model 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> Sémantická interpretace promluvy Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání řeči Cíl - počítači srozumitelná interpretace informací zadaných uživatelem. Příklad: Chtěl bych si koupit Zkrocení zlé ženy od Shakespeara. ■ akce = nákup ■ titul = Zkrocení zlé ženy ■ autor = Shakespeare Reprezentace - dvojice (atribut, hodnota). Obecné kroky sémantické analýzy: O zjištění struktury rozpoznané promluvy B zjištění významů jednotlivých částí rozpoznané promluvy B případně odvození významu celé promluvy z významů jednotlivých částí promluvy. Sémantická interpretace 7^ smyslu promluvy. Sémantická interpretace promluvy Implementace Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání řeči 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. ■ např jazykem ECMAScript (viz standard Sematic Interpretation for Speech Recognition Ke zjištění smyslu sdělení je případně nutno jej zasadit do kontextu. ■ Kontext lze popsat pomocí konečného automatu s výstupem (Mealyho automatu - viz některá z dalších přednášek). Popis Sémantické Interpretace Dialogové systémy Luděk Bártek Rozpoznávání Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání řeči JSGF: ■ přiřazena pomocí značek (tags) ■ zápis - {sémantická interpretace} < sentence >=< intro >< titul > od < autor > < titul >= Pejska a kočičku {Povídání o pejskovi a kočičce}| (Zlou ženu|Zkrocení zlé ženy) {Zkrocení zlé ženy}|... 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.