SemanticValue.Confidence Property

Returns a relative measure of the certainty as to the correctness of the semantic parsing that returned the current instance of SemanticValue.

Namespace: Microsoft.Speech.Recognition
Assembly: Microsoft.Speech (in microsoft.speech.dll)



Property Value

Returns a float a relative measure of the certainty of correct recognition for the phrase information returned in the current SemanticValue instance.


The values returned by Confidence are purely relative and unique to each recognition engine.

There is no definition how confidence values between two different recognition engines compare.

The values are used to rank alternative candidate phrases returned by the Alternates property on RecognitionResult objects.


The example below is used to recursively traverse and then display (as a System.Windows.Forms.TreeNodeCollection) information, including confidence, or the nodes making up the tree structure of the semantics used to recognize a phrase. The use of Confidence is highlighted.

internal static void CreateSemanticsTreeNodes(TreeNodeCollection nodes,
                                              SemanticValue semantics,
                                              String name) {
    string semanticsText = String.Format("  {0} ( Confidence {1})",
       //Put integers as hex
    if (semantics.Value == null ){
        semanticsText = semanticsText + " = null";
    }else if (semantics.Value.GetType() == typeof(int)) {
        semanticsText = String.Format("{0} = {1:X} ", 
                                      semanticsText, semantics.Value);
    } else {
        semanticsText = semanticsText + " = "
                       + semantics.Value.ToString();
    TreeNode semanticsNode = new TreeNode(semanticsText);
    foreach (KeyValuePair<String, SemanticValue> child in semantics) {
        CreateSemanticsTreeNodes(semanticsNode.Nodes, child.Value, child.Key);
    //   }

Thread Safety

All public static (Shared in Visual Basic) members of this type are thread-safe. Instance members are not guaranteed to be thread-safe.


Development Platforms

Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition

Target Platforms

See Also


SemanticValue Class
SemanticValue Members
Microsoft.Speech.Recognition Namespace