Download presentation
Presentation is loading. Please wait.
1
Introduction to VXML
2
What is VXML? Voice Extensible Markup Language Used in telephone-based speech applications voice browsing of the web
3
How does VXML work? Two main components tags -- control what the program does grammars -- control what speech is recognized; what the user can say
4
Basic VXML tags -- defines a VXML application -- basic component of a dialog -- says something to the user -- holds information supplied by user -- defines what user can say -- what to do once user says something
5
VXML Hierarchy contains one or more may contain one or more and does contain one or more contains one or more but one and only one and an optional
6
Execution is linear unless you tell it otherwise
7
Example 1
8
Tony’s Tips #1 All files must end with the extension.vxml Use a simple editor such as Notepad or the editor provided by BeVocal. Do not use Word -- it tends to add extra hidden formatting All tags occur in pairs (e.g., and ) When using avoid punctuation and capitalization
9
VXML Grammars Two types of grammars Programmer specified -- you decide what can be said Built-in or pre-defined Two tags related to grammars -- what can be said -- what to do once you recognize something
10
Built-in Grammars OK
12
Example 2a
13
Example 2b
14
Recognizing phrases Single words [news sports weather exit] phrases (i want the news) Combined ((i want the) [news sports]) ((i want the) [news sports (home section)]) Saying something optional (?(i want the) [news sports] ?please)
15
Using slots Problem: holds entire phrase that is recognized would have to write a separate rule for each possible phrase (i.e., the vocabulary problem) Slots are a useful shortcut when recognizing phrases ((i want the) [news sports (home section)]) ((i want the) [news { } sports { } (home section) { }])
16
Example 2c These are the slots This goes to another field unless paying by check
17
More on grammars Grammars do not have to be defined directly in vxml file can be defined in a separate file with.gsl extension (see example 3)
18
Tony’s Tips #2 avoid capitalizing words or using punctuation when defining a grammar Use built-in grammars whenever possible Use slots when trying to recognize phrases Use a separate grammar file if certain things will be recognized repeatedly (e.g. example 3)
19
So far... The metaphor is VXML as a form Dialog is overdetermined (i.e., the system is in control)
20
What about...
21
Design considerations Main menu people menu Undergrad menu Grad menu
22
Design considerations Main menu people menu Undergrad menu Grad menu
23
Design considerations Main menu people menu Undergrad menu Grad menu
24
Example 3
25
Example 4 Main menu people menu Undergrad menu Grad menu ex4_psych.vxml ex4_undergr.vxmlex4_grad.vxmlex4_people.vxml grammar psychology.gsl
26
Tony’s Tips #3 When using external grammars the rule name must start with a capital letter and is case sensitive (e.g., Fish is different from FISH) Plan first, then write code Break the project into pieces Test each small piece individually then combine
28
Adding flexibility Handling speech recognition errors Handling long periods of silence Help Repeating Exiting/Hanging up gracefully
31
Adding flexibility Given/new information (e.g., emphasis) This implementation of VXML does not allow you to change emphasis despite having tags and
33
You can get this correct
34
Additional options Change the timeout length Say as feature Ex. system can say a series of numbers in “telephone style” Use pre-recorded sounds (i.e.,.wav files) Change the voice
35
Tony’s Tips #4 Start early Reuse code -- don’t reinvent the wheel Put comments in your code If you get stuck ask someone for help See Tony’s Tips 1-3
36
FUll flow chart Example 3/4
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.