【LM】(八)语言模型评价指标——困惑度Perplexity原理及代码

本文介绍了语言模型的基本概念,包括如何通过统计预测下一个词,以及困惑度的定义和计算方法。重点讨论了困惑度在评估模型性能中的作用,并提供了实际训练过程中的PPL变化实例。此外,文中还探讨了困惑度受训练数据、标点符号和停用词等因素的影响。

0.语言模型

语言模型(Language Model,LM),基于统计的语言模型,给出一句话的前k个词,预测第k+1个词,即求第k+1个词出现的概率p(xk+1|x1,x2,...,xk)。在深度网络中,比如bert,可以词前后的内容,预测当前词,类似做完形填空。

1.什么是困惑度

在信息论中,perplexity(困惑度)用来度量一个概率分布或概率模型预测样本的好坏程度。它也可以用来比较两个概率分布或概率模型。(应该是比较两者在预测样本上的优劣)低困惑度的概率分布模型或概率模型能更好地预测样本。

困惑度越小,句子概率越大,语言模型越好。

2.怎么计算

官方定义 

在自然语言处理中,困惑度是用来衡量语言概率模型优劣的一个方法。一个语言概率模型可以看成是在整过句子或者文段上的概率分布。

它主要是根据每个词来估计一句话出现的概率,并用句子长度作normalize,公式为如下,PPL越小,p(wi)则越大,一句我们期望的sentence出现的概率就越高。

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

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

这有一个例子,训练好的bigram语言模型的困惑度为3,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值