This page contains questions that have been raised by students regarding the second assignment, and answers to those questions. New questions and answers are added at the top.
A: Although the VoiceXML specification states some loose requirements here, this is very much vendor-dependent. The DATE built-in in the Motorola toolkit seems to be particularly restricted: it accepts dates in the format <MonthNumber DayNumber YearNumber> and not a whole lot else.
A: Strangely, VoiceGenie don't seem to consider this a bug: here's what their support pages say:
GenieIDE is not attached with any ASR Engine. Right now users are able to test any Noinput and Nomatch by "noinput" and "nomatch". Otherwise, IDE assumes users understand what should be the input against the inline grammar.So, if you want to test your noinput and nomatch behaviours in GenieIDE, actually provide the strings "nomatch" and "noinput" as inputs.MyVoiceGenie has a real ASR Engine. The grammar (inline or other grammar file) are loaded to the Engine. Any phrase you said was passed to the ASR Engine. It is up to the ASR to decide if the input phrase is in the grammar.
Thank you for you input. We might will improve GenieIDE for this feature by parsing the inline grammar
A: In the Motorola kit, the built-in date grammar is rather limited. You'll find that it understands things like
9 11 2001Not very helpful, I know. It's best to write your own date grammar.
A: CDATA is the standard method in XML of providing textual data that contains characters that might normally be interpreted as part of the XML notation. Basically it provides a way of escaping the 'character data' so that it will not be misinterpreted. For example, the '<' character in XML indicates the beginning of a tag. This is a problem if you want to have a piece of text like the following
5 < 6since the < will be read by the XML parser and deemed to be part of an unrecognised construct. One solution is to use the special character names that XML provides: so here we could have
5 < 6But this is painful to read (and to write) when there is more than just a few special characters, so a better solution is to wrap the whole thing in CDATA bracketing:
<![CDATA[5 < 6]]>See http://www.devx.com/projectcool/developer/xmlz/xmldoc/cdata.html for more information.
A: No. It's useful for larger applications but not so necessary here.
I understand we have a '$' infront of ilike and colour for the "choosecolour" grammar because choosecolour grammar references to ilike and colour grammars. Whabeginning of each line of grammar (infront of choosecolour, ilike and colour). Do all the grammar rules start with '$'? Should these lines of grammar be written as$choosecolour = $ilike | $colour; $ilike = I'd like | my favourite is; $colour = blue | red | green;
choosecolour = $ilike | $colour; ilike = I'd like | my favourite is; colour = blue | red | green;
A: This is just a particular grammar convention. I think (I'd have to check) that it's consistent with the ABNF form used in VXML 2.0, but that's not particularly important; the point is that the specification has to explain how rules are laid out. In this case, we've adopted a convention where nonterminal symbols are s ignalled by leading $s, and terminal symbols are not.
A: The conventions used in the design. Think about the role of the design spec: ideally it should be usable in a number of different development contexts, leaving implementation decisions to the next person down the line, so you can't really presume what grammar formats will be available. In practice, of course, it's hard to write a clean spec in this sense, but it's the thing to aim for.
A: To jump to the specific form you'd say
<goto next="#New_Booking">(assuming this form is in the same file). But I'm not sure it's even possible to jump to a specific field in another form. Why would you want to jump to a particular field? If you need to do that it may mean that your form/field structure is not very modular.
A: Well, you've got it right. Wizard of Oz simulation (WoZ) is a widely-used technique; it sounds like SpeechWorks have built an application of some kind that assists in such similations -- I haven't seen it so I don't know how it works, but it seems to me pretty likely that it involves some kind of interface that lets you select the system responses to be played back.
A: Read sections 10.3 and 10.4 of the VoiceXML 1.0 spec on scope and activation of grammars.
A: Without knowing much more about the amount of memory you have, which OS you're running, which development environment and so on, I can't tell. The dev kit you're using may have a memory leak, in which case restarting your machine might help. I doubt splitting the grammar into separate files will help. I know that the Motorola kit does have problems with large grammars. Try restarting to see what happens; if the problem gets worse over time then it is probably a memory leak.
A: The example in the spec demonstrates only one error, I think; it might be worth having a couple of errors in there. The idea is to demonstrate as much as possible what happens in the app, but you don't want to go overboard of course.
Copyright (c) 2002 by
Macquarie
University. All rights reserved.