返回

机翻技术

搜索 导航
超值满减
语句信息量的度量——熵
2022-07-15 09:22:22    etogether.net    网络    


熵(entropy)和困惑度(perplexity)是用于评估N元语法系统的最普通的计量方法。熵是信息量的度量,在自然语言处理、语音识别和计算语言学中,熵都是非常有价值的。熵可以用来度量一个特定语法中的信息量是多少,度量给定语法和给定语言的匹配程度有多高,预测一个给定的N元语法中的下一个单词是什么。如果有给定的两个语法和一个语料库,我们可以使用熵来估计哪个语法与语料库匹配得更好。我们也可以使用熵来比较两个语音识别任务的困难程度,还可以使用它来测量一个给定的概率语法与人类语法的匹配程度。


熵的计算要求我们在所要预测的范围内(单词、字母和词类,我们称为x的集合)建立一个随机变量X,并且要有一个特定的概率函数,称为p(x),那么这个随机变量X的熵为:


6.44.png


从原则上说,对数可以使用任何底数。在此我们在所有计算中采用的底数都是2,因此,熵的就用比特(bit)来度量,因为计算比特时是以2为底数的。


对于计算机科学家来说,定义熵的最直观方法,就是把熵想像成对某一判断进行信息编码的比特数的下界,或者把熵想像成在最优编码中信息量的大小。


Cover and Thomas(1991)提出了如下的例子。假定我们想给Yonkers赛马场的赛马下赌注,但是Yonker赛马场距离我们太远,我们只好给赛马场登记赌注的人发一个短的消息,告诉他我们给哪匹马下赌注。假定有八匹马参加比赛。


给这个消息编码的一种方法是用二进制代码来表示马的号码;这样,号码为1的马的二进制代码是001,号码为2的马的二进制代码是010,号码为3的马的二进制代码是011,依次类推,号码为8的马的二进制代码是000。如果我们用一天的时间来下赌注,每匹马用比特来编码,每次比赛我们要发出3比特的信息。


我们能不能把这件事做得好一点呢?我们可以根据赌注的实际分布来传送消息,假定每匹马的先验概率如下:

图1.png

图1


计算这些马的随机变量X的熵,我们就可以知道其比特数的下界,具体计算如下:


6.45.png


每次比赛平均为2比特的代码可以这样来编码:用最短的代码来表示我们估计概率最大的马,估计概率越小的马,其代码越长。例如,我们可以用0来给估计概率最大的马编码,按照估计概率从大到小的排列,其余的马的代码分别为:10,110,1110,111100,111101,111110和111111。




[1] [2] [下一页] 【欢迎大家踊跃评论】

上一篇:英语语言的熵
下一篇:上下文有关的错拼更正算法

微信公众号搜索“译员”关注我们,每天为您推送翻译理论和技巧,外语学习及翻译招聘信息。

  相关机器翻译技术文章




PC版首页 -关于我们 -联系我们