Dialogové systémy
Dialogové systémy
Nastavení vlastností interpretace
Luděk Bártek
Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity,
Brno
jaro 2020
Řízení toku dialogu
Dialogové systémy
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
VoiceXML poskytuje dva způsoby řízení průchodu dialogem:
■ Funkcionální:
■ Založen na FIA.
■ 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
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
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
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
Element assign
■ 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
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
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
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
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.
.
— 5 5 II
>
Element initial
Dialogové systémy
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
Typicky se využívá u dialogů se smíšenou iniciativou.
Slouží k zadání informací platných v rozsahu celého dialogu.
Využívá gramatiku formuláře - obsažena jako dceřiný uzel elementu form - většinou jako první.
Element initial
Ukázka použití
Dialogové systémy
Luděk Bártek
Řízení toku dialogu Funkcionální přístup
Procedurs 1 ni přistup Nastavení
Řízení průběhu dialogu
Procedurální přístup
Dialogové systémy
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
Umožňuje psát dialogová rozhraní způsobem, který je obvyklý u strukturovaného programování.
Řídící struktury:
■ 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.
5 s)<\(y
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ý príkaz
Príklad
Dialogové systémy
Luděk Bártek
Řízení toku dialogu Funkcionální přístup expr=" 'r"7>
Procedurální přístup Nastavení vlastností
interpretace
< i 1 <\(y
Príkazy skoku
goto
Dialogové systémy
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
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.
Príkazy skoku
submit
Dialogové systémy
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
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.
Príkazy skoku
exit, return, subdialog
Dialogové systémy
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
Element exit
■ Slouží k ukončení aplikace.
■ může obsahovat atributy:
■ expr- návratová hodnota dialogu.
■ 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 return - slouží k návratu ze subdialogu (více viz minulá přednáška).
Nastavovaní vlastností interpretace
properties
Dialogové systémy
Luděk Bártek
Řízení toku dialogu
Funkcionální přístup Procedurální přístup
Nastavení vlastností interpretace
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.
■ Platformě závislé vlastnosti:
■ Vnášejí do aplikací nekompatibilitu - dané vlastnosti jsou dostupné pouze na některé platformě.
■ Platformě závislé vlastnosti by měly používat reverzní název domény autora.
■ 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 vstupů:
■ 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ší.