Dialogové systémy
Luděk Bártek
Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity,
Brno
jaro 2015
Ří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 ■ Založen na FIA.
Nastavení vlastností ■ Omezení provádění daného bloku/pole - atribut cond,
interpretace 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
Průběh dialogu řízen FIA - opakovaně se vybírá další vhodný nevyplněný element.
Ke změně pořadí vyhodnocování vstupních polí a bloků lze využít:
■ 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
Dialogové systémy ■ Obsahuje podmínku, která musí být splněna, aby se daný
Luděk Bártek element zpracoval. ■ Podmínka zapsána jako logický výraz v jazyce
Řízení toku dialogu ECMAScript:
Funkcionální příst u p ■ Syntakticky hodné resp. velmi blízké podmínkám v
přístup jazycích C/Java/JavaScript.
Nastavení ■ Operandy relačních operátorů jsou:
vlastností ■ konstanty/konstantní výrazy
interpretace ■ 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 Procedurální m Typicky se využívá u dialogů se smíšenou iniciativou.
přístup Nastavení ■ Slouží k zadání informací platných v rozsahu celého
vlastností 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
Ří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:
Nastavení vlastností ■ podmíněné provádění
interpretace ■ skoky.
■ Podmíněný příkaz:
■ elementy if, elseif, else
■ Příkazy skoku:
■ elementy goto, submit, exit, return, subdialog.
Umožňuje vykonaní určité části dialogu za předem stanovených podmínek. Realizován pomocí elementů:
■ if
■ else
■ 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
Příkazy skoku
goto
Příkaz slouží k přechodu na:
■ jinou položku daného formuláře
■ jiný formulář (dialog) v daném dokumentu
■ jiný dokument v dané aplikaci.
Element - goto Atributy:
■ 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.
i (5P ► *
1 -00.0
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 ■ expr - návratová hodnota dialogu.
Nastavení vlastností ■ namelist - seznam proměnných, které se mají vrátit
interpretace 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).
Nastavovaní vlastností interpretace
properties
Dialogové systémy
Nastavování parametrů interpretace - pomocí vlastností
(properties).
Element property:
■ Slouží k nastavování vlastností interpretace.
■ Atributy:
■ 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é systémy ■ Platformě závislé vlastnosti:
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.
Nastavení vlastností interpretace ■ Obecné vlastnosti rozpoznávání řeči:
■ 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ší.