第6章 信息的度量和作用
以下内容学习、摘录自《数学之美》
我们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如,一本50多万字的中文书《史记》到底有多少信息量。我们也常说信息有用,那么它的作用是如何客观、定量地体现出来的呢?信息用途的背后是否有理论基础呢?对于这两个问题,几千年来都没有人给出很好的解答。直到1948年,香农( ClaudeShannon)在他著名的论文“通信的数学原理”( A Mathematic Theory ofCommunication)中提出了“信息熵”的概念,才解决了信息的度量问题,并且量化出信息的作用。
一条信息的信息量与其不确定性有着直接的关系。比如说,我们要搞清楚一件非常非常不确定的事,或是我们一无所知的事情,就需要了解大量的信息。相反,如果已对某件事了解较多,则不需要太多的信息就能把它搞清楚。所以,从这个角度来看,可以认为,信息量就等于不确定性的多少。
那么如何量化信息量的度量呢?来看一个例子。大家都很关心谁会是世界杯足球赛冠军。假如我错过了看世界杯,赛后我问一个知道比赛结果的观众“哪支球队是冠军”?他不愿意直接告诉我,而让我猜,并且我每猜一次,他要收一元钱才肯告诉我是否猜对了,那么我要掏多少钱才能知道谁是冠军呢?我可以把球队编上号,从1到32,然后提问:“冠军球队在1-16号中吗?”假如他告诉我猜对了,我会接着问:“冠军在1-8号中吗?”假如他告诉我猜错了,我自然知道冠军队在9-16号中。这样只需要五次,我就能知道哪支球队是冠军。所以,谁是世界杯冠军这条消息的信息量只值5块钱。
当然,香农不是用钱,而是用“比特”(Bit)这个概念来度量信息量。一个比特是一位二进制数,在计算机中,一个字节就是8比特。在上面的例子中,这条消息的信息量是5比特。(如果有朝一日有64支球队进人决赛阶段的比赛,那么“谁是世界杯冠军”的信息量就是6比特,因为要多猜一次。)读者可能已经发现,信息量的比特数和对数函数log有关:log32=5,log64=6。
有些读者会发现实际上可能不需要猜五次就能猜出谁是冠军,因为像西班牙、巴西、德国、意大利这样的球队夺得冠军的可能性比日本、南非、韩国等球队大得多。因此,第一次猜测时不需要把32支球队等分成两个组,而可以把少数几支最可能的球队分成一组,把其他球队分成另一组。然后猜冠军球队是否在那几支热门队中。重复这样的过程,根据夺冠概率对余下候选球队分组,直至找到冠军队。这样,也许三次或四次就猜出结果。因此,当每支球队夺冠的可能性(概率)不等时,“谁是世界杯冠军”的信息量比5比特少。
香农指出,它的准确信息量应该是:
H=-(P1·logP1+P2·logP2+…+P32·logP32)
其中,P1,P2,…,P32分别是这32支球队夺冠的概率。香农把它称为“信息熵”(Entropy),一般用符号H表示,单位是比特。
有了“熵”这个概念,就可以回答本文开始提出的问题,即一本50万字的中文书平均有多少信息量。我们知道,常用的汉字(一级二级国标)大约有7000字。假如每个字等概率,那么大约需要13比特(即13位二进制数)表示一个汉字。但汉字的使用频率不是均等的。实际上,前10%的汉字占常用文本的95%以上。因此,即使不考虑上下文的相关性,而只考虑每个汉字的独立概率,那么,每个汉字的信息熵大约也只有8-9比特。如果再考虑上下文相关性,每个汉字的信息熵就只有5比特左右。所以,一本50万字的中文书,信息量大约是250万比特。
需要指出的是这里讲的250万比特是个平均数,同样长度的书,所含的信息量可以相差很多。如果一本书重复的内容很多,它的信息量就小,冗余度就大。不同语言的冗余度差别很大,而汉语在所有语言中冗余度是相对小的大家可能都有这个经验,一本英文书,翻译成汉语,如果字体大小相同那么中译本一般都会薄很多。这和人们普遍的认识一汉语是最简洁的语言一是一致的。
自古以来,信息和消除不确定性是相联系的。在英语里,信息和情报是同一个词(information),而我们知道情报的作用就是排除不确定性。
网页搜索本质上也是利用信息(用户输入的关键字)消除不确定性的过程。如果提供的信息不够多,比如搜索词是常用的关键词,诸如“中国”、“经济”之类的,那么会有好多相关的结果,用户可能还是无从选择。这时正确的做法是挖掘新的隐含信息,比如网页本身的质量信息。如果这些信息还是不够消除不确定性,不妨再问问用户。这就是相关搜索的理论基础。不正确的做法是在这个关键词上玩数字和公式的游戏,由于没有额外的信息引入,这种做法没有效果,这就是很多做搜索质量的人非常辛苦却很少有收获的原因。最糟糕的做法是引入人为的假设,这和“蒙”没什么差别。其结果是似乎满足了个别用户的口味,但是对大部分用户来讲搜索结果反而变得更糟。合理利用信息,而非玩弄什么公式和机器学习算法,是做好搜索的关键。知道的信息越多,随机事件的不确定性就越小。
当获取的信息和要研究的事物“有关系”时,这些信息才能帮助我们消除不确定性。当然“有关系”这种说法太模糊,太不科学,最好能够量化地度量“相关性”。比如常识告诉我们,一个随机事件“过去24小时北京空气的湿度”和随机变量“今天北京下雨”的相关性很大,但似乎就和“旧日金山的天气”相关性不大。为此,香农在信息论中提出了一个“互信息”(Mutual Information)的概念作为两个随机事件“相关性”的量化度量。
机器翻译中,最难的两个问题之一是词义的二义性(又称歧义性,Ambiguation)问题。有一个笑话,2004年美国总统竞选被称为“灌木丛”总统,“小母牛”参议员的竞争”(Bush一词可以是美国总统布什的名字,也可以是灌木丛;Kerry可以是美国副总统克里的名字,也可以是小母牛)。具体的解决办法大致如下:首先从大量文本中找出和总统布什一起出现的互信息最大的一些词,比如总统、美国、国会、华盛顿,等等,当然,再用同样的方法找出和灌木丛一起出现的互信息最大的词,比如土壤、植物、野生,等等。有了这两组词,在翻译Bush时,看看上下文中哪类相关的词多就可以了。
信息熵不仅是对信息的量化度量而且是整个信息论的基础。它对于通信、数据压缩、自然语言处理都有很大的指导意义。信息熵的物理含义是对一个信息系统不确定性的度量,在这一点上,它和热力学中熵的概念有相似之处,因为后者就是一个系统无序的度量,从另一个角度讲也是对一种不确定性的度量。这说明科学上很多看似不同的学科之间也会有很强的相似性。
对信息论有兴趣又有一定数学基础的读者,可以阅读斯坦福大学托马斯·科弗( Thomas Cover)教授的专著《信息论基础》( Elements ofInformation Theory)。