赞
踩
哈尔滨工业大学 计算机科学与技术博士在读
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)的基本思想是:给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好,公式如下:
由公式可知,句子概率越大,语言模型越好,迷惑度越小。
下面是一些 ngram 模型经 训练文本后在测试集上的困惑度值:
可以看到,之前我们学习的 trigram 模型经训练后,困惑度由955跌减至74,这是十分可观的结果。
这节的核心就是句子概率越大,语言模型越好,迷惑度越小。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。