Dialogové systémy Luděk Bártek Rozpoznávání řeči 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 2019 >0 0,0 Rozpoznávaní řeči Dialogové systémy Luděk Bártek Rozpoznávaní reči Rozpoznávaní plynulé reči Jazykový model Gramatiky pro podporu rozpoznávaní 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í: 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í řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání 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í řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání 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í řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání 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\w1 . . . Wn_ľ) = P{wn\wn_2Wn-l) Rozpoznávaní plynulé řeči Rozpoznávání tématu Dialogové systémy Luděk Bártek Rozpoznávání řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání Ú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ávaní řeči Dialogové systémy Luděk Bártek Rozpoznávání řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání Úspěšnost obecného rozpoznávání plynulé řeči může klesnout až na cca 50 %. Zvýšení lze dosáhnout omezením domény - např. specifikováním přípustných vstupů. 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í řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání 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ávaní reči Rozpoznávaní plynulé reči Jazykový model Gramatiky pro podporu rozpoznávaní #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 rozpoznávání ■ Definuje způsob zápisu pravidel a jejich odkazování. řeči Sémantická interpretace i ■ Dva způsoby zápisu: ■ XML promluvy ■ 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í plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání #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í řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání 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: Q zjištění struktury rozpoznané promluvy B zjištění významů jednotlivých částí rozpoznané promluvy Q 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í řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání 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í řeči Rozpoznávání plynulé řeči Jazykový model Gramatiky pro podporu rozpoznávání 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.