当前位置:   article > 正文

NLP 相关指标_nlp ppl

nlp ppl

NLP 相关指标

Perplexity定义

PPL是用在自然语言处理领域(NLP)中,衡量语言模型好坏的指标。它主要是根据每个词来估计一句话出现的概率,并用句子长度作normalize,公式为N
P P ( S ) = P ( w 1 w 2 . . . w N ) − 1 N = 1 p ( w 1 w 2 . . . w N ) N = ∏ i = 0 N 1 p ( w i ∣ w 1 w 2 . . . w i − 1 ) N PP(S) = P(w_1w_2...w_N)^{-\frac{1}{N}} \\ = \sqrt[N]{\frac{1}{p(w_1w_2...w_N)}} \\ = \sqrt[N]{\prod_{i=0}^N\frac{1}{p(w_i|w_1w_2...w_{i-1})}} PP(S)=P(w1w2...wN)N1=Np(w1w2...wN)1 =Ni=0Np(wiw1w2...wi1)1

S代表sentence,N是句子长度,p(wi)是第i个词的概率。第一个词就是 p(w1|w0),而w0是START,表示句子的起始,是个占位符。

这个式子可以这样理解,PPL越小,p(wi)则越大,一句我们期望的sentence出现的概率就越高。

还有人说,Perplexity可以认为是average branch factor(平均分支系数),即预测下一个词时可以有多少种选择。别人在作报告时说模型的PPL下降到90,可以直观地理解为,在模型生成一句话时下一个词有90个合理选择,可选词数越少,我们大致认为模型越准确。这样也能解释,为什么PPL越小,模型越好。

Perplexity另一种表达
P P ( S ) = 2 − 1 N ∑ l o g ( p ( w i ) ) PP(S)=2^{-\frac{1}{N}\sum{log(p(w_i))}} PP(S)=2N1log(p(wi))

好像在讲到unigram时,常常用到PPL的这种形式,从表达式上看和前面的意义是一样的,只不过wi不再是单个词,它表示第i个bigram或其他单位量。

Perplexity的影响因素

这些是听报告了解的:

  1. 训练数据集越大,PPL会下降得更低,1billion dataset和10万dataset训练效果是很不一样的;

  2. 数据中的标点会对模型的PPL产生很大影响,一个句号能让PPL波动几十,标点的预测总是不稳定;

  3. 预测语句中的“的,了”等词也对PPL有很大影响,可能“我借你的书”比“我借你书”的指标值小几十,但从语义上分析有没有这些停用词并不能完全代表句子生成的好坏。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/345984
推荐阅读
相关标签
  

闽ICP备14008679号