The Evaluation of Language Model (语言模型的性能评价方法 Perplexity)

The Evaluation of Language Model (语言模型的性能评价)

语言模型(Language Model,以下简称LM),直观理解,用于判断一句话是否从语法上通顺。

  • Question 1: 训练好的LM效果是好还是坏,如何评价?

假设,有已经训练好的两个LM,A、B:首先想到的是,让语LM找块地儿(选择一个特定的NLP任务),去干一仗,看谁牛逼(看LM A、B在任务1上的表现,哪一个表现更好)。
 让语言模型A、B在任务1上进行评估
这种方法的缺点
1、构建流程,耗时费力。
2、评估结果依赖于特定任务。
3、不适合做横向比较。

  • Question 2 有没有不依赖于特定任务的方式呢 ?
    肯定有的,我们现在就来找这个一个方法。首先,思考问题Question3。

  • Question 3 什么样的语言模型(LM)好?

  1. 根据给定的上文,语言模型的输出 符合语法规范/人的预期;类似于LM要具备不错的 完形填空 的能力;。
  2. 完形填空是一个特定的任务,而我们又不希望 LM的评估依赖于特定任s务;怎么办呢?
  3. 具备不错的完形填空能力,简化的看,即预测下一个单词的能力强。即LM预测的下一个单词符合人类语法规范或惯用表达;
  4. 如何量化LM的这种能力呢?你应该想到了,【极大似然】;
  5. 极大似然估计:用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值(模型已知,参数未知);
  6. 现在已知LM:A、B。我们在特定的语料上,计算语料出现的概率。好的LM,自然地,语料库中的语料出现的概率高。

例如:语料库中有例句:sent = “今天 天气 不错 适合 踏青。”
p(sent)=p(今天)·p(天气|今天)·p(不错|今天,天气)·p(适合|今天,天气,不错)·p(踏青|今天,天气,不错,适合)
LM A :p(sent) = 0.00012
LM B :p(sent) = 0.0000053

那么, 在语料库中,LM A输出符合语法规范的句子的能力就比LM B强,即说人话的本领 A>B。这样,我们就找到了一个,不依赖于特定任务的评价LM的方法。即,在语料库上,计算语料出现的概率,越大,LM越好。

Perplexity = 2^(-x)

x: average log likelihood,x为平均对数似然概率。

把 训练好的语言模型,放到语料库中计算,计算对数似然,越好的语言模型,对数似然越大,即x越大越好,Perplexity越小越好。

以bigram LM为例,计算perplexity:以bigram LM为例。在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值