Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >通俗讲解语言模型的评价指标-困惑度

通俗讲解语言模型的评价指标-困惑度

作者头像
触摸壹缕阳光
发布于 2020-07-20 08:15:02
发布于 2020-07-20 08:15:02
2.7K0
举报

本文主要介绍语言模型的评价指标困惑度(perplexity)。

无论是n-gram语言模型(unigram, bigram, tirgram)还是理论上可以记忆无限个单词(无穷元语法, ∞-gram)递归神经网络语言模型(RNN Language Model),都会涉及到一个最关键的问题:如何来评价这些语言模型的好坏?

语言模型是很多涉及到产生文字或预测文字概率的NLP问题的组成部分,因此最为直观的评价方法是对应用语言模型的NLP任务进行评估。为了评估语言模型的好坏,运行更为复杂且更加耗时的其它NLP任务,显然这种方法比较繁琐。

有没有一种能够直接对语言模型进行评价的方法呢?语言模型简单来说就是计算句子的概率值,通常认定测试集中的句子为模拟真实生产环境中的正常句子,因此在训练数据集上训练好的语言模型,计算在测试集中的正常句子的概率值越高说明语言模型的越好,而这正是困惑度(perplexity)的基本思想。

困惑度是语言模型效果好坏的常用评价指标,计算困惑度的公式如下:

\begin{aligned}perplexity(S) &= p(w_1,w_2,w_3...,w_n)^{-\frac{1}{n}} \\&= \sqrt[n]{\frac{1}{p(w_1,w_2,w_3...,w_n)}} \\&= \sqrt[n]{\prod_{i=1}^{n}{\frac{1}{p(w_i|w_1, ...,w_{i-1})}}} \end{aligned}

在测试集上得到的困惑度越低,说明语言模型的效果越好。通过上面的公式也可以看出,困惑度实际上是计算每一个单词得到的概率导数的几何平均,因此困惑度可以理解为平均分支系数(average branching factor),即模型预测下一个单词时的平均可选择的单词数量。

上面都是在计算一个句子的困惑度,如果测试集中有n个句子,只需要计算出这n句子的困惑度,然后将n个困惑度累加取平均,最终的结果作为训练好的语言模型的困惑度。

参考:

  1. 《实战Google深度学习框架
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI机器学习与深度学习算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
自然语言处理:语言模型与评价方法
假设一门语言中所有可能的句子服从某一个概率分布,每个句子出现的概率加起来为1,那么“语言模型”的任务就是预测每个句子在语言中出现的概率。对于语言中常见的句子,一个好的语言模型应得出相对较高的概率;而对于不合语法的句子,计算出的概率则应接近于零。把句子看成单词的序列,语言模型可以表示为一个计算p(w1,w2,w3,…,wm)的模型。语言模型仅仅对句子出现的概率进行建模,并不尝试去“理解”句子的内容含义。比如说,语言模型能告诉我们什么样的句子是常用句子,但无法告诉我们两句话的意思是否相似或者相反。
博文视点Broadview
2020/06/11
1.2K0
自然语言处理:语言模型与评价方法
困惑度(perplexity)的基本概念及比较多种模型下的计算(N-gram, 主题模型/LDA, 神经网络/RNN)
发现网络上流传的关于困惑度(perplexity)大多数都是利用了N-gram或者主题模型的例子来阐述的。但是现在这个年代来学习这个指标的人多半都是想研究神经网络的,而两者的对困惑度的计算方法又很不同,这就不能不让人对“困惑度”感到“困惑”了。本人虽然才疏学浅,还是斗胆在这里尝试写一篇文章,试图用简洁的方式来梳理清楚其中的困惑。
blmoistawinde
2020/03/20
11.4K0
一文解码语言模型:语言模型的原理、实战与评估
语言模型(Language Model,简称 LM)是一个用于建模自然语言(即人们日常使用的语言)的概率模型。简单来说,语言模型的任务是评估一个给定的词序列(即一个句子)在真实世界中出现的概率。这种模型在自然语言处理(NLP)的诸多应用中,如机器翻译、语音识别、文本生成等,都起到了关键性的作用。
TechLead
2023/10/21
1.1K0
一文解码语言模型:语言模型的原理、实战与评估
大语言模型--评价指标
衡量语言建模能力的重要指标,通过计算给定文本序列概率的倒数的几何平均,来衡量模型对于语言的建模能力。基础公式如下:
aaronwjzhao
2024/06/11
8240
大语言模型中的常用评估指标
EM 是 exact match 的简称,所以就很好理解,em 表示预测值和答案是否完全一样。
BBuf
2023/08/22
3.4K0
大语言模型中的常用评估指标
【NLP】文本生成评价指标的进化与推翻
文本生成目前的一大瓶颈是如何客观,准确的评价机器生成文本的质量。一个好的评价指标(或者设置合理的损失函数)不仅能够高效的指导模型拟合数据分布,还能够客观的让人评估文本生成模型的质量,从而进一步推动text generation 商业化能力。
yuquanle
2020/06/24
5.7K0
【NLP】文本生成评价指标的进化与推翻
LLM基础知识
💥通常,大语言模型 (LLM) 是指包含数千亿 (或更多) 参数的语言模型(目前定义参数量超过10B的模型为大语言模型),这些参数是在大量文本数据上训练的,例如模型 GPT-3、ChatGPT、PaLM、BLOOM和 LLaMA等.
@小森
2024/06/04
3960
LLM基础知识
基于语言模型的拼写纠错
本文则针对中文拼写纠错进行一个简要的概述,主要分享基于n-gram语言模型和困惑集来做中文拼写纠错的方法。
腾讯知文实验室
2018/07/04
7.8K0
【Hello NLP】CS224n笔记[5]:语言模型(LM)和循环神经网络(RNNs)
相比于计算机视觉,NLP可能看起来没有那么有趣,这里没有酷炫的图像识别、AI作画、自动驾驶,我们要面对的,几乎都是枯燥的文本、语言、文字。但是,对于人工智能的征途来说,NLP才是皇冠上的那颗珍珠,它美丽却又难以摘取,当NLP的问题解决了,机器才真正具备了理解、思考的能力,我们才敢说实现了真正的“智能”。
beyondGuo
2020/05/25
9180
【深度学习】序列生成模型(四):评价方法
  困惑度(Perplexity)是一种用来衡量序列生成模型性能的指标。在给定一个测试文本集合的情况下,一个好的序列生成模型应该使得测试集合中句子的联合概率尽可能高。困惑度是信息论中的一个概念,用来度量一个分布的不确定性。
Qomolangma
2024/07/30
2710
LLM-AI大模型介绍
🍹大语言模型 (Large Language Model) 是一种人工智能模型, 它们通常包含数千亿甚至更多的参数,并在大规模数据集上进行训练。大语言模型可以处理多种自然语言任务,如文本分类、问答、翻译、对话等等。
@小森
2024/04/20
3420
LLM-AI大模型介绍
NLP中对"困惑度"感到困惑?
炼丹笔记干货 作者:时晴 困惑度(Perplexity)在NLP中是个最流行的评估指标,它用于评估语言模型学的到底有多好.但是很多炼丹师可能至今对"困惑度"依然感到困惑,这篇就把这个讲清楚.假设我们要做个对话机器人,它功能很简单,就是你跟它说你冰箱有啥,它告诉你还需要买啥,能一起做出美味佳肴.例如"鸡肉,胡萝卜",它能够立马给出5~6种购物清单,这就类似用一个NLP模型,去预估和"鸡肉和胡萝卜"共现较多的食材.但是这样评估并不全面,真实情况是用这个NLP模型可能会产生很多新菜谱,然后按照新菜谱可能可以创造
炼丹笔记
2021/12/20
1.3K0
NLP中对"困惑度"感到困惑?
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
A.深度学习基础入门篇二:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
汀丶人工智能
2023/04/05
1.9K0
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
机器学习的评价指标有精度、精确率、召回率、P-R曲线、F1 值、TPR、FPR、ROC、AUC等指标,还有在生物领域常用的敏感性、特异性等指标。
汀丶人工智能
2023/04/06
1.8K0
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
自然语言处理中的语言模型简介
语言模型常常与单词嵌入混淆。主要的区别在于,在语言模型中,单词顺序很重要,因为它试图捕捉单词之间的上下文,而在单词嵌入的情况下,只捕捉语义相似度(https://en.wikipedia.org/wiki/Semantic_similarity) ,因为它是通过预测窗口中的单词来训练的,而不管顺序如何。
磐创AI
2020/05/25
9790
自然语言处理(三)语言模型
用数学的方法描述语言规律,即用句子S=w1,w2…wnS = w_1,w_2\dots w_nS=w1​,w2​…wn​的概率p(S)p(S)p(S)刻画句子的合理性.
JNJYan
2019/01/18
9350
机器学习|7种经典预训练模型原理解析
目前无论在CV领域还是NLP领域,预训练都是一个很普遍和普适的方法。我们都知道深度学习的模型越庞大,模型参数越多,为了避免过拟合就需要相应大规模的数据集,但对于很多任务而言,样本标注的成本昂贵。相反,大规模无标签数据库相对容易建立,为了充分利用这些无标记数据,我们可以先使用它们在其他一些任务上学习一个好的特征表示,再用于训练目标任务。
智能生信
2021/02/04
5.6K0
使用 HanLP 统计二元语法中的频次
计算句子概率值的工具就是语言模型,但是随着句子长度的逐渐增大,语言模型会遇到下面两个问题:
触摸壹缕阳光
2020/08/04
1.4K0
斯坦福NLP课程 | 第6讲 - 循环神经网络与语言模型
ShowMeAI为斯坦福CS224n《自然语言处理与深度学习(Natural Language Processing with Deep Learning)》课程的全部课件,做了中文翻译和注释,并制作成了GIF动图!
ShowMeAI
2022/05/08
5660
斯坦福NLP课程 | 第6讲 - 循环神经网络与语言模型
【现代深度学习技术】循环神经网络03:语言模型和数据集
  在文本预处理中,我们了解了如何将文本数据映射为词元,以及将这些词元可以视为一系列离散的观测,例如单词或字符。假设长度为
Francek Chen
2025/04/17
1290
【现代深度学习技术】循环神经网络03:语言模型和数据集
推荐阅读
相关推荐
自然语言处理:语言模型与评价方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档