文档介绍:拼音输入法的数学原理
亚洲语言及所有非罗马拼音式的语言的输入原本是个问题,但是近 20 年来,以中国为
代表的亚洲国家在输入法方面有了长足的进步,现在已经不是人们使用计算机的障碍了。以
中文输入为例,过去的 25 年里,输入法基本上经历了以自然音节编码输入,到偏旁笔画拆
字输入,再回归自然音节输入的过程。和任何事物的发展一样,这个螺旋式的回归不是简单
的重复,而是一种升华。
输入法输入汉字的快慢取决于对汉字编码的平均长度,通俗地讲,就是击键次数乘以寻找
这个键所需要的时间. 单纯地减少编码长度未必提高输入速度,因为寻找一个键的时间可能
变得较长. 提高输入法的效率在于同时优化这两点,而其中有着坚实的数学基础. 我们可以
通过数学的方法说明平均输入一个汉字需要多少次击键,如何编码能够使得输入法接近理论
上的最小值,同时寻找一个键的时间又不至于过长.
1 输入法与编码
将一个方块形状的汉字输入到计算机中,本质上是一个将我们人为约定的信息记录编码
——汉字,转换成计算机约定的编码(国标码或者 UTF-8 码)的信息转换过程。键盘是一
种主要的输入工具,当然还可以有其他输入工具,比如手写板和麦克风。一般来讲,键盘上
可使用的只有 26 个字母加上 10 个数字键作为对汉字编码的基本键,外加一些控制键。 因
此,最直接的编码方式就是让这 26 个字母对应拼音,当然,为了解决汉字的一音多字问题,
得用 10 个数字键来消除歧义性。
这里面,对汉字的编码分为两部分:对拼音的编码(参照汉语拼音标准即可)和消除歧
义性的编码。对一个汉字编码的长度取决于这两方面,只有当这两个编码都缩短时,汉字的
输入才能够变快。早期的输入法常常只注重第一部分而忽视第二部分。
虽然全拼输入法和汉语拼音标准一致,容易学习,但是,拼音输入法早期甚至是双拼早
于全拼,原因是为了缩短对拼音的编码。在双拼输入法中,每个声母和韵母只用一个键即可
表示。中国最早可以输入汉字的微机中华学习机和长城 0520,分别对应苹果系列和 IBM 系
列,采用的都是双拼的输入方案。台湾地区用的注音字母也等效于双拼。各家的双拼对应键
盘字母的方式还略有不同,以微软公司为例,对应如下:
这些输入方法看似节省了一点编码长度,但是输入一点也不快,因此它们只优化了局部,而
伤害了整体。首先,双拼输入法增加了编码上的歧义性:键盘的字母只有 26 个,可是汉语
的声母和韵母总和却有 50 多个。从上图中可以看到,很多韵母不得不共享一个字母键。增
加歧义性的结果就是从更多汉字侯选中找到自己想输入的字,也就是增加消除歧义性编码的
长度:不断地重复“翻页,扫描后续