Dialogové systémy Luděk Bártek Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2012 Řízení toku dialogu Dialogové systémy Luděk Bártek Řízení toku ■ VoiceXML poskytuje dva způsoby řízení průchodu dialogu Funkcionální dialogem: příst u p Procedurální ■ Funkcionální: příst u p Mastavení ■ Založen na FIA. vlastností interpretace ■ Omezení provádění daného bloku/pole - atribut cond, přiřazení hodnoty danému vstupnímu poli, . . . ■ Použití elementu initial - iniciální část dialogu, většinou je iniciativa na straně uživatele. ■ Procedurální: ■ Využívají se klasické řídící struktury - if/then/else/elseif, goto. Funkcionální přístup řízení průběhu dialogu Dialogové systémy Luděk Bártek ■ Průběh dialogu řízen FIA - opakovaně se vybírá další Řízení toku dialogu vhodný nevyplněný element. Funkcionální příst u p ■ Ke změně pořadí vyhodnocování vstupních polí a bloků lze Procedurální využít: Mastavení vlastností ■ změny hodnot vstupních polí: ■ přiřazení - (nepřejeme si toto pole provádět ■ smazání - dané pole bude znovu vyplněno; lze využít pro opakované zadávání nějaké hodnoty (např. koníček, kód předmětu při zápisu, . . .) ■ atribut cond: ■ Obsahuje podmínku, která musí být splněna, aby se vstup/blok provedl. ■ Podmínka zapsána v jazyce ECMAScript. Prirazení hodnoty Dialogové systémy Element assign m Má atributy: ■ name - název proměnné/vstupního pole ■ expr - obsahuje výraz (může být i konstantní), jehož hodnota se má proměnné přiřadit. ■ Proměnná musí být před použitím definována - stínová proměnná vstupního pole; pomocí elementu var. ■ V gramatice - pomocí atributů objektu out, více viz přednáška o SISR. Prirazení hodnoty Dokončení Dialogové systémy Pomocí kódu v jazyce ECMAScript. Smazání hodnoty proměnné - element clear. ■ seznam proměnných uveden v atributu namelist ■ názvy jsou odděleny mezerou. Atribut cond Obsahuje podmínku, která musí být splněna, aby se daný element zpracoval. Podmínka zapsána jako logický výraz v jazyce ECMAScript: ■ Syntakticky hodné resp. velmi blízké podmínkám v jazycích C/Java/JavaScript. ■ Operandy relačních operátorů jsou: ■ konstanty/konstantní výrazy ■ proměnné/stínové proměnné z dokumentu. Zadejte zakončení předmětu Element initial Dialogové systémy Luděk Bártek Řízení toku dialogu Funkcionální příst u p m Typicky se využívá u dialogů se smíšenou iniciativou. Mastavení vlastností ■ Slouží k zadání informací platných v rozsahu celého interpretace dialogu. ■ Využívá gramatiku formuláře - obsažena jako dceřiný uzel elementu form - většinou jako 1. Element initial Ukázka použití Dialogové systémy Luděk Bártek Řízení toku dialogu Procedurální
Mastavení vlastností interpretace Zadejte, který předmět si přejete zaregistrovat a s jakým ukončením. Element initial Ukázka použití Dialogové systémy Luděk Bártek Řízení toku Bohužel Vám nerozumím. Zkusíme to jinak. dialogu Funkcionální příst u p Mastavení vlastností interpretace Název nebo kód registrovaného předmětu Luděk Bártek Způsob ukončení předmětu. Řízení toku Jedna z možností zkouška, kolokvium, dialogu Funkcionální zápočet. příst u p interpretace Přejete si zaregistrovat s ukončením ?
Řízení průběhu dialogu Procedurální přístup Dialogové systémy Luděk Bártek Řízení toku dialogu ■ Umožňuje psát dialogová rozhraní způsobem, který je Funkcionální obvyklý u strukturovaného programování. Procedurální příst u p ■ Řídící struktury: Mastavení vlastností interpretace ■ podmíněné provádění ■ skoky. ■ Podmíněný příkaz: ■ elementy if, elseif, else ■ Příkazy skoku: ■ elementy goto, submit, exit, return, subdialog. Pod míněný příkaz Dialogové systémy Luděk Bártek ■ Umožňuje vykonání určité části dialogu za předem Řízení toku stanovených podmínek. dialogu ■ Realizován pomocí elementů: Procedurální ■ if příst u p Mastavení ■ else vlastností interpretace ■ elseif ■ Elementy if a elseif mají atribut cond - obsah shodný s atributem cond u funkcionálního přístupu. ■ Elementy else a elseif musí být potomky elementu if. ■ Element if může být na místech, kde je povolen proveditelný obsah: ■ element block ■ element filled Podmíněný příkaz Příklad Dialogové systémy Luděk Bártek Řízení toku dialogu expr="'r'"/> Funkcionální Mastavení vlastností interpretace 1 -00.0 Příkazy skoku goto Dialogové ■ Příkaz slouží k přechodu na: systémy Luděk Bártek ■ jinou položku daného formuláře Řízení toku ■ jiný formulář (dialog) v daném dokumentu dialogu ■ jiný dokument v dané aplikaci. Procedurální ■ Element - goto př íst u p Mastavení vlastností ■ Atributy: interpretace ■ nextitem - umožňuje předat řízení jinému vstupnímu poli daného formuláře. Hodnotou je řetězcová konstanta s URI vstupního pole. ■ expritem - umožňuje předat řízení jinému vstupnímu poli daného formuláře. Hodnotou může být libovolný výraz v jazyce ECMAScript, jehož výsledkem je URI vstupního pole. ■ next - URI formuláře, kterým se má pokračovat. ■ expr - výraz v jazyce ECMAScript, který se vyhodnotí jako URI formuláře, kterým se má pokračovat. Příkazy skoku submit Dialogové systémy Příkaz slouží k odeslání získaných hodnot ke zpracování serverové části aplikace a v pokračování dokumentem, který je vrácen jako odpověď. Element - submit ■ atributy next, expr- URI aplikace, která má data zpracovat, a která vrací pokračování dialogu. ■ atribut method - obsahuje jednu z hodnot get a post. Značí zda se má se serverem komunikovat pomocí HTTP metody post a nebo get. Příkazy skoku exit, return, subdialog Dialogové systémy Luděk Bártek Řízení toku ■ Element exit dialogu Funkcionální ■ Slouží k ukončení aplikace. Procedurální ■ může obsahovat atributy: příst u p Mastavení ■ expr - návratová hodnota dialogu. vlastností interpretace ■ namelist - seznam proměnných, které se mají vrátit interpretru. ■ Element subdialog - slouží k vyvolání dílčího dialogu (více viz minulá přednáška). ■ Element retům - slouží k návratu ze subdialogu (více viz minulá přednáška). Nastavování vlastností interpretace properties Dialogové systémy Luděk Bártek ■ Nastavování parametrů interpretace - pomocí vlastností Řízení toku (properties). dialogu Funkcionální ■ Element property: příst u p Procedurální ■ Slouží k nastavování vlastností interpretace. Mastavení ■ Atributy: vlastností interpretace ■ name - jméno nastavované vlastnosti ■ value - hodnota, která se má nastavit. ■ Typy vlastností: ■ platformně závislé vlastnosti ■ obecné vlastnosti rozpoznávání řeči ■ obecné vlastnosti DTMF ■ vlastnosti výzev ■ vlastnosti komunikace po síti ■ ostatní vlastnosti. Vlastnosti Dialogové Platformě závislé vlastnosti: systémy ■ Luděk Bártek ■ Vnášejí do aplikací nekompatibilitu - dané vlastnosti jsou Řízení toku dostupné pouze na některé platformě. dialogu ■ Platformě závislé vlastnosti by měly používat reverzní Funkcionální příst u p Procedurální název domény autora. Mastavení ■ Obecné vlastnosti rozpoznávání řeči: vlastností interpretace ■ Vlastnosti jsou převážně přebrány z Java Speech API. ■ Patří sem např. confidencelevel - nastavuje minimální hodnotu důvěry ve výsledek vracený rozpoznávačem, aby byl vstup akceptován. ■ Obecné vlastnosti DTMF: ■ interdigittimeout - maximální délka prodlevy při zadávání série číslic pomocí DTMF. ■ termtimeout - maximální prodleva, po které je ukončeno zadávání vstupu pomocí DTMF. ■ ... ■ Vlastnosti výzev a vstupu: ■ timeout - po jak dlouhé době se má generovat událost noinput. ■ bargein - jestli má skončit předčítání promptu v okamžiku, kdy je detekován vstup od uživatele. ■ bergeintype - jaký typ vstupu od uživatele má přerušit předčítání výzvy (speech, dtmf). ■ Vlastnosti načítání obsahu: ■ Slouží k nastavování různých vlastností, které se vztahují k načítání obsahu (dokument, audio, gramatika, skript, ...). ■ Patří sem např. fetchtimeout - doba, po které skončí načítání chybou. ■ a další.