• Nie Znaleziono Wyników

VoiceXML. pomocí VoiceXML. Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno. jaro 2012

N/A
N/A
Protected

Academic year: 2022

Share "VoiceXML. pomocí VoiceXML. Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno. jaro 2012"

Copied!
25
0
0

Pełen tekst

(1)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı

VoiceXML

Dialogov´ e syst´ emy

Ludˇek B´artek

Laboratoˇr vyhled´av´an´ı a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno

jaro 2012

(2)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

VoiceXML

akladn´ı informace

Jazyk pro popis dialogov´ych rozhran´ı.

Souˇc´ast standard˚u W3C Voice Browser Activity.

C´ıl:

pˇrin´est v´yhody webov´eho v´yvoje a doruˇcov´an´ı obsahu do interaktivn´ıch hlasov´ych aplikac´ı.

Historie:

1995 – zapoˇcat v´yvoj znaˇckovac´ıho jazyka AT&T Phone Markup Language.

1998 – konference poˇr´adan´a W3C na t´ema hlasov´eho proch´azen´ı webu:

pˇredvedeny jazyky PML, VoxML, SpeechML, TalkML, VoiceHTML, . . .

(3)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

VoiceXML

akladn´ı informace

Historie (pokraˇcov´an´ı):

1999 – zaloˇzeno VoiceXML Forum – c´ılem je spojen´ı sil pˇri yvoji jazyka pro znaˇckov´an´ı dialog˚u.

2000:

vyd´ana specifikace VoiceXML 1.0

specifikace VoiceXML 1.0 pˇrijata jako standard W3C.

Aktu´aln´ı stav:

doporuˇcen´ı – VoiceXML 2.1. (ˇcerven 2007) draft – VoiceXML 3.0 (srpen 2010)

(4)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

VoiceXML

Model komunikace

(5)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

VoiceXML

Struktura aplikac´ı

VoiceXML dokument(y):

Skl´adaj´ı se z formul´aˇr˚u.

zivatel se v dan´em okamˇziku nach´az´ı v jednom z konverzaˇcn´ıch stav˚u.

Pˇrechody mezi stavy definov´any pomoc´ı URI – odkazuj´ı na dalˇs´ı krok dialogu.

Dialog konˇc´ı, pokud tento pˇrechod nen´ı definov´an.

VoiceXML definuje dva druhy dialog˚u:

Formul´aˇre – definuje proces nutn´y pro z´ısk´an´ı hodnot sady poloˇzek.

Menu – poskytuje uˇzivateli sadu moˇznost´ı a odkaz˚u na pokraˇcov´an´ı dialogu.

(6)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

VoiceXML

Struktura aplikac´ı – pokraˇcov´an´ı

Subdialogy:

Obdoba funkc´ı v procedur´aln´ım programu.

Slouˇz´ı k opˇetovn´emu prov´adˇen´ı jist´e ˇasti dialogu (napˇr.

zjiˇstˇen´ı e-mailov´e adresy).

Realizov´any jako formul´aˇre, kter´ym mohou b´yt pˇred´any parametry, a kter´e mohou vrace hodnotu (viz d´ale).

Sezen´ı:

Zaˇc´ın´a v okamˇziku zah´ajen´ı komunikace s VoiceXML interpretrem.

Konˇc´ı:

na pˇr´an´ı uˇzivatele (napˇr. ukonˇcen´ı spojen´ı, ˇadost o ukonˇcen´ı interpretace, . . . )

VoiceXML dokumentem – nen´ı definov´an dalˇs´ı pˇrechod, pˇred´an´ı dat k dalˇs´ımu zpracov´an´ı, . . .

Aplikace – sada dokument˚u, kter´e sd´ılej´ı koˇrenov´y dokument.

(7)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

VoiceXML

voicexml – koˇrenov´y element kaˇzd´eho dokument.

Mus´ı obsahovat atributy:

version – pouˇzit´a verze standardu VoiceXML aktu´aln´ı 2.1

hodnota z´avis´ı na pouˇzit´e platformˇe – OptimTalk 1.9 – 2.1, JVoiceXML – zat´ım ne´upln´a podpora verze 2.1, VoiceGlue – podpora 2.0 + nˇekter´e moˇznosti z 2.1, . . . xmlns – deklarace implicitn´ıho jmenn´eho prostoru.

Hodnota mus´ı b´yt http://www.w3.org/2001/vxml.

xml:lang – hodnotou je k´od jazyka, pro kter´y je dialogov´e rozhran´ı navrˇzeno.

Element obsahuje:

jeden nebo v´ıce element˚u form, element menu,

. . .

(8)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Formul´ aˇr

Jeden ze z´akladn´ıch element˚u VoiceXML dokument˚u.

Ohraniˇcen znaˇckami < form > a < /form >.

Obsahuje:

sadu vstupn´ıch pol´ı

deklarace promˇenn´ych dan´eho formul´aˇre – element var definice gramatik platn´ych v dan´em formul´aˇri

bloky v´ykonn´eho k´odu:

. . . Atributy:

id – povinn´y atribut:

slouˇz´ı jako n´azev dan´eho formul´aˇre

jeho hodnota mus´ı b´yt unik´atn´ı v dan´em dokumentu lze pouˇz´ıt k pˇred´av´an´ı ˇr´ızen´ı do dan´eho formul´aˇre.

(9)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Formul´ aˇr

Algoritmus interpretace formul´aˇr˚u

Formul´aˇre jsou interpretov´any implicitn´ım algoritmem pro interpretaci formul´aˇr˚u (Form Interpretation Algorithn, FIA):

1 Pˇrehraj vˇsechny v´yzvy, kter´e jsou potomky tohoto elementu form.

2 Dokud existuje vstupn´ı pole formul´aˇre s nedefinovanou hodnotou:

1 Vyber 1. vhodn´y nezadan´y vstup.

2 Pˇrehraj vˇsechny v´yzvy, kter´e se v´z´ı k dan´emu poli.

3 Z´ıskej hodnotu vstupu dan´eho vstupn´ıho pole nebo zpracuj vyvolanou ud´alost (help, nomatch, . . . ) 4 Zpracuj ˇast filled dan´eho vstupn´ıho pole.

(10)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Formul´ aˇr

FIA – pokraˇcov´an´ı

FIA m˚uˇze d´ale skonˇcit pokud:

pokud se m´a prov´est pˇresmˇerov´an´ı hovoru (napˇr. element goto)

pokud m´a doj´ıt k pˇred´an´ı dat dokumentov´emu serveru (element submit)

pokud je explicitnˇe poˇzadov´ano ukonˇcen´ı (element exit).

(11)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Formul´ aˇr

Uk´azka

<vxml version="2.0"

xmlns="http://www.w3.org/2001/vxml"

xml:lang="en-US">

<form id="hello">

<prompt>

Hello world!

This is our first VoiceXML form.

</prompt>

</form>

</vxml>

(12)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Formul´ aˇr

Moˇzn´y obsah

Vstupn´ı pole - odpov´ıdaj´ı r˚uzn´ym moˇznostem zad´an´ı vstupn´ıch poloˇzek formul´aˇre:

field – vstup od uˇzivatele, moˇznost zad´an´ı hlasem nebo pomoc´ı DTMF.

record – slouˇz´ı k nahr´an´ı zpr´avy od uˇzivatele.

subdialog – slouˇz´ı k vyvol´an´ı dialogu ˇreˇs´ıc´ıho d´ılˇc´ı probl´em, napˇr. zad´an´ı adresy, . . .

R´ıd´ıc´ı poloˇˇ zky:

block – pˇr´ıkazov´y blok, lze vyuˇz´ıt napˇr. k r˚uzn´ym

ystup˚um pro uˇzivatele, vyhodnocov´an´ı vstupn´ıch dat, . . . initial – inici´aln´ı ˇast formul´aˇre. Vyuˇz´ıv´a se hlavnˇe v dialogov´ych rozhran´ıch se sm´ıˇsenou strategi´ı.

transfer – pˇresmˇerov´an´ı uˇzivatele na novou lokaci (aplikaci, telefonn´ıho oper´atora, . . . )

object – slouˇz´ı ke zpˇr´ıstupnˇen´ı funkcionality, kter´a m˚ze yt z´avisl´a na platformˇe (dll, JSP+ servlet, . . . )

(13)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Formul´ aˇr

Vstupn´ı pole a ˇr´ıd´ıc´ı struktury – uk´azka uˇzit´ı

<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"

xml:lang="cs-CZ">

<form id="hello">

<block name="hello">

<prompt>Welcome to the VoiceXML!.</prompt>

</block>

<field name="greating">

<prompt>Hello.</prompt>

<grammar src="greatings.grxml"/>

<noinput>

<prompt>Tell mi something nice, like hello, hi, good day.</prompt>

</noinput>

(14)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Formul´ aˇr

Vstupn´ı pole a ˇr´ıd´ıc´ı struktury – uk´azka uˇzit´ı – pokraˇcov´an´ı

<nomatch>

<prompt> I didn’t understand you, but thanks anyway.

</prompt>

<exit/>

</nomatch>

<noinput count="2">

<prompt> When you don’t want to speek to me good bye.</prompt>

<exit/>

</noinput>

</field>

<filled>

<prompt> you said <value expr="greating"/></prompt>

<submit src="SomeURI" namelist="greating"/>

</filled>

</form>

</vxml>

(15)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element field

Pˇredstavuje vstup od uˇzivatele. M˚uˇze b´yt zad´an bud’

hlasem nebo pomoc´ı DTMF.

Atributy:

name – jm´eno pole. Pouˇz´ıv´a se k pˇr´ıstupu k zadan´e hodnotˇe (pomoc´ı st´ınov´e promˇenn´e se shodn´ym jm´enem).

expr – v´yraz v jazyce ECMAScript, kter´y slouˇz´ı k inicializace hodnoty vstupn´ıho pole.

cond – vstupn´ı podm´ınka nutn´a pro zpracov´an´ı vstupn´ıho pole.

V´ıce viz specifikace.

(16)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element field

Pokraˇcov´an´ı

Obsah elementu:

yzva s popisem poˇzadovan´e hodnoty (element prompt).

Gramatika – SRGS gramatika s popisem akceptovan´ych vstup˚u.

Oˇsetˇren´ı ud´alost´ı:

noinput – nebyl zad´an ˇadn´y vstup

nomatch – zad´an neakceptovan´y vstup (vstup neodpov´ıd´a gramatice)

filled – umoˇnuje zpracov´an´ı vstupu po vyplnˇen´ı vstupn´ıho pole

. . .

(17)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element field

Uk´azka uˇzit´ı

<?xml version="1.0" encoding="UTF-8"?>

<vxml version="2.0" xmlns="...">

<form id="main">

<field name="name">

<prompt>Zadejte Vaˇse jm´eno</prompt>

<grammar src="..." type="application/xml+srgs"/>

<noinput>Zadejte pros´ım Vaˇse kˇrestn´ı jm´eno

</noinput>

<nomatch>Je mi l´ıto, ale zadan´e jm´eno nen´ı v kalend´aˇri</nomatch>

</field>

<filled>

<submit next="applicationURI" namelist="name"/>

</filled>

</form>

</vxml>

(18)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element record

Umoˇzˇnuje syst´emu nahr´at zpr´avu od uˇzivatele.

Lze vyuˇz´ıt napˇr. pro tvorbu hlasov´eho z´aznamn´ıku.

Atributy:

name – n´azev vstupn´ıho pole expr – viz field

cond – viz field

beep – m´a-li b´yt zaˇatek nahr´av´an´ı b´yt signalizov´an zvukov´ym sign´alem

maxtime – maxim´aln´ı d´elka nahr´avky

type – mime-type v´ysledn´e nahr´avky, mus´ı b´yt podporov´ana VoiceXML platformou

. . .

(19)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element record

Obsah elementu:

yzva/v´yzvy s popisem poˇzadovan´eho poˇzadovan´eho vstupu.

Oˇsetˇren´ı ud´alost´ı:

noinput – uˇzivatel zpr´avu nezaˇcal nahr´avat.

connection.disconnect.hangup – uˇzivatel zavˇesil.

(20)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element record

Uk´azka uˇzit´ı

<?xml version="1.0" encoding="utf-8"?>

<vxml version="2.0"

xmlns="http://www.w3.org/2001/vxml">

<form id="zaznamnik">

<record name="zaznam" beep="true" maxtime="30s"

type="audio/x-wav">

<prompt>Bohuˇzel zde nikdo nen´ı. Po zaznˇen´ı sign´alu m˚uˇzete zanechat vzkaz.</prompt>

<noinput> Bohuˇzel nic neslyˇs´ım. Zkuste to znovu.

</noinput>

<catch event="connection.disconnect.hangup">

<submit next="http://some.uri.cz/zaznamnik"/>

</catch>

</record>

</form>

</vxml>

(21)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element subdialog

Slouˇz´ı k vyvol´an´ı d´ılˇc´ıho dialogu (dialogu ˇreˇs´ıc´ıho d´ılˇc´ı probl´em).

Jeden a tent´yˇz subdialog se d´a volat opakovanˇe.

Vyvol´an´ı subdialogu:

element subdialog – vlastn´ı vol´an´ı subdialogu.

Obsahuje:

param – definice hodnoty parametru.

filled – k´od, kter´y se m´a prov´est po n´avratu z d´ılˇc´ıho dialogu.

Atributy:

name – jm´eno volan´eho subdialogu.

src – URI dokumentu s k´odem subdialogu.

K´od subdialogu:

formul´aˇr

ukonˇcen´y elementem return.

(22)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element subdialog

Uk´azka uˇzit´ı

<?xml version="1.0" encoding="utf-8"?>

<vxml version="2.0" xmlns="..." xml:lang="cs-CZ">

<form id="demo">

<block>

<prompt>Uk´azka pouˇzit´ı subdialogu ve VoiceXML

</prompt>

</block>

<subdialog name="greating" src="#say_hello">

<param name="param1" expr="’ahoj’"/>

<filled>

<prompt>Hodnota subdialogu je <value expr="greating.great"/></prompt>

</filled>

</subdialog>

(23)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element subdialog

Uk´azka uˇzit´ı – pokraˇcov´an´ı

<filled>

<prompt>ˇRekl jste <value expr="greating.great"/>

</prompt>

</filled>

</form>

<form id="say_hello">

<var name="param1"/>

<field name="great">

<prompt><value expr="param1"/></prompt>

<grammar src="pozdrav.grxml"/>

<noinput count="2">

<prompt>Na pozdrav jste mi neodpovˇedˇel.

Nashledanou.</prompt>

<return/>

</noinput>

(24)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element subdialog

Uk´azka uˇzit´ı – pokraˇcov´an´ı

<nomatch>

<prompt>Bohuˇzel jsem V´am nerozumˇel, ale stejnˇe dekuji.Nashledanou.</prompt>

<return/>

</nomatch>

</field>

<filled>

<return namelist="great"/>

</filled>

</form>

</vxml>

(25)

Dialogov´e syst´emy Ludˇek B´artek

VoiceXML apis dialog˚u pomoc´ı VoiceXML

Element block

Obsahuje provediteln´y obsah.

atributy:

name – n´azev bloku.

expr – inici´aln´ı hodnota promˇenn´e formul´aˇre.

cond – podm´ınka omezuj´ıc´ı prov´adˇen´ı bloku.

struktura – shodn´a s obsahem elementu filled:

ˇr´ıd´ıc´ı struktury – elementy if, else, elseif pˇriˇrazovac´ı pˇr´ıkaz – element assign, clear, . . . pˇr´ıkazy skoku – element goto, exit, return, . . .

Cytaty

Powiązane dokumenty

CLP – Constraint Logic Programming Ovlivnˇ en´ı efektivity prohled´ av´ an´ı s navracen´ım. Ovlivnˇ en´ı efektivity prohled´ av´ an´ı

2 Testov´ an´ı OO softwaru Typologie testov´ an´ı Anom´ alie DU p´ ar˚ u Probl´ em polymorfizmu.. 3 Kategorie OO vad a anom´

V dalˇ s´ı ˇ c´ asti pr´ ace byly navrˇ zeny ´ upravy konstrukce kˇ r´ıdla pro zv´ yˇ sen´ e zat´ıˇ zen´ı a jin´ e uspo- ˇ r´ ad´ an´ı palivov´ ych n´ adrˇ

mezin´arodnˇe standardn´ı z´apis – jsou k dispozici tabulky a fonty Unicode – speci´aln´ı IPA znaky v rozsahu U+0250–02AD z´apis

uˇcen´ı je potˇrebn´e pro nezn´am´e prostˇred´ı (a l´ın´e analytiky ,) uˇc´ıc´ı se agent – v´ykonnostn´ı komponenta a komponenta uˇcen´ı metoda uˇcen´ı

I Zaveden´ı n´ ahodn´ e veliˇ ciny slouˇ z´ı zejm´ ena ke zkr´ acen´ı a zpˇrehlednˇ en´ı z´ apisu pravdˇ epodobnost´ı... Tato funkce m´ a n´

zdravotn´ıch sestr ´ach - person ´aln´ı obsazen´ı, vzd ˇel ´an´ı, pˇresˇcasy, nevykonan ´a zdravotn´ı p ´eˇce.. pacientech - spokojenost se zdravotn´ı p

* Skl´ad´an´ı funkc´ı (coby relac´ı), speci´alnˇe aplikov´ano na permutace... student˚ um MU k´ody jejich zapsan´ych pˇredmˇet˚ u, druhou S pˇriˇr..