2: Error: Two alternatives in the grammar may be quite confuseable,
for example "start" and "stop" can be very difficult to
distinguish.
Solution 1: Include both in the grammar, and take your chances
with system accuracy. Errors will be frequent in this case.
Solution 2: Remove both from the grammar but include a background
model in the grammar, and when 'background speech' is the result of
recognition, respond to the user by saying "I don't know what
you said. Please try again."
Solution 3: Add both to the grammar, and whenever either one is
recognized, respond to the user by saying, "You said a word
that could either be A or B, and I'm not sure. Please
say C or D." For example, when the user says start or stop,
prompt him or her to say 'begin' or 'finish' (or other
non-confuseable choices).
Obviously Solution 3 is best since it models the area of difficulty
explicitly, and therefore it can train the user to
more effectively use the system. However the developer may not know
what is confuseable in a grammar until after some experience
with it in deployment, so Solution 1 or 2 may be what you start
with until you notice the errors occurring and analyse the
grammar for gaps or confuseability, afterwards you can implement
Solution 3.