The Confusability tool identifies phrases in a grammar that are phonetically similar, which may reduce the speech recognition accuracy of your application. You will typically use the Confusability tool in the following scenarios:
You have authored a grammar and used Grammar Validator to verify that it is syntactically correct. Before you invest in testing with utterances, you want to make sure that your grammar does not contain phonetically ambivalent phrases that could cause misrecognition.
You want to add new phrases to an existing grammar, but you want to make sure that they will not be confused with phrases already in the grammar.
The tool helps provide answers to the following questions:
Which phrases are phonetically similar?
Which phrases are likely to result in false accepts?
What is the probability that one phrase will be falsely accepted for another phrase in the grammar?
Confusability informs you whether the recognizer cannot reliably distinguish between multiple in-grammar phrases with distinct semantic meanings. Each result identifies a phrase that may be incorrectly recognized (and its semantics), the phrase with which it may be confused (and its semantics), and provides a metric for how likely it is that the confusion will occur. When calculating the probability that a phrase will be incorrectly recognized, the tool takes into account the weight assigned to each phrase.
You can run the confusability analysis on an entire grammar, or you can limit the scope for the analysis to a specific rule or to a subset of phrases in a grammar, specified in a list that you provide. The Confusability tool will detect if a grammar contains any of the following features that may adversely affect recognition accuracy:
Entries that cannot reliably be distinguished from each other by the recognizer
Homonyms
Duplicate entries that represent different semantics
Entries with misleading orthography, leading the engine to generate incorrect pronunciations
You can also use the Confusability tool to determine whether new phrases, if added to a grammar, will be confused with other entries already in the grammar. Pass in the list of new phrases using the /PhraseList option on the command line. See Confusability Command-Line Syntax.