自然语言处理(八)——语言模型性能评价
一、概念
信息熵:熵这个概念是香农从热力学中引进的,热力学中的熵是代表分子状态混乱程度,在信息论中熵又称为自信息,可以视为描述一个随机变量的不确定性的数量。它表示信源X每发一个符号(不论发什么符号)所提供的平均信息量。一个随机变量的熵越大,它的不确定性越大,那么,正确估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值。
这是宗成庆老师的书《统计自然语言处理》里面的解释,光看这些高深莫测的话,我反正是一知半解,举一个例子来解释一下
明天的太阳仍然升起,这个事件发生的概率极其大,因此这件事的不确定性就很小,所以这件事所对应的熵很小,这件事的判断根本不需要其他信息,我们不需要看SCI论文,不需要查阅太阳的资料。所以熵越小,不确定性越小,我们所需要的信息就少。再比如明天下雨这个事件,这个的不确定性就比较大,气象站就需要通过观测云量,温度等信息来确定这个事件发生的概率。显而易见,这个事件的熵就会变大。以上就是关于熵的阐述,那么熵的大小到底怎么计算,自然也有公式:
H(x) =—() 。以下的例子是宗成庆老师书上的例子,也比较容易看懂,这里就不再细细道来。只是最后的编码,原则就是出现概率大的可以少用几位数,出现概率小的,多用几位数,这样就可以保证最终用的编码长度最短。
联合熵和条件熵:同熵类似,联合熵的计算方法和熵的计算方法思想相同,不同的知识联合熵多了一个随机变量。公式如下:
X,Y是两个离散型随机变量X,Y~P(x)。那么X,Y的联合熵H(X,Y) = 。
条件熵H(Y | X) = 。
最后,联合熵可以通过条件熵推导出,具体过程就不细细道来,直接上公式,联合熵的计算第二个公式:
H(X,Y) = H(X) + H(Y | X)
将上述公式推广到一般情况如下图:
相对熵:这个概念是用来衡量两个概率分布之间的差异。p(x)是理想的模型,q(x)是用来逼近的,相对熵越接近0越好。计算如下:
设 p(x)、q(x) 是 离散随机变量 X中取值的两个概率分布,则 p 和 q 的相对熵是:
交叉熵:交叉熵越小,语言模型越好。首先,交叉熵的理想计算公式为
H(X,q) =
近似逼近后:
困惑度:困惑度这个指标顾名思义,困惑度越小,说明这个语言模型越好,计算方法是:
最后,本片文章并没有举出具体的概率分布来求各个指标,只是罗列总结一下各指标的计算方法和所代表的意义。具体例子下一篇再进行计算。
参考的书目:《统计自然语言处理》宗成庆
自然语言处理(八)——语言模型性能评价相关推荐
- 自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)
分类目录:<自然语言处理从入门到应用>总目录 语言模型(Language Model,LM)(也称统计语言模型)是描述自然语言概率分布的模型,是一个非常基础和重要的自然语言处理任务.利用语 ...
- 自然语言处理之语言模型与词向量
自然语言处理之语言模型与词向量原理 语言模型 基于语法的语言模型 在研究机器如何"理解"自然语言之前,不妨先看看人们是怎么理解自己的语言的.根据语言学(Linguistics) ...
- 【LM】(八)语言模型评价指标——困惑度Perplexity原理及代码
0.语言模型 语言模型(Language Model,LM),基于统计的语言模型,给出一句话的前k个词,预测第k+1个词,即求第k+1个词出现的概率p(xk+1|x1,x2,...,xk).在深度网络 ...
- 自然语言处理(NLP)-语言模型【用来判断一句话语法上是否通顺】:N-gram语言模型(基于语料库的统计结果)--> N-gram神经网络语言模型 【语言模型的评估(①:PPL困惑度;②:BPC)】
统计语言模型实际上是一个概率模型,所以常见的概率模型都可以用于求解这些参数 常见的概率模型有:N-gram 模型.决策树.最大熵模型.隐马尔可夫模型.条件随机场.神经网络等 目前常用于语言模型的是 N ...
- 【自然语言处理】自然语言处理(NLP)知识结构总结
感谢原创博主,转自:https://blog.csdn.net/meihao5/article/details/79592667 自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些 ...
- 如何学习自然语言处理:一本书和一门课
关于"如何学习自然语言处理",有很多同学通过不同的途径留过言,这方面虽然很早之前写过几篇小文章:<如何学习自然语言处理>和<几本自然语言处理入门书>,但是更 ...
- 自然语言处理基本问题
自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些模型,也没有来龙去脉,学习起来较为困难,于是我自己总结了一份知识体系结构,不足之处,欢迎指正.内容来源主要参考黄志洪老师的自然语言 ...
- python自然语言处理路线图_python自然语言处理(一)
自言语言处理基础知识 参考:https://blog.csdn.net/meihao5/article/details/79592667 英文资料: http://github.com/lovesof ...
- 《统计自然语言处理》知识结构总结
一.自然语言处理概述 1)自然语言处理:利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容. 2) ...
- 自然语言处理训练营NLP--笔记
一.分词 1.1 规则分词 目的:按照最大匹配法(最长字数)分词 参考网址:https://blog.csdn.net/weixin_44735126/article/details/10094182 ...
最新文章
- 让人“眼前一亮、不明觉厉”的互联网技术PPT
- javascript 温故而知新 getBoundingClientRect
- 高德地图的标志放大_点标记-覆盖物-教程-地图 JS API | 高德地图API
- 这是我见过对 IOC 和 DI 解释的最清楚的一篇文章了!
- 分析一个文本文件中各个单词出现的频率,把频率最高的10个词打印出来
- 【深度首发】图森未来CEO陈默:我们并非在主机厂上游兜售技术,而是立足下游,做卡车运输业的智能服务商丨Xtecher 封面
- 机架服务器如何使用无线网卡,软路由加装老旧无线网卡
- C语言99乘法表代码案例
- 导线测量步骤c语言程序,基于excel表的附合导线计算程序.doc
- 如何在计算机添加打印机驱动程序,教你如何安装打印机驱动程序
- 计算机管理显示磁盘未知,磁盘未知,未初始化或未分配问题的解决方案
- php a标签加nofollow,Z-Blog给文章所有的站外a链接添加nofollow的方法
- Kotlin自定义android 控件
- vscode ssh遇到“过程试图写入的管道不存在”问题
- 从加密朋克到赛博朋克,一文盘点热门NFT头像项目
- 【python初级】创建一块纯色画布
- cocos2d-x游戏开发 跑酷(四) 关联物理世界
- 2022-2028年全球与中国RNA聚合酶抑制剂行业深度分析
- 公安首个车联网行业标准《道路交通信号控制机信息发布接口规范》(GA/T 1743-2020)...
- 一文了解BTS432E2