汉字编码的性能要求
刘春华
(本文发表于《语文建设》1996年第8期)
笔者曾提出汉字编码的四项性能指标,即规范性、易学性、高效性和通用性(见拙作《统一汉字编码的途径、条件和前景》,载于《语文建设》1996年第三期)。本文进一步讨论四项性能指标的具体要求。
一.规范性
规范性的最低要求,是汉字编码不干扰现行中小学的语文基础教学,最高境界则是汉字编码可以作为一种规范汉字教学的辅助工具。
所谓不干扰现行中小学语文基础教学,是指汉字编码不与学校教学的语文基础知识发生冲突,二者不矛盾。举例来说,四角号码查字法中,有些笔形是该查字法特殊定义的,常规汉字教学中没有这些内容,但它并不因此而干扰学校的汉字教学,因为这些笔形仅仅用来识别汉字的外形特征,不需要从汉字中“拆”出。可见,规范性的重点在汉字的拆分。例如,将“褊”拆成“衤、扁”当然最规范,拆成“衤、户、 ”也未尝不可,但如果再将“衤”拆成“ 、 ”就有争议了,因为“衤”是一个常用部首,人们已经习惯将其看作一个整体。至于诸如将“东”拆成“七、小”等就无规范性可言了。一般来说,对相交笔画结构的拆分很容易导致汉字编码的不规范,似应限制。
要想达到使汉字编码成为规范汉字教学的辅助工具的境界,要求完全采用规范的汉语基础知识来实施编码。人们使用编码的过程,即是检查、复习、巩固和提高所学汉语知识的过程。
二.易学性
易学性由用户掌握编码所需学习量的大小来衡量。编码的学习量可分为两方面的内容:汉语基础知识本身和编码特有的“知识”。
汉字编码首先要涉及汉语文字本身的知识,例如笔画、部首或拼音等。不同的编码方案所涉及的文字知识深浅不一,种类不同,当然会影响编码的易学性。一般而言,涉及单一知识比涉及多种知识的方案易学。例如,采用单一字形或字音因素就比同时采用二者来得容易,采用字音时只涉及声母而不涉及韵母,或者采用字形时只涉及笔画而不涉及部首,又比同时涉及后者的方案简单。但是,这方面的差异不应该成为我们注意的重点。就好象四则运算确实比单一运算复杂,但它们同属数学基础知识,受过初等教育的人都应该熟练掌握。假如汉语拼音方案就是理想的编码输入法,就不应以不适合“南方口音”为由来指责。更没有必要去追求所谓不懂汉字也能使用的汉字编码。当然,编码所涉及的文字知识不能过深,比如说不能要求用户掌握字源或文字演变方面的知识。只要编码所涉及的文字知识不超出基础教育的范围,与国民教育背景相适应,在评价和比较编码方案的易学性时,似乎就没有必要过份强调彼此之间在这方面的差异。
汉字编码的易学性重点体现在“编码知识”方面,即编码方案自身的、需要特别学习的东西。因此,易学性的最高境界是编码中与汉字知识没有内在联系的“编码知识”减至最少,充分利用人们已经掌握或者应该掌握的汉语基础知识,与国民教育背景相适应,与现行语文教学规律高度一致,真正做到“见字识码”。这似乎与编码的规范性混为一谈了。实际上,规范性与易学性是相通的,即规范性好的编码应该更容易掌握。但规范性并不是易学性的充分条件。易学性需以规范性为基础,但规范性好的编码其易学性也可能不好。规范性的重点是码元的选取和汉字的拆分,易学性则是在此基础上还要强调码元与键元之间的映射关系等因素。例如,即使完全采用规范的汉字笔画和部首作为码元,但如果毫无规律地安排各码元的键位,编码的易学性仍然很差。
显然,码元的键位安排是影响编码易学性最重要的因素。好的键位安排应力求做到:码元与键元之间的对应关系简单、直接,不但容易记忆,而且反应速度快,不假思索。对形码而言,部件“音托”(限于有音部件)最为理想,“形托”(有时显得免强)次之,而依笔画纵横排列的“坐标定位”,由于需要一个思考过程,又次之。
影响编码易学性的另一个因素似乎是码元的数量。但笔者认为,确定码元所依据的规则的简单性比码元数量本身更为重要。也就是说,如果所有的码元都是根据简单的规则来确定,即使码元数量稍多,也比数量较少但却任凭编码人“主观”指定的码元好记(不考虑码元与键元之间的对应关系)。
三.高效性
汉字编码的高效性反映在两个方面:其一,用于键盘输入时,具有可被普遍接受的输入速度;其二,用于辞典检索时可以直接翻页检字。
有人建议将编码分为两类,一类为适用于专业打字员的“专业型”,另一类为适用于普通用户的“普及型”,理由是高速度对于以“想打”为主的普通用户没有实际意义,因为受思维速度的限制,他们并不需要很高的输入速度。笔者理解,持这种观点的人,是基于“快”和“易”未能得兼的现实而作一种折衷选择,多少含有无奈的色彩。但这种说法本身值得讨论。人们“想”文章时,一般是以词为最小单位,多数情况下是很快地想好了一句话或者一个词语,然后再思考下一句话或者词语之间的连接或转折,有时当然也会花很多时间推敲个别词语甚至个别字,但就一般而言,人们思考时不会一个字一个字地“蹦”。如果想好了一句话或者一个词语,在完成输入之前,人们很难继续集中注意力思考下文,所谓“一心不能二用”。因此,如果不能将已经“存”在人脑中的东西尽可能快地“转存”到电脑中,无疑会反过来影响人脑的思维速度。
编码的高效性主要体现在重码率。但我们不应只偏重于单字的重码率。对于一个配有几万条词语大词库、以词为主的编码输入法来说,词重码率当比字重码率更起作用。只有字输入为主的编码,其单字重码率才起主导作用。在现阶段,普通连续文本一般以词输入为主,再考虑最高频字以简码输入,词重码率的重要地位更不容忽视。但这并不意味字重码率就不重要了。字重码率,特别是常用字的重码率,对键盘输入的高速度,仍然是至关重要的,因为常用字中含有为数不少的单字词,而且使用频率较高。此外,字重码率的重要性还体现在辞典检索方面。但与电脑输入相比,辞典检索对重码率的要求要低得多(同一页纸可容纳若干字)。因此,一种编码,如果其重码率低至能够满足键盘输入速度的要求,用于辞典检索时一般也就足以做到直接翻页捡字了。
讨论键盘输入速度,当然要考虑编码输入法的“智能”水平。但电脑智能处理技术只在编码用于键盘输入时才起作用,与编码本身的效率无关。本文所说的编码高效性的第一个方面,即“用于键盘输入时,具有可被普遍接受的输入速度”,是指编码方案应该为键盘输入的高速度提供基础,有了这个基础,电脑智能就可以更有效地发挥作用,从而达到令人满意的输入速度。
四.通用性
汉字编码的通用性有三个含义:通用于编码的各种应用领域;用于键盘输入时,通用于想打、看打和听打,并与国际通行的计算机设施兼容;通用于全汉字集。
除键盘输入外,编码的另一个主要用途是汉字排检。目前最流行的汉字排检法有部首法(形序)和拼音法(音序)两种。因为同部首字和同音字太多,因此,二者都还需要附加其它次级定序标准,才能实现对辞典中的全部汉字排序。又由于这些附加的定序标准既不统一又很繁琐,还不直观,普通用户知之甚少,因此并未给辞典使用者带来实际好处。人们很难从同部首字或同音字中“看”出字序来。在普通用户眼里,辞典只是给汉字按部首或按拼音分了“类”,而同部首 ( 尤其又同笔数 ) 字或同音字之间并无“序”可言。传统排检法的一大缺点是不能直接翻页检字。显然,汉字编码可以实现辞典的直接翻页检字。但汉字编码的难处在于汉字排序。也许所有的编码方案都能排序,然而,由“码序”决定的汉字排列却往往杂乱无章。文字界如果对此要求过高,将很难实现编码输入与汉字排检的统一。以笔者之见,如果按编码排序的汉字排列能够做到根据字的某种特征 ( 如声母、首笔或字型等 ) 分出“类”来,就应“宽容”地认为该汉字排列本身为有序排列。
一般认为,形码适用于看打,音码适用于想打和听打。但此说似乎并不太确切。应该说形码更适用于单字输入,音码更适用于词语输入。人们“看打”文章时,并不一定是一个字一个字地“看”,而更可能是一个词语甚至一句话地“看”,故此,在通常条件下,音码也适用于看打。基于这个理由,笔者以为,以词为主、以音为先的编码有可能满足“通用于想打、看打和听打”的要求。但最理想的做法似乎应该设法将形码和音码合理地结合在一起,供用户随机地、不切换地选用。至于“与国际通行的计算机设施兼容”的要求不难满足,实际上大部分流行编码都已经做到这一点。
汉字总量有几万,而常用字却只有几千。我们当然首先要解决常用字的编码,但毫无疑问,非常用字的编码也需要最终得到解决。由几千字量上升到几万字量,相应的汉字编码研究的难度之比也许类似于字量之比。同一个编码方案,当编码字符集扩大时,如果能保持编码规则完全不变,当然最理想,但难度很大,因为很可能造成常规字符集编码的规则也同时趋于复杂。由于非常用字的数量比常用字大得多,而使用频率却低得多,为了避免非常用字对常用字的干扰,在编码方案中,在一定字量值上设置切换点,不失为一种合理的做法。而且,由常规字符集切换到大字符集时,还应该允许编码规则作适当修改。但这种修改必须限制在合理的范围。如果改得面目全非,就变成了另一种编码,已经掌握常规字符集编码的用户还得从头学起。笔者以为,同一个编码方案,切换到大字符集时,应该允许增加码元、改变码长甚至改变取码顺序等,但最低限度必须保持原有码元的定义和键位不变。