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
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 přístup Nastavení 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 Procedurální vlastností 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: 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ší.