Global Commands
In an ideal world, there would be one set of commands for all speech recognition applications - rather like 0 in a DTMF application normally gets you to the operator. However, although there are some recommendations, there are no rules. If you’re a major company that has several different ASR applications, then at least try and be consistent across all the applications, so that ‘help’ in one application isn’t replaced by ‘assistance’ in another.
Help!
Not surprisingly, saying help should result in some context sensitive help. This ties in with Dialog States, where there is a separate help prompt for every Dialog State. The help prompt is usually like an escalated error prompt - the caller is told what kind of input is expected from them, but also how they can return to the main menu or maybe list all the commands
Escalating error prompts
Escalating error prompts give more information each time there is a failed recognition. So the first error prompt may just apologise for not recognising what the caller said:
I'm sorry, I didn't get that. Please say on which date you wish to start.
The next level up would give more detail about what kind of dates are acceptable:
Sorry, I didn't understand that. Please say a date such as the 25th of May. When would you like to start?
A final would also give some details about how to start over or return to the main menu:
Sorry, I'm afraid I couldn't understand that. Please say a date such as the 25th of May. If you want to cancel the transation please say "cancel". When would you like to start?
This approach keeps the coversation short if the caller only spoke indistinctly - and only saddles the caller with lots of information when it's clear that they are having difficulty. VoiceXML allows this to be implemented very easily, as it automaticlly counts the number of no matches and no inputs that occur:
<catch nomatch count="1">
<!-- play the prompts -->
</catch>
<catch nomatch count="2">
<!-- play the prompts -->
</catch>
<catch nomatch count="3">
<!-- play the prompts -->
</catch>
<catch nomatch count="4">
<!-- after 3 errors you probably want to return
the caller back to the main menu -->
</catch>
|
Repeat
This one is pretty simple. The caller didn't hear the prompt properly and they would like to hear it again. So a command such as repeat is fairly useful. Having said that, if the caller says nothing, then you're going to repeat the prompt anyway - so it's not like they won't hear the prompt ever again if they don't say repeat! If the caller doesn't say anything we would normally play the help prompt, to explain where they are in the application and what they can say.
MainMenu/Cancel
If a caller gets into trouble or wants to get back to the main menu, they need some command to help them get there. They shouldn't have to say go back five times to get back to the main menu. Main Menu seems to work quite well - particularly if the caller is informed that the start of the call that they are in the main menu. If they are in the middle of a transaction of some sort, then cancel may be a good command to use.
Bye!
We've put goodbye and similar words in applications, but generally found that once callers were familiar with an application, they were more inclined to just hang-up when they were finished. Having said that, it should be in the global grammar just to take care of polite callers!
If you have any comments, ideas, issues, etc. about this topic why not try the voice-push forums
|