最近开始读《学数学会上瘾》这个书,相当不错,笔记之:
中文是最有效率的语言吗?
1948年,美国数学家克劳德·香农提出了一个表征符号系统中单位符
号平均信息量的指标——信息熵,还给出了一个计算信息熵的公
式,这个公式十分简洁
:
PI:公式里的是指在某种符号系统中某个符号出现的频率。
比如,文字就是一种符号系统,每个汉字就是一种符号。而频率就
是某个字在某类文字材料中出现的比例。如果你统计了一本100万字
的书,这本书中某个字出现了1万次,那么这个字的频率就是:1
万/100万=0.01=1%。
香农的这个公式就是要把某个符号系统中的符号频率全都统计出
来,代入上述公式,就是这个符号系统的信息熵。
这听上去有点儿抽象,进行实际运算就容易理解了。比如,符号系
统只有一个符号,信息熵会如何?
因为只有一个符号,所以它的频率必然是100%,也就是1。1的对数
是0,所以按这个公式,计算结果就是0。
针对这个结果,香农给出的解释是,如果一个符号系统只有单个符
号,那么这个符号系统什么信息都不能传递,单个字符能传递的信
息量是0。如果一种文字只包含一个字母“a”,那么这种语言任何信
息也不能传递。有人说可以用不同长度的“a”来表示不同的信息,但
这要求不同长度的“a”之间有某种“分隔符”,而这种分隔符就是另一
种符号。
那么有两种符号会如何?我们先假设两种符号的出现频率都是
50%=0.5。那么按公式“log 2 0.5=-1”,总信息熵就是:
-1×(0.5×(-1)+0.5×(-1))=1
所以,这种符号系统的信息熵就是1,其含义是:“这种符号系统的
每个符号可以传递1bit信息。”此时能看出,之所以公式前面要有一
个系数-1,就是为了使结果数值总是大于等于0,因为人对正数的感
受比较直观。
影响信息熵的因素有两个:一个是符号的多少,一个是符号的频率
分布。我们可以固定一个变量,看看另一个变量对信息熵的影响。
我们先假设每个符号的频率是相等的,字符数不断增加会如何?假
设某符号系统有N 个符号,每个符号的频率是1/N,则该系统的信息熵
是:
也就是说,符号越多,
信息熵越大。
那么再考虑一下,如果符号数量固定,符号的频率分布改变,对信
息熵的值影响如何?稍加计算就会发现,符号的频率分布越不均
匀,信息熵越小。如果只有两个符号,其中一个符号的出现频率占
90%,另一个只占10%,将其代入公式,可以计算出这种符号系统的
信息熵是0.47左右。而之前算过两个符号频率相等的话,信息熵是
1。
计算结果有了,我们来解读一下。为什么符号越多信息熵越大,也
就是说单个符号提供的信息越多?
你可以设想,英语不是由26个字母组成的,而是包含1000个字母。
那么,即使元音字母还是只有a,e,i,o,u这5个,每个单词要求至
少 有 一 个 元 音 字 母, 那 么 用 1000 个 字 母, 你 也 可 能 构 造 出
1000×5×2=10000个双字母的单词。而大学英语六级的词汇量只有
6000个左右,1万个单词已经非常多了。如果再考虑3个字母的组
合,单词量就足够用了。
所以,英语文章如果可以用1000个字母的符号系统改写,那么几乎
其中所有单词都可以用3个或更少的字母组合来表示,文章长度将大
大减少,所以单个字母的信息量是不是就增加了?
而汉字系统恰恰有点儿像有几千个字母的拼写系统,所以汉字中单
个字的信息熵会比英文字母高。
我们再看看为什么符号频率越均匀,信息熵越高。这是因为符号频
率越均匀,连续多个符号之间的关联性越小,也就是每个符号都很
关键,不能丢,所以单个符号信息量大。反之,符号出现的关联越
大,则有些符号就可以省略,说明这些符号提供的信息量少。
比如,在英语里,很多单词拼写中的字母组合经常是一起出现的,
例如“ing”“tion”等。在这些组合中,即使丢掉一个字母或出现次序错
误,通常也不妨碍阅读。在以下英文句子中,其中很多单词的拼写
都有次序错误,但是阅读起来完全无障碍,这就说明这些字母提供
的信息量少:
Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.
中文字与字之间的关联就小多了,一句话丢掉很多字的话,这句话
的意思就很难还原了。而字与字之间关联小,意味着字与字之间出
现的频率差距不大,根据上一个字,不容易猜到下一个字。这时,
每个字提供的信息量就大。
那么,英语与中文的信息熵究竟有多大?2019年,国外知名数学博
主约翰·D. 库克发表了一篇博客文章,他计算了一下中文的信息熵。
他使用的中文词频数据是一位美国大学的研究者2004年发布在网上
的。在统计结果中,出现频率最高的汉字是“的”,大约是4.1%;第
二位是“一”,但频率只有1.5%。库克根据这个词频,计算出单个汉
字的信息熵是9.56。一般认为单个英文字母的信息熵为3.9,所以中
文的效率优势是很大的。
再比如,很多人玩过一个耳语传话的游戏:一些人以耳语的形式把
一句话传给下一个人,看最终的结果与开始的信息区别有多大。通
常,到六七个人之后,这句话就被改得面目全非。下次各位可以试
试传一句简单的英语,看看是不是容易保持原来的句子。
因此,当有外国人问“为什么你们中国人讲话总是这么大声”时,你
可以回答:“因为中文语音的信息熵低,我不得不大声说,确保对方
每个字都听清楚。”
另外,中文的影视作品都喜欢加上字幕,甚至还有弹幕文化,其基
础原因还是在于汉字信息熵高,语音信息熵低。中文视频打上字
幕,就不用太注意去听对白,观看时大脑就能放松些。而用英语打
弹幕的话,屏幕上都是长长的句子,会严重影响正常的视频收看,
所以说英语的地区就没法形成弹幕文化。
为什么香农将这个表征信息量大小的指标命名为“信息熵”?它与物
理中的“熵”有联系吗?当然是有联系的。物理中的“熵”,一种直观
的定义就是表征一个系统的“混乱”程度,越混乱,熵值越大,越有
序,熵值越低。
而对“混乱”的一种直观定义就是,当略微改变一个系统的状态时,
其与原先状态的可区分程度。举例来说就是,对一个井井有条、十
分干净整洁的屋子,稍微挪动一样东西,就很容易发现变化,而对
一个杂乱不堪的屋子,移动很多东西之后,感觉仍然是杂乱不堪
的。
在信息熵中,为什么语言越“混乱”,信息量越大?这一点可以从语
言的上下文关联度来考虑。英语单词中的字母相关度是很高的,比
如之前提到过的“ing”“tion”,还有各种前缀、后缀。
因为相关度大,在“ing”或者“tion”这样的后缀组合里拿掉一个字母,
完全不影响阅读,说明这些组合中单个字母提供的信息量很小。
中文的上下文关联度就低很多,所以单个汉字信息量就大。而上下
文关联度高,也可以理解为符号系统“有序”,而关联度小就是“无
序”,所以把信息量用“熵”来命名再恰当不过了,而且它确实与物理
中的“熵”有许多相似的性质。