当前位置: 首页 > >

困惑度 (Perplexity)

发布时间:


通俗解释困惑度 (Perplexity)-评价语言模型的好坏


忆臻


?


哈尔滨工业大学 计算机科学与技术博士在读


55 人赞同了该文章


一、语言模型

本文尽量通俗解释一下困惑度的概念。既然题目中写了是用来评价语言模型的好坏,那么首先来看一下语言模型:


忆臻:深入浅出讲解语言模型?zhuanlan.zhihu.com


简单地说,语言模型就是用来计算一个句子的概率的模型,也就是判断一句话是否是人话的概率?


那么如何计算一个句子的概率呢?给定句子(词语序列)



它的概率可以表示为:



也就是说在给定一句话的前k个词,我们希望语言模型可以预测第k+1个词是什么,即给出一个第k+1个词可能出现的概率的分布p(xk+1|x1x2...xk)。


那么如何学*到一个语言模型呢,这里不详细叙述,可以参考:


忆臻:深入浅出讲解语言模型?zhuanlan.zhihu.com


二、如何评价一个语言模型好坏

在得到不同的语言模型(一元语言模型、二元语言模型....)的时候,我们如何判断一个语言模型是否好还是坏,一般有两种方法:


1、一种方法将其应用到具体的问题当中,比如机器翻译、speech recognition、spelling corrector等。然后看这个语言模型在这些任务中的表现(extrinsic evaluation,or in-vivo evaluation)。但是,这种方法一方面难以操作,另一方面可能非常耗时,可能跑一个evaluation需要大量时间,费时难操作。


2、针对第一种方法的缺点,大家想是否可以根据与语言模型自身的一些特性,来设计一种简单易行,而又行之有效的评测指标。于是,人们就发明了perplexity这个指标。


困惑度(perplexity)的基本思想是:给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好,公式如下:



由公式可知,句子概率越大,语言模型越好,迷惑度越小。


下面是一些 ngra?m 模型经 训练文本后在测试集上的困惑度值:



可以看到,之前我们学*的 trigram 模型经训练后,困惑度由955跌减至74,这是十分可观的结果。


这节的核心就是句子概率越大,语言模型越好,迷惑度越小。



友情链接: