汉字排序的结构人与人之间的交流,是通过语言或文字来进行的。无论哪种语言,最好的语言学家都难以通晓这种语言的每一个字,或每一个词。这就 需要一本字典,随时可以查阅。在查阅之前,这本字典或词典,必须按照某种规则给这些字或词排序,其目的是方便读者以最快的速度找到他需要查 阅的字。对于学生而言,一本便于查阅的字典更是十分需要。一本好字典,就是一名随侍在侧的好老师。世界最早的词典可以追溯到公元前7世纪的 亚述帝国,而中国最早的字典则是将近2000年前许慎撰写的说文解字。他创造性地用部首将汉字归类,从而将汉字的缘起及汉字彼此之间的联系 呈现在读者面前,造福了中国的无数学子。直到今天,尽管汉字的部首由许慎时期的500多个简化到了201个,其基本框架没有改变,还在勤勤 恳恳为汉字的研究和学习做着贡献。我们必须向许慎致敬,向部首致敬。各种字典或词典的排序有着各自的基本结构。其中以拼音文字的排序最为简 捷,应用起来也最为方便。以英语为例。英语的单词由26个字母拼接而成。这26个字母排成一排,从A到Z各有其座次,秩序井然。所有的英语 单词都由这26个字母组成。由于每个字母都有读音,当它们拼接在一起成为单词连读的时候,就有了发音。又由于字母本身有顺序,比较各个单词 的字母,单词之间也就有了顺序。这个顺序是单调上升(或单调下降)的,有头有尾,没有争议,没有混乱。这样的排序结构,不妨用汉字“一”来 形容,叫做“一”字形结构。这种线性的结构,它的优点显而易见。在“一”字的任何一点上比较你要找的单词,我们知道该向前找还是该向后找, 不会来回乱翻,效率非常高。在计算机科学中,对于这种单调上升(或单调下降)的序列,有专门的算法来搜寻它的元素,我们把它称为折纸条法。 选取序列的中间点来和待查元素做比较,或者说把纸条对折。如果你要找的元素大于中间点,前面的一半就不必再考虑了,我们把代表前一半的纸条 撕去。序列的长度,或是纸条的长度就只剩下了一半。我们再选取后面半边的一半来做比较,把纸条再对折。以此类推,纸条的长度亦即序列的长度 会以惊人的速度缩短,直到你找到你要找的元素,或是宣布该序列中你要找的元素根本就不存在。我们在英文词典中查找英文单词没有困难,正是拜 这种单调上升的结构所赐。汉字不是拼音文字,我们又是怎样在汉字序列里查找汉字的呢?这要取决于我们如何给汉字排序。目前市面上的汉字字典 主要采取拼音排序和部首排序。我们先来讨论汉字的拼音排序。汉字总共有1500种读音。我们借用英语的26个字母,重新定义它们的读音,并 且考虑到了汉语的四声,规定四声的顺序是“阴”、“阳”、“上”、“去”,还附加了一种四声之外的“轻”声。如果没有汉字,仅仅是这150 0个读音,它们的排列与英文无异,也是“一”字形结构。但是一旦每个读音里都含有数量不等的汉字,组成“一”字的每个点都有了自己的精细结 构,它的整体用“一”来形容就远远不够了。那么每个读音里的汉字是怎样排列的呢?把汉字看做一粒粒珠子,在每一个读音内部,它们是怎样用线 穿起来的?翻看市面上的各种拼音字典或词典,我们没有找到明确的答案。也许有一个默认的顺序?如果是这样,不同的拼音字典或词典,汉字在某 个读音里的排列顺序应该完全相同。我们拿最著名的两本字典来做比较。一本是《新华字典》,一本是《现代汉语词典》。在默认的顺序下,两本字 典任何读音里的汉字排列都完全一致吗?我们看到,在《新华字典》里,“哎”、“哀”、“鎄”、“埃”四个字的排列,在《现代汉语词典》里, 它们的顺序是“哎”、“哀”、“埃”、“鎄”。后面两个字的顺序颠倒了。在《新华字典》里“搁”、“歌”、“鸽”、“割”四个字的顺序,在 《现代汉语词典》里更成为“鸽”、“搁”、“割”、“歌”,顺序全乱了。这就证明,默认的汉字顺序并不存在,我们不知道在某一个读音里,哪 个汉字应该排在第一位,哪个汉字应该排在最后。我们用“串”字来形容汉字的拼音排列,其中那一竖上面排着汉字的读音,两个“口”字代表每一 个读音里的汉字排列,它们的排列没有固定的规则可循。这就不是线性的结构了,它是二维的。这就导致,如果我们准确地知道汉字的读音,找到了 它的读音后,我们还得从头到尾一个字一个字看下去,计算机的搜寻方式在这里不适用。如果含有的汉字数量比较多,我们很难确定要找的汉字是否 存在,直到看完每一个字。更加悲催的是,万一我们不会或不能准确地读出某个汉字,我们到哪里去找呢?这一条竖线上有着1500个“口”字! 如果说汉字的拼音排序是“串”字形结构,我们再来考察汉字的部首排序。几万个汉字,被许慎老先生装到了几百个袋子里,这些袋子就是所谓“部 首”。这些部首是根据笔画数来排列的。同一个笔画数里的部首,又是怎么排列的呢?有一个模糊的规则,是根据笔画的横竖撇点折来排列的。为什 么说“模糊”?因为部首“八”为什么一定要排在部首“人”的前面,部首“刀”为什么一定要排在部首“力”的前面,等等,没有明确的说明。同 样是折,有各种各样的折,它们之间的顺序如何,也没有说明。我们也用一个“串”字来说明汉字部首的排列结构。其中一竖是部首的笔画数,每一 个“口”字是部首在相同笔画数里的排列。有多少种不同笔画数的部首,我们就有多少个“口”字。但是每一个部首口袋里装着许多汉字。这些汉字 也首先按照除去部首后剩下的笔画数排列,相同的笔画数里的汉字如何排列其规则仍然不是十分明朗,我们也用一个“串”字来表示。这就是说,每 一个部首又是一个“串”,整个汉字部首的排列是一个复式的“串”字结构,它是三维的!单级“串”已经给我们带来了一些困难,复式“串”带给 我们的困难无疑更大。另一个困难是,我们很多情况下很难确定汉字的部首。“加”,属于“力”部还是属于“口”部?“尹”、“尤”又属于哪个 部呢?凡此种种,都给读者的部首检字带来了麻烦。花上十分钟找不到要查的字,读者们也许都碰到过。无疑,部首的出现给汉字的研究带来了方便 ,而对于通过部首查字,它却显得力不从心。世界上的语言,大多是拼音文字,它们单词的排序结构都是“一”字形的,查找起来十分方便。汉字的 排序有没有可能也采用“一”字形的结构以适应全世界学习汉语的需要?毫无疑问,这种可能是存在的,实际上,它已经成为现实。英语词典是典型 的“一”字形结构。为了将汉字也排成“一”字形结构,我们需要找出汉字与英文单词(英词)之间的共同点。我们看到,英词的基本元素是26个 字母,而汉字的基本元素是30多个形状各异的笔画。英词由字母连缀拼接而成,它是一维的;汉字则由笔画编织拼凑而成,它是二维的,它比一维 的英词蕴藏了更多的信息。大家都是一件件拼装起来的,如果说英文是拼音文字,那么汉字则是拼形文字。主要的区别则有三条。1)字母从A到Z 有内在的顺序,而笔画的顺序规定只有一个模糊的“横竖撇点折”,它并未涵盖全部笔画,并没有精确地描述每一种笔画的位置。2)英词是一维的 ,每个字母的出场顺序一目了然,而汉字是二维的,书写者每个笔画的书写顺序有一定的自由度,它不十分确定。3)字母有确定的读音,拼写成的 单词立即可读,而汉字不是拼音文字,它的读音需要另外记忆。由于汉字是一字一音的,无论它的笔画有多少,它也只有一个音,因此笔画本身有没 有读音不重要。我们需要做的,是要弥合前面两点和英词的差距。关于第一点,我们已经有了横竖撇点折的粗略约定。实际上,在折以外,除了横竖 撇点,还有捺和提,只不过在手写的时候,捺往往被写成一长点,而“提”则是左偏旁里最下一横的变形。为了精确描述汉字的笔画,我们将它们独 立出来,并且以宋体字作为笔画的范例。而形态各异的折,可以看做其他笔画的组合。在我们原有约定的基础上,我们把折以外的六种简单笔画排列 为横竖撇捺提点,各种折则以这六种笔画在“折”里面的连接顺序来统一确定各个笔画的排列位置。又为了计算机使用的方便,合并一些类似的笔画 使其总数一共为26种,分别对应26个英文字母,笔画本身的座次就确定了。得到的结果是一个汉字的笔画结构图,以及一个汉字的笔画编码表。 我把这个结构图列在下面,参见附图。接下来要解决的是第二点,汉字每个笔画的出场顺序,亦即汉字的笔顺。如果没有统一的规定,没有共识,即 使每个汉字笔画对应了一个英文字母,我们也不知道它们应该按照怎样的顺序编织成汉字。幸运的是,国家语委在1998年出台了汉字的笔顺规范 ,每一个汉字里各个笔画的书写顺序得以统一,不再有争议了,这就使得汉字排序可以仿造英词的排序,使得汉字排序的“一”字形结构成为可能。按照笔顺给汉字排序的结果,是一本“笔顺码字典”。使用这本字典不需要知道汉字的读音,也不需要寻找汉字的部首,更不需要先数汉字的笔画。拿到汉字,立即“折纸条”开查。对于汉字笔画编码熟悉并且掌握了汉字笔顺规律的读者,他们找出每个汉字的速度,可以达到十秒钟一个字。不需要难查字表,没有难查的字。汉字的手工检索,从此翻开了新的一页。汉字笔画结构图吴之林,2020/4/19 |
|