我正在尝试转换CMU Sphinx识别器的输出 (即列表< hypothesis(即短语),得分(在日志中)>通过调整test_ps_nbest.c获得) 以下形式: 列表<假设(即短语),“概率”(在0和1之间)>
我现在使用的一个简单的方法如下:
问题在于上述方法的输出概率存在偏差。您是否有任何建议我可以用来获得概率偏差?
我必须实施以纠正偏见的示例方法:
vector<双> getBias(vector< string> phrase,vector< double> logConfidenceScores)
上述讨论的示例输入:
< “我很高兴我们的头脑和他的标记”,-43278>
< “我们在我们的课堂上赚钱,并且标记了它”,-43449>
<他在HEART LUNG掌握权力,并将其标记为“,-43368>
答案 0 :(得分:1)
A trivial method which I am using now is as follows: Divide each confidence score by language weight (eg: 11)
首先,这不是一个置信度分数,而是一个分数。为什么分裂?列表中的得分也是声学得分,语言权重在这里没有任何意义
Normalize the list of confidence score in log domain
这也是一件毫无意义的事情,因为你没有考虑到巨大的概率。
Output probability = exp(normalized confidence score)
行动的顺序没有任何数学意义,不奇怪你没有得到好的结果。
如果你想要一个每个话语置信度分数,你可能想先回顾一下理论:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.6890&rep=rep1&type=pdf