深入理解华鼎码的设计原理
设想我们正在操作电脑打印一份文稿。随着手指有规则地按键,一个个,一串串汉字不断跃上屏幕,原来用手一笔一笔写的汉字,现在只要按几下键就完成了。我们不由得从内心发出赞叹,多神奇的电脑!多奥妙的汉字编码!
其实,电脑并不神秘,它只是一台储存和处理信息的机器,汉字编码也并不奥妙,它只是汉字在电脑里排序和检索的编码。这跃上屏幕的一个个、一串串汉字都是专家事先按规则存放在电脑里的。在进行中文输入时,我们输入这些汉字的检索编码,就能把它们从电脑中找出并送上屏幕。
中文输入就是用击键的方式代替用笔写字,它与我们用笔写字的过程完全不同,而与活字印刷时代的排字过程相仿,只是存放铅字条的木架,变成了存放汉字和中文资料的电脑。
从这个意义上说,如果某个字符事先没有存放进电脑,那么这个字符是检索不出来的,如果操作者记错或输错了某个字符的编码,这个字符也是检索不出来的。
中文输入的过程,与我们平时用辞书查字也有些相象,都是要检索出某个汉字或词组,但是,这二者在目的和要求上有十分明显的区别。
我们用辞书查字,每次只要查一个或几个字词,查字的目的,主要是要了解某个汉字或词语的正确读音、意义或用法,有时也要查一下某个汉字的正确写法。检索到某个字词并不是目的,而只是查字的过程。一般而言,用辞书查字,都是查一些相对较生僻或生疏的字词,正因为这个原因,我们花在查找到那个字词上的时间,对于整个查字过程并不重要,重要的是要能找到那个字词。如果用10秒钟找不到那个字词,可以用20秒,30秒去找,直到找到为止,当然最好是打开辞书,一下子就找到那个字词。
进行中文输入,每次少则要输入几十个、几百个字词,多则要输入数千个或上万个字词。目的是要把大量常用的字词从电脑中检索出来,把它送上屏幕,完成我们的文稿。检索就是目的。正因为这个原因,中文输入的速度就显得十分重要。我们不一定追求每分钟上百字的高速度,也不一定追求每分钟50多字的职业速度,但至少要达到誊写文稿的速度,即每分钟15-20字左右的速度,而且要求正确无误。如果达不到这个要求,中文输入就毫无意义。
从检索的难度来看,二者倒是差不多的。在辞书里,各个字词都是按一定规则排列在书页上的,检索的时候,先要根据这个规则确定某个字词在哪一页上,再用手翻到那一页,找到那个字词。根据传统辞书的检字法,确定某个字词在哪一页上,是相当费时费事的,一种检索法往往要配上其它索引法才能使用,否则就难以使用。进行中文输入,用的是高科技电脑,各个字词都按一定规则存放在电脑里,操作的时候,只要按所需字词的编码输入码键,这个字词就会出现在显示屏的提示窗里,确认无误,就可以把它送上屏幕,完成输入。它的困难在于要记住每个字词的输入编码是一件很不容易的事,记不住编码就不能进行中文输入。
尽管中文输入的本质是电脑检索,这已为迄今为止的所有汉字编码方案所证实,但是汉字编码界坚持另一种错误观点的人还是大有人在。这种错误观点就是"拆分拼合论",或称"全息描摹论"。这种观点认为,找出那些适合一切汉字组成的基本单元,用这样的组成单元重新组合成汉字,这就是计算机输入汉字的编码过程。这种观点之所以是错误的,是因为它既不符合汉字的实际情况,也不符合中文输入的实际情况。
可以设想,假如真的找出了组合汉字的所有基本单元,要在计算机上拼合成一个汉字,除了输入这个汉字的全部单元代码,至少还必须加上表示这些基本单元二维排列的顺序和位置的码元,同时还要加上表示这些单元形状大小变化的码元,否则就拼合不成汉字,即使拼成了也不美观。这样的汉字编码,即使设计出来,也只具艺术意义,决无使用价值。
认清中文输入的本质是电脑检索,决非拼合,决非描摹,这是设计华鼎码的根本基础,也是设计任何汉字编码的基础。
事实上,我国目前大量的中文输入工作,仍依赖于专业人员来完成,很多文稿要靠职业打字员来输入。究其原因,主要是目前使用的各种输入方案尚不尽如人意,易学易用的普及型中文输入方案,仍处于研究开发阶段。
上节所说,中文输入的本质是电脑检索,其实世界上任何文字的输入都是电脑检索。为什么这么说呢?因为从电脑图文处理的原理来看,各种字符都是以图的形式,以数字化的方法储存在电脑中的,使用时根据需要检索出来就行了。
形象地讲,不管是一个西文字母,还是一个汉字,都象是一张照片。这些照片上的形象是各不相同的,有的很简单,例如字母,有的很复杂,例如汉字,就象我们平时拍的个人照和集体照一样。不管照片上的形象是简单,还是复杂,这些照片的外形尺寸都是相同的,用术语讲是点阵相同(例如24×24点阵)。把这些照片进行数字化处理,然后按一定顺序储存进电脑,这就完成了字符的机内码设计和储存。对于电脑来说,储存检索一个西文字符和储存检索一个中文字符的原理是完全相同的。
然而,对于操作者来说,中西文输入的差别是十分明显的,具体反映在中西文字符数量的差别很大。我们就以目前使用得最广泛的国标GB2312-80《信息交换用汉字编码字符集(基本集)》为例来说明。
在国标GB2312-80中,规定了682个中文标点符号、常用图形符号、阿拉伯数字符号、常用运算符号、罗马数字符号、标题数码符号、英文、俄文、希腊文、日文符号,另外还规定了6763个汉字。可以看出,在总共7445个字符中,汉字与符号的数量之比约为10:1,而汉字与其它任何一种西文字符的数量之比在50:1上,这还不包括数万个集外汉字。
中英文键盘输入,都是通过通用小键盘来进行的,而通用小键盘当初是为输入英文而设计的。英文字符很少,在设计键盘时,可以把所有英文字母和常用符号都设计在键盘上,使用时只要按相应的键位,就能把英文字符送上屏幕。会英语就会英文打字,这是很自然的事。我们现在套用英文键盘来输入中文,必须先要把中文字符、词语编码储存在微机里,需要时,根据编码击键,就能检索出相应的字符和词语,再把它送上屏幕。中文输入相对较难,一个识字的人,不一定会打字,要学会打字,就要先学会一种电脑检索中文的方法。
中西文字符数量悬殊,是中文输入编码比西文输入编码复杂许多倍的根本原因。但是,如果由此认为中文输入一定比西文输入困难,甚至得出汉字迟早要消亡,中文必须走拉丁化道路的结论却也是十分错误的。
也许可以说,计算机是先进的电子技术和西方文明的产物,从它的诞生到成熟,压根儿没有汉字文化的因子。但是,更确切地说,它是人类文化技术高度发展的产物,它的出现,不仅能加快西方文化技术的发展,而且能促使世界上任何文化技术飞速发展,我们的汉字文化也不例外。
中文输入编码确实要比西文输入编码复杂许多倍,这只是对中文输入法的设计者而言,而对中文输入的操作者来说并非如此,因为一旦理想的中文输入法得以实现,中文输入将比西文输入更具革命性和优越性。
西方是早就有小巧玲珑的打字机的,打字机的使用也较普遍。但是用西文打字机打字,要一个字母一个字母地打,少打一个字母都不行。用电脑打字也一样,少打一个字母也不行。从打字的过程来看,电脑打字只是机械打字的替代。仅此而已。
中文打字机的问世,远比西文打字机晚。它要比西文打字机笨重许多倍,随机字库才三千多字符,远不能满足中文文本的需要。即使由专业操作员来操作,打字速度也不快,非职业人员几乎无人能使用它。而用电脑打字,就完全不同了。装上最普通的文字处理软件,就有6763个汉字,它能覆盖常用文书文本汉字数的99.9%以上。在输入中文时,它不但能逐字输入,还能几个汉字同时输入,在使用智能化软件时,甚至可以做到整句输入,这极大地提高了中文输入的效率。
综上所述,西文输入的优点是编码规则极简单(有时是不需要编码),缺点是输入效率较低,电脑给操作者的帮助几乎为0。中文输入的缺点是编码规则相当复杂,优点是输入效率较高,电脑能给操作者极大的帮助(软件层次越高,帮助越大)。二者相比,可以看出,电脑打字是中文信息处理的一次革命性飞跃。计算机提供给我们的不仅是一台普及型的中文信息处理机,而且给我们提供了赶上和超过西文输入的可能。更具积极意义的是:它给我们指出了实现这个可能的二条基本途径是:简化编码规则和提高软件水平。
从目前流行的一些中文输入法看,多字词同时输入和智能化输入,是中文输入对于西文输入的相对优势,这个优势最终是否能转化为绝对优势呢?答案应该是肯定的。
没有电脑就没有中文输入,中文输入是依托于电脑及其相关技术实现的。评价一种中文输入法是否易学易用高效,是否是适合普及,有许多标准,如果我们把这些标准简化成一条基本标准,那就是看那种输入法,是通过操作者勤学苦练学会输入、依靠聪明才智去完成输入,还是充分利用电脑功能帮助操作者完成输入。我们认为,只有充分利用电脑功能帮助输入者完成输入的输入法,才是易学易用高效的,适宜普及的中文输入法。
电脑的三大功能是显示功能、储存功能、计算功能。
电脑的显示功能在中文输入中起着关键作用。我们用键盘输入一个汉字的正确编码,这个汉字就会出现在屏幕的光标处,同时还出现在屏幕的显示行(显示窗)里,这时我们就认为正确地完成了输入。如果输入了错误的编码,屏幕和显示行里出现的可能是另一个汉字,也可能没有汉字出现,这时我们就会发现错误,改正错误,最终输入正确的汉字。如果输入的是一个有重码的汉字编码,这时屏幕上不会显示汉字,显示行里却会出现一串重码汉字,我们可以击选择键,把需要的汉字送上屏幕。由此可见,在输入汉字过程中,屏幕显示起到了极重要的反馈作用,它可以帮助操作者判断输入是否正确,还可以帮助我们挑选重码字。如果没有这个反馈,中文输入就无法进行。
就拿广大职业操作者特别推崇的"盲打"技巧来说吧,会"盲打"的操作者,可以不看屏幕,不看键盘,甚至不看文稿,随心所欲地输入中文。但是掌握"盲打"这一技巧,不正是建立在屏幕显示反馈基础上的吗?有哪一个会"盲打"的操作者不是经过数十万次汉字输入的屏幕显示,反复纠错才掌握这种技巧的呢?再说,在高速盲打时,由于舍弃了屏幕反馈这一重要环节,输入汉字的准确性大幅度下降,以致极大地加重了校对文稿的工作量,这也是不容置疑的事实。
既然我们在输入中文时离不开屏幕显示和反馈,那么,充分利用这一功能来帮助操作者完成输入,也就是顺理成章的事了。
如何充分利用电脑的显示功能呢?答案很简单,就是要有目的地设计一个重码极普遍的汉字编码。众所周知,重码问题一直是困扰编码设计者和操作者的问题,重码会加重操作者的心理负担和操作负担,降低输入的速度,所以一般人都以否定的态度看待重码,甚至把重码率的高低,作为评价汉字输入法优劣的一个重要标准。现在我们反其意而用之,用积极的态度看待重码,而且刻意设计一个重码极普遍的汉字编码,却得到了一个意想之中的结果,极大地简化编码规则。大量事实证明,重码率与编码规则的复杂程度成反比。
输入规则最简单的编码,毫无疑问是二键码。我们设想,某种二键码的码元数按通用键盘打字区的键数设置,得出三种方案的码元数、编码空间、平均重码数如下:
| 使用键位 | 码元数 | 编码空间 | 平均重码数 |
|---|---|---|---|
| 只用字母键 | 26 | 676 | 10 |
| 字母和数字键 | 36 | 1296 | 5.2 |
| 字符键全用上 | 47 | 2209 | 3.1 |
如果平均重码在10个以内是可以接受的话(即多数情况是一屏显示),这三种方案都是可以接受的。
在这里顺便说一下,纯音码的本质是声韵二键码,与击键的次数无关。音码的实际单字编码组合约400余个,包括一字多音的情况,平均重码约在20个左右,绝大多数要翻屏处理,重码率明显偏高。
如何充分利用电脑的储存功能呢?答案同样简单,即建立起一个海量词库。
现今电脑的内存与20年前相比,已扩大了成百上千倍,内存够不够现在已不必考虑了。对于中文输入来说,多字词的输入与单字输入相比是既简单又快捷,因此,我们可以利用电脑巨大的内存来建立海量词库。它不仅包括各种词典上的词,而且包括常用的固定结构的词组、短语。
海量词库肯定也是普遍有重码的,我们同样可以通过提示行进行选择。编码的方法也同样简单,我们用二键检索单字,可以用N+1键(N是词语的字数)来检索词语,也就是二字词三键、三字词四键,依此类推。海量词库的建立将使输入键数减少到平均每字二键以下。
上面所设想的字编码和词编码,都是有重码的编码,用人工来选择重码也确是费力费时的事。但是,如果我们充分利用电脑的智能化来完成自动选择重码的工作,将使我们的工作强度大大降低,工作效率大大提高。
电脑的智能其实就是人的智能,它依托于电脑强大快速的计算功能。由软件专家给电脑设计一系列计算和运作的命令,一旦启动,它就会自动工作,直至完成。智能化选择重码和整句输入就是专家们根据中文语法、语意、语用等特点设计出来的,对输入编码进行自动检索、匹配、调整的一整套命令。
智能化输入方案是独立于各种汉字编码方案,而又高于各种汉字编码方案的。它不仅适用于音码,也适应除区位码、电报码之外的任何编码。它是汉字文化与计算机文化结合的优秀范例,也代表了中文输入研究的正确方向。
可喜的是,在智能化处理方面,质的问题已基本解决,目前投入使用的已有好几种软件。今后需要的只是质的提高和量的扩大。质的提高难度较大,因为它涉及到中文基础理论的研究和探索,而量的扩大并不困难,它只需要投入相应的人员和费用就能办到。当然,对海量词语进行智能化输入的设计,其工作量是十分巨大的,但是应该看到,这项工作一旦完成,对中华民族的意义有多巨大,有多深远。这里还需补充说明的是,不管智能化输入软件设计得有多完美,极少量的人工选择或人工干预还是必不可少的。
综上所述,二键码、海量词库、智能化,这三者能有机统一在一起的中文输入法,才是理想的中文输入法,它的实现,将使中文输入的工作强度低于西文输入,同时工作效率又高于西文输入。
可以设想,只要学会一种极简单的二键码,依赖于电脑的屏幕显示,海量词库和智能化处理,就能以平均二键一字,每分钟20多字的速度,悠哉悠哉地进行中文输入。这样的时代,肯定是为期不远了。
继续阅读:第四节 →