一、概念

信息熵:熵这个概念是香农从热力学中引进的,热力学中的熵是代表分子状态混乱程度,在信息论中熵又称为自信息,可以视为描述一个随机变量的不确定性的数量。它表示信源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) = 

近似逼近后:

困惑度:困惑度这个指标顾名思义,困惑度越小,说明这个语言模型越好,计算方法是:

最后,本片文章并没有举出具体的概率分布来求各个指标,只是罗列总结一下各指标的计算方法和所代表的意义。具体例子下一篇再进行计算。

参考的书目:《统计自然语言处理》宗成庆

自然语言处理(八)——语言模型性能评价相关推荐

  1. 自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)

    分类目录:<自然语言处理从入门到应用>总目录 语言模型(Language Model,LM)(也称统计语言模型)是描述自然语言概率分布的模型,是一个非常基础和重要的自然语言处理任务.利用语 ...

  2. 自然语言处理之语言模型与词向量

    自然语言处理之语言模型与词向量原理 语言模型 基于语法的语言模型   在研究机器如何"理解"自然语言之前,不妨先看看人们是怎么理解自己的语言的.根据语言学(Linguistics) ...

  3. 【LM】(八)语言模型评价指标——困惑度Perplexity原理及代码

    0.语言模型 语言模型(Language Model,LM),基于统计的语言模型,给出一句话的前k个词,预测第k+1个词,即求第k+1个词出现的概率p(xk+1|x1,x2,...,xk).在深度网络 ...

  4. 自然语言处理(NLP)-语言模型【用来判断一句话语法上是否通顺】:N-gram语言模型(基于语料库的统计结果)--> N-gram神经网络语言模型 【语言模型的评估(①:PPL困惑度;②:BPC)】

    统计语言模型实际上是一个概率模型,所以常见的概率模型都可以用于求解这些参数 常见的概率模型有:N-gram 模型.决策树.最大熵模型.隐马尔可夫模型.条件随机场.神经网络等 目前常用于语言模型的是 N ...

  5. 【自然语言处理】自然语言处理(NLP)知识结构总结

    感谢原创博主,转自:https://blog.csdn.net/meihao5/article/details/79592667 自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些 ...

  6. 如何学习自然语言处理:一本书和一门课

    关于"如何学习自然语言处理",有很多同学通过不同的途径留过言,这方面虽然很早之前写过几篇小文章:<如何学习自然语言处理>和<几本自然语言处理入门书>,但是更 ...

  7. 自然语言处理基本问题

    自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些模型,也没有来龙去脉,学习起来较为困难,于是我自己总结了一份知识体系结构,不足之处,欢迎指正.内容来源主要参考黄志洪老师的自然语言 ...

  8. python自然语言处理路线图_python自然语言处理(一)

    自言语言处理基础知识 参考:https://blog.csdn.net/meihao5/article/details/79592667 英文资料: http://github.com/lovesof ...

  9. 《统计自然语言处理》知识结构总结

    一.自然语言处理概述 1)自然语言处理:利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容. 2) ...

  10. 自然语言处理训练营NLP--笔记

    一.分词 1.1 规则分词 目的:按照最大匹配法(最长字数)分词 参考网址:https://blog.csdn.net/weixin_44735126/article/details/10094182 ...

最新文章

  1. 让人“眼前一亮、不明觉厉”的互联网技术PPT
  2. javascript 温故而知新 getBoundingClientRect
  3. 高德地图的标志放大_点标记-覆盖物-教程-地图 JS API | 高德地图API
  4. 这是我见过对 IOC 和 DI 解释的最清楚的一篇文章了!
  5. 分析一个文本文件中各个单词出现的频率,把频率最高的10个词打印出来
  6. 【深度首发】图森未来CEO陈默:我们并非在主机厂上游兜售技术,而是立足下游,做卡车运输业的智能服务商丨Xtecher 封面
  7. 机架服务器如何使用无线网卡,软路由加装老旧无线网卡
  8. C语言99乘法表代码案例
  9. 导线测量步骤c语言程序,基于excel表的附合导线计算程序.doc
  10. 如何在计算机添加打印机驱动程序,教你如何安装打印机驱动程序
  11. 计算机管理显示磁盘未知,磁盘未知,未初始化或未分配问题的解决方案
  12. php a标签加nofollow,Z-Blog给文章所有的站外a链接添加nofollow的方法
  13. Kotlin自定义android 控件
  14. vscode ssh遇到“过程试图写入的管道不存在”问题
  15. 从加密朋克到赛博朋克,一文盘点热门NFT头像项目
  16. 【python初级】创建一块纯色画布
  17. cocos2d-x游戏开发 跑酷(四) 关联物理世界
  18. 2022-2028年全球与中国RNA聚合酶抑制剂行业深度分析
  19. 公安首个车联网行业标准《道路交通信号控制机信息发布接口规范》(GA/T 1743-2020)...
  20. 一文了解BTS432E2

热门文章

  1. OpenCv中 width 和 widthStep的区别
  2. 服务器网站关联数据库,服务器关联数据库
  3. 软件测试功底技术——编程语言
  4. dos批处理文件中使用vbs
  5. 软件项目管理工具简介
  6. Windows下修改hosts文件
  7. 中职生计算机应用试卷分析,中职计算机应用基础学业水平测试问题的相关分析...
  8. web前端开发培训培训,JavaScript运算符
  9. 笨方法学Python3 习题 0
  10. 力软敏捷开发平台7.0.6旗舰版功能更新介绍