Dialogové systémy Dialogové systémy SRGS ABMF formát SISR Luděk Bártek Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2014 World Wide Web Dialogové systémy 1876 - udělen patent na telefon A. G. Bellovi WWW ■ 1989 - po CERN koluje článek HyperText and Cern (Tim Burnes Lee) ■ Vánoce 1990 - demonstrován řádkový webový prohlížeč a editor. ■ 1991 - všeobecná dostupnost WWW na počítačích v CERN. ■ 1994 - první setkání W3 konsorcia. W3C Voice Browser Activity Dialogové systémy Luděk Bártek ■ 1999 - založena W3C Voice Browser Working Group. W3C Voice Browser ■ Cíl - návrh standardů umožňujících přístup k Webu Activity SRGS pomocí hlasu a telefonu. XML Formát SRGS ■ Členové: ABMF formát SISR ■ HP ■ Nuance Communications ■ Lucent Technologies ■ Motorola ■ Scan Soft ■ IBM ■ Telíme Networks ■ Vocalocity ■ .. . Standardy W3C Voice Browser Activity Dialogové systémy Luděk Bártek W3C Voice Browser Activity ■ VoiceXML - jazyk pro popis dialogových strategií. SRGS XML Formát SRGS ■ Speech Recognition Grammar Specification - jazyk pro ABMF formát SISR zápis gramatik pro podporu rozpoznávání řeči. ■ Semantic Interpretation for Speech Recognition - jazyk pro podporu sémantické interpretace. ■ Speech Synthesis Markup Language - jazyk pro popis prozodických charakteristik pro syntézu řeči. Standardy W3C Voice Browser Activity pokračování Dialogové systémy Luděk Bártek W3C Voice Activity SRGS ■ Pronunciation Lexicon Specification - popis výslovnosti XML Formát SRGS pro rozpoznávání a syntézu řeči. ABMF formát SISR ■ Call Control XML - jazyk pro popis řízení telefonního spojení uživatele a systému. ■ State Chart XML - jazyk pro popis obecně použitelných stavových automatů. Standardy W3C Voice Browser Activity Zpracování Dialogové systémy Luděk Bártek ■ Standardy jsou značkovací jazyky - nutná interpretace ■ Existuje řada platforem: ■ Volně dostupné desktopové- JVoiceXML, PublicVoiceXML, . .. ■ Komerční desktopové - Optimtalk - dříve existovala volně dostupná verze; laboratoř LSD má zakoupenou licenci na laboratorní stroje. ■ Volně dostupné on-online - Asterisk+VoiceGlue resp. OpenVXI, .. . ■ komerční on-line - Voxeo Prophecy, Bevocal Cafe - lze vyzkoušet a omezeně používat on-line (max. 2 paralelní hovory). Speech Recognition Grammar Specification Dialogové systémy W3C specifikace jazyka pro zápis bezkontextových gramatik pro podporu rozpoznávání řeči. Aktuální verze 1.0. Nahradil původně používaný standard JSGF Existují dvě varianty zápisu: ■ XML ■ Augmented Backus-Naur Form (ABNF). Liší se pouze způsob zápisu nikoliv vyjadřovací síla. Možnost použitého zápisu závisí na použité platformě. ■ širší podpora pro XML formát Bezkontextové gramatiky Teorie formálních jazyků Dialogové systémy Luděk Bártek W3C Voice Browser ■ Gramatika G = (N, Z, P, S) Activity SRGS ■ N - konečná množina neterminálních symbolu XML Formát SRGS ■ Y. - konečná množina terminálních symbolu (abeceda ABMF formát SISR jazyka) ■ P - množina pravidel ■ S - kořenový neterminální symbol ■ Bezkontextová gramatika: ■ gramatika G — (N, T, P, S) m pravidla ve tvaru N —>• {N U T.}* SRGS gramatika XML formát Dialogové systémy Začíná XML prologem ■ . Kořenový element - grammar; obsahuje množinu pravidel (elementů rule). Atributy: ■ version - použitá verze standardu SRGS (aktuálně 1.0). ■ xml:lang- kód jazyka gramatiky. ■ root - id pravidla odpovídajícího kořenovému neterminálu. ■ mode - pro jaký způsob komunikace je gramatika určena: ■ dtmf - pomocí DTMF kódů ■ voice - hlasově; implicitní hodnota. Zápis pravidla Dialogové systémy Luděk Bártek W3C Voice ■ Element rule: Browser Activity ■ atributy: SRGS XML Formát ■ id — identifikátor pravidla (odpovídá neterminálnímu SRGS ABMF formát symbolu na levé straně pravidla). SISR ■ Obsah - pravá strana pravidla: ■ textový obsah - posloupnost terminálních symbolů ■ element ruleref- neterminální symbol; odkazovaný pomocí atributu uri. ■ element one-of- varianty (operátor ). ■ element item - logické členění sekvence; umožňuje např. uvést počet opakování dané části promluvy. Sekvence Posloupnost terminálních a neterminálních symbolů. SAMPLE^ Mám rád TYP formát SRGS. Mám rád formát SRGS. Lze ji rozdělit na logické části: tečka 1 -00.0 Varianty Dialogové systémy Luděk Bártek ■ Element one-of. W3C Voice B rowser ■ Umožňuje specifikovat různé varianty očekávaných vstupů. Activity SRGS ■ Jednotlivé varianty jsou ohraničeny elementem item. XML Formát SRGS ■ Příklad: ABMF formát SISR červená zelená modrá Opakovaní Umožňuje specifikaci: ■ nepovinných částí promluvy ■ opakujících se částí promluvy Zápis - pomocí atributu repeat u elementu item. Možnosti počtů opakování: ■ n krát - n: •Citem repeat="2">opakování ■ < m, n > krát - m-n •Citem repeat="0-l"> Chtěl bych ■ < n, oo) krát - m- •Citem repeat="l-">Ahoj 4 □ ► 4 S ► 4 1 -00.0 Zvláštní pravidla Slouží k zadání: ■ libovolné nespecifikované promluvy - GARBAGE ■ nevyslovitelného pravidla (zakázání určité promluvy) VOID ■ vždy platného pravidla (i prázdného) - NULL Používají se jako zvláštní neterminální symboly: Příklad použití: z do ABNF formát SRGS Dialogové systémy Luděk Bártek W3C Voice B rowser ■ Čistě textový formát gramatiky vycházející z tradičního Activity formátu BNF. SRGS XML Formát SRGS ::= Chci jet ABMF formát SISR z do "." ::= ::= vlakem | autobusem ■ BNF podobný formát využívá dále např. JSGF Struktura ABNF zápisu SRGS Dialogové systémy Luděk Bártek W3C Voice Browser Activity ■ Hlavička gramatiky - může obsahovat: SRGS XML Formát SRGS ABMF formát SISR ■ specifikaci jazyka gramatiky ■ režim gramatiky - voice/dtmf ■ kořenový neterminál ■ .. . ■ Pravidla gramatiky ■ formát - Sneterminál — (neterminál\terminál)* ■ neterminál — identifikátor pravidla u XML formátu. 1 -00.0 Struktura hlavičky ABNF zápisu SRGS Dialogové systémy Začíná identifikací typu dokumentu. ■ #ABNF verzeSRGS kódovánLgramatiky #ABNF 1.0 ISO-8859-2 Následuje: ■ specifikace kořenového neterminálu - root Sneterminál; ■ jazyk gramatiky - language kód jazyka; language en-US; režim použitelnosti gramatiky - mode (voicejdtmf); ABNF zápis pravidel gramatiky Dialogové systémy Luděk Bártek ■ Sekvence - sekvence terminálních a neterminálních W3C Voice symbolů oddělených mezerou: Browser Activity $pozdrav = dobrý den; SRGS XML Formát SRGS $datum = $den $mesic $rok; ABMF formát SISR ■ Varianty - příslušné sekvence terminálních a neterminálních symbolů oddělené symbolem ' ': $dopravni_prostredek = autobus | vlak; ■ Opakování: ■ volitelné části - uzavřeny do '[ ]' ■ m—n - i -00.0 Ukázka SRGS gramatiky v ABNF notaci Dialogové systémy Luděk Bártek #ABNF 1.0 UTF-8; W3C Voice Browser root $url; Activity SRGS language cs-CZ; XML Formát SRGS mode voice; ABMF formát SISR $url = [] [server] tečka ($domena tečka) tečka $tld[$cesta]; $protokol = http | ftp | telnet | gopher | . $cesta = (/ $adresar) / [$soubor]; • • ) 1 -00.0 Semantic Interpretation for Speech Recognition Dialogové systémy Sémantika - přiřazuje význam tvrzením. Sémantika v dialogových systémech: ■ přiřazuje interpretaci promluvám a jejich částem ■ umožňuje získání relevantních údajů. SISR - standard z rodiny W3C Voice Browser Activity ■ slouží k sémantické interpretaci promluv ■ publikován v dubnu 2007 ■ aktuální verze 1.0. ■ Je úzce spjat se standardy: ■ ECMA Script - vyhodnocování interpretace používá výrazy jazyka ECMA Script ■ SRGS - vyhodnocování je pomocí atributů přiřazeno gramatice pro rozpoznávání promluvy. ■ JSON - interpretace je vnitřně reprezentována pomocí objektů ve formátu JSON. Přiřazení interpretace části promluvy Dialogové ■ Sémantická interpreta bývá součástí pravidel SRGS. systémy Luděk Bártek ■ Přiřazení interpretace k pravidlu - pomocí ,,tagu": W3C Voice ■ XML formát SRGS: Browser Activity ■ element tag: SRGS SRGS •Cruleref uri="souhlas"/> ABMF formát SISR {out ='ano'} ■ atribut tag: jo ■ ABNF formát SRGS: ■ interpretace uvedena za interpretovanou částí promluvy. ■ tvar: {interpretace} $potvrzení = $souhlas {ano]- | $nesouhlas {ne} Odvozování interpretace na základě dílčích interpretací Dialogové systémy ■ Zápis odvození - pomocí výrazů v jazyce ECMAScript. Luděk Bártek ■ Přiřazení pravidel pro odvození k pravidlům gramatiky - W3C Voice Browser pomocí atributu/elementu tag. Activity SRGS ■ Výsledná interpretace reprezentována pomocí objektů ve XML Formát SRGS formátu JSON. ABMF formát SISR ■ Vyhodnocování promluv: ■ přístup k dílčím interpretacím - interpretace neterminálních symbolů na pravé straně: ■ atributy stínové proměnné rules ■ neterminálu N odpovídá atribut N. ■ vrácení výsledné interpretace z pravidla do nadřazeného pravidla - objekt out. ■ vrácení interpretace do dialogu: ■ atributy objektu out ■ vstupnímu poli N odpovídá atribut N. Vyhodnocování promluv XML formát Dialogové systémy Luděk Bártek W3C Voice Mám Browser Activity SRGS XML Formát SRGS ABMF formát SISR { out= rules.barva + ";" + rules.prostředek; } i -00.0 Dialogové systémy Vyhodnocování promluv ABNF Formát $vlastnictvi = Mám $barva <0-l> $prostredek { out = rules.barva + ";" + rules.prostředek; >; Přiřazení interpretace vstupním polím XML Formát Dialogové systémy Luděk Bártek W3C Voice Mám Browser Activity SRGS ABMF formát SISR { out.barva = rules.barva; out.prostředek = rules.prostředek; } Prirazení interpretace vstupním polím ABNF formát Dialogové systémy $vlastnictvi = mam $barva <0-l> $prostredek { out.barva = rules.barva; out.prostředek = rules.prostředek; >; Zdroje Dialogové systémy Luděk Bártek W3C Voice Browser Activity SRGS XML Formát SRGS ■ Specifikace SRGS ABMF formát SISR ■ Specifikace SISR ■ Specifikace ECMAScript ■ Specifikace JSON