Dialogové systémy Dialogové systémy W3C Voice Browser Activity SRGS XML Formát SRGS ABNF formát Luděk Bártek Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2021 Standardy pro tvorbu dialogových rozhraní Dialogové systémy Luděk Bártek Standardy pro tvorbu dialogových rozhraní W3C Voice Browser Activity SRGS ■ Cíl - usnadnění přenosu mezi platformami. ■ Standardy pro tvorbu dialogových rozhraní: ■ Standardy W3C Voice Browser Activity, XML Formát SRGS ABNF formát ■ AIML, SISR ■ defacto standardy implementačních platforem. 1 <\(y World Wide Web Dialogové systémy Luděk Bártek XML Formát SRGS ABNF formát 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 XML Formát SRGS ABNF formát 1999 - založena W3C Voice Browser Working Group Cíl - návrh standardů umožňujících přístup k Webu pomocí hlasu a telefonu. Členové: ■ HP ■ Nuance Communications ■ Lucent Technologies ■ Motorola ■ ScanSoft ■ IBM ■ Telíme Networks ■ Vocalocity Standardy W3C Voice Browser Activity Dialogové systémy Luděk Bártek XML Formát SRGS ABNF formát VoiceXML - jazyk pro popis dialogových strategií. Speech Recognition Grammar Specification - jazyk pro 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 XML Formát SRGS ABNF formát Pronunciation Lexicon Specification - popis výslovnosti pro rozpoznávání a syntézu řeči. 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 XML Formát SRGS ABNF formát 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, JVoiceXML... ■ komerční on-line - Aspect Prophecy, Bevocal Cafe - lze vyzkoušet a omezeně používat on-line (max. 2 paralelní hovory). Speech Recognition Grammar Specification Dialogové systémy Luděk Bártek XML Formát SRGS ABNF formát 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 XML Formát SRGS ABNF formát Gramatika G = (A/, Z, P, S) ■ N - konečná množina neterminálních symbolů ■ Z - konečná množina terminálních symbolů (abeceda jazyka) ■ P - množina pravidel ■ S - kořenový neterminální symbol Bezkontextová gramatika: ■ gramatika G = (A/, Z, P, S) ■ pravidla ve tvaru N —>► {N U Z}* SRGS gramatika XML formát Dialogové systémy Luděk Bártek XML Formát SRGS ABNF formát 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). ■ xmhlang- 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 XML Formát SRGS ABNF formát Element rule: m atributy: ■ id — identifikátor pravidla (odpovídá neterminálnímu symbolu na levé straně pravidla). ■ Obsah - pravá strana pravidla: ■ textový obsah - posloupnost term iná In ich symbolu ■ element ruleref- neterminální symbol; odkazovaný pomocí atributu uri. m element one-of- varianty (operátor |). ■ element item - logické členění sekvence; umožňuje napr. uvést počet opakování dané části promluvy. Sekvence Dialogové systémy Luděk Bártek ■ Posloupnost terminálních a neterminálních SAMPLE^ Mám rád TYP formát SRGS. symbolů. Standardy pro tvorbu dialogových rozhraní Mám rád formát SRGS. W3C Voice Browser Activity ■ Lze ji rozdělit na logické části: SRGS XML Formát SRGS ABNF formát SISR tečka červená zelená modrá 0 pa ková n ŕ Dialogové systémy Luděk Bártek Standardy pro tvorbu dialogových rozhraní W3C Voice Browser Activity SRGS XML Formát SRGS ■ 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: opakování ABNF formát SISR ■ < m, n > krát - m-n Chtěl bych ■ < a?, oo) krát - m-Ahoj 1 <\(y ■ 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 XML Formát SRGS ABNF formát Čistě textový formát gramatiky vycházející z tradičního formátu BNF. ::= Chci jet z do ".11 ::= ::= vlakem | autobusem BNF podobný formát využívá dále např. JSGF Struktura ABNF zápisu SRGS Dialogové systémy Luděk Bártek XML Formát SRGS ABNF formát Hlavička gramatiky - může obsahovat: ■ 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 Struktura hlavičky ABNF zápisu SRGS Dialogové systémy Luděk Bártek Standardy pro ■ Začíná identifikací typu dokumentu. tvorbu dialogových rozhraní W3C Voice Browser Activity SRGS ■ #ABNF verzeSRGS kódovánĹgramatiky #ABNF 1.0 ISO-8859-2 ■ Následuje: XML Formát SRGS ABNF formát SISR ■ specifikace kořenového neterminálu - root Sneterminál; ■ jazyk gramatiky - language kód jazyka] language en-US; ■ režim použitelnosti gramatiky - mode (voice dtmf); ABNF zápis pravidel gramatiky Dialogové systémy Luděk Bártek Sekvence - sekvence terminálních a neterminálních symbolů oddělených mezerou: Spozdrav = dobrý den; $datum = $den $mesic $rok; XML Formát SRGS ABNF formát Varianty - příslušné sekvence terminálních a neterminálních symbolů oddělené symbolem $dopravni_prostredek = autobus I vlak; Opakování: ■ volitelné části - uzavřeny do '[ ]' ■ m—n - <□► < r^P ► < -E ► < -E ► E O °n O Ukázka SRGS gramatiky v ABNF notaci Dialogové systémy Luděk Bártek #ABNF 1.0 UTF-8; root $url; language cs-CZ; mode voice; XML Formát SRGS ABNF formát $url = [$protokol] [$server] tečka (Sdomena tečka) $tld[$cesta]; Sprotokol = http I ftp I telnet I gopher $cesta = (/ $adresar) /[$soubor]; Semantic Interpretation for Speech Recognition Dialogové systémy Luděk Bártek XML Formát SRGS ABNF formát 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é systémy Luděk Bártek XML Formát SRGS ABNF formát Sémantická interpreta bývá součástí pravidel SRGS Přiřazení interpretace k pravidlu - pomocí „tágu": ■ XML formát SRGS: ■ element tag: {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 Luděk Bártek XML Formát SRGS ABNF formát Zápis odvození - pomocí výrazů v jazyce ECMAScript. Přiřazení pravidel pro odvození k pravidlům gramatiky -pomocí atributu/elementu tag. Výsledná interpretace reprezentována pomocí objektů ve formátu JSON. 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 XML Formát SRGS ABNF formát Mám { out= rules. barva + 11;11 + rules .prostředek; } □ rS1 Vyhodnocování promluv ABNF Formát Dialogové systémy Luděk Bártek Standardy pro tvorbu dialogových rozhraní $vlastnictvi = Mám $barva <0-l> Sprostredek W3C Voice { Browser Activity SRGS XML Formát SRGS ABNF formát SISR out = rules, barva + 11; }; 11 + rules .prostředek; Přiřazení interpretace vstupním polím XML Formát Dialogové systémy Luděk Bártek XML Formát SRGS ABNF formát { out.barva = rules.barva; out.prostředek = rules.prostředek; } Přiřazení interpretace vstupním polím ABNF formát Dialogové systémy Luděk Bártek Standardy pro tvorbu dialogových rozhraní $vlastnictvi = mam $barva <0-l> $prostredek W3C Voice Browser Activity { out.barva = rules.barva; SRGS XML Formát SRGS ABNF formát SISR out.prostředek = rules.prostředek; }; Zdroje Dialogové systémy Luděk Bártek Standardy pro tvorbu dialogových rozhraní W3C Voice Browser Activity ■ Specifikace SRGS ■ Specifikace SISR SRGS XML Formát SRGS ■ Specifikace ECMAScript ABNF formát SISR ■ Specifikace JSON 1 <\(y