RecognizedPhrase.Confidence 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取识别器分配的值,此值表示 RecognizedPhrase 与给定输入匹配的可能性。
public:
property float Confidence { float get(); };
public float Confidence { get; }
member this.Confidence : single
Public ReadOnly Property Confidence As Single
属性值
对正确识别语法的确定性的相对度量。 该值分别为从 0.0 到 1.0,从低到高置信。
示例
以下示例演示 、 SpeechRecognizer.SpeechRecognized或 Grammar.SpeechRecognized 事件的处理程序SpeechRecognitionEngine.SpeechRecognized。 该示例显示与 RecognitionResult 对象关联的信息,其中一些信息派生自 RecognizedPhrase。 处理程序显示已识别短语的置信度分数,以及识别替代项的置信度分数。
void SpeechRecognizedHandler(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result == null) return;
// Add event handler code here.
// The following code illustrates some of the information available
// in the recognition result.
Console.WriteLine("Recognition result summary:");
Console.WriteLine(
" Recognized phrase: {0}\n" +
" Confidence score {1}\n" +
" Grammar used: {2}\n",
e.Result.Text, e.Result.Confidence, e.Result.Grammar.Name);
// Display the semantic values in the recognition result.
Console.WriteLine(" Semantic results:");
foreach (KeyValuePair<String, SemanticValue> child in e.Result.Semantics)
{
Console.WriteLine(" The {0} city is {1}",
child.Key, child.Value.Value ?? "null");
}
Console.WriteLine();
// Display information about the words in the recognition result.
Console.WriteLine(" Word summary: ");
foreach (RecognizedWordUnit word in e.Result.Words)
{
Console.WriteLine(
" Lexical form ({1})" +
" Pronunciation ({0})" +
" Display form ({2})",
word.Pronunciation, word.LexicalForm, word.DisplayAttributes);
}
// Display information about the audio in the recognition result.
Console.WriteLine(" Input audio summary:\n" +
" Candidate Phrase at: {0} mSec\n" +
" Phrase Length: {1} mSec\n" +
" Input State Time: {2}\n" +
" Input Format: {3}\n",
e.Result.Audio.AudioPosition,
e.Result.Audio.Duration,
e.Result.Audio.StartTime,
e.Result.Audio.Format.EncodingFormat);
// Display information about the alternate recognitions in the recognition result.
Console.WriteLine(" Alternate phrase collection:");
foreach (RecognizedPhrase phrase in e.Result.Alternates)
{
Console.WriteLine(" Phrase: " + phrase.Text);
Console.WriteLine(" Confidence score: " + phrase.Confidence);
}
}
注解
置信度分数并不指示正确识别短语的绝对可能性。 相反,置信度分数提供了一种机制,用于比较给定输入的多个识别替代项的相对准确性。 这有助于返回最准确的识别结果。 例如,如果识别的短语的置信度分数为 0.8,这并不意味着该短语有 80% 的几率成为输入的正确匹配项。 这意味着,与置信度分数低于 0.8 的其他结果相比,该短语更有可能是输入的正确匹配项。
置信度分数本身就没有意义,除非有要比较的替代结果(来自同一识别操作或以前对同一输入的识别结果)。 这些值用于对 对象的 属性RecognitionResult返回Alternates的备用候选短语进行排名。
置信度值是相对的,并且是每个识别引擎的唯一值。 无法对两个不同识别引擎返回的置信度值进行有意义的比较。
语音识别引擎可能会出于各种原因为语音输入分配低置信度分数,这些原因包括背景干扰、无法解释的语音或意外字词或单词序列。 如果应用程序使用 SpeechRecognitionEngine 实例,则可以使用方法之一 UpdateRecognizerSetting 修改接受或拒绝语音输入的置信度。 由 SpeechRecognizer管理的共享识别器置信度阈值与用户配置文件相关联,并存储在 Windows 注册表中。 应用程序不应将共享识别器属性的更改写入注册表。
对象的 Alternates 属性 RecognitionResult 包含对象的有序集合 RecognizedPhrase ,其中每个对象都可能与识别器输入匹配。 替换选项按置信度从高到低的顺序排序。