从无监督构建词库看「最小熵原理」,套路是如何炼成的

本文探讨了1993年一篇关于无监督构建词库的论文,该论文利用最小熵原理从无标签数据中提取英文单词。作者通过学习相关资料,发现最小熵原理可能是所有无监督学习的基础。文章深入浅出地介绍了最小熵原理,以语言的信息熵为例,阐述了如何利用这个原理进行词库构建,并提出了“套路”这一概念,指出通过识别和利用“套路”可以降低信息熵,简化学习过程。
摘要由CSDN通过智能技术生成

作者丨苏剑林

单位丨广州火焰信息科技有限公司

研究方向丨NLP,神经网络

个人主页丨kexue.fm


在深度学习等端到端方案已经逐步席卷 NLP 的今天,你是否还愿意去思考自然语言背后的基本原理?我们常说“文本挖掘”,你真的感受到了“挖掘”的味道了吗?


无意中的邂逅


前段时间看了一篇关于无监督句法分析的文章 [1],继而从它的参考文献中发现了论文 Redundancy Reduction as a Strategy for Unsupervised Learning,这篇论文介绍了如何从去掉空格的英文文章中将英文单词复原。对应到中文,这不就是词库构建吗?于是饶有兴致地细读了一番,发现论文思路清晰、理论完整、结果漂亮,让人赏心悦目。 


尽管现在看来,这篇论文的价值不是很大,甚至其结果可能已经被很多人学习过了,但是要注意:这是一篇 1993 年的论文。在 PC 机还没有流行的年代,就做出了如此前瞻性的研究。


虽然如今深度学习流行,NLP 任务越做越复杂,这确实是一大进步,但是我们对 NLP 原理的真正了解,还不一定超过几十年前的前辈们多少。 


这篇论文是通过“去冗余”(Redundancy Reduction)来实现无监督地构建词库的,从信息论的角度来看,“去冗余”就是信息熵的最小化。无监督句法分析那篇文章也指出“信息熵最小化是无监督的 NLP 的唯一可行的方案”。


我进而学习了一些相关资料,并且结合自己的理解思考了一番,发现这个评论确实是耐人寻味。我觉得,不仅仅是 NLP,信息熵最小化很可能是所有无监督学习的根本

何为最小熵原理?


读者或许已经听说过最大熵原理最大熵模型,现在这个最小熵原理又是什么?它跟最大熵不矛盾吗?


我们知道,熵是不确定性的度量,最大熵原理的意思就是说我们在对结果进行推测时,要承认我们的无知,所以要最大化不确定性,以得到最客观的结果。而对于最小熵原理,我们有两个理解角度:


1. 直观的理解:文明的演化过程总是一个探索和发现的过程,经过我们的努力,越多越多的东西从不确定变成了确定,熵逐渐地趋于最小化。因此,要从一堆原始数据中发现隐含的规律(把文明重演出来),就要在这个规律是否有助于降低总体的信息熵,因为这代表了文明演化的方向,这就是“最小熵原理”。


2. 稍严谨的理解:“知识”有一个固有信息熵,代表它的本质信息量。但在我们彻底理解它之前,总会有未知的因素,这使得我们在表达它的时候带有冗余,所以按照我们当前的理解去估算信息熵,得到的事实上是固有信息熵的上界,而信息熵最小化意味着我们要想办法降低这个上界,也就意味着减少了未知,逼近固有信息熵。


于是,我沿着“最小熵原理”这条路,重新整理了前人的工作,并做了一些新的拓展,最终就有了这些文字。读者将会慢慢看到,最小熵原理能用一种极具解释性和启发性的方法来导出丰富的结果来。


语言的信息


让我们从考究语言的信息熵开始,慢慢进入这个最小熵原理的世界。


信息熵=学习成本


“熵”不起:从熵、最大熵原理到最大熵模型(一)[2] 我们可以知道,一个对象的信息熵是正比于它的概率的负对数的,也就是:


640


如果认为中文的基本单位是字,那么中文就是字的组合,pc 就意味着对应字的概率,而 −logpc 就是该字的信息量。我们可以通过大量的语料估算每个汉字的平均信息:


640


如果 log 是以 2 为底的话,那么根据网上流传的数据,这个值约是 9.65 比特(我自己统计了一些文章,得到的数值约为 9.5,两者相当)。类似地,英文中每个字母的平均信息约是 4.03 比特。


这个数字意味着什么呢?一般可以认为,我们接收或记忆信息的速度是固定的,那么这个信息量的大小事实上也就相当于我们接收这个信息所需要的时间(或者所花费的精力,等等),从而也可以说这个数字意味着我们学习这个东西的难度(记忆负荷)。比如,假设我们每秒只能接收 1 比特的信息,那么按字来记忆一篇 800 字文章,就需要 9.65×800 秒的时间。


中英文孰优孰劣?


既然中文单字信息熵是 9.65,而英文字母信息熵才 4.03,这是不是意味着英文是一种更高效的表达呢? 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值