swirec_max_dict_prons
Maximum number of pronunciations per word.
Value |
Integer: 0–999. |
Default |
8 (pronunciations) |
How to set |
Shown in precedence order (see Rules of parameter precedence): In a grammar using a <meta> tag. See the text on compilation-time parameters in Parameters set in grammar files. In Management Station set on the Nuance recognition service. If not using Management Station, set in a Recognizer configuration file (User-nrsxx.xml). |
Usage |
Occasionally used when collecting a phrase where more than one word has more than one pronunciation. |
Performance |
Higher values (more pronunciations) increase chances of recognition, but also increase compilation time, CPU computation, and false matches. (A false match occurs when a spoken word matches a pronunciation for a different word.) |
When a word has multiple pronunciation entries in a dictionary, each entry must be loaded into the Recognizer for the pronunciation to take effect. This parameter specifies how many pronunciations to load. If the dictionaries contain more than this number, the extra pronunciations are used. (You cannot predict which pronunciations will be ignored).
Guidelines:
- Although this parameter allows as many as 999 pronunciations, typical settings are in the range of 4-16.
- Adding more pronunciations to a dictionary increases the likelihood that a given pronunciation used by a caller will be recognized.
- By default, a user dictionary has higher precedence that a system dictionary. Once the Recognizer finds a word in a dictionary, it does not search dictionaries of lower precedence (even if the higher precedence dictionary has fewer than the maximum pronunciations). See Pronunciation dictionaries.
For this parameter, a word is defined as a unit of the grammar that is separated by whitespace. Therefore, “man_o_war” is one word, but “man o war” is three words. The entire word “man_o_war” is subject to the swirec_max_dict_prons limit, while each individual word of “man o war” is subject to the swirec_max_dict_prons limit. Consider the following:
- If “man_o_war” appears in a dictionary, the grammar compiler loads only the dictionary pronunciations.
- If “man_o_war” is not explicitly in a dictionary, the compiler assembles all pronunciations for each individual word (as delimited by underscores) and loads as many pronunciation as allowed by swirec_max_dict_prons.
For example, the compiler first assembles pronunciations for “man”, “o”, and “war”. If there were exactly 3 pronunciations for each of the three words, there 27 possible combinations of pronunciations. If swirec_max_dict_prons is 4, then only 4 of the 27 pronunciations are loaded for the single word “man_o_war”.
- If instead the grammar defines “man o war” (using spaces as delimiters), the compiler loads up to swirec_max_dict_prons for each word. Continuing the example above, each word would return 3 pronunciations for each word which would then be built into a grammar that would allow all 27 possible pronunciations for “man o war”. This example assumes that “man o war” is not defined in a dictionary, in which case (as described previously) only the dictionary pronunciations for that definition would be used.
Note that “man o war” allows more pronunciations than “man_o_war” and also allows those many pronunciations to be compiled more efficiently. Nuance recommends using spaces as word delimiters.
Sample definition in a grammar file:
<meta name="swirec_max_dict_prons" content="8"/>
Related parameters