前面我们讲到,在使用拼音输入法的时候,要避免陷入整句误区、联想误区和简拼误区,要采用 26 键键盘,要学会标准指法,要在科学分词的基础上针对单字、二字词、三字词和多字词利用不同的输入技巧来提高效率。但是,即使都这么做了,还是会有不少不尽人意的地方。这些不是用户的问题,而是输入法本身有缺陷而造成的。
怎么样对现有拼音输入法进行改进,克服其的缺陷呢?有的人推荐双拼。但是,双拼对于很多人来说,付出的成本太高,而且仍然不能解决重码多的问题,所以愿意采用的人并不多。有没有学习成本更低的改进方法呢?答案是肯定的。声笔拼音和声笔顶拼就是两种低成本的解决方案。前者与传统拼音非常接近,转移成本极低,而后者效果更明显,但是付出的成本也相对高一点。如果不介意多使用笔画的话,那么还有一种只需声母和笔画的更加简单高效的解决方案 —— 声笔简码。因为声笔简码不是拼音,这里不介绍它了,感兴趣的人可以参见声笔简码。
1. 声笔拼音
(1) 音节歧义
拼音输入法面临的第一个问题就是音节划分歧义。例如,在全拼的时候 xian
还可能是 xi'an
;在简拼的时候 dzay
可能是 d'za'y
,也可能是 d'z'a'y
。为了明确音节界线,在电脑上需要加隔音符'
,在手机上则需要用专门的分词键。然而用户在使用时,往往不清楚何时是可以省略的,有可能忘记加隔音符或者分词键,从而产生输入错误。
如果上例采用混合显示也基本上能解决问题的话,那么下例就完全不管用了。这两例都是用的搜狗拼音,图中上面的是加了分隔符的,下面的是没有加的。没有加分隔符时,简拼就失效了。
我们分析一下就知道,上文前一个例子的音节歧义是由零声母音引起的,而后一个例子的音节歧义是由翘舌音引起的。如何才能分清音节界限呢?声笔拼音的解决办法是,用 v 来表示零声母,同时将翘舌音归并到平舌音,即 zh ch sh
分别归并到 z c s
。这样以上两例的输入将变为如下图所示,在输入的时候就一定明确了音节界限,无论是全拼还是简拼都是这样。
(2) 拼式过长
拼式过长是影响拼音输入法效率的主要原因之一。搜狗、百度等拼音输入法缩短码长的主要办法是使用简拼,另外采用模糊拼音也能起到一定缩短码长的作用,以下是搜狗的输入例子。
在声笔拼音中,简拼的使用方法是类似的,但是平翘舌的模糊是必须的,同时还有以下可选的缩减规则。
- 将韵母 er 合并到 e,ü 合并到 u,ê 合并到 e,例如:
er
可以变成ve
(前面加v
是因为er
为零声母音节),而nü
可以变成nu
。特别注意,ü 没有像传统拼音那样用 v 来代替。 - 声母 j、q、x 后接韵母 ia、ie、iao、ian、iang、iong 时,可省略 i;例如,传统拼音里的
jie qiong xiang
在声笔拼音里可以变成je qong xang
。 - 韵母可以不完全输入,这比传统拼音的后鼻音模糊的码长缩减效果更加明显;例如,传统拼音里的
qiong xiang
在声笔拼音里可以变成qo xa
。
以下是声笔拼音的一些输入实例,与搜狗拼音的输入方式进行了对比。
(3) 重码过滤
在中文里,单字和二字词的同音现象特别严重,为了避免过多翻页,传统拼音通过按 Tab 后加辅助码的方法来快速过滤重码,称之为间接辅助码,因为不加 Tab 的话,就会发生歧义。在声笔拼音中,由于采用 v 表示零声母,基本上解决了音节歧义的问题,同时以不与声母重叠的元音字母 aeuio 表示折横撇竖捺五种笔画,所以可以不用 Tab 引导而直接加笔画辅助码,这不仅少用了编码字母,缩短了码长,还使得操作更加容易。以下举几个例子来对比一下声笔拼音和搜狗拼音的输入情况。
例 1:采用拼音加笔画辅助码输入「疫」字。声笔拼音可以直接加笔画,而搜狗拼音必须用 Tab 引导。
例 2:采用拼音加笔画辅助码输入「质子」一词。声笔拼音可以在第一个字后面加笔画,再接着输入第二个字,而搜狗拼音必须在输入完两字的拼音后按 Tab 再添加第一个字的笔画。
(4) 回改定位
在发生输入错误而需要定位修改时,一般拼音输入法是通过用箭头键移动光标或者 Ctrl + 音节首字母来定位的,但是这些方法效率低、操作难度大。声笔拼音提供了一种快速、方便的定位方法,可以利用数字 1234 将光标一次性地定位到待定的第 1 至 4 个音节之前,用 5 将光标定位到最后,而 TAB 可以快速从当前位置向前逐个音节移动。
(5) 重码选择
声笔拼音选择重码时,使用 67890,这一点与传统拼音输入法是不一样的。之所以这么设计,是因为 12345 已经用于快速定位, 也因为在声笔拼音输入时左手的负担已经很重,改用 67890 后,让右手承担重码选择的任务,可以平衡用键。在传统拼音输入法中,67890 一般是闲置未用的,造成了按键资源的浪费。
(6) 简码固定
搜狗、百度等拼音输入法是全动态的,连简码字也完全不固定,不利于用户对高频字形成条件反射,用户必须通过自定义短语来固定所需的字。声笔拼音的一简字是固定不变的,便于用户盲打它们,以便提高键速,从而提高输入效率。例如,在单字输入时,「和」的简码始终为 h,「就」的简码始终为 j,不会发生变化。
2. 声笔顶拼
声笔顶拼的目的是在声笔拼音的基础上进一步提高拼音输入的效率。它通过对汉语拼音的简化和巧妙的字词编码,在保持易学的前提下,既能充分利用简拼来缩短词组的码长,又能通过追加韵母来延长编码,还能用 a、e、u、i、o 代表折、横、撇、竖、捺直接追加笔画来筛选重码字词。
(1) 精简拼式
为了支持顶功和缩短码长,在声笔顶拼中,拼音形式的所有简化都是强制性的,这与整句模式的声笔拼音是不一样的,后者只有零声母的表示和翘舌音的简化是必须的。而且更重要的是,各种类型的字词都必须遵循固定的编码格式,以强制用户使用最高效的输入方式,避免用户养成不良的输入习惯。
a. 单字的编码是拼音加笔画直。例如,「汉」为 han,「字」为 zioo,前者无须加笔画,后者加了前两笔。
b. 二字词的编码是首字的声母加次字的拼音再加首字的笔画。例如,「汉字」为 hzio,「输入」为 sru,前者加了「汉」的首笔,后者无须加笔画。
c. 三字词的编码是各字的声母加末字韵母的首字母再加首字的笔画。例如,「军事家」为 jsja,「中学生」为 zxse,前者的「家」必须采用 ja 而不能用 jia,后者的「生」只能用 se 而不能用 seng。不过,常用的三字词往往只需要三码,如「计算机」可能为 jsj。
d. 四字及以上词(多字词)的编码是前三字和末字的声母再加首字的笔画。例如,「欢天喜地」为 htxd,「中华人民共和国」为 zhrg,这一点和传统的四码输入法类似。
(2) 连续顶屏
声笔顶拼的字词编码自带了明确的边界,当后接声母时,可以将前面的字词顶上屏幕而省略空格,从而大大提高输入效率,这也是声笔顶拼中顶字的由来。
例如,「声笔顶拼」用单字输入时的编码为 sengbiudingpine,前三个字都是不需要空格上屏的,只有最后一个字因为没有后续输入了才需要用空格上屏。
再如,若连续输入汉字
和输入法
,使用声笔顶拼时输入码为 hziosrf
,使用拼音整句时输入码可能为 hanzi srf
。也就是说,即使汉字
通过调频而处在重码的首选,也是需要用空格上屏的,而声笔顶拼是不需要空格的。
连续顶屛的例外情况主要有一简单字和三简三字词。例如,「我」w,「计算机」jsj,在后续声母时,无法顶屛,必须先用空格上屏。
还有一种需要特别注意的例外情况是声笔顶拼中残留的音节歧义。例如,jan
可能是 jan件
,也可能是 ja家n你
;sjin
可能是 sjin神经
,也可能是 sji世纪n你
。在忘记使用空格上屏的时候,如果用退格键删除 n,再用空格键上屏「家」或「世纪」,然后再输入 n 的话,就非常低效。为此,声笔定制程序专门提供了快捷键 Shift+BackSpace
来一键完成前述三个动作。在手机上,用左滑 BackSpace
键来代替 Shift+BackSpace
即可。另一种歧义的情况是 n 后接 g。例如,jang
可能是 jan件g个
,也可能是 jang将
。这时, 同样可以用以上快捷方法来快速更正。
(3) 动态码长
例如,之
的初始输入码为 zio
,在读音后附加了一个笔画。如果输入了与之
前三码相同的字,比如字
,那么 zio
这个输入码上的字就可能变为字
,而之
的输入码可能被动态地调整为 zioa
。
再如,真是
的初始输入码为 zsi
,没有附加笔画。如果输入了与真是
前三码相同的词,比如正式
,那么 zsi
这个输入码上的词就可能变为正式
,而真是
的输入码可能被动态地调整为 zsie
。
又如,计算机
的初始输入码为 jsj
。如果输入了与计算机
前四码相同的词,比如接收机
,那么 jsj
这个输入码上的字就可能变为接收机
,而计算机
的输入码被动态地调整为 jsji
。
还如,将计就计
的初始输入码为 jjjj
。如果输入了与将计就计
前四码相同的词,比如斤斤计较
,那么 jjjj
这个输入码上的字就可能变为斤斤计较
,而将计就计
的输入码被动态地调整为 jjjju
。
(4) 字母选重
声笔顶拼字词编码的最大码长为 6,在输入六码后如果有重码,那么可以用 aeuio
来进行选择,比搜狗拼音等传统输入法用数字键选择更方便、快捷。这时,aeuio
不再表示笔画,纯粹是一种无理选重。
例如,在输入 ssieie
后,其候选窗的状态可能会如下图所示,可以用 e 选择「扫视」,用 i 选择「誓死」。
如果重码超过一页,则用 Tab 和 Enter 键进行翻页。这种翻页方式与传统输入法是不一样的,一定要注意。为什么要这么设计呢?是为了能够不占用逗号和句号这样的常用标点符号键,使它们能够快速输入。声笔顶拼需要翻页的情况很少,所以采用这种翻页方式不会影响其输入效率。
(5) 自动词组
声笔顶拼自带 48 万多词组,覆盖的面已经很广。但是,用户在使用过程中不可避免地还会遇到缺词的情况,而且对于不满意的词组可能还想删除,因而具有智能特性。
a. 自动造词
顶拼的造词是在输入过程中自动进行的。例如:输入声seng 笔biu
后,下次输入声笔sbieie
时就会有该词了,只是如果有重码的话,新造的词会排在后面。如果重码太多,可以用 Tab 一次性地跳到最后,以避免多次翻页;前提是你还没有进行过翻页操作,否则会被当作向前翻页处理。自动造的词组是临时词组,带有太极标志,优先级别低,只有在选择使用一次以后,才会成为正式词组,并提高优先级别。另外,如果之后马上使用了退格键,系统就会自动删除所造的词组;中间夹杂有非汉字的话,也会中断造词。
b. 词组的删除
顶拼能够将用户几乎不使用的新造词组自动清除。对于少量暂时还未被清理的废词,用户不必理会,到时限后就会被自动删除。在必要的时候,如用户错误地确认了临时词组,系统也提供了手动删除的手段,方法是先将光标移动到该词上面,再按 Control + Delete 键来删除。注意,如果是非临时词组,需要删除两次才能删除。第一次删除时只是把它变成了临时词组。在安卓手机上的删除方法是,用左右滑动空格定位词组,再用删词键来删除。
(6) 简码固定
在码长短的时候采用静态编码,易于让常见字词的输入形成条件反射。声笔顶拼的一、二简字和二简词都是固定不变的。
一简单字有 21 个:b不 p平 m没 f发 d的 t他 n你 l了 g个 k可 h和 j就 q去 x下 z在 c出 s是 r人 y一 w我 v而
,一般需要用空格上屏。一简单字在声笔系列码的所有输入法中都是一模一样的。
二简单字有 98 个,其常用程度仅次于一简单字,一般可被顶上屏幕而节约空格。二简单字的例子有 ku快 re任 fu夫 te特 xa小 je接
等。值得注意的是,二简单字的拼音并不一定是完整的,这样有利于缩短码长。在上述例子中,快
的输入码是 ku
而不是 kuai
,任
的输入码是 re
而不是 ren
。用户在开始使用声笔顶拼的时候,遇到这类字常常会打过头,需要注意观察提示行。
声笔顶拼的二简词有 441 个,都是二字词,如:bb并不 pj平静 mn美女 fx发现
等,一般需要空格上屏。