返朴归真求编码 华尚铮 【摘 要】中文键盘输入的本质是对预储在电脑中的中文字符和语料的检索,其操作原理和操作过程都与排版的检字法相同。汉字编码就是中文字符及语料的查找顺序和编号。基于编码的中文输入平均每个汉字击键数在二键以下,智能化输入实现后,平均每字的击键次数当在1.5键以下。赶上并超过西文输入是汉字编码的理想标准,华鼎二键码为你实现理想中的编码提供借鉴。 一、中文输入的优势源于编码 广义的汉字编码是指在确定了字符种类和数量之后,对这些字符进行排序、加工、储存、检索、转换、输出等各种作业的计算机用代码。狭义的汉字编码只是指人机交流时使用的操作码。本文所称的汉字编码专指操作码。 从电脑图文处理的原理来看,各种字符都是以图的形式,以数字化的方法储存在电脑中的。对电脑来说,储存检索一个西文字符和一个中文字符的原理是完全相同的,并无难易之分,但对于操作者来说,中西文输入的差别却十分明显。西文字符很少,通常情况下,西文输入是不需要编码的,中文字符形状复杂,数量庞大,只能编码输入。输入编码不仅给设计者提出了难题,更使操作者在学习掌握、熟练运用时十分头疼。时至今日,由于理想的汉字编码尚未实现,使“中文输入肯定不如西文输入方便快捷”这一明显带有历史局限的结论,似乎成了人机交流方面的金科玉律。笔者虽然是汉字编码的业余爱好者,但对此结论实在不敢苟同。 中文键盘输入的本质,是对预储在电脑中的中文字符和语料的检索。粗看起来是用击键的方式代替用笔写字,其实大谬不然,中文输入的操作原理和操作过程与铅字排版的检字法相同,只是电脑代替了存放铅字条的木架和字盘。大家知道,排字工人在排版检字时,并不是一个一个地检取铅字的,而是单字、词语、词组、短句归类放置混合检取的。中文输入也是把单字、词语、词组、短句统一归类编码,混合存取的。由于使用频率的不同,铅字架上往往要放上几个、几十个甚至几百个相同的单字或词语。在电脑里,不管是单字还是词语,每个都只要储存一个,就能取之不尽。排字工人检字时,空间距离从几十厘米到几米不等,取放时间较长。中文输入只要坐在电脑前,用手指按键就行。以前一个排字工人每小时能排1000-2000字,现在由于工具先进了,时空距离缩短了,工作效率提高一倍,每小时就能输入2000-4000字,每分钟大约30-60个字。随着熟练程度的提高,条件反射的形成,效率还能提高,每分钟输入50-100字,应该是稀松平常的事。 从击键次数来计算,大致也能得出相同结果。单个汉字的编码输入,大约平均3键左右输入一个汉字;如果把词和词组也编码输入,平均二键左右可输入一个汉字;如果再把专用词组和常用短语连同标点符号一起编码输入,则平均输入一个汉字当在二键以下。考虑到一个汉字大约与3.7个英文字母所载的信息量相当,仅依靠编码输入中文就不亚于英文。问题是精准地找出相应的字符和短语很不容易,这也是设计和掌握使用汉字编码的困难所在。 鉴于编码对中文输入有着特别重要的意义,所以设计符合中文规律的,字、词、语统一的,能与中文的学习和使用融于一体的,易学易用难忘的输入编码,才成为许多语言文字专家、计算机专家和广大业余爱好者为之殚心竭虑,孜孜追求的目标。这里笔者斗胆提出一个评价输入编码的最简标准:这种方案能被多数国人轻松掌握吗?这种方案能使中文输入赶上并超过西文输入吗? 二、正确理解重码,充分利用重码 重码问题一直是困扰编码设计者的问题。重码会加重操作者的心理负担和操作负担,降低输入速度,所以一般人都以否定的态度对待重码,甚至把重码率的高低,作为评价汉字编码和中文输入法优劣的一个重要标准。这种观点是完全错误的。 科学地说,我们输入电脑的汉字编码与汉字在电脑里的机内码是一一对应的,否则电脑是不认帐的,因此汉字编码本质上是没有重码这个概念的,这就是编码的单义性。那么重码是怎么一回事呢?有人说,重码就是指一个编码对应多个汉字。笔者想,一个编码怎么能对应多个汉字呢?怎么来区分这些汉字呢?回答说,用序号来区分它们。笔者想,既然已用序号把它们分开了,怎么还能说是重码呢?序号难道不正是编码的一部份吗?为此,笔者对重码杜撰了一个定义:互相以序号来区分的编码集合为重码集合,集内编码互为重码。按这个定义来考量,目前所有的汉字编码方案都是有重码的,只是重码的严重程度不同而已,其中被称为最具编码单义性的电报码和区位码,其实是重码最严重的,它们各是一大组重码,它们只能以序号来区分,因此被称为无理码。习惯上称为有理码的其他各种方案,都是先用规则来对汉字逐级区分,最后才以序号来区分的。所有的有理码中都包含着无理的成分。 在设计有理码时,可以用一套规则对汉字进行若干次分类;也可以用几套规则对汉字进行若干次分类;一套规则可以非常简单,也可以非常复杂;可以让规则“铁面无私,决不通融”,也可以有“大量的例外和变通”。总之全凭设计者的睿智和规定。只是最后总会有部分汉字是只能用序号区分的。于是笔者又杜撰出重码的第二种定义:当以规则对汉字进行逐级区分时,符合该规则的字符逐级构成重码组,组内的字符互为重码。根据这个定义,在击出编码的最后一码之前(包括序号码),击出的任何编码都是重码组的编码,依次为一键重码组,二键重码组,三键重码组......很明显,在同一编码方案中,重码组的数量与平均每组重码数成反比。随着分级次数的增加,重码组数逐步趋向最大值,平均每组的重码数逐步趋向于1。 我们对重码有了正确的理解,就能让重码为我们所用了。假定有一个相当科学的编码方案,它按定长4码编码,重码率在1%以下。(可以想象,操作者掌握这套编码规则一定相当困难,对每个汉字进行四次甄别也一定相当麻烦)如果规定第4码不按规则编码,而以序号编码,这时重码率可能会上升到20%左右,如果规定第3码也以序号编码,重码率可能会上升到98%以上,几乎每组都有重码。正当操作者为重码发愁的时候,有个专家组出来说,重码由我们来帮你处理,你只要每个字记住二码就行了,我想,操作者一定会举双手表示欢迎的。 把本应由操作者死记的序号让专家组和机器处理,这就是智能化处理的实质,当然智能化方案解决的问题远比重码处理复杂。智能化是中文输入的专利,它是专家们根据中文语法、语意、语用等特点和规律设计出来的,对输入编码进行自动检索、匹配、调整的一整套命令,一旦启动,它就会自动工作,直至完成。智能化输入方案是独立于各种汉字编码方案又高于各种编码方案的,它适用于除区位码、电报码之外的任何编码。它是汉字文化与计算机文化结合的优秀范例,代表了中文输入研究的正确方向。功能强大的智能化输入方案的实现,将使操作者的工作强度(特别是心理压力)大大降低,工作效率大大提高,平均击键次数可降到1.5键以下。必须说明,通常情况下,西文输入是不需要智能化输入方案的,它只能一键一个字母地输入,少打一键都不行。西文的无编码输入让中文输入者非常羡慕,中文的智能化输入也一定会让西文输入者十分妒忌,真所谓各领风骚,殊途同归。 上文提到只要求操作者记住二码就行了,为什么只要记住二码就行了呢?这是参考拼音码得出的结论。全拼码每个汉字最少2键,最多6键,平均3键,不管是几键,实质都是声韵2键,重码组仅为400个左右。目前智能化输入方案与音码结合得相当好,转换命中率在98%以上。刻意设计的二键码,重码组当在600组以上,更容易提高转换命中率。当然必须清醒地认识到,不管智能化方案设计得有多好,转换的命中率有多高,必要的人工干预(人工选择)还是必不可少的。 当我们把处理重码的难题交给专家组和微机去处理时,编码的设计者的任务也就更加简单明确了:努力为国人设计一种普及型二键码。 三、信息时代汉字形意分类的革新和华鼎码 如何用二键码来对所有汉字进行分类甄别呢?可以从汉字的整体特点来考虑,汉字是表意图形文字,每个汉字都是音、形、义的结合体。音可以独立作一码,形义合成一码。把汉字的音作为一码,只要把汉字汉语拼音的第一个字母定为声码就行了,这样,汉字共有23个声码。把形义作为一码,就是把汉字的部首作为一码。困难的是部首有189个,全部记住很不容易。办法是把189个部首再进行一次形义分类,把它归类合并为数量较少的形码,再用字母和数字作代码,这样就易记易用了。下面是华鼎码对189个部首分类的尝试: 表1:华鼎码象形形码表 键位 | 名称 | 象形部首 | 键位 | 名称 | 象形部首 | A | 癌部 | 疒 广 尸 | N | 女部 | 女 子 | B | 贝部 | 贝 页 | O | 日部 | 日 曰 | C | 草部 | 艹 | P | 跑部 | 足 车 舟 | D | 灯部 | 火 灬 | Q | 犭部 | 虍鹿牛马豸犭 | E | 耳部 | 卩 阝耳 | R | 亻部 | 亻 彳 | F | 饭部 | 食酉米饣 | S | 手部 | 手 扌 | G | 盖部 | 宀冖穴雨 | T | 土部 | 土 山 士 | H | 禾部 | 禾 竹 | U | 鱼部 | 鱼 虫 鸟 | I | 丝部 | 衣 糸 衤纟 | V | 月部 | 月 骨 | J | 金部 | 钅金刂 刀 | W | 王部 | 王 玉 石 | K | 口部 | 口 | X | 心部 | 忄 心 | L | 流部 | 水 氵 | Y | 言部 | 讠言 | M | 木部 | 木 | Z | 之部 | 走之辶廴 |
表2:华鼎码数字形码表 键位 | 名称 | 说 明 | 笔 形 | 0 | 头部 | 点和横相结合 | 亠 | 1 | 横部 | 横、横上钩、斜右钩 | 一 一 | 2 | 竖部 | 竖、撇、竖左钩 | 丨 丿 亅 | 3 | 点部 | 点、捺、小字形及其变形 | 丶 乀 小 | 4 | 叉部 | 两笔交叉 | ナ × | 5 | 插部 | 一笔纵穿两笔或两笔以上 | 丈 キ | 6 | 方部 | 四角整齐的方形 | 囗 目 罒 | 7 | 角部 | 两笔相接形成的角形 | 厂 「 」 | 8 | 八部 | 八及其变形 | 八 人 ハ 丷 |
助记口诀:一横二竖三点捺 四叉五插方框六 七角八八及变形 点下有横变零头 象形形码共26个,含形意特征十分明显的60多个部首,用汉语拼音的26个字母作为代码,每个形码都有一个中文名称,容易学也容易记。数字形码只有笔形特征而无表意作用。这些笔形虽然本身属于189个部首,但实际上是沿用了“四角号码”检字法的十种笔形,所以干脆称为数字形码。9个数字形码涵盖了120多个部首,学习和记忆量减少了许多。完成了形码的归类合并,只要再设计一个简单的编码规则就行了。华鼎码编码规则如下: 首码总是形码(35组) 依次在汉字上、下、左、右、左上角五个部位有象形形码的,取该象形码作首码。(26组见表1)上述五个部位无象形形码的,取该字左上角的数字形码为首码。(9组见表2) (二)常用字第二码是声码。声码是汉字汉语拼音的第一个字母。 (三)生僻字第二码是数字形码(9组)。具体有下面三种情况: (1)首码是象形形码的,第二形码取该字去掉象形形码后剩余部分左上角的数字形码。 (2)首码是数字形码的,第二形码取该字右下角的数字形码。 (3)国标字符表中的部件符,如:氵、讠、钅、辶、廴等,第二码 均为○。 (四)多字词语的编码规则:首字形码加各字声码。 汉字的读写系统是一个十分庞大的系统,它包括汉字的音形义、检索、语法、书写工具、文字载体、教学传播等子系统。这个大系统随着社会政治经济文化的发展,遵循着更简便、更高效、更经济、更普及的规律在发展。进入信息时代以后,汉字的书写工具、载体、传播手段又发生了革命性的变化。中文键盘输入将成为国人必须具备的基础文化与基本技能。笔者认为,在不触及字音、字形、字义等文化沉淀的前提下,对汉字的部首加以归类合并,并以字母和数字作代码,就能使汉字更适宜于辞书检索和电脑输入。这很可能是一种最简单、最经济、最容易普及并沉淀的革新。如果这种汉字形码在小学低年级就学习掌握,成为基础文化,中文输入就不再需要编码了。届时,中文输入定能赶上并超过西文输入。 四、几点说明 华鼎码是集部首、四角号码、音序三种汉字检索法优点于一身的二键码。总体设计原理如下: 右图三个正方形分别表示三种汉字检索法,重迭的部分是新的检索法。常用字用形声码检索,生僻字用形形码检索,多字词用首字形码加各字声码检索,产生的重码用人工选择。 2、华鼎码以形声为主、形形为辅,用二键显字、选择上屏的方法,实现了对所有汉字的二码分类。在GB2312-80集内,有形声码748组,形形码312组,共1060组重码。占动态字频总数的99.5%以上的常用字可用形声码击出;生僻字的数量不管有多少,合计只占动态字频总数的0.5%,可用形形码轻松击出。真正做到了常用字输入快,生僻字找得到。两者相辅相成,各得其所。 3、华鼎码采用字、词、语统一按N+1键的形式编码。单字二键、二字词三键、三字词四键……另设36个一键字,重码的第一个字、词为简码,击空格键上屏。在人工选择条件下,平均每个汉字击编码键约1.7键(不计选择键),实现智能化后,包括选择键,平均每字在1.5键以下。(软件层次越高,击键次数越少。) 4、华鼎码的形义分类和编码规则,是设计者的个人观点,受笔者文化修养和学识的限制,受智力、体力、经济能力的限制,疏漏和荒谬之处在所难免,敬请诸位同仁严厉批判,不吝赐教。 参考文献: 《汉字编码方案汇编》科学技术文献出版社1980年3月出版 《现代汉语语法信息词典及其在中文输入中的运用》俞土汶、朱学锋96年11月编码学会论文集 |