Dialogové systémy Dialogové systémy Luděk Bártek Vstupní pole Rľdľcľ struktury Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2015 Zkouškové termíny Dialogové systémy Luděk Bártek Organizační poznámka VoiceXML Základní ■ V ISu jsou vypsány zkouškové termíny: informace Struktura ■ 11.5. 2015, 16:00 A220 - 6 studentů Zápis dialogů ■ 18.5. 2015, 11:00 A217 - 13 studentů pomocí VoiceXML ■ 25.5. 2015. 11:00 A217 - 13 studentů Vstupní pole 1.6. 2015, 11:00 A217 - 13 studentů Řídící struktury ■ 8.6. 2015, 11:00 A217 - 13 studentů a < /form >. VoiceXML ■ Obsahuje: Základní informace ■ sadu vstupních polí Struktura ■ deklarace proměnných daného formuláře - element var Zápis dialogů pomocí ■ definice gramatik platných v daném formuláři VoiceXML bloky výkonného kódu. Vstupní pole Řídící struktury ■ .. . ■ Atributy: ■ id - povinný atribut: ■ slouží jako identifikátor daného formuláře ■ jeho hodnota musí být unikátní v daném dokumentu ■ lze použít k předávání řízení do daného formuláře. Formulář Algoritmus interpretace formulářů Dialogové systémy Formuláře jsou interpretovány implicitním algoritmem pro interpretaci formulářů (Form Interpretation Algorithn, FIA): Q Přehraj všechny výzvy, které jsou potomky tohoto elementu form. B Dokud existuje vstupní pole formuláře s nedefinovanou hodnotou: D Vyber 1. vhodný nezadaný vstup. Q Přehraj všechny výzvy, které se váží k danému poli. Q Získej hodnotu vstupu daného vstupního pole nebo zpracuj vyvolanou událost (help, nomatch, . . .) Q Zpracuj část filled daného vstupního pole. Formulář FIA - pokračování Dialogové systémy Luděk Bártek FIA může dále skončit pokud: ■ pokud se má provést přesměrování hovoru (např. element goto) ■ pokud má dojít k předání dat dokumentovému serveru (element submit) ■ pokud je explicitně požadováno ukončení (element exit). Formulář Ukázka Dialogové systémy Luděk Bártek Organizační poznámka
Zápis dialogů VoiceXML Hello world! Vstupní pole Řídící struktury This is our first VoiceXML form.
1 -00.0 Formulář Možný obsah Dialogové systémy ■ Vstupní pole - odpovídají různým možnostem zadání Luděk Bártek vstupních položek formuláře: Organizační ■ field - vstup od uživatele, možnost zadání hlasem nebo poznámka pomocí DTMF. VoiceXML ■ record - slouží k nahrání zprávy od uživatele. Základní informace ■ subdialog - slouží k vyvolání dialogu řešícího dílčí problém, Struktura např. zadání adresy, .. . pomocí VoiceXML ■ Řídící položky: Vstupní pole ■ block - příkazový blok, lze využít např. k různým Řídící struktury výstupům pro uživatele, vyhodnocování vstupních dat, . .. ■ initial - iniciální část formuláře. Využívá se hlavně v dialogových rozhraních se smíšenou strategií. ■ transfer - přesměrování uživatele na novou lokaci (aplikaci, telefonního operátora, .. .) ■ object - slouží ke zpřístupnění funkcionality, která může být závislá na platformě (dli, JSP+ serviet, . ..) Formulář Vstupní pole a řídící struktury - ukázka užití Dialogové systémy Luděk Bártek poznámka
VoiceXML Základní informace Struktura Welcome to the VoiceXML!. Zápis dialogů pomocí VoiceXML Vstupní pole Řídící struktury Hello. Tell mi something nice, like hello, hi, good day. Formulář Vstupní pole a řídící struktury - ukázka užití - pokračování Dialogové systémy Luděk Bártek I didn't understand you, but thanks anyw Organizační poznámka VoiceXML Základní informace Struktura Zápis dialogů pomocí When you don't want to speek to me good VoiceXML bye. Vstupní pole Řídící struktury you said < s ► i -00.0 Element field Dialogové systémy Luděk Bártek Organizační poznámka ■ Představuje vstup od uživatele. Může být zadán bud' VoiceXML hlasem nebo pomocí DTMF. Základní informace ■ Atributy: Struktura ■ name - jméno pole. Používá se k přístupu k zadané Zápis dialogů pomocí VoiceXML hodnotě (pomocí stínové proměnné se shodným jménem). ■ expr - výraz v jazyce ECMAScript, který slouží Vstupní pole Řídící struktury k inicializaci hodnoty vstupního pole. ■ cond - vstupní podmínka nutná pro zpracování vstupního pole. ■ Více viz specifikace. Element field Pokračování Dialogové systémy Obsah elementu: ■ Výzva s popisem požadované hodnoty (element prompt). ■ Gramatika (element grammar) - gramatika s popisem akceptovaných vstupů. ■ Typ gramatiky závisí na použité platformě (zabudovaném rozpoznávací řeči, např. Voxeo Prophecy, OptimTalk -SRGS, JVoiceXML - JSGF,...). ■ Ošetření událostí: ■ noinput - nebyl zadán žádný vstup ■ nomatch - zadán neakceptovaný vstup (vstup neodpovídá gramatice) ■ filled - umožňuje zpracování vstupu po vyplnění vstupního pole Element field Ukázka užití Dialogové systémy Luděk Bártek Organizační poznámka VoiceXML Základní Zadejte Vaše jméno informace Struktura Zápis dialogů pomocí Zadejte prosím Vaše křestní jméno VoiceXML Vstupní pole Řídící struktury Je mi líto, ale zadané jméno není v kalendáři
< s ► i -00.0 Element record Dialogové systémy Luděk Bártek ■ Umožňuje systému nahrát zprávu od uživatele. Organizační poznámka ■ Lze využít např. pro tvorbu hlasového záznamníku. VoiceXML Základní ■ Atributy: informace Struktura ■ name - název vstupního pole Zápis dialogů ■ expr - viz field pomocí VoiceXML ■ cond - viz field Vstupní pole ■ beep - má-li být začátek nahrávání být signalizován Řídící struktury zvukovým signálem ■ maxtime - maximální délka nahrávky ■ type - mime-type výsledné nahrávky, musí být podporována VoiceXML platformou ■ .. . ■00.0 Element record Organizační poznámka VoiceXML Základní informace Struktura Zápis dialogů pomocí VoiceXML Vstupní pole Řídící struktury ■ Obsah elementu: ■ Výzva/výzvy s popisem požadovaného požadovaného vstupu. ■ Ošetření událostí: ■ noinput - uživatel zprávu nezačal nahrávat. ■ connection.disconnect.hangup - uživatel zavěsil. Element record Ukázka užití Dialogové systémy Luděk Bártek poznámka
VoiceXML Základní Zápis dialogů pomocí Bohužel zde nikdo není. Po zaznění VoiceXML signálu můžete zanechat vzkaz. Vstupní pole Řídící struktury Bohužel nic neslyším. Zkuste to znovu.
< s ► i -00.0 Element subdialog Dialogové systémy ■ Slouží k vyvolání dílčího dialogu (dialogu řešícího dílčí Luděk Bártek problém). Organizační poznámka ■ Jeden a tentýž subdialog se dá volat opakovaně. VoiceXML ■ Vyvolání subdialogu: Základní informace ■ element subdialog - vlastní volání subdialogu. Struktura ■ Obsahuje: pomocí VoiceXML ■ parám - definice hodnoty parametru. Formulář ■ filled - kód, který se má provést po návratu z dílčího Vstupní pole Řídící struktury dialogu. ■ Atributy: ■ name - jméno volaného subdialogu. ■ src - URI formuláře s kódem subdialogu. ■ Kód subdialogu: ■ formulář ■ ukončený elementem return. Element subdialog Ukázka užití Dialogové systémy
Ukázka použití subdialogu ve VoiceXML Hodnota subdialogu je Element subdialog Ukázka užití - pokračování Dialogové systémy Luděk Bártek Řekl jste Organizační poznámka VoiceXML Základní
informace Struktura
Zápis dialogů pomocí VoiceXML Vstupní pole Řídící struktury Na pozdrav jste mi neodpověděl. Nashledanou. Element subdialog Ukázka užití - dokončení Dialogové systémy Bohužel jsem Vám nerozuměl, ale stejně dekuj i.Nashledanou.
Element block Organizační poznámka VoiceXML Základni informace Struktura Zápis dialogů pomocí VoiceXML Vstupní pole Řídící struktury Obsahuje proveditelný obsah. ■ atributy: ■ name - název bloku. ■ expr - iniciální hodnota proměnné formuláře. ■ cond - podmínka omezující provádění bloku. ■ struktura - shodná s obsahem elementu filled: ■ řídící struktury - elementy if, else, elseif ■ přiřazovací příkaz - element assign, clear, . . . ■ příkazy skoku - element goto, exit, return, . .