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

 

改造部首查字法,实现直接翻页查字

刘春华

  自《说文解字》以来,部首查字法已成为汉语字典的主要检索方法,即使按音序编排的汉语字典,也大多要附部首查字法。但是,部首法的低效、繁难又一直倍受责难。既然还没有找到更好的方法来替代部首法,我们不妨对它进行适当改造,以实现直接翻页查字。
  先来看一下部首法查字的全过程:
  ① 确定汉字部首;
  ② 数部首的笔画数;
  ③ 根据部首笔画数,在部首表中查到该部首在检字表中的页码;
  ④ 翻到检字表的相应页码;
  ⑤ 数目标字的"余部"(汉字除部首外的剩余部分)的笔画数;
  ⑥ 在检字表中查到目标字在字典正文的页码;
  ⑦ 翻到字典正文的相应页码查到目标字。
  查字过程真是"一步三回头",没法不令人气馁!最让人望而生畏的是要数两次笔画,其次是要查两次页码翻两次页。
  仔细分析一下,查字过程虽然非常繁琐,但涉及到的汉字特征实际上只有部首和笔画数(包括部首和"余部"的笔画数)。第一次数笔画和翻页是针对部首,第二次则是针对"余部"。也就是说,部首查字法的实质是用汉字的部首和"余部"特征来确定汉字的排序位置。我们不喜欢数笔画,就用部首的首笔代替部首的笔画数,用"余部"首笔和末笔代替"余部"的笔画数,这样我们就用4个特征来"定位"一个汉字:部首首笔、部首、"余部"首笔、"余部"末笔;每一个特征,再用一个字母来代表,就形成了4个字母的编码;将它用于汉语字典的排(序)检(索),就可实现直接翻页查字。
  事情就这么简单。
  事情没这么简单。
  关键是如何用字母来代表所述的汉字特征。
  一个汉字提取4个特征,实际上只涉及汉字的两类特征:部首和笔画。对照一下,传统的部首查字法也涉及两类汉字特征:部首和笔画数。
  部首和笔画与字母的对应关系是成败的关键。由于基本笔画的种类较少,因此最关键的是部首与字母的对应关系。
  1. 笔画
  采用横、竖、撇、点(捺)、折五种基本笔画。为了离散重码,根据是否与其它笔画相交,将横画对应两个字母。为叙述方便,两种横画分别称为相交横和非交横。
  笔画与字母的对应:相交横A,非交横E,竖I,撇O,点(捺)U,折V。我们注意到,按字母排序,也正好是横、竖、撇、点(捺)、折(横画虽然对应两个字母,但仍然全部排在其它笔画的前面),这当然不是巧合。
  2. 部首
  采用《汉字统一部首表(草案)》规定的201部部首。
  部首包括成字部首和非成字部首,其与字母的对应关系如下:
  (1) 成字部首一律采用拼音首字母。例如:寸C、长C、刀D、斤J、舌S、舟Z,还有:髟B、缶F、酉Y、聿Y、豸Z、隹Z、艮G、鬲G、厶S、殳S、豕S、臼J、耒L、黾M、疋P、毋W、兀W、龠Y、黍S,等等。
  (2) 非成字部首采用三种方式安排与字母的对应关系。
  ① 大部分非成字部首采用其习惯名称关键字的拼音首字母,例如:宀B、疒B、刂D、阝E、钅J、犭Q、彳R、罒S、饣S、礻S、攵W、衤Y,爫Z,等等。
  ② 3个非成字部首作形似安排,其中两个与字母相似:匚C、凵U,一个与成字部首相似:屮J("屮"与"巾"相似)。
  ③ 11个常用的非成字部首采用指定字母:忄(⺗)N、亻L、艹P、讠A、纟F、灬H、氵I、扌U、⺮O、冫Q、辶[辵]V
  上述11个指定字母的非成字部首需要重点记忆。下面的顺口溜可能有助于记忆:

 顺口溜       解 释
竖心女,单人恋   忄⺗(竖心)--N(女);亻(单人)--L(恋)
草头偏爱言字边   艹(草头)--P(偏);讠(言字边)--A(爱)
竹头O,走之V    ⺮(竹头)--O;辶(走之)--V
提手U键两点牵    扌(提手)--U;冫(两点)--Q(牵)
风吹绞丝四点火   纟(绞丝)--F(风);灬(四点)--H(火)
三点水落一条线   氵(三点水)--I(一条线)

  有了上述笔画和部首与字母的对应关系,很容易实施编码。
  但,还有改进的余地。
  我们注意到,大部分汉字的"余部"末笔部位也属于部首结构,例如"愉"的末笔部位是"刂","寨"的末笔部位是"木"。如果用部首结构代替末笔,由于部首对应的字母种类数是笔画的好几倍,可以大幅度减少重码。当然,也有一些字的"余部"末笔部位不属于部首结构,例如"壤、拖"等,它们就仍然采用末笔。
现在可以总结编码规则了:先依次取部首首笔、部首、"余部"首笔,最后在"余部"末笔部位取末笔部位码(简称"末位码"),如果末笔部位有部首结构,取部首,否则取末笔。

编码举例:
输 - ACOD 部首首笔相交横A、部首车C、余部(俞)首笔撇O、余部末位码D(刂)。
施 - UFOV 部首首笔点U、部首方F、余部首笔撇O、末笔折V(余部末笔所在部位不属于部首结构)。
権 - AMOE 部首首笔相交横A、部首木M、余部首笔撇O、末笔非交横E(余部末笔部位不属于部首结构)。
如果是部首字,依次取字的前三笔和末笔。举例:
鱼 - OVIE 首笔撇O、次笔折V、三笔竖I、末笔非交横E。

  有一点很重要:不需要拆分汉字!
  部首查字法本来就没有"汉字拆分"一说。
  另外,它还在相当程度上保留了部首法对汉字按部首分类排序的特点:在部首之前先取部首首笔,使得按码序排列的汉字具有良好的排序效果,所有汉字均按部首首笔分类、大部分汉字按部首分类排序,其中讠、氵、口、亻、忄、⺮、艹、扌、辶、攵、禾、女等所含字量大的部首项下的全部汉字按部首"清一色"排序。
  重码情况:GB2312-80字符集6763字范围的静态重码比例为39.23%。一般辞书(例如《新华字典》和《现代汉语词典》)单字字头一万多个,重码率还会升高一些,但不会影响字典的直接翻页查字,因为字典并非"一页一字",而且打开字典,我们一次看到的是两页!对于收字量大的大型辞书,可以在余部首笔和末位码之间增加一码,取余部次笔,这样可以大幅度降低重码,满足大型辞书直接翻页查字的要求。重码汉字的精确排序可以沿用笔序法。
  既然已经将部首查字法改造成了汉字编码,为什么不同时用于汉字输入呢?
  作为一种不拆分汉字的形码,简单易学,又符合文字规范,用于输入汉字非常方便,但它不能作为"主力"输入法,因为重码偏多。
  我们将第一码"部首首笔"换成"汉字首音(拼音首字母)"就构成了音形码。由于"汉字首音"的种类比"部首首笔"多好几倍,音形码的重码率大幅度降低,在GB2312-80字符集3755一级字范围的静态重码比例为6.36%。再引入超大词库的词码和简码,音形码可以担当"主力"输入法,满足专业录入员的输入速度要求。
  上述形码和音形码都属于"三合一汉字编码及键盘输入法"(简称"三合一")的成员,此外,三合一中还包括音码(全拼)和笔画码。三合一集音码、形码、音形码于一体,不需要切换,可随机使用各种方式输入汉字:常用字、词可用音形码输入;不认识的字可用形码输入;编码困难的字可用拼音或笔画输入。
  形码是理想的字典查字法,但用于汉字输入时只能作为辅助输入方式,主要用于输入不常用字(可应用于大汉字集直至全汉字集)。三合一作为输入法,已超出本文范围,宜另文讨论。
  最后一个问题:汉字部首的确定。由于汉字部首的确定方法尚未统一,"三合一"暂且采用李行健先生主编的《学生规范字典》、《中学生规范词典》和《现代汉语规范词典》三部辞书的部首检字表的方法确定汉字部首。希望尽快出台国家标准的汉字部首规范