Kaldi return 是否有任何识别置信度参数,类似于 Google Speech-To-Text API?

Does Kaldi return any recognition confidence parameter, similar to Google Speech-To-Text API?

我正在处理语音识别任务。到目前为止,我一直在使用 Google 云语音识别 API(在 Python 中)并取得了不错的效果。 API return 是 confidence value 以及转录文本的每个块。如文档中所述,置信度是一个介于 0 和 1 之间的数字,但我没有找到任何更深入的解释 Google 的 API 如何得出这个数字,所以我假设它以某种方式来自 Neural进行识别的网络。

我想做的下一步是制作我自己的(离线)自动语音识别程序,我发现 pyKaldi 应该可以胜任这项任务。我还没有开始编程,但我想事先知道(出于研究目的)- Kaldi return 是否可以像 Google Speech-to-Text API?这个 "confidence" 到底是什么,它是如何计算出来的?

是的,pyKaldi 支持使用最小贝叶斯风险 (MBR) 计算的置信度值(单词置信度分数)。您将在文档中找到所有必要的信息。 这是模块描述的link:

https://pykaldi.github.io/api/kaldi.lat.html?highlight=mbr#module-kaldi.lat.sausages

顾名思义,它是一个置信度值,但它并没有表达"probable"一个词的结果文本输出是如何从一个音频块的顺序是正确的。在我看来,表现力或意义有点模糊,取决于模型的质量和训练数据(噪声、混响等)。它在比较备选方案时很有意义,告诉您具有更高价值的那个更有可能是正确的。这反过来又提出了一个问题,即哪个距离称为显着差异。单个置信度值不会告诉您任何信息,您也不能仅根据置信度值来比较两个不同的识别器模型。微软术语 "Instead, confidence scores provide a mechanism for comparing the relative accuracy of multiple recognition alternates for a given input. This facilitates returning the most accurate recognition result."