About Voice XML 2 0 Stefanie Shriver a
About Voice. XML 2. 0 Stefanie Shriver a lot of this stuff is pulled directly from the 2. 0 spec: http: //www. w 3. org/TR/voicexml 20/
Why use Voice. XML? n n n Minimizes client/server interactions by specifying multiple interactions per document Shields application authors from low-level, and platformspecific details Separates user interaction code (in Voice. XML) from service logic (CGI scripts) Promotes service portability across implementation platforms. Voice. XML is a common language for content providers, tool providers, and platform providers Easy to use for simple interactions, yet provides language features to support complex dialogs
Voice. XML has features to handle: n n n n Output of synthesized speech (text-to-speech) Output of audio files Recognition of spoken input Recognition of DTMF input Recording of spoken input Control of dialog flow Telephony features such as call transfer and disconnect
What can you do with Voice. XML? n Create simple dialogs, simply. n n n Good for prototyping (hmm, would this have worked for USI keyword experiment? ) Create more complex dialogs with some work. "Voice. XML supports a limited type of mixed initiative. Voice. XML does NOT support the user asking arbitrary questions during a dialog. " n I think it can actually be more arbitrary than this, though, with more complex grammars.
[ SUB_PLST: plst {<option strcat($plst "^d=na^ps=true")>} SUB_TMST: tmst {<option strcat($tmst "^d=na^ps=false")>} SUB_HELP: hst {<option strcat($hst "^d=na^ps=hh")>} SUB_STARTOVER: sst {<option strcat($sst "^d=na^ps=hh")>} SUB_QUIT: qst {<option strcat($qst "^d=na^ps=hh")>} SUB_UPDATE: updt {<option strcat($updt "^d=na^ps=updt")>} SUB_LEADER: ldr {<option strcat($ldr "^d=na^ps=ldr")>} SUB_NEWGAME: ngm {<option strcat($ngm "^ps=go")>}] SUB_STARTOVER [ (start over) {return (strcat("event=" "home"))} (? (go) home) {return (strcat("event=" "home"))}] SUB_NEWGAME [ (? (i want to) go to SUB_ALLTEAMS: t ? (game)) {return (strcat("team=" "")strcat($t "^d=today")))} ([(tell me) what] about the SUB_ALLTEAMS: t ? (game)) {return (strcat("team=" "")strcat($t "^d=today")))} (? (i want to) go to the last SUB_ALLTEAMS: t ? (game)) {return (strcat("team=" "")strcat($t "^d=last")))} ([(tell me) what] about the last SUB_ALLTEAMS: t ? (game)) {return (strcat("team=" "")strcat($t "^d=last")))} (? (i want to) go to yesterday's SUB_ALLTEAMS: t ? (game)) {return (strcat("team=" "")strcat($t "^d=yesterday")))} ([(tell me) what] about yesterday's SUB_ALLTEAMS: t ? (game)) {return (strcat("team=" "")strcat($t "^d=yesterday")))}] SUB_QUIT [ (quit) {return (strcat("event=" "quit"))} (good bye) {return (strcat("event=" "quit"))}] SUB_PLST [ [ (SUB_PLAYER: p SUB_STAT: s) (SUB_STAT: s SUB_PLAYER: p) (? [(give me) (tell me ? (about)) (what is)] ? (the) SUB_STAT: s ? (for) SUB_PLAYER: p) (? (SUB_TELLME) how many SUB_STAT: s SUB_PLAYER: p has ? (had))
Resources n n n http: //www. w 3. org/TR/voicexml 20/ http: //www. voicexml. org/ Development platforms: n n n http: //studio. tellme. com/ http: //cafe. bevocal. com http: //freespeech. heyanita. com http: //developer. voicegenie. com/ see http: //www. commweb. com/article/COM 20010129 S 0003 for an article comparing these platforms
What about SALT? n n n http: //www. saltforum. org/ SALT developed/promoted by Microsoft, Philips, Speech. Works, Intel, Cisco, Comverse Voice. XML developed/promoted by AT&T, Lucent, IBM, Motorola
SALT features n n n n Focus on multi-modal development Supports XML form of SRGS Parallel tasks Applications are DOM based Uses SSML for speech synthesis Call Control Applications are scripted in ECMAScript (aka Javascript) Uses fewer XML elements (see http: //www. voicexmlplanet. com/articles/saltspec. html)
Multi-modality in SALT <xhtml xmlns: salt="urn: schemas. saltforum. org/2002/02/SALT"> <!-- HTML -->. . . <input name="txt. Box. City" type="text" onpendown="listen. City. Start()"/>. . . <!-- SALT --> <salt: listen id="listen. City"> <salt: grammar name="gram. City" src=". /city. xml" /> <salt: bind targetelement="txt. Box. City" value="//city" /> </salt: listen> </xhtml>
Discussion n n Can something this "simple" really handle useror mixed-initiative that well? What are the implications of having a standard, but having different development platforms with different supported & proprietary features? What do we really need to solve dialog system development? (per Alex…) Can multi-modalality be successfully integrated (i. e. via SALT)?
- Slides: 10