信息熵(Entropy)到底是用来衡量什么的?
——与Philip ZHANG商榷
思明
|
Philip ZHANG先生在反驳彭小明的时候,提出一个观点,他说:“ 就语言文
字来说,整体效率不是用民族主义来衡量的,而是用信息熵(Entropy)来衡量
的。”
张先生介绍说:
计算文字效率的基本公式是:
H=-log2(P)
H 为信息熵的值(或叫信息量),单位是比特(bit)。
在这基点上,他根据资料引证:
英文的平均信息熵是 4.03 比特,
法文的平均信息熵是3.98,
西班牙文的是 4.01,
德文的是 4.10,
俄文的是 4.8,
而中文的平均信息熵是 9.65比特
于是,“汉字是落后的,无论是简体还是繁体”就成了他轻松得到的结论。
其实,要反驳他的结论是一点也不困难的,甚至可以说是非常轻松的——只要
知道什么是一种文字的“平均信息熵”。
只可惜,张先生把方向正好弄错了180度。
公式是有的,叫做平均信息熵也确实。但是根本就不是文字效率的基本公式,
而是在通讯中编码的码长的效率!提出这公式,申农是用以研究信息编码的。说得
通俗一点,就是要(在可能有噪音的情况下)把已方(信息源)的信息进行标准化
编码(比如,0-1化),然后传送出去,对方接收,解码,恢复成原来的信息。
研究的重点,是多长的一组码为合理——如果太短,无法正确还原,如果太
长,就有冗余。
在接下去谈以前,先要强调,是码长的节约或冗余,不是信息本身的节约或冗
余。比方说,如果拿尽用分币买东西,分币已经多得很,钱却不一定够。这是两回
事。
以英语为例,信息源集合大体是26个字母加上一个空格,这是基本集合。要传
送给任何对方(比如用莫尔斯电码),码长要几位“0-1”?满打满算,是五位。
要是用“平均信息的观点”来研究处理,会发现:有些字母出现得经常,另外
一些比较不经常用,所以信息源是有点特征的,这特征就是信息含量不“饱满”。
通俗地说,如果英文字母中只有一部分常用,其他罕用,通过巧妙编码可以把码长
缩为4个多一点点。实际上由于目前通讯瓶颈已经不像半世纪以前那样重要,电脑
里的正规编码方案全是冗余方案,并无人真正采用紧缩方案,连考虑的价值也没
有。
那么怎样计算信息量又是怎么回事呢?
以电脑的0-1编码方法为例,如果“0”和“1”以均等机会出现,P就是1/2,
对数就是-1,H就是1。因此它的信息含量就是1个比特(bit)。如果出现得不均
匀(比如说基本是“0”出现,偶尔才有“1”出现),那么“0”的P值接近于1,
其对数自然接近于0;另外的“1”的P值接近于0,对数就接近于负无穷,经过加权
平均,(这种无穷乘以0的极限,自然可以用(数学上的计算)方法求出)信息比1
个比特(bit)更小。
因此,任何一组码的元素(比如英文字母),在最有效使用的情况下,可以传
达的信息量最大,等于log2(N)(以源码的元数为N,例如英文的满荷值为4.75;
俄文为5.08;按照中文的字数,小字库为12多,大字库为14多。等等)。
大家知道,英文字母平均信息熵是 4.03 比特,说明它有一点“浪费”(因为
2的4次方是16,这只相当于均匀使用了16个字母)。如果英文的“平均信息量”少
到1或者2,就相当于只有两个或者四个字母了。所以张先生对英文的表扬可真的一
点意义没有。
那么,假设我们的祖先造的汉字只用了很少的部分,平均信息熵就会很小,比
如,要是只用“是,不”二字而其他文字统统不用,那就只要有一个比特就够。
张先生以为“平均信息熵”越少越好,是犯了一个“方向的错误”。可见,张
先生在信息科学上的知识是多么脆弱,多么不精确!用这样的东西作为“证据”,
要我们信改革有几千年历史的汉字很是必要,太不负责!
张先生又引用说:
本世纪四十年代,申农和霍夫曼等科学家提出了信息熵理论和方法,基本定理
是:在一种非扩展的无记忆信息源中,字符编码的长度不能小于信息源的熵。这个
定理适合所有的语言文字,是计算机和网络通讯的科学技术基础和工程设计的基本
依据。
这句话全对。不知道张先生是哪里引用来的,但是张先生显然不理解其含义。
这话说明的是什么?原来,这不过是说,因为英文的平均信息熵是4多一点,因此
作为通讯用的英文字符集的实用长度也至少要有那么长。德文和俄文的字母比英文
多几个,它们多含一点信息量是正常的。德国人之不改动字母,绝对不是因为信息
量多还是少的缘故。多更不是坏事。其实,大家知道在电脑里英文字母、德文、俄
文统统用的是8位(8比特)。8位的满存储是256个字符,大家相聚在一起,谁多用
谁少用,不会去斤斤计较。德国人也读英文,俄国人也用德文,更没有人用它来比
较“语言的优劣”。
中文,一开始是用了双字节的(即16比特),满存储是6万多,现在中文用了
约1/3(当然其他文种还要用)。这和中文的效率并无直接的联系。如果,用一个
汉字表达的“意思”的量,如果(平均起来)和一个英文字母一样多,那汉字就真
太落后了!
真是这样?我们的汉字真会这么落后?比如“我”是两个字节,“I”是一
个字节。这就是中文不如英文的“唯一例子”了。但是“人、是、起、而、日、
月、用、无、……”这几百成千个单字(严格说所有汉字)英文里都只要一个字母
吗?不是。英文的字母只有26个,充其量只能有这26个比中文好——可惜英文的单
字母词只有一个“I”,一个“a”(意义太简单,还无独立使用权)其他的(例如
of,on,to,we,me,go,……)能和汉字打平就好。请注意,在用26个字母构成
的676种二字母组合中,有意义的少之又少(比如aa,ab,ac,ad,ae,……就几
乎全无意义)。所以,如果有人用汉字对比英文(在同样意义的词汇)的byte数,
十有八九汉字要“节约”得多!
自然英文通过制造缩写的办法解决了不少问题——UN,USA,WTO,所以说汉字
绝对优越也要谨慎。
最最可笑的是,如果要按照“用拼音”的建议把中文翻译成拼音(即使那声调
的符号省去、词汇连写等方法全用上),那byte数要大大增加了,虽然那“平均信
息熵”也许还降低了(总不超过5)。打个比方,改用拼音的张先生可以告诉别
人,我的平均信息量已经降低到4多一点(就是说‘我现在终于只要用一分的硬币
买东西了,虽然我每年的开支因此增加了三倍,我才不在乎!’)。因为拼音里除
了a、e以外,是不许单独字母成字的,就是a、e,还留空格。所以如果说要用拼音
作文字,在浪费字节上是天下第一的“文字”——看不易懂还暂且不说!在这个意
义上说,“从一九八九年开始,《人民日报》等报刊就用同样的手法抨击中文改
革,连续发表文章鼓吹‘汉字优越’,说中文改革是盲目西化和导致中国文化传统
消亡,等等。”真是做得对极了,好极了!
张先生又说:
中文的平均信息熵是 9.65比特,在计算机信息作业的时候,汉字的每个字符
需》要两个字节的空间,因而中文的信息处理和传递的整体效率比英文等拼音文字
的效率要低得多。
这是完全违背基本常识的。套用他的汽车比喻,这好像是说:“独轮车无疑比
12轮大卡车节省10倍,走的路只有1/10”;又好比说“用一元钱的钞票买东西比用
五角钱的贵一倍”;等等……
尽管我们已经说明汉字实际上比英文和其他拼音文字只简不冗(从占用字节数
的角度看),语言学上的问题仍然相当复杂,谁简谁繁似乎也还难以成为一种语言
优劣的绝对定论。比如世界语、数学语言、电脑的汇编,显然都极简单而且规范,
可是要代替自然的生活语言明明是不行的。这个问题我们暂且不讨论。
张先生的文章还存在许多其它问题,比如他说:
不管谁在使用和在哪里使用,也不管使用者的民族感情如何,这些文字的信息
熵还是它们的信息熵。
他根本就不知道,除了整个“民族”的平均信息熵以外,人人的语言都有其独
特的信息熵。比如“不高兴”先生,碰到事情一般都是不高兴;总说“喳”的太
监,他们的语言中的平均信息熵都很小。同样的字符集而熵小,这绝对不是什么先
进,是贫乏。
附带说一句,张先生犯的这个错误,国内某一派的“著名语言学家”在十多年
前已经犯过,也被人尖刻批评过。他们既无法理解(大概对于数学绝缘)也不吱
声,以至于十年过去后,他们的文改信徒还不断重复这错误。可悲又可叹,若把语
言文字工作交给这等“既不内行又不热心”的人!
<!--webbot bot="Include" u-include="../xiamian.htm" tag="BODY" startspan -->[中国研究/zgyj1999/xiamian.htm]<!--webbot bot="Include" endspan i-checksum="45378" -->
|
相关推荐
本例使用JAVA语言实现了信息熵Entropy的计算,代码简单易懂
信息熵,一维信号,二维图像等,计算新的信息熵值,来判断信号是否具有规律性,MATLAB,故障诊断算法等均会用到
图像信息熵计算,可计算出图像加密后是否是理想的随机图像,用来判断图像加密算法的效果,是评价一个图像加密算法的重要手段。通过输入加密后的图像,可利用该程序直接计算出图像的信息熵。
在这项工作中,我们从经典,量子和信息论的观点重新介绍了熵的概念。 许多科学家指出,关于熵的争论和对无序误解的度量也得到解决,以提出对熵的物理解释,这种混淆不那么混乱。 因此,随着时间的流逝,熵(定量)...
抽象
输入: 一个字符串,请忽略所有非字母的字符(即只关注a-z, A-Z),且不区分...对应字符串的熵值,输出请用格式化输出("%4.2f\n") 样例输入: To□be□or□not□To□be,↵ that□is□the□question↵ 样例输出: 3.26↵
使用MATLAB实现信息熵的计算
信号处理中需要提取熵值,文件中包含了两种熵的代码,信息熵和希尔伯特熵
资源名:微分熵_Differential Entropy_matlab 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有...
用idl计算图像的信息熵,对遥感图像融合有很大的意义
计算灰度图像信息熵的方法,输入图像可以使灰度图或RGB图像。计算出来的信息熵,可以用来作为图像质量的判断依据之一。
[评价方法]信息熵理论与熵权法 Information entropy theory&Entropy wei
熵权法(Entropy Weight Method)是一种常用的多指标权重确定方法,它基于信息熵理论,通过计算指标的信息熵和权重,来确定各指标的重要性。下面是一个简单的熵权法的MATLAB代码示例: 使用该代码,你需要将指标数据...
熵的概念最早起源于物理学,主要使用宏观形式(克劳修斯形式)即任何可以自发进行的过程中,恒温热Q和温度T的比值永远是一个正值。 Shannon在通信的数字原理一书中把信息定义为...这就是Shannon信息熵方法的基本思想。
使用C++读取图像中的信息熵以便于更好的理解
基于MATLAB的图像信息熵计算,内含原始图像和结果图像
利用matlab代码求得图像信息熵(一维熵和二维熵)
输入彩色图像,转化为灰度图像后,进行图像信息熵(一维和二维)、互信息等计算和对比分析。
关于混沌Kolmogorov熵的计算程序,在前人基础上自己编写的。已经用过很多混沌时间序列K熵的计算。(On chaotic Kolmogorov entropy calculation procedure, based on predecessors have written. Has been used a lot...