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í
Ří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ší.