三合一汉字输入法
 
理论探讨-7
 
           
   

 

汉字排检与编码输入应合二为一

刘春华

(本文发表于《语文建设》1997年第2期)

  用于辞书的汉字排检法已有约二千年的历史,而用于电脑的汉字编码则仅仅是近二十年的事。二者都用于汉字的排序和检索,不同的是前者用于手工检索,后者用于电脑检索(汉字输入实际上就是从电脑字库中检索汉字)。由于传统的排检法不能满足电脑应用要求,才需要汉字编码。既然要研究汉字编码,就应兼顾二者之需要,使二者走向统一。一种汉字,没有必要使用两种检索概念。

  本文讨论汉字排检与编码输入实现统一的基础和难点。需要说明的是,汉字编码用于键盘输入时有其自身的性能要求(有兴趣的读者可参阅笔者的《汉字编码的性能要求》一文,见《语文建设》1996年第8期),而本文仅仅涉及编码用于汉字排检的问题,前提当然是用于汉字排检的编码能同时满足键盘输入的要求。

  一.二者统一的基础是规范化的汉字基础知识

  现行汉字排检法有形序法和音序法两类。形序法包括部首法、笔画法和笔形法(四角号码),其中部首法是主流。音序法即汉语拼音。与此相类似,汉字编码也主要分为两类:形码和音码。形码有部件码、笔画码(如“五笔画”)和笔形码,部件码是主流。音码有全拼、简拼和双拼。此外,还有一些编码为音、形结合的音形码。由此看来,汉字排检法与汉字编码类似,二者存在统一的基础。

  汉字排检法与汉字编码统一的基础在于规范化的汉字基础知识,例如笔画、部首和拼音等。

  毫无疑问,在符合文字规范方面,传统排检法具有天然优势。所谓“规范”,有两方面的含义(见《现代汉语词典》),一是“约定俗成”,二是“明文规定”。部首法主要是“约定俗成”,拼音法则主要是“明文规定”(同音字的排序方法尚无统一规定)。传统部首本身就是一种“规范”,如果能对其进一步作出“明文规定”,就可得到统一。

  相比之下,大部分汉字编码都偏离了这个基础,有的还相去甚远。因此,汉字编码研究需要“规范化”导向。基础不牢、不正的编码不可能有长久的生命力。应提倡尽量采用规范的汉字基础知识实施编码。使汉字编码成为一种学习汉字的辅助工具,而不是一种负担。

  但是,传统排检法也有一个致命的缺陷:效率太低。这不但影响它们在电脑中应用,人工检索也实在令人气馁:需要拐好几个“弯”才能到达目标,与一步到位的西文检索相比,真有天壤之别。因此,直接翻页检字遂成为一代又一代汉语辞书编撰者的梦想。既然电脑比人工更需要高效率的检索方法,我们就有理由将快速检字的希望寄托在汉字编码身上。

  汉字排检与编码输入能够合二为一,但要真正实现也并非易事,需要“双方”的共同努力,才能相互“靠拢”。一方面,“新兴”的汉字编码“天不怕,地不怕”,正以“万码奔腾”之势,“横冲直撞”;另一方面,传统的汉字排检法经过历史的长久沉淀,呈“稳如泰山”之态,习惯势力已“不想”越雷池一步。因此,汉字编码急需“规范”来严加“约束”,而汉字排检则要解放思想,开拓思路,接受变革。不规范的汉字编码不可能用于汉字排检,不变革传统的排检法也不可能提高检字效率。规范的、适合于汉字排检的编码将把汉语辞书直接翻页检字的梦想变为现实,而编码用于汉字排检,反过来又将使辞书成为推广编码的强力“助推剂”。

  我们说,汉字排检与编码输入统一的基础在于规范化的汉字基础知识,但这个“基础”本身也还需要“加固”。以部首为例,且不说各种辞书所采用的部首的数量(种类)不尽一致,有些字的部首也难于确定,《新华字典》和《现代汉语词典》采用“多开门”的办法来解决,似无可非议,但这对编码却是个难题,因为编码需要唯一性。如果根据简单的规则就可以唯一地确定每个字的部首,对于汉字编码和汉字教学都将非常有利。因此,我们希望,部首的“规范性”能更上一层楼,从“约定俗成”提升到“明文规定”的高度。此外,有些汉字的笔顺也有待统一。再进一步,为了适应编码需要,传统部首之外的其它汉字部件也需要规范,这算是对基础的“加宽”。

  二.编码用于汉字排检的难点在于汉字排序

  一般字典都备有多种检索方法,以弥补单一方法在普遍适用性方面的不足,特别是如果正文按音序编排,几乎都要辅之于形序检字法,否则不会读音的字就无从查找。一般电脑所配置的编码输入法更是五花八门,这固然是因为编码尚未统一,但也说明单一类型编码(形码或音码等)很难普遍适用。对用户来说,汉字包括知道读音和不知道读音两种,因此,即使汉字编码最终达到统一,也至少应包括形码和音码(或音形码)两种类型。当然,最好是能把不同类型的编码有机结合,统一在一个编码系统之中。对辞书检索而言,如果正文用音码(或音形码)编排,形码可作辅助检字法。

前面已经指出,汉字排检与编码输入统一的基础是规范化的汉字基础知识,那么,建立在汉字基础知识之上的编码就一定能用于汉字排检吗?恐怕还有进一步讨论的必要。汉字排检,一是“排”,即汉字排序,二是“检”,即汉字检索。一般而言,键盘输入比辞书检索要求高,因为辞书的一页纸中能容纳若干字(少数构词量大的字除外),而键盘输入则要求重码率越低越好。因此,能满足键盘输入要求的编码,一般也能满足辞书直接翻页检字的要求。如此看来,编码能否用于汉字排检,关键在于汉字排序。似乎所有的编码均能排序,但“码”有序并不能保证字也有序,很有可能由“码序”决定的汉字排列杂乱无章。也许有人会说,只要根据一定的规则确定了不同汉字之间的前后位置,就实现了汉字排序。此说固然不错,问题是这种规则应该建立在汉字本身的特征的基础上,而不是随意的“码序”规则。打个不确切的比方,一群人若按身高排队,其“序性”一目了然,再看看火车站购票的队伍,尽管排队的人们根据先来后到的“时序”规则确定了前后位置,但从“人”本身的特征来看却无“序”可言。当然,要求根据汉字本身的特征实现汉字排序,其实际意义何在,希望有专家论述。假如汉字的这种排序是必要的,那么,笔者以为,以字的声母(或拼音首字母)为第一码的音形码可能较为理想,因为声母数量在26个(英文字母数量)之内,不会发生多个声母共用一个键符的情况,由“码序”决定的汉字排列,最低限度能按声母分出“类”来,至于同“类”字的字序也只好由“码序”决定,与此同时,由于字形因素的加入,与汉语拼音相比,音形码可大幅度降低重码率,从而实现直接翻页检字。形码的部件数量少则几十,多至几百(《新华字典》的部首也多达189个),必然要多个部件共用一个键符,使得按编码排序的汉字排列本身的“序性”较差。当然,上述说法的前提是编码用于汉字排检时与用于键盘输入时形式上完全一致。为了实现汉字定序,有些编码者在将编码用于汉字排检时,另附加某些简单的次级定序规则,这样可以拓宽编码用于汉字排检的思路。这方面的例子,可举张天光先生的通用字元法,这种字元法用于汉字排序时的重码率大大低于用于键盘输入的“天光码”,汉字排序质量也明显优于“天光码”码序决定的汉字排列。笔者以为,采用附加定序规则时要注意两个问题,一是不与键盘输入规则发生矛盾,二是附加规则本身要尽可能简单直观。形码中的笔画码当然也能赋于汉字较好的“序性”,但纯笔画编码的重码率太高,无论是用于辞书检索还是键盘输入,其效率都很低。至于双拼码,属于音码中的不规范码,不能用于汉字排检。

  综上所述,编码用于汉字排检,较为合理的做法可能是:对于中小型辞书,正文编排用音形码,形码(部件码或笔画码甚至传统的部首法)则可用作辅助检字法,以查检不知读音的字;对于大型辞书,还是用形码作正文编排和检索较为合适,或者,大型辞书仍沿用传统的部首法,因为就全社会范围来说,使用大型辞书的人毕竟是少数。