我正在使用System.Speech.Recognition命名空间来识别一个口语句子。我对识别器提供的替代句子很感兴趣,还有他们的信心分数。来自[RecognitionResult.Alternates][1]属性的文档:
识别交替体是根据其置信度的值排序的。给定短语的置信度值表示短语与输入匹配的概率。置信值最高的短语是最有可能与输入匹配的短语。 每个置信度值应单独评估,而不应参考其他候补人员的置信值。
然而,当我打印有信心的认可文本,以及与其信任相匹配的替代文本时,我面临两个我不理解的属性:第一种选择不是根据信任排序的(虽然第一种与认可的文本相匹配);第二,对我来说这是一个更大的问题,承认的文本不是得分最高的备选案文,这似乎与我上面引用的文件相矛盾。
我的(不完整)代码示例来自SpeechRecognized事件处理程序:
Console.WriteLine("Recognized text = {0}, score = {1}", e.Result.Text, e.Result.Confidence);
// Display the recognition alternates for the result.
foreach (RecognizedPhrase phrase in e.Result.Alternates)
{
Console.WriteLine(" alt({0}) {1}", phrase.Confidence, phrase.Text);
}以及相应的输出:
Recognized text = She had said that fit and Gracie Wachtel are all year, score = 0.287724
alt(0.287724) She had said that fit and Gracie Wachtel are all year
alt(0.287724) she had said that fit and gracie wachtel are all year
alt(0.2955212) she had said that faith and gracie wachtel are all year
alt(0.287133) she had said that fit and gracie Wachtell are all year
alt(0.1644379) she had said that fit and gracie wachtel earlier
alt(0.3254312) jihad said that fit and gracie wachtel are all year
alt(0.2726361) she had said that fit and gracie wachtel are only are
alt(0.2867217) she had said that fail and gracie wachtel are all year
alt(0.2565451) she had said that fit and gracie watchful are all year
alt(0.2854537) she had said that fate and gracie wachtel are all year编辑以澄清信心分数的含义,并说明为什么我的结果与文档相矛盾,请参阅RecognizedPhrase.Confidence Property文档中的以下信息。大胆的部分是我的补充:
信心分数并不表示一个短语被正确识别的绝对可能性。相反,置信度分数提供了一种机制,用于比较给定输入的多个识别选择的相对精度。这有助于返回最准确的识别结果。例如,如果一个已识别的短语的置信度分数为0.8,这并不意味着该短语有80%的机会成为输入的正确匹配。这意味着这个短语比其他信心分数低于0.8的结果更有可能是输入的正确匹配。 一个信心分数本身是没有意义的,除非你有可供比较的结果,要么来自相同的识别操作,要么来自先前对同一输入的识别。值用于对交替属性在RecognitionResult对象上返回的备选候选短语进行排序。 置信度值是相对的值,对于每个识别引擎都是唯一的。两个不同的识别引擎返回的置信度值无法进行有意义的比较。 一种语音识别引擎,由于各种原因,包括背景干扰,不清晰的语音,或意料之外的单词或单词序列,可以对语音输入分配低置信度。如果应用程序使用的是SpeechRecognitionEngine实例,则可以修改使用UpdateRecognizerSetting方法之一接受或拒绝语音输入的可信度。由SpeechRecognizer管理的共享识别器的置信阈值与用户配置文件关联,并存储在Windows注册表中。应用程序不应为共享识别器的属性向注册表写入更改。 RecognitionResult对象的Alternates属性包含一个有序的RecognizedPhrase对象集合,每个对象都可能与识别器的输入匹配。交替的顺序是从最高到最低置信度。
发布于 2016-05-08 09:23:21
我只能给你一个通用的答案(我不知道微软语音识别的代码)识别,使用许多算法来接近最佳解决方案。在一个完美的世界中,每一种算法都应该能够对转换后的句子的置信度进行加权。事实上,几乎从来没有这样的情况:
每一种算法都有缺陷,给出其对转换的信任的确切影响可能是一个真正的头痛。
全局句子置信度是每个部分的算术组合。通常比内部信任模式简单得多。
一些使用的算法,如专有名词识别,并不一定能明显改变信心(特别是在一个孤立的句子中)。
信心在许多层面(声音、词语、句子结构.)得到衡量。一个句子结构不一致的完美语音识别的信心是什么?
在列表顶部移动更好识别的排序算法通常不会改变信任,而只是排序/排除交替。
所以文件是对的,机密是不能比较的。
信心的潜在用途是什么(除了作者想告诉我们的事实:我们可以让您轻松地使用非常复杂和近似的技术)。几乎一个都没有。你可能会消除太低的置信度(低于某一阈值),除非没有信心达到这个临界值。
https://stackoverflow.com/questions/36965176
复制相似问题