美文网首页
Ngram ppl 计算说明

Ngram ppl 计算说明

作者: 期望最大化 | 来源:发表于2019-01-07 12:07 被阅读26次

语言模型可以用于知道前N-1个词的情况下,预测第N个词的概率。
Perplexity(PPL) 用来衡量语言模型的好坏,越小越好。其物理意义可以近似理解为:有了语言模型后,预测的第N个词的可能性大小,比如ppl=76,可以近似理解为,知道了前N-1个词,第N个词平均情况下的可能性大小为76,如果没有语言模型,这个可能性为词典大小V,ppl具体计算公式如下:

ppl = p(S)^{-\frac{1}{N}} p(S)通常得到的是log值,转换后如下
ppl = 10^{-\frac{1}{N} logp(S)}
N: 句子中词的个数。ppl计算中包括</s>,ppl1中计算不包括</s>,所有N要少1,ppl1比ppl要大不少

示例如下:

ppl.png
ppl = 10^{-\frac{1}{N} logp(S)} = 10 ^{-\frac{1}{14+1} * (-33.6968)} = 10^{2.2464} = 176.382
ppl1 = 10^{-\frac{1}{N} logp(S)} = 10 ^{-\frac{1}{14} * (-33.6968)} = 10^{2.4069} = 255.221

Ngram工具srilm中:

  • 底数选用都是10,而不是自然对数e,句子概率计算以及ppl计算的时候都是10。同样的,语音识别中和声学模型得分进行插值的时候需要做个转换。
  • 句子得分p(S)计算的时候,需要在前后加上<s>、<\s>,p(<s>)概率为1,log值为0,因为第一个词默认都是<s>。
  • 语音识别得分计算中包括am cost、graph cost,其中graph cost = lm score + dict score + hmm score。 前两者分别是由G.fst和L.fst提供,构图后的HCLG.fst中就包括这两部分,hmm score 跳转是hmm state跳转部分,也就是Ha.fst部分。

相关文章

网友评论

      本文标题:Ngram ppl 计算说明

      本文链接:https://www.haomeiwen.com/subject/mhzyrqtx.html