Grammar Format Tags: Special Characters

Microsoft Speech SDK

The Microsoft.com Speech website Microsoft Speech SDK SAPI 5.1

Grammar Format Tags: Special Characters

The following Grammar Format tags have associated special characters which can be used as shorthand to modify words within a rule or used to modify the rule itself. These tags allow greater flexibility of a rule by accepting a wider range of words for a given position.

The following tags are available:

Also see the CoffeeS6 Tutorial for more about embedded dictation and grammar modifiers.

Tags

Optional word: ?

    The question before a word marks that word as optional. The word may or may not be used in the position and have no effect on possible rule activation. Using optional words allows for a more natural speaking manner. For example,

    <P>?Please play the card<P>

    The equivalent complete form of the phrase would be:

    <P><O>Please</O>play the card<P>
    This rule permits the user to eliminate the word "please" and still fire a valid rule. If it were required, the user would have to say "please" in order for the speech recognition (SR) engine to recognize the rule.

    return to the top of this pageBack to top

Wildcard: ...

    An ellipsis is used to accept words not critical to the rule's intent and allow any word or words to be spoken for that position. Unlike other words in a rule that are explicitly listed, the speaker may use any word or words in this position. The SR engine will attempt to recognize the words, and if successful, will accept them as valid elements for activating the rule. However, the words are not returned in the subsequent phrase list. Regardless of the number of words spoken, the phrase element will contain only one representation for all the words. Using wildcards allows for a more natural speaking manner and is meant for words that are unimportant to the intent of the rule. Wildcards extend the optional (question mark tag) by not requiring an explicit list of all the words. For example,

    
    <P>I would like a hamburger<P>
    <P>... hamburger<P>

    The equivalent complete form of the phrase would be:

    <P><WILDCARD/>hamburger<P>

    Both phrases attempt the same action, that of ordering a hamburger. In the first instance, the user would have to use the exact syntax stated. Even optional words would have to be listed and the rule could be cumbersome. The second instance the user can say virtually anything preceding the word "hamburger."

    However, listing other words is not redundant to using just the wildcard. Explicitly listing alternative phrases increases the confidence of the statement. It also increases the SR engine's recognition process because more is known about the possible spoken content. "Please get me a hamburger," is a much more common phrase, and hence is easier to recognize than a non sequitur word allowed by a wildcard. As an example, "aardvark hamburger," is a valid statement according to the rules above, but would be harder for the SR engine to recognize.

    return to the top of this pageBack to top

Dictation: *

    The dictation asterisk allows any word or words to be spoken for that position and each word is returned by the SR engine in the phrase element list. Unlike the wildcard, the word or words are considered important to the rule. Using the dictation asterisk, a user can say any word without the engine expecting or anticipating its context. For example, using the following rule, users can speak their first name:

    <P>My first name is *<P>

    The equivalent complete form of the previous phrase would be:

    <P>My first name is <DICTATION/><P>

    If additional words are needed, use the plus sign after dictation to indicate multiple words (up to a pseudo-infinite number, 255):

    <P>My full name and address is *+<P>

    The equivalent complete form of the previous phrase would be:

    <P>My full name and address is <DICTATION MAX="INF"/><P>

    return to the top of this pageBack to top

Confidence increase: +
Confidence decrease: -

    One of these two signs placed in front of words respectively increases or decreases the required confidence for a successful recognition. Increasing the required confidence means that the SR engine will have to be much more certain that the word it recognizes really is the expected word. For example, if the user is responding to an important question such as "Reform hard disk?," increasing the required confidence is additional confirmation a "yes" really is "yes." To be certain, the rule would be noted as "+yes".

    Likewise, the minus sign decreases the required confidence for the word. This de-emphasizes words. Although the word is required for the rule, it is not important to verify that the user actually said it.

    For example, in the following rule the user makes a request. However, while the command is required, it is more important that "name" is properly recognized rather than "enter."

    <P>-enter +name<P>

    NOTE: There is no XML Grammar tag equivalent for the confidence special characters, "-" and "+".

    The exact numerical measurement of low confidence, normal confidence, and high confidence as mapped to the recognition process is defined by the SR engine vendor. See also the SR Properties White Paper for more information on manipulating the confidence thresh holds by the SR engine.

    return to the top of this pageBack to top