声笔拼音

1 引言

拼音输入法是中国大陆目前使用得最为广泛的输入方案,其用户比例至少在96%以上,甚至可能高达99%。确切地说,这里的拼音输入法是全拼输入,不包括双拼,因为后者使用的人非常少,相比全拼可以说是微乎其微。

在中国大陆,任何需要输入中文的设备或者操作系统,不论电脑、手机还是平板、电视,也不论Windows、MacOS、Android还是iOS,全拼输入方案都是必备的,而且是默认的中文输入方式。不管国际大公司如微软、谷歌、苹果,还是国内大厂如腾讯、百度、讯飞、华为,都推出了自己的拼音输入法。曾经那种万码奔腾的局面已经一去不复返了,大街小巷的五笔打字培训班也已经成为历史的记忆,自然码、两笔、郑码等其它原来比较知名的输入方案则越来越少为人知。笔画输入法也只有很少的人在使用,一般是功能机时代沿袭下来的。

为什么会形成全拼输入一家独大而其它输入方案几乎销声匿迹的现象呢?是全拼输入已经完美的解决了中文输入的问题,人们已经非常满意,别无他求了吗?拼音输入没有改进、优化的地方了吗?非也!而且远非如此!实际上,现在的拼音输入法还存在很多问题,有的问题可以说是怨声载道,有的问题是因为缺乏指导而使用不当造成的。同时,现在也已经有了很好的拼音输入法改进方案,如声笔拼音,只是知道的人还很少而已。在拼音之外的输入方案就更多了,只要科学地评估和选择,完全能够找到适合自己的称心如意的输入方案。

1.1 拼音输入误区

现在的拼音输入法常常被称为智能整句输入法。人们在描述输入法发展历史的时候,也常常说从字到词到句。从理论上来说,更大的语境更有利于提高音字转换的正确性。从算法上来说,通过长期的积累,已经有成熟的隐马尔科夫模型。从硬件上来说,CPU、内存、硬盘等性能大幅提升,价格大幅下降,已经不是问题。加上互联网的成熟,更可以利用大厂服务器的资源和大数据来提升智能整句输入法的能力。从用户的角度来说,使用整句输入可以没有分词的负担,还可以少按大量的空格,只需要练熟400来个音节拼式,只管一个劲地击键就行了。似乎一切都完美了!

然而,实际情况却让人大跌眼镜,绝大部分人并没有以整句为单位来输入,真正采用整句输入的人其输入的效率也并不高。最能称得上整句输入法的微软拼音整句模式,可以算是技术上的精品了,但是采用的人并不多。微软拼音在面对搜狗、百度等利用搜索引擎和网络词库的次整句输入法时,显得力不从心,用户数量越来越少。

所谓次整句输入法是指它遇到空格和标点符号就会上屏默认转换结果,而并不是要等到一句话输入完成才确定转换结果,这样更便于用户随时上屏已经输入的内容,可以是句子、短语、词组还是单字。为什么会出现次整句输入法大行其道的局面?这难道不是一种倒退吗?难道用户都这么愚昧吗?整句输入的问题出在哪里?问题出在以下几个地方,即整句输入“八宗罪”。

(1) 编码效率低

拼音作为编码来说,编码效率太低,导致平均码长过长,超过了三码。汉语拼音的设计初衷是用于注音识读,所以遵循了音素化和国际化的原则。在这些原则的指导下,由于普通话自身的特点,使得拼音字母的利用效率很低,存在大量冗余。从编码的角度来说,用26个字母表达400个音节,每个音节只需要不到2个字母,因为26×26=676,可用的编码空间远远大于400,而汉语拼音却用了超过3个字母,所以效率会低。

(2) 确认成本高

整句的转换结果在输入的过程中可能会不断地发生变化,所以不到输入结束是不能判断其正误的,能够判断正误的只有输入的拼音串,拼音串不会发生变化。然而拼音并不是文字,人们对它的识读能力是很弱的,最多只能快速找出刚才输入的一两个音节的错误。因此,在输入过程中,最多只能做到输入的拼音串尽量不要出错。在一句话输入完成后,用户不通读一遍转换结果,是无法知道对错的,即使结果完全正确,这一步都是少不了的,而且句子越长判别正误的成本越高。

(3) 键错概率大

人不是机器,人在输入编码时,击键的准确性是有限的,一般来说,在计算机标准键盘上,有95%的键准就不错了。如果在手机上操作,那么键准还会低不少。假设整句输入的平均长度为15个汉字,每字平均3键,平均每个句子用了45键,那么整句键入完全正确的概率就只有0.95^45≈9.94%,不到10%!而且,随着句子长度的增加和击键速度的加快,正确率还会进一步下降。怎么办呢?现在的拼音输入法普遍都提供了自动纠错的能力。其原理是利用全拼的高冗余,对易于混淆的键进行容错。自动纠错确实能起到一些作用,但也同时带来了新的问题,可能会弄巧成拙,把用户需要的结果误改掉。

(4) 回改成本高

如果在上屏前确认时发现了错误,就需要进行回改。错误可能发生在一句话的任何位置,可能是转换结果有错,也可能是输入的拼音串有错。发现错误的位置后,需要先定位才能修改,其定位方法一般是用左箭头键逐个音节向前移动,用右箭头键逐个字母向后移动。箭头键的位置远离本位键,操作跨度大,缓慢、费时。搜狗拼音还有一个少用的方法是用Ctrl加字母键来定位,其特点是用键次数少,但是操作难度大。

(5) 残错概率大

不少人习惯于在输入过程中监视转换结果,在输入最后一个字词时就不再观察转换结果,然而可能会正是这最后一个字词又导致前面已有的结果发生变化,导致错误。这种错误,用户往往不容易发现,使得残错率升高,因为他不自觉地会认为,前面是正确的,最后一个选择也正确的话,就不会有错了。另一种情况是,明明知道还有错误,但是因为觉得修改太麻烦了,就不愿意修改而直接上屏了;这在打字比赛之类的紧急场合和聊天之类的不严肃场合是很常见的。

(6) 可重用性差

拼音输入法是以输入单位进行记忆的。以句子为单位进行输入,就是以句子为单位进行记忆。而句子,除非是很短的日常用句,在使用中重复的可能性是非常小的。输入法很难学习到用户的输入习惯,也就很难根据用户的输入习惯来改进输入效果。

(7) 自由度受限

为了提高转换的准确性,行文就不能有创意,要尽量使用大众化的表达方式。用俗话来说,就是要尽量打水文。你要说「检查错误的方法」而不要说「查错法」或者「检错法」。要使用这种简略的说法,需要事先造词,然后才能用在句子当中。造词的过程并不简单,你得先以词为单位输入一遍,在句子中输入一遍是不能造出这个词的。可是,按词输入是整句模式的弱项,选重非常麻烦。更为伤脑筋的是,你常常并不知道系统中是否有某个词。

(8) 适应性不强

在不少时候,用户无法以句子为单位来进行输入。例如,在进行文章的审校时,往往是只是对个别的字词进行修改,这时不得不以字词为单位来输入。又如,在列出人名时,也只能以名字为单位进行输入,而不是句子。再如,打购物清单的时候,也只有逐个物品的输入。所以,整句输入适应性差,不能很好地适应各种应用场景,是不完备的输入方式。

有鉴于以上原因,拼音输入应该以字词为单位而不是以句子为单位。实际上,除了极少数死心塌地的整句派,大多数人也是这么做的。先进行正确的分词,然后按字词进行输入,可以在一定程度上同时克服以上问题。在输入字词时可以适时地使用简拼,从而缩短码长,提高编码效率。字词的长度一般不会超过四个字,确认和回改的成本会大大降低,错误更容易发现和修改,残错率也会减小。

我们现在举两个例子来加以说明,使用的是搜狗输入法。都采用两种方式来输入,一种以整句为单位,另一种以字词为单位,后者不便于截图就没有附图了。在拼音串中,阿拉伯数字表示选择,_表示空格,.表示翻页。

例子1(22字):中文输入法是在信息社会必须使用的重要工具之一
整句(65键):zhongwenshurufashizaixinxishehuibixushiyongdezhongyaogongjuzhiyi2
字词(55键):zhongw_srf_s_z_xinx_sheh_bix_shiy_d_zhongy_gongj_zhiyi_

搜狗例子1

例子2(16字):声笔系列码是顶功输入法的典型代表
整句(64键):shengbixiliemashidinggongshurufadedianxingdaibiao.2..32..4.3..23
字词(52键):shengbi.43_xil_ma.2s_dinggong.42srf_d_dianxing_daib_

搜狗例子2

可以看出,例子1完全输入和转换正确的情况下,整句方式的用键都更多;在例子2转换错误比较多的情况下,就更是如此了。如果例子1中【在】字的拼音误输成了za,那么麻烦就大了。

搜狗例子3

这时,要么按15次左箭头键定位到za之后追加i,要么先选中za之前正确的【中文】【输入法】【是】三个词再想法修改,此时显然后者划算一点,按此操作后的情况如下。

搜狗例子4

此时,按Home键先定位到za之前,再按两次右箭头键定位到za之后,追加i后,总算是修改正确了。

搜狗例子5

可见,定位修改过程之繁琐。更可悲的是,许多人还根本不知道这种定位修改法,搜狗的官网帮助都没有介绍。于是使用者往往是将错就错,或者是上屏后再来修改。如果是以字词为单位输入,那么在输入【在】字时一般只用声母加空格就行了,或者在输入za后立刻就可以发现错误、进行纠正了,绝不会变得如此积重难返。

搜狗、百度等输入法还都支持按住Ctrl键+字母来进行音节首字母定位,重复按加按同一个字母则定位下一个以此字母开头的音节。这样,上例只需要按Ctrl+x就可以定位在za的后面了,可以少许多次按键。

搜狗例子6

然而,对一般的人来说,加Ctrl的复合键操作难度是很大的,很容易按错键,也不是很实用,不能改变整句方式不好用的本质。

1.2 拼音输入改进

通常,为了在使用拼音的情况克服以上问题,人们首先想到的可能就是采用双拼。但是,双拼的门槛还是不低,需要记住30来个韵母、3个翘舌声母和零声母的表示形式,而且仍然不能解决重码多的问题。

声笔拼音则另辟蹊径,以全拼为基础,进行适当的变形,只需花费比双拼小得多的代价,就可以取得相当于甚至高于双拼的输入效率。声笔拼音是一种非常「奇特」的拼音输入法,它完全颠覆了人们对拼音输入法的认识,平均码长和重码大幅度减少,翻页键很少用得着,输入效率大大提升。

声笔拼音三板斧,在传统拼音基础上实现三次大飞跃

  1. 自由编码:缩短和变换拼式、直辅笔画
  2. 固定简码:截断固定、数选固定
  3. 顶功省键:优化路径、省略空格、快速回改

image-20230819091825507

1.3 适用人群

声笔拼音适合什么样的人使用呢?声笔拼音是对现有拼音输入法的优化和改进,所以它适用于正在用拼音输入中文的所有人,可以仅花费极小的代价就获得高得多的中文输入效率,而不必花更多的时间和精力去学习双拼甚至五笔等。声笔拼音将彻底改变人们对拼音输入时重码多、效率低的刻板印象,是最佳的拼音输入法升级方案。

如果您的拼音非常糟糕,对韵母的掌握一塌糊涂,声母也分不清平翘舌什么的,同时又想有一个简单高效的输入方案,那么强烈建议您使用声笔系列码中的声笔简码,它仅使用不分平翘舌的声母和五个笔画,就能取得比声笔拼音还高的输入效率。

1.4 内容介绍

本文只涉及声笔系列码中的声笔拼音。有关声笔系列码的总体情况请参见总体介绍。有关下载、安装和配置的方法,请参见安装配置。有关声笔系列码的发展历史,请参见发展历程。对于一些常见问题的解答,请参见常见问题。声笔系列码的其它输入方案详见各自的专题。

2 声笔拼音初步

2.1 快速入门

2.1.1 编码规则

声笔拼音的编码元素为声母、韵母和笔画,具体表示方法与现行拼音输入法有一定的差异,请注意以下几点。

  1. 冠零声:用v表示零声母,即作为以a e o开头的音节在形式上的声母。例如,ai ei ou就变成了vai vei vou
  2. 去翘舌:不区分平、翘舌音,即省略zh ch sh中的h。例如,zhou chao shi就变成了zou cao si
  3. 省韵腹:在声韵相拼的时候,声母j q x后接以ia ie io开头的韵母如 ia ie iao ian iang iong 时,要省略i。例如,传统拼音里的 jie qiong xiang 在声笔拼音里则变成 je qon xan
  4. 截韵尾:音节长度超过3时,则截断为3。例如,biao变成bia,而guan变成gua。这也导致了不区分前后鼻音,即省略ng中的g。例如,bang zong就变成了ban zon
  5. 去鼻音:将末尾的n置换成其前面的元音字母。例如,bin变成bii,而xan变成xaa
  6. 理特例:将韵母 er 合并到 eü 合并到 uê 合并到e。例如,er 变成ve 变成nu,而ê变成ve。特别注意,ü 没有像传统拼音输入法那样用 v 来代替。
  7. 补笔画:补充笔画直至码长为5,笔画不够时重复末笔;横竖撇捺折五个笔画用eiuoa来表示。例如,「笔」的拼音为bi,追加前3个笔画后编码为biueo。又如,「将」的音节为jaa,追加前两个笔画后的编码为jaaoe。再如,「乙」的音节为yi,而「乙」只有一个笔画,所以要重复两次才能形成编码yiaaa。需要注意的是,在实际输入的时候,一般是不用5位全码的。

通过以上简单的改造,就可以取得以下奇特的效果。

  • 拼写形式得到了缩短,例如:zhuang变成了zuamiao变成了mia
  • 可以直接追加笔画进行快速筛选,例如:依yiu 衣yio 议yioa 艺yie。虽然现有拼音输入法也可以用Tab来引导加笔画,但是只能作用于词组中的首字,而且增加了码长。
  • 音节之间界限完全明确,在连续拼写的时候根本不需要使用隔音符排除歧义,例如:xi'anshi变成了xivaasi。虽然现有拼音输入法也可以用单引号来隔音,但是增加了码长,同时也容易忘记使用。
  • 降低了学习门槛,不再需要区分平翘舌和前后鼻音。虽然现有拼音输入法也可以设置模糊音,但是会影响汉字转换的准确性,而在声笔拼音中不会有这个问题,因为声笔拼音中不再保留翘舌音和后鼻音的拼式。

下面我们通过一些例子来熟悉一下上述7条编码规则,对于每个字,依次加以运用这些规则就是了。当然,在熟悉以后,是不必每个规则都去用一下的,因为直觉会告诉你哪个或者哪些规则是适用的。

  1. 声sheng:不是零声母音,不适用规则1;用规则2去除翘舌后,拼式变成seng;没有韵腹,不适用规则3;用规则4截去韵尾后,拼式变成sen;用规则5去掉鼻音后,拼式变成see;不是特例,不适用规则6;用规则7补充笔画后,拼式变成seeei。
  2. 将jiang:不是零声母音,不适用规则1;不是翘舌音,不适用规则2;用规则3去掉韵腹后,拼式变成jang;用规则4截去韵尾后,拼式变成jan;用规则5去掉鼻音后,拼式变成jaa;不是特例,不适用规则6;用规则7补充笔画后,拼式变成jaaoe。
  3. 快kuai:不是零声母音,不适用规则1;不是翘舌音,不适用规则2;没有韵腹,不适用规则3;用规则4截去韵尾后,拼式变成kua;没鼻音,不适用规则5;不是特例,不适用规则6;用规则7补充笔画后,拼式变成kuaoo。
  4. 儿er:用规则1添加零声母后,拼式变成ver;规则2、3、4、5都不适用;用规则6后,拼式变成ve;用规则7后,拼式变成veuaa。
  5. 虐nüe:规则1、2、3、4、5都不适用;用规则6后,拼式变成nue;用规则7后,拼式变成nueie。
  6. 创chuang:用规则1后,拼式变成cuang;用规则4后,拼式变成cua;用规则7后,拼式变成cuauo。

2.1.2 助记方法

虽然声笔拼音已经简单,基本上没有什么学习门槛,但是为了进一步减轻初学者的记忆负担,在手机上提供了助记皮肤,可以长按N键打开或者关闭助记。在打开时,给出了笔画和零声母用键(aeuiov)的提示,如下图所示。如果是在电脑上,则可以把该图放在电脑桌面上,在打字的时候帮助记忆,一般几分钟就记住了。

image-20230813150253295

2.1.3 基本输入

声笔拼音的输入方法非常简单。每个字用1至5码,任意组合进行输入。Tab和Shift Tab分别用于向前和向后翻页。Esc用于清除所有编码,退格键用于删除光标前的一个编码。首选项用空格上屏,重码项用23789上屏,而不是传统的123456,这样更便于操作,而且23789有时候是与笔画对应的。光标定位用1和0进行,重复按1逐字定位到未确定字的编码后,循环进行,按0则始终定位到所有编码的最后。

例如,「中国」一词按以下任何一种方式输入均可以!

image-20231109154459695

上图是两字都用全码,包括补充的笔画。

image-20231109154623451

上图是两字都用拼音部分,不包括补充的笔画。

image-20231109154659138

上图是首字都用全拼,次字用简拼。

image-20231109154736098

上图是首字都用简拼,次字用全拼。

image-20231109154810290

上图是两字都只用前两码。

image-20231109154846274

上图是首字用前两码,次字用简拼。

image-20231109154914039

上图是首字用简拼,次字用前两码。

image-20231109154941113

上图是两字都只用前简拼。

以上还仅仅是25种二字词输入格式中的8种而已。可见,声笔拼音的输入方式比现在的任何其它拼音输入法都灵活多变,但是并非每种方式都是同等重要的,它们可能适用于不同的场合,需要科学、合理、高效地加以使用才行,不能滥用这种高度的灵活性。从本章第三节开始,将分别针对单字、二字词、三字词和多字词的输入方法提供一些建议和技巧,并与搜狗拼音等进行对比,以展示声笔拼音的优势。

2.1.4 反查方法

在使用声笔拼音时,特别是在学习声笔拼音之初,有时会遇到不会打的字。怎么办呢?程序提供了丰富的反查手段,可以通过笔画和一般拼音来反查编码,还可以采用字海两分来反查和输入非 GBK 汉字。

2.1.4.1 拼音反查

在知道一般拼音而不知道字形时用 i 引导拼音反查。

例如,要反查「访」字的编码,就在输入 i 之后再输入它的拼音fang,所以实际的输入为 ifang,结果如下图所示。反查出「访」字的编码为 faaoa。如果是多音字,那么就会有多个编码,如图中的「房」字就有 faaoapaaoa 两个编码。

image-20231109155051258

对于零声母字,如「案」字,在反查时除了用i 引导还需要在正常拼音的前面加 v,因为 an 是零声母音,所以实际的输入为 ivan。在下图中提示出的案vaaoo,表示「案」字的编码为 vaaoo

image-20231109155126715

2.1.4.2 笔画反查

在完全不知道读音的时候,直接用 aeuio 按顺序输入笔画进行反查,无需引导。

在下面的笔画反查的例子中,不用引导而直接输入 uuao 后,出现了以这四个笔画开头的字。第一项是反faauu,表示「反」字的编码为 faauu。第二项为般baauu pouua paauu,说明「般」是个多音字,有三个编码。

image-20231109155201874

2.1.4.3 两分反查

通过 i 引导的拼音还支持用字海两分法来进行反查, 支持查找八万多汉字,一般用于反查难读而易于两分的字或者输入 GBK 以外的字。GBK 以外的字,声笔拼音不提供正常编码,不能按正常方式输入,只能在两分查找到后选择输入。

下面是字海两分法查找的例子。第一个例子是反查「龖」字的编码,在输入到第二部分拼音的第一码时就出来了。第二个例子是通过输入「尸」和「水」的拼音来反查「尿」的编码,输入了两部分完整的拼音。

image-20231109155232850

image-20231109155250115

对于非 GBK 字集里的「㕛」字,它是没有编码的,只能用两分法来输入,如下所示。此时,需要移动光标选中该字,然后再用空格上屏。

image-20231109155324330

2.2 单字的输入

在中文里,有数以万计的汉字,而拼音音节只有400来个,所以同音字是非常多的。故而,单字的输入,对于传统拼音输入法来说,是一个非常头痛和痛苦的事情,可以说是想尽了一切办法企图来解决这个问题。

搜狗和百度之类的拼音输入法利用巨型互联网词库,在输入一般性的文本时,可以大大减少对单字输入的依赖。但是,单字的输入始终是不可避免的,在有的场合还用得比较多。这时,绝大多数人是通过翻页查找的方式来定位和选择同音字。在遇到输入同音现象严重的罕见字时,往往需要翻页数次,每页都要查看多个选项,严重影响输入效率。少数有经验的人,可能知道通过以词定字的方式来输入单字,或者通过加TAB后追加笔画或者部件来筛选重码字。然而,以词定字只是一种权宜之计,不是普适性的,有时候根本想不到适合的词。TAB后加码的方式是具有普适性的,但是操作很不方便,而且还增加了码长。另外,由于这些手段用得很少,偶而使用的时候,显得很生疏,无法做到快速操作。

2.2.1 重码问题

例如,在用搜狗拼音输入「疫」字时,可以在输入yi以后按TAB键再输入笔画dhpn,「疫」字就出现在当页的选项中了。

image-20211120064658859

现在,对比一下声笔拼音在输入「疫」字时的情况。在输入yi后,无需用难操作的TAB而是直接输入笔画oeu,「疫」字就出现在当页选项中。而且,在声笔拼音中,笔画的使用是非常频繁的,用户很容易对aeuio表示的笔画形成条件反射,从而加快操作速度。

image-20231109155358219

把单字重码问题暴露得最充分的,当数赵元任先生的「施氏食狮史」了,以下分别用搜狗拼音和声笔拼音将标题里的这五个字输入一下,进行对比,以目标字出现在首页为度,以考验它们的重码筛选能力。

image-20211121161656105

image-20231109155551107

image-20231109155638427

image-20231109155738866

image-20231109155820546

显然,声笔拼音(下图)比搜狗拼音(上图)要便捷得多,特别是每个字都节约了难操作的TAB键。合并平翘舌音后降低了学习难度,因为归并重音而产生的重码被追加的笔画有效地离散开了,并没有增加选择重码的负担。

2.2.2 码长问题

搜狗拼音输入「幢」字时,在输入zhuang后按TAB再输入该字的首笔竖,可以把它定位在首页。然而,zhuang这个音节有6个字母之多,加上额外的TAB键,码长非常不理想。

image-20211120071430095

相比之下,用声笔拼音输入「幢」字的话,只需在zua之后直接追加该字的首笔竖,就可以把它定位在首页。可见,从码长上来说,节约了四键,效率的提升是极为显著的。

image-20231109155916727

2.2.3 模糊问题

在拼音输入法中,一般都有模糊拼音设置。对于南方人来说,很多都会设置为模糊三对平翘舌音,因为他们的普通话可能不太标准。前后鼻音的区分,对不少人来说,也是个大问题了。设置模糊音后,不管输入哪一个音都能够打出来,相对于降低了学习门槛。但是,这样做也有副作用,那就是牺牲了编码空间,同时也增多了重码。

在声笔拼音中,也采用了模糊音,但是其目的不仅仅在于降低学习门槛,而且还在于提高输入效率,所以它的模糊是强制的。声笔拼音对韵母的模糊更加激进,不仅仅是不区分前后鼻音,而且韵母的长度不会超过2。例如,biao会截断为bia,xiong会变为xoo,shuang会变为sua。不过,l与n,f与h,r与l,这几对是没有模糊的。另外,在输入编码的时候会显示出前缀相同的所有字。例如,输入bi后,还可能出现bian、bie、bing等发音的字。这有利于缩短常用字的码长。

当然,这样的模糊拼音会产生不少的同音字词,但是由于声笔拼音有直接追加笔画的手段,可以有效地抵消同音重码的副作用。

image-20231109155948786

而在搜狗拼音中,输入bi后只会出现发音相同的字,而有的字并不一定常见。

image-20211121105341246

2.3 二字词输入

二字词在现代中文里是最常见的。根据北京航空航天大学等单位承担的“七五”国家重点科技攻关项目“现代汉语词频统计”所得的结果,二字词所占累计字数比例超过了一半,高达53.32%。

image-20211120103634307

在使用全拼的情况下,由于汉语的音节只有400来个,所以二字词的编码空间大概有400×400=160,000个码位。这个空间看起来还是不小了,但是因为分布极不均匀,因而重码现象也是相当严重的。随着收词数量的增加,当量级到达数十万甚至上百万时,重码现象还会越来越严重。

2.3.1 重码问题

例如,用搜狗拼音输入「时势」,会出现在第五页的最后一项。由于重码词的顺序会有动态调整,不同的用户的结果可能会有所差异,但是不会影响我们理解这个事实的存在。

image-20211120114341884

为了避免多次翻页查找,搜狗拼音提供了一种通过笔画过滤重码的方法,即先用TAB引导,再输入首字的笔画,这样可以将「时势」提前到首页,如下所示。

image-20211120115857337

这种过滤重码的方式比起翻页查找要好得多,但是仍然不理想,因为TAB不好操作,而且增加了一次击键。

反观声笔拼音,如果不增加笔画的话,重码现象会更加严重,因为它是不分平翘舌的,「时势」一词会出现在第六页的第用项。当然声笔拼音的重码顺序也是动态变化的,可能你的结果会有差异,但是不会影响我们对原理的理解。

image-20231109160053163

image-20231109160109258

image-20231109160125604

image-20231109160141876

image-20231109160204635

image-20231109160231698

然而,声笔拼音拥有极为方便的直接笔画筛选功能,使得它无需为重码而发愁,而且码长更短。它在筛选重码加笔画时,无需TAB引导,既可加在首字后面,也可加在末字后面,还可以同时加在首字和末字后面,非常灵活方便和快捷,如下所示。

image-20231109160352876

image-20231109160411891

2.3.2 输入格式

拼音输入法在输入二字词的时候,格式可以非常灵活,可以都用全拼,可以简拼加全拼,可以全拼加简拼,也可以都用简拼。下面,以输入「创新」一词为例来说明这个问题。

在搜狗拼音中,可以用以下几种格式来输入。注意,用cx时的结果是经过一次翻页的。

image-20211121111457117

image-20211121111541724

image-20211121111633345

image-20211121111740791

在声笔拼音中,由于能在任意字后添加笔画,任意字都可以使用1至5码,所以可用的格式就更加丰富了。

image-20231109161339268

image-20231109161357179

image-20231109161411188

image-20231109161434396

image-20231109161452627

那么,问题来了。面对如此灵活的输入格式,有的高效,有的低效,用户该怎么选择运用呢?通过对拼音输入法用户使用方法的长期观察和总结,可以归纳出以下启发式的原则。

首先预判待输入二字词的常用程度。如果是很常用的词,那么就先输入两字的首码,即全用简拼。如果当页命中就选择上屏,否则继续输入第二字的韵母。例如,要输入「才行」一词,预判觉得它挺常用的,但首页没有,需要继续输入韵母。

在搜狗拼音中,输入的情况如下。在加入韵母后,「才行」出现在首页的首位了。

image-20211121132440814

image-20211121132515467

但是,如果想要输入的是「串行」而不是「才行」的话,就需要翻页几次才能找到了。

image-20211121134502442

image-20211121134538622

image-20211121135551615

image-20211121135634005

image-20211121135717689

所以,预判不准的代价有时候是比较大的。不过,在声笔拼音,可以有更多的办法,输入韵母后还可以再追加笔画,如下所示。

image-20231109161557365

image-20231109161856524

运气好的话,可能加一个笔画就出来了。但是,运气不好的时候,还是需要多加笔画,此后都可能还是需要多次翻页。预判不准的成本仍然是很高的。

因而,除非特别有把握,一般的人倾向于先输入首字全拼加第二字简拼。如果当页命中就选择上屏,否则继续输入第二字的韵母。这样的话,可以大大地提高命中率,但是付出了增加码长的代价。现在,以输入「双唇」一词为例说明一下。

在搜狗拼音中,输入的情况如下。在加入韵母后,「双唇」出现在首页的首位了。

image-20211121141401327

image-20211121141540096

在声笔拼音中,输入第二字的声母,「双唇」就出现了,追加韵母的首字母,就成了首选。

image-20231109162759302

image-20231109162908685

但是,可以看出,声笔拼音的码长短了很多。这得益于声笔拼音采用的压缩编码和前缀模糊特性。

即使是不常见的二字词,如果刚按照上述方式输入过了,那么在当前的局部语境下,仍然可以采用先输入简拼的形式来输入,能够节约用键。比如,上例中的「双唇」,在最近输入过以后,只用sc就可以了。

image-20231109163150060

2.3.3 模糊问题

模糊拼音的作用在词组中的体现比在单字中更加充分。在声笔拼音中,不仅可以像一般拼音输入法那样模糊平翘舌声母和前后鼻音,而且是强制性的,必须模糊,以便提高编码空间的利用率,也便于简化输入规则。更进一步,声笔拼音采用了激进的前缀模糊法,即每个字输入1-5码都可以,远比一般拼音输入法灵活多样。

例如,输入「疫情」一词时,采用的输入码形式最多可以有5×5=25种之多,包括yq yqi yiq yiqii yiqi yioq等等。但是,并不是任何一种形式在任何情况下都是同等的有效。弄清楚在哪种形式下适合采用哪种形式,是一个非常关键的问题。建议采用上一小节介绍的启发式原则,结合自己的使用经验来加以灵活运用。对于「疫情」一词来说,第一次输入的时候,采用yioq是最有效的。

image-20231109163510476

而采用yiq输入则会较多重码,第二页才有「疫情」出现。

image-20231109163538172

image-20231109163558252

但加入韵母后,就出现在第一页了,输全韵母则其位置就更靠前。

image-20231109163702700

image-20231109163725228

这时,再追加一个末字的笔画,就可以把「疫情」变为首选项。这就是前缀模糊法的强大之处。

image-20231109163753996

2.3.4 隔音问题

在一般拼音输入法中,有的拼写形式是有歧义的。为了明确音节界线,在电脑上需要加隔音符',在手机上则需要用专门的分词键。

例如,在全拼的时候xian还可能是xi'an。使用搜狗拼音时的输入情况入下:

image-20211124064402027

image-20211124064454676

如果上例采用混合显示也基本上能解决问题的话,那么下例就完全不管用了。这两例都是用的搜狗拼音,图中上面的是没手动加分隔符的,下面的是手动加了的。没有手动加分隔符时,简拼就失效了。

image-20211124064915359

image-20211124064955179

我们分析一下就知道,上文前一个例子的音节歧义是由零声母音引起的,而后一个例子的音节歧义是由翘舌音引起的。如何才能分清音节界限呢?声笔拼音的解决办法是,用v来表示零声母,同时将翘舌音归并到平舌音,即zh ch sh分别归并到z c s。这样以上两例的输入将变为如下图所示,在输入的时候就一定明确了音节界限,无论是全拼还是简拼都是这样。

image-20231109164202751

image-20231109164040196

image-20231109164119621

2.3.5 定位修改

在发生输入错误而需要定位修改时,一般拼音输入法是通过用箭头键移动光标或者Ctrl+音节首字母来定位的,但是这些方法效率低、操作难度大。声笔拼音提供了一种快速、方便的定位方法,可以利用数字 1将光标逐字定位到待定的第 1-n个字的编码之后,用 0 将光标定位到最后。

例如:如果本来想输入「御用」,但是输成了yiyoo,发现有错,用退格键删除四个字母后进行修改的话成本太高,用Esc键清提示行重新输入也不划算。

image-20231109164325780

于是,按1定位到yi之后。

image-20231109164348420

接着,按一次退格键删除i,再输入u。

image-20231109164443932

最后,按0定位到编码的末尾,就完成了修改。

image-20231109164514092

2.4 三字词输入

使用拼音输入三字词时,与输入单字和二字词相比,面临着很不一样的问题。

2.4.1 重码问题

对于三字词而言,如果采用全拼,那么编码信息已经足够丰富了,重码已经不是一个问题。这时,问题的症结在于码长太长而导致的效率低下。

例如,「互联网」一词,用搜狗全拼的话,需要10码,加上空格的话需要11键才能上屏。

image-20211124072703027

即使采用声笔拼音,拼写形式得到了一些压缩,仍然需要8码。

image-20231109164614870

所以,为了提高三字词的输入效率,人们在实践中往往采用其它输入格式来缩短码长。

2.4.2 输入格式

声笔拼音输入三字词时的格式可以多达5×5×5=125种,采用哪种格式最好呢?推荐的方法是,先采用全简拼输入。查看当前页的候选项是否命中,没有则逐码追加末字的编码并观察候选项的变化。有则选择上屏,若已有二字词或单字候选项出现,那么说明系统中没有该词。这时,要用按1或2次1定位到第一、二字后,对其进行修改,补充编码以输入正确的字词,选择上屏后,光标回到末字后。重复以上操作直至完全正确为止。

例如,要输入「计算机」一词,一般只需要输入jsj,该词就会出现在首位可以用空格键上屏。如果当前页的重码项,那么可以用数字选择上屏。

image-20231109164645109

但是,若要输入的是「脚手架」,输入jsj后在当页候选中没有。这时,再补充一码,该词就出现了,可以用2选择上屏。

image-20231109164809043

可是,再假设要输入的是「鉴赏家」,输入jsja后在当页候选中仍然没有。这时,再补充一码末字的首笔,该词就出现了,可以用7选择上屏。

image-20231109165032916

然而,如果要输入的是「建设奖」,输入到jsjaaoe后在当页候选中仍然没有。这时,判断前两字是一个常见的二字词,于是按两次1定位到前两字后,准备进行修改前。

image-20231109165217260

image-20231109165239853

接着在js后追加「设」字的韵母e,前两字就便成了「建设」,可用空格上屏。

image-20231109165415564

此时,「奖」已经在当前页,用3选择上屏即可。这样,也就同时造好了这个系统中原本不存在的三字词。

image-20231109165531703

以后,接下来用jsj就可以输入「建设奖」了。

image-20231109165611052

2.4.3 模糊问题

声笔拼音特有的前缀模糊法在上一小节追加末字编码时已经有所运用。前缀模糊在输入三字词时的另一种用途是,当觉得重码可能会很多,可能会不出现在首页时,首字可以用2、3码,而不是1码。

比如,声笔拼音输入「军事家」可以只用jusj,其中「军」的拼式只有前面两码,同样提示了这个词。

image-20231109165642485

但是,对于搜狗拼音来说,前缀模糊在多数情况下是不管用的,输入jusj后,不能提示「军事家」。

Snipaste_2021-11-28_17-03-25

只有在输入完整的拼式jun后,才会提示「军事家」,如下所示。

Snipaste_2021-11-28_17-04-25

2.4.4 隔音问题

声笔拼音的音节界线是完全确定、毫不含糊的,它的韵母没有辅音字母,而且零声母必须用v来表示,不会产生音节混淆的问题,因此也就用不着使用隔音符。

比如,声笔拼音输入「公安局」,用简拼为gvj,清晰明了。

image-20231109165714772

然而,在百度拼音中,是无法用简拼gaj来输入「公安局」的。

Snipaste_2021-11-28_17-11-18

必须在a之前手动地加入隔音符’,而且「安」字的拼式要输入完整,才能提示「公安局」一词。

image-20211204074051291

2.4.5 定位修改

对于三字词来说,定位修改除了用于出错时而外,还常常用于预估系统中没有将要输入的三字词时。这时,最好是三个字都用全拼。比如,假设知道系统中没有「三字词」,就可以先使用这三个字的全拼。

image-20231109165810076

由于系统确实没有需要的词组,于是按1定位到saa之后。

image-20231109165847092

用2选择「三」字上屏后,光标回到末字后面。

image-20231109165926789

此时可以直接选择8上屏「字词」,或再追加末字首笔,首选项即变成了「字词」,于是用空格上屏就完成了新词的输入。

image-20231109170159789

2.5 多字词输入

2.5.1 重码问题

对于四及以上字构成的多字词而言,如果采用全拼,那么编码信息比三字词更加丰富,几乎没有重码问题。但是,码长太长而导致的效率低下问题则突显了出来。

例如,输入「风光无限」,若使用全拼,肯定是没有重码的,但是即使用声笔拼音也需要11码之多,效率堪忧。

image-20231109170226069

所以,这时要考虑要更紧凑的输入格式来提高输入效率才行。

2.5.2 输入格式

在输入已知的多字词时,应首先考虑用简拼格式来进行输入。同样是输入「风光无限」一词,使用简拼的话,四码就够了。

image-20231109170250054

2.5.3 模糊问题

对于多字词来说,采用前缀模糊来输入的意义不大,用键仍然过多,对增加确定性的作用也不大。

image-20231109170321693

2.5.4 隔音问题

由于多字词一般采用简拼来输入,声笔拼音拼式的明确性体现的优势就特别明显。

例如,「斗志昂扬」一词,用声笔拼音的简拼是没有歧义的。

image-20231109170344448

而使用百度拼音时,则成了下面这样了。只能通过在a之前加隔音符来解决,但是有时候会忘记加隔音符,回改起来很麻烦。

image-20211204084243800

2.5.5 定位修改

在输入新的多字词时,经常会用到定位修改。这时一般先用全拼输入,如果转换不正确,再进行修改。

例如,首次输入「声笔拼音」时,按照全拼试输,发现末字只输入yi就行了。

image-20231109170424426

用1定位在首字之后,用3可以选择「声」上屏。

image-20231109170449749

光标回到编码的末尾。

image-20231109170636447

再用1定位到第一个未转换的音节之后,补充「笔」字的首笔u(撇)。

image-20231109170735360

用空格上屏「笔」字后,「声笔拼音」一词就确定了,再次可用空格整体上屏。

image-20231109170809973

2.6 构造新词

在上一节中,讲到了如何通过定位修改来输入「声笔拼音」,这是因为系统并没有该词。在按照此方式输入之后,系统实际上就构造好了这个新词。

但是,这里有一个问题。如果下次要输入「声笔简码」,还得单个地选择「声笔」两个字,因为在造「声笔拼音」时,并没有造出「声笔」。同理,在输入「声笔双拼」时后,虽然造好了「声笔双拼」,还是造不出「声笔」。如果先单独输入「声笔」,则会有效得多,因为造出的「声笔」这个词可以被后面的输入重复利用。

所以,在预计到某个较小的新词今后会用于构造更大的词时,就应该先造出这个小词,也就是说新词的颗粒度应该尽量小,以便提高新词的复用度。

2.7 频率调整

现代拼音输入法的动态特性非常强,给它带来了更大的灵活性,降低了初学者的门槛,还能尽量缩短码长,减少用键。

例如,使用百度拼音输入了g后,本来的选项如下:

image-20211121084635743

这时,如果继续输入gao后,选项如下:

image-20211121084714538

在用空格上屏「高」字后(有时需要输入多次),再输入g的话,选项就可能变成:

image-20211121084752630

声笔拼音在默认状态下也是这样,字词输入码都是根据用户的使用情况而动态变化的,越常用的其频率值就会被调高,在重码中就会越靠前,甚至码长就会越短。反之,不常用的字词就会朝相反的方向调整。这对初学者是非常有利的。

但是,这只是问题的一个方面。问题的另一个方面是,人作为生物是具有记忆特性的,经常重复的行为,就会形成条件反射。如果在某个位置上固定了某个高频字词,那么经过一段时间的使用,用户就可以不假思索地将该字词打出来,而不必观察提示行,这样就减少了人机交互时间,提高了击键速度,从而提高了打字效率。如果不固定的话,这种快速的条件反射操作所上屏的字词很可能就不是操作者想要的,不得不进行费时的回改,反而影响了打字速度。

在码长和键速之间如何进行选择?这是输入法设计随时都会遇到的问题。不同的输入方案会有不同的选择。但是,长期的实践证明,对于拼音输入法来说,高频字词是肯定应该固定的。即使对于一般用户来讲,得到的击键提升都比码长的节约还划算,对熟练用户来说更是如此。

什么是固定字词?如何固定字词?固定哪些字词?这些问题就是在下一章声笔拼音进阶要解决的问题。

3 声笔拼音进阶

3.1 固定介绍

习惯上,将字词固定在首选位的做法被称为固顶,一般用鼠标悬停在某个重码字词上,在弹出菜单中选择固顶就行了。下图是搜狗拼音的固顶方法。

image-20230124084714880

如果还要把字词固定在其它位置,那么就需要使用自定义短语。自定义短语这个说法不正确,因为单字也是可以自定义,所以应该改为自定义字词才确切。当然,词组的长度理论上是可以很长的。

image-20230112140258889

百度拼音和搜狗拼音都提供了固顶和自定义短语的能力,但是它们默认情况下并没有固定任何字词,究竟应该固定哪些字词完全由用户决定。这种做法看似非常灵活,实则将责任推卸给了用户,因为绝大多数用户都不是输入法的专家,无法对需要固定的字词做出最佳的判断,甚至根本就不会使用固顶和自定义短语,更不用说确定字词的编码和位置了。即使是会用且有主见的人,要精选出成千上万的字词来确定编码和位置,也是一项十分艰巨的工作。个别的人即使做出来了,也没有通用性,其他人无法使用。

有鉴于此,声笔拼音对固定字词进行了精心的设计,基于字词频率大数据,结合对顶功的支持,使得越常用的字词获得越短的码长,可以大大提高拼音输入的效率上限,而且让用户不必进行任何额外的工作就能够享有最佳的固定字词体验。

声笔拼音的固定字词分为前缀固定、数选固定和组合固定三种。要使用固定字词,需要打开固定选项。要临时打开固定,在电脑上按F4或者Ctrl+~,选择2,再选择固定一项即可。

image-20230712104437147

在手机上临时打开固定更简单,在候选栏上点选到出现固定选项为止。如果希望默认为固定状态,则需要修改sbpy.schema.yaml文件,将其中的options中的reset值改为1。

image-20230712104333535

3.2 前缀固定

前缀固定可以看成是一般拼音输入法固顶功能的推广。一般的固顶,要么固定简拼,要么固定全拼,而声笔拼音可以利用前1-2码来固顶,可以是不完整的拼音,与五笔之类传统字词输入方案的简码类似。

3.2.1 一简字

在声笔拼音中,用首码固定的高频字称为一简字,一共有21个,它们是:b不 p平 m没 f发 d的 t他 n你 l了 g个 k可 h和 j就 q去 x下 z在 c出 s是 r人 y一 w我 v而

用前两码固定的次高频字称为二简字,例如:又yo 老la 等de。二简字一共有105个,其中有98个是取正常编码的前两码,如下所示。

第到要这时以之生后能梦多行又作两于老法动所现情三本问女将走些己再等才工学业很关却听目便处太入风报难更马感化接望步特重通任路受冷爱命五海决龙车容服吃尔空科突切兄苦千娘模派否朋考波批欧普握婆弄穷绕炯驲

另外,还有7个特殊的二简字,它们是利用正常编码留下的空码安排的特殊字,只有声母是有理的,主要用来缩短码长。这7个字是:付fi 古gi 护hi 扩ki 嗯vi 癌vu 稳wi

3.2.2 二简词

在声笔拼音中,取两字声母作为编码的高频二字词称为二简词,例如:现在xz 但是ds 建立jl。这些二简词一共有下441个,具体参见声笔基础一章中的声声词

3.3 数选固定

在声笔拼音中,固定使用某个数字来选择的字词,称为数选字词。在排除前缀字词后优先收录使用频率高的字词作为数选字词,其数量比用前缀固定的字词多得多。它们为追求更高效率的熟练用户提供了手段,当然用户也得付出更大的学习代价。

3.3.1 数选字

声笔拼音的数选字分为两级,分别采用前一、二码,用数字来选择输入。

一级数选字有下列105个,在输入声母后会进行提示。这105个是有理的,用23789选择,分别表示其首笔是折横竖撇捺,与声笔简码中用aeuio表示的声笔字完全相同,见声笔基础一章中的声笔字

image-20231109171156293

二级数选字有下列489个,均为无理选择,这里的23789不表示笔画,在后面有些非常用字,在输入前两码后会进行提示。

地只身已都知声点但主谁定样向实十气与真理间其种相因文何少神被住者打新月先位最机使山应信加每水光并合由表死长今展四金怎果色放西美总做直叫比政建连场数解制性像原件轻系王提万产结算电脸常东张各记转花活云及度必吗至清功亲变该管未带认言华往吧题保完林员书许务武干反衣物呢条它义区程北统红量跟满告拉哪黑军传找早取则微改咱办半虽据收百火倒房弟论象觉落克候达持杀德绝伤或男么众父委刻客城刚哥怪友界根首举罗姑共队格府谈孩台确断图布铁错沉夜曾仍忙害推送周阳复拿母爷备群终姐啊商团钱热念查楚亚乐段况喝须严村费存痛类汉哈冲投雷选需权谢雪退兰木停背乱怒右节旁够莫宫写态构妹密陈副楼负妈寒案们游河忍斗您优网协慢堂耳脑份防肯尼瞧充柔土跑排屋块律狂按叶访魔啦辈守松免恐某困米泪靠雄刺配凤恩血宁迷洞胸舞拍劳康伯恶卡露秘封哭蓝默软控仇野邪盘词乃登肉灯透巧评奥偷牛荣偏迟懂峰弱抗努贫抢额抽凶摸飘墙扑厚诺碰迫陪培洪慕补瞪融博佛累票岸俄佩尺邓瑞幕仁抖腾匆侯颗堡凯哦浓页颇染疼奴姆隆播娜仆寇扰捕扣铺熊坡偶蓉拨辱锐卧勃燃饶琼笼嚷卜魄窝漏沃嫩怯朴泼妾藤窃蒲喔噢叩窘汹呕滕讷哝涡渥茄穹忑迥恁馁侬惬脓邛扃茕蛩缶耨炅仏坲梻幜囸釰鈤馹

image-20231109171217629

另外,还有下列42个特殊的二级数选字,它们是利用正常编码留下的空码安排的特殊字,主要些表示语气的字,用于缩短码长,第二码一般是无理的。

嗄vi 哎vi 挨vu 癌vu 碍vu 俺vu 黯vu 昂vu 嗷vi 噃fi 呋fi 扶fi 咈fi 付fi 附fi 嘎gi 哽gi 咕gi 古gi 呱gi 嗨hi 呵hi 嗬hi 呼hi 护hi 怀hi 咔ki 咖ki 嘅ki 哐ki 扩ki 咯ki 嗯vi 味wi 喂wi 吻wi 稳wi 喔wi 呜wi 唔vi 诶vi 呷gi

image-20231109213402442

3.3.2 数选词

声笔拼音的数选词采用两字的声母,再用数字来选择输入,在输入两码后会进行提示,数量较多,有2205个,以下是频率较高的前200个。其中2197个为有理的,数字选择键23789aeuio一一对应,代表第二字首笔画。数字456保留供自定义,1和0是用来定位的,所以没有安排词组。

这么那么一点只有社会世界声音之间技术眼睛生活以为有些然后宝贝想到男人所有本报要求研究一阵公司真是决定信息有关合作继续只见解决感觉精神提高她们由于以及之中思想母亲回答生产群众也许江湖干部兄弟甚至立刻最后机会对于目光不禁中央多少了解意思提供政治数据整个结构高兴举行到底之下不再具有来到哪里以前不少是否主席计划早已接着还要刚才报道坚持既然使用找到否则真正容易以来注意方式学习愿意投资作用回到见到政策或者设计不必增加答应任务原因对象农业过程师父接受只好根据增长脸色力量留下跟着变化少年主人规定城市冷冷能力不管受到积极各种变成制度担心事业为何介绍生命随着今日产生稳定全身不但仿佛之外经验不仅世纪严重打算妻子分析行为放心直接算法哈哈伸手选择应用民族知识更加职工总理指出访问难以执行学生大概简直开展记得相当丈夫达到质量程序听见首先困难听说失去绝不尽管重点实施方向促进机关笑容表现功力资金确定用户迅速绝对的确哥哥学校

image-20231109213721879

下面列出的是8个无理数选词,其第三码是无理的,而且均为2。

任课 总额 看啊 瑞恩 破案 母爱 份额 维尔

image-20231202083538972

注意,数选词既不收录由两个一简字和声笔字组成的二字词,也不收录二简词,例如:一个 起来 但是

3.4 组合固定

由固定字词而形成的某些组合形式是固定的,它们也是完全确定的,当组合后的用键足够少时在固定字词中就没有收录它们,它们多半不是真正的词组。使用一个固定组合的前提是,要首先记住构成它的固定字词。

二简词中不包含由两个一简字的组合,因为它们可以通过两字的声母加分号进行变换来实现快捷输入,例如:一个yg; 就是js; 下去xq;等。同时,可发kf; 没下mx; 不你bn;等则根本不是词,但仍可以按固定组合的方式用分号变换上屏。

输入三个声母时,在首选项安排了二简字和一简字的组合,绝大多数不是真正词,例如应该的ygd 知道了zdl。若是一简字加二简字的组合,则通过加分号变换来输入,例如的时候dsh; 不一样byy;。这一点和传统拼音输入法是大不相同的,其好处是一方面可以利用三码空间来安排固定组合,另一方面又不会增加三字词的码长,却增加了输入的确定性。

image-20231109215036607

分号变换还用于二简词的组合,如怎么发生zmfs; 经济建设jjjs;,一简字和二简字的组合,如一车yce; 发三fsa; 现的xad; 穷了qol;,二简字之间的组合如生三sesa;空五kowu;

另外,分号变换也用于三码字和一简字或者二简字的组合,如高的gaod; 心了xiil; 高得gaode; 心冷xiile;。这时,三码字并不是固定的。

还有,在输入三个声母后,可以用单引号变换来输入三个一简字,如是不是sbs' 一个人ygr'。一个二简词加两个二简字的组合,可以用四个字的声母加单引号来输入。例如,「我们就是」「这个不是」等可以这样输入。

分号和单引号变换不仅增加了确定性,而且相比分别输入还能节约按键,有利于提高输入效率,应该充分地加以利用。

3.5 固定运用

使用固定字词,需要循序渐进、逐步引入,不要试图在极短的时间内把所有固定字词都用起来。要根据自己的熟练程度逐步增加使用固定字词,首先把最有利于缩短码长和离散重码的固定字词用起来,再添加其它的固定字词,否则学习曲线会很陡峭。想在尽量短的时间内快速掌握尽量多的固定字词,则需要专门对它们进行练习,不然使用的过程是比较痛苦的,会影响正常输入的效率。

建议的熟习顺序如下:

  1. 一简字及其组合
  2. 二简字及其组合
  3. 一简字与二简字的组合
  4. 一简字与二简词的组合
  5. 二简词及一二简字的组合
  6. 一级数选字
  7. 二级数选字
  8. 数选词

我们现在用一个例句来说明如何使用固定字词。

例句:我们人的一生到底是什么

运用1:「我们」和「什么」采用二简词,用空格上屏。

运用2:「我们的」采用二简词与一简字的组合,用空格上屏。

运用3:「人 的」采用一简字来输入,用空格上屏。

运用4:「人的」采用一简字的组合,用分号变换上屏。

运用5:「一生」采用一简字和二简字,用分号变换上屏。

运用7:「了什么」采用一简字与二简词的组合,用分号变换上屏。

运用8:「到底」采用数选词,用数字上屏。

运用9: wmr_d_yse;dd9ssm;,将例句完全采用固定字词来输入。

4 声笔拼音高手

通过声笔拼音初步和进阶两节的学习,已经将拼音输入中文的效率提升了两个档次,码长得到了缩短,确定性得到了提高,还有进一步改善的空间吗?当然有!采用什么办法来进一步改善效率已经相当不错的声笔拼音,实现第三次飞跃呢?那就是顶功!欢迎来到五彩缤纷顶功世界。

顶功是声笔输入法最重要的特色和优势。声笔拼音通过深入的研究和试验,将字词型和整句型的输入方式完美地结合了起来,实现了渐进式的顶功引入,避免了陡峭的学习曲线,可以共享自动调频和自动造词的成果,也让用户有了更多的选择,在流畅与效率之间取得一定的平衡。

在开启顶功后,便于用户使用更简短的输入方式,可以省略大量的空格,顶功模式下还会强制打开固定字词选项,所以能够大大提高输入效率,强烈推荐熟练用户积极采用。声笔拼音的顶功按“顶”的强弱不同分为混合顶功(简称混顶)和纯粹顶功(简称纯顶),纯顶比混顶具有更强的顶功。

为了避免歧义和便于记忆,我们将用下列类似正则表达式的精简方式来描述顶功模式下字词的输入格式。

单字:syx'b^b(混顶),sy^x'bb(纯顶)

二字词:sy(x)s'^yx"(x)bb(混顶), ssy'^x"yxbb

三字词:sssy'^x"yxbb

四字词:ssss'^yx^"yxbb

多字词:ssssy(s'[yx])+"yxbb

在表达式中,对于每个字,s表示声母即首码,y表示韵母中的第一个字母(即次码),x表示韵母中的第二个字母或者追加的第一个笔画(即第三码),'表示起始调频位,^表示起始顶屏位,"表示回头补码位,小括号中的编码为可选的。在有两种格式时,在括号中注明混顶的只能用于混顶模式,否则混顶模式和纯顶模式下均可用。

混顶模式时,单字的起始顶屏位是4,二三简字不能顶屏。纯顶模式时,单字的起始顶屏位是2,二三简字也能顶屏。然而,对于一简字,无论在混顶还是纯顶模式下,都不能顶屏。

混顶模式一般作为传统拼音到纯顶模式的过渡手段,其优点是词组重码少,编码比较自然,可以减少回头补码,但是单字码长吃亏,还不便于利用二简词。因此,建议用户尽量缩短过渡期,尽快采用高效的纯顶模式。

要使用顶功模式,需要打开顶功选项。要临时打开顶功,在电脑上按F4或者Ctrl+~,选择2,再根据需要选择混顶或纯顶即可。如果希望默认为顶功状态,则需要修改sbpy.schema.yaml文件,将其中的options中的reset值改为2(混顶)或者3(纯顶)。

4.1 单字的输入

使用纯顶模式时,单字的顶屏能力很强,从第二码就开始顶了,也就是说只有一简字需要空格上屏,其它首选字都可以省略空格。在混顶模式时,二三简字也不能顶屏。

4.1.1 实例一

「我」是一简字,只需要声母w,要加空格上屏,在纯顶和混顶下都是这样的。

image-20231109220258812

4.1.2 实例二

「感」是二简字,只需要声母g和韵母中的第一个字母a(相当于输入格式中的sy)即可。如果后续其它字词如「性」的声母x,那么在纯顶时,「感」就会被顶上屏幕,从而节约空格键,而在混顶时,则必须用空格上屏后才能接着输入「性」字。

image-20231109220327847

4.1.3 实例三

「席」不属于一、二简字,在输入了xi后,读音就输完了,所以第三码用首笔o(相当于输入格式中的x)。这时,假设「席」出现在首选了,那么在纯顶时,就可被顶了,而在混顶时则不能被顶。当然,因为调频的原因,xio上的首选字有可能不是「席」,但毫不影响这里说的顶屏。

image-20231109220537103

4.1.4 实例四

「素」字,假设在输入suee(相当于输入格式中的syxb)四码后出现在首选了,从而无论在纯顶还是在混顶下都可以被顶。因为调频位在第三位上,下次再输入「素」字就很可能只需要sue三码了。

image-20231109220628143

4.1.5 实例五

在同音字很多的时候,很可能就需要输入完五码。比如,「癔」字在加了四个笔画后才出现在重码字的最后一个。但这对于拼音输入法来说,已经是巨大的成就了,基本上可以做到不翻页。

image-20231109220658139

4.2 二字词输入

4.2.1 实例一

「我们」一词。因为该词为高频词,混顶时,输入woum就是首选了,再追加一、两码也是可以的,但是按编码规则,而且随时可以顶屏。

image-20231109220755431

image-20231109220913511

image-20231109220931143

然而,在使用纯顶格式时,输入两码后,「我们」就出现了。

image-20231109221216895

4.2.2 实例二

「外贸」一词。混顶时,输入waim后,该词并不是首选,而是次选,可以用2选择上屏。

image-20231109221249369

也可以追加一码,出现在首选了,可以顶屏。 追加两码,仍然在首选,仍然可以顶屏。

image-20231109221326897

image-20231109221345223

然而,在使用纯顶格式时,输入三码后,「外贸」就出现在首选了,如下所示。

image-20231109221507272

4.2.3 实例三

「干洗」一词。混顶时,输入gaax后,该词并没出现。

image-20231109221622552

追加一码,该词出现了,可以用7选择上屏。

image-20231109221721832

如果追加为gaaxio,该词成为首选了,可以顶屏。

image-20231109221813656

在使用纯顶格式时,在输入至少三码以后,只要「干洗」出现在首位,就可以顶屏。

image-20231109221844262

4.3 三字词输入

4.3.1 实例一

「计算机」一词,输入jsji后,该词已是首选,处于顶屏位,也可以被顶。

image-20231109221923309

4.3.2 实例二

「脚手架」一词,输入jsja后,并没有出现在首选,于是继续输入末字的第三码a(即「架」的首笔),该词就出现在候选项的首位了,可以被顶。

image-20231109222147407

image-20231109222100215

4.3.3 实例三

「金狮奖」一词,输入jsja后,可以追加首字的第二、三码。

image-20231109222235087

4.3.4 实例四

如果「候选项」一词,在末字输入了三码后,情况如下。

image-20231109222352440

由于候选项中没有「候选项」,于是回头追加首字的第二码。

image-20231109222427424

发现已经没有三字词,开始出现二字词了,于是进行组词,刚好第3项就是所需的「候选」,选中它。

image-20231109222610312

需要的「项」字还没出现,追加该字的首笔横,用7选中即可。

image-20231109222731219

4.4 四字词输入

4.4.1 实例一

「红光满面」一词,输入四码就是首选了。

image-20231109222923568

4.4.2 实例二

要输入「永生永世」,输入四码ysys,并没有出现首页。此时可以翻页查找,但是更好的办法是继续输入末字的编码。

image-20231109223025237

在继续输入末字的第二、三码ie(即「世」的韵母和首笔)后,该词出现在候选项中了,此时可以选择上屏。

image-20231109223057536

也可以,回头补充首字韵母的第一个字母,「永生永世」便成为首选了。

image-20231109223126600

4.4.3 实例三

假设现在要输入「声笔系列」,发现在输入sbxl后,情况如下。

image-20231110062837942

只有一个四字词,说明系统中没有该词。于是,继续追加末字两码。

image-20231110062934467

由于候选项还是没有变化,所以再回头补充首字的两码。

image-20231110063219786

这时,候选项中出现了「声笔」,选择后情况如下。

image-20231110063255968

候选项中「系列」也出现了,选择后,「声笔系列」上屏,同时造好了这个四字词。

4.5 多字词输入

五字及以上的多字词虽然也可以采用格式一,但是为了提高输入效率,肯定应该采用格式二。

4.5.1 实例一

「床前明月光」只需要前三字的首码、第四字的前两码和第五字的首码(相当于输入格式中的ssssys)即可。如果后续其它字词如「的」的声母d,则必须先用空格键上屏,不具备顶功。

image-20231110063353347

4.5.2 实例二

要输入「中华人民共和国」,除了第四字需要前两码外,其它字只用首码就是了。

image-20231110063419011

细心的读者一定会问,为什么第四字也只用首码呢?那不是更加简单、快捷吗?这是因为如果那样,四字词就失去顶功了,而四字词比多字词常用得多,多字词在中文里的占比很小,对输入效率影响不大。实际上,对于多字词来说,n字词用n+2键(含上屏的空格键),效率已经非常高了。

4.5.3 实例三

假设现在要输入「声笔系列码」,发现在输入sbxlim后,情况如下。

image-20231110063519891

由于之前输入过「声笔系列」,它在候选项中出现了,选择后情况如下。

image-20231110063559660

继续追加「码」字的两个编码,「码」字即出现在首选了。

image-20231110063637579

此时,如果后面还要输入「是」字,那么输入s就会将「声笔系列码」顶上屏幕,并造好该词。

4.5.4 实例四

最后再举一例,现在要输入「顶功输入高手」,发现在输入dgsrugs后,情况如下。

image-20231110063807187

没有该词,且候选项无用,于是继续追加末字两码。

image-20231110063921123

情况没有改观,再回头补充首字两码。

image-20231110063944764

「顶功」出现在了次选,选择上屏。

image-20231110064036523

「输入」也出现在候选项中了,用7选择确定。

image-20231110064131931

「高手」正好出现在首选中。如果后续其它字词如「的」的声母d,那么「顶功输入高手」就会被顶上屏幕,并造好该词。整个造词过程犹如行云流水,与常规的输入过程几乎是合而为一了。

4.6 终极的目标

纯顶是声笔拼音用户追求的终极目标。虽然求索的路途可能铺满荆棘,充满艰辛,高效输入的理想会鼓励用户不断前行,直到终点。有的用户可能从自由模式到固定模式到混顶模式,再到纯顶模式,按部就班,一步步缓慢地走来。有的用户可能跳过其中的一步、两步,甚至直接挑战纯顶模式,希望尽快达成目标。无论何种方式,都是无可非议的,觉得适合自己就行。

纯顶的内容其实并不复杂,归纳起来就是这八个词:简拼、补码、定位、调频、固定、顶屏、组合、造词。把这几个词领悟透彻了,并融会贯通在打字的实践中,您就斩获了纯顶的精髓。

极具讽刺意味的是,纯顶作为智能全拼整句优化而来的最终方案,既不是整句,也不是全拼,而且并不怎么智能!纯顶是对整句和全拼的彻底否定,甚至对所谓的智能也进行了部分否定。但是,纯顶是对人性的肯定,是对输入法主人的肯定,而不是对炫酷高技术的盲从。

以下单独把纯顶模式下字词的编码格式列出来,以便用户记忆规则,并与后述的讲解进行对照理解。

单字:sy^x'bb

二字词:ssy'^x"yxbb

三字词:sssy'^x"yxbb

四字词:ssss'^yx^"yxbb

多字词:ssssy(s'[yx])+"yxbb

4.6.1 简拼

简拼是提高拼音输入效率的第一要诀。要是每个字词都可以用拼音首字母输入的话,那该多么美好啊!可能读者会嘲笑这种幼稚的幻想。千万别嘲笑!只要应用得当,简拼发挥的作用是巨大的。

简拼可以大大地缩短码长。虽然不能达到幻想的一键一字,但是达到两键一字的目标是完全可能的,声笔拼音的纯顶模式就证明了这一点。两键一字已经比以快速著称的五笔字型的平均码长更短了。

然而,要能充分利用好简拼,首先得打掉重码这只拦路虎。对于三字及以上的词组来说,由于编码空间已经足够大,重码基本上不是大的问题,结合数字选重,一般就能解决问题了。但是,对于单字和二字词来说,就大不相同了。一码字空间只有20多个,即使加上10个数字来选重,也只能安排下两三百个汉字,而汉字有数万之多。二码词空间只有数百个,即使加上10个数字来选重,也只能安排数千个二字词,而二字词数量有几十万之巨,常用的也有数万。怎么办呢?

一个简单和直观的办法是翻页查找。这也是有的初学者输入重码字词的方法。可是,这种方法是应该坚决避开的大坑。频繁的人机交互,长期的“东张西望”,不断地搜索想要的字词,不久就会让人身心疲惫,苦不堪言,而且输入速度会慢如龟行。

正确的处理重码方式是,就像通过逐级索引来查词典一样,采用补充编码来快速找到所需字词,这就是接下来登场的纯顶补码法。

4.6.2 补码

如果在输入末字的第三码后,待输入的词还没有出现在首选位,那么可以观察其它候选项是不是所需的,还不是的话可以用Tab键翻页查找。这在重码少的时候是可行的,也许只要一次翻页即可。但是,如果重码非常多,就有可能多次翻页都找不到,而且一次有9个选项,很容易看漏。

所以,更好的办法是,在四码后继续通过追加编码的方式来快速筛选重码。怎么加呢?虽然最直观和舒畅的办法是接着输入第二字的第四、五码。但是,这么做的话,筛选重码的能力太弱,因为第二字已经输入了三码,后续笔画起不了多大的作用。其实,重点应该是对第一字加码,它才只有一码,加码后筛选重码的作用非常大。

为了回头给第一字加码,首先想到的就是定位。这时,采用声笔拼音初阶里的定位修改,可以避免翻页,甚至可以大大减少数选,但是需要多用几次定位键。能不能省掉这几次定位键呢?能!回头补码发挥威力的时候到了。

所谓回头补码,就是在末字输入了三码时,若继续输入aeuio则被当作对首字的补码,可以补充首字的第二至五码。而且,在补充完第五码时,就只会检索与首字同码的单字了,因为一般来说,词组的重码这时都已经查找完,需要开始构造新词了。在少数情况下,可能你并不希望这样继续补码,那么就可以通过手动定位来进行干预,也可以通过翻页查找继续检索后面的候选项。

当然,回头补码也是有代价的。特别是在使用的初期,会有颠三倒四的感觉,但是经过一段时间的训练和熟悉,完全可以变得非常熟练,最终达到无需思考的地步。实际上,定位修改也是一种回头补码,只不过省略定位环节后,回头补码的过程加速了,加上没有视觉上的提示,才显得比较困难。

比如,要输入「语用」这个词。在输入yyoo后,候选项里不会有该词,而且多次翻页仍然找不到,这是难以忍受的。然而,只要继续输入首字的第二、三码,「语用」就出现在首选了。

image-20231110064232804

image-20231110064341385

image-20231110064406276

如上图所示,虽然在补码的时候,光标仍然在末尾,但是补充的编码会被插入到首字已有编码的末尾。在二字词顶功输入表达式ssy^'x"yxbb中,双引号"后面的编码就是补码,表示它们会被回头地插入到首字已有编码的末尾。

由于「语用」在第一次输入时超过了四码,所以后续再输入它时,在动态调频的作用下,一般就只需要三码了,进一步在顶功的作用下,空格也省略掉,也就是说三键就可以输入,效率的提升极为显著。

在同音词很多的时候,很可能需要追加三码才可能避免翻页。比如,「榴莲」字在加了三码后才出现在重码词的首选。

image-20231110064500691

回头补码还有一个巨大的好处,那就是,在缺词的时候可以自然而然地进入构造新词的过程。 比如「声笔」一词,并非系统自带的。假设用户以为系统中有这个词,于是按照词组的方式进行输入。在回头补码一码后,发现已经没有词组,出现单字了。

image-20231110064549053

这时,候选项里正好有「声」字,选择上屏后,系统的提示如下。

image-20231110064631612

「笔」字正好在首选,如果后续有输入,还可以被顶上屏幕,同时也造好了「声笔」这个词组。可见,输入过程和造词过程是无缝衔接的,没有浪费任何操作。

4.6.3 定位

上节所讲的回头补码实际上是一种自动定位机制。但是,这种自动定位需要在末字输入了三码时才能发挥作用。有时候,并不希望等到末字输入三码后才补码,而是想在末字输入一码后就补码。这时,就需要采用手动定位了。手动定位使用数字1和0,其中1定位到首字编码的末尾,而0定位到末字编码的末尾,N次使用1则顺序定位到第N字编码的末尾。

例如,要输入「某些地方」,当按照简拼输入mxdf后,发现只有一个其它的四字词。

image-20231110064743601

可以判断,系统中是没有「某些地方」这个词的。如果用户知道「地方」是个二简词,那么最好就不要补码,而是连续按两次1定位到第二个字的编码之后,否则会产生一些无效的操作,不利于提高输入效率。

image-20231110064837932

发现「某些」还没有出现,于是追加一码。

image-20231110064859143

发现「某些」成为首选了,直接用空格选定。

image-20231110065001002

再用空格上屏「地方」,下次输入mxdf就会出现「某些地方」一词了。

image-20231110065036172

4.6.4 调频

补码解决了快速筛选重码的问题,但是却带来了很多字词的码长太长的问题。由于在纯顶模式下,单字和二字词的短码空间很小,码长问题显得特别突出。系统默认的字频和词频,对于一些普通常用字词,可能适合大多数用户。然而,每个用户都肯定会有自己的一套字词使用习惯,希望自己用得多的字词具有更短的码长。实时动态调频就可以做到这一点。

4.6.5 固定

当调频走向极端的时候,也会造成新的问题,那就是高频震荡。高频震荡是指短码位上的字词频繁发生变化,导致与人的条件反射或肌肉记忆发生剧烈冲突,需要随时监控候选字词,使得人机交互大大增加,不得不减慢击键速度,而且输入错误也因为习惯动作而大大增加。

一、二简码位的使用频率极高,在动态调频的情况下,它们发生高频震荡现象也就极为频繁。所以,声笔拼音在非自由模式下,首先固定了使用频率最高的21个一简字、105个二简字和441个二简词,以便用户在使用过程中对它们形成条件反射,以期大幅度地减少人机交互,提高平均击键速度和打字效率。

除了上述一、二简字词外,声笔拼音的非自由模式下还固定了大量的数选字词,包括168个一级数选字、837个二级数选字和3523个二级数选二字词,用户可量力而行地加以利用。

4.6.6 顶功

调频虽然可以调教字词频率,让用户经常使用的字词码长缩短,但是如果每个字词都需要像传统拼音那样用空格上屏的话,也是一件非常烦人的事情。特别是对于那些习惯了整句输入而很少用空格的人,更是难以忍受频繁的空格键击打。

能否在尽量缩短码长的同时又尽量省略空格键呢?声笔的秘密武器——顶功,给出了肯定的答案。在声笔拼音的纯顶模式下,可以做到单字两码起顶、二字词三码起顶、三字词四码起顶、四字词除第五码外也支持四码起顶,只有五码及以上词不能顶屏。

4.6.7 组合

在纯顶模式下仍然有一简字和二简词不顶屏,但是还是可以将它们组合起来一起上屏,从而进一步节约用键。

  • 一简字加一简字:yg;代替y_g_,可以输入「一个」。
  • 二简词加一简字:wmd_代替wm_d_,可以输入「我们的」。
  • 一简字加二简词:dsh;代替d_sh_,可以输入「的时候」。
  • 三个一简字组合:ygr'代替y_g_r_,可以输入「一个人」。
  • 二简词加二简字:wmyo;代替wm_yo_,可以输入「我们又」。
  • 二简词加二简词:gjdb;代替gj_db_,可以输入「国际代表」。
  • 二简词加两个一简字:wmjs'代替wm_js;,可以输入「我们就是」。

4.6.8 造词

在分词后进行全拼输入时,造词过程是自然和方便的,只需要一路进行字词选择就可以组成新的词组。然而,在纯顶模式下,首先输入的是简拼,怎么判断系统是否有所需的词并在必要时造词呢?

办法是,先顺序补末字两码,然后补首字的编码,在补码的过程中观察是否出现所需的词组。当候选中出现比所需词组更短的词时,说明系统没有所需词组。此时,若出现构成所需词组前缀的字词,则选中进行组词。在输入完首字的五码后,会自动进入单字模式,让用户选择与首字重码的字。如果首选字正是所需的字,则可继续补次字的编码,系统会自动定位。在必要的时候,也可以手动定位进行干预,如果这样更高效的话。重复以上过程,直至造好所需词组。

4.6.9 自定义

声笔拼音有一个名为pyzdy.dict的自定义词典,其中预置了大量的单字和二字词。这些字词是对第3节固定字词的进一步增强,用户可以根据自己的需要对它们进行修改,但是建议不要修改代码和权重,以免选择顺序失控。

(1) 单字

预置的单字有105个sx字和485个syx字,其中s表示声母,y表示韵母的首字母,x表示’456;,用于直接选择第二页的第1至5个候选项。如果用户记不住,可以翻页查看第二页的候选项。但是,请注意在翻页查看时候选项的选择键已经发生变化,不能再用’456;选择,而需用_2378,其中_表示空格。

例如,在输入z后,如果直接输入’456;将顺序选择「指资字坐掌」五个字,但是翻页后,显示的候选键却是_2378,当然这时可以用_2378选择,也可以退格后再用’456;选择,以便熟悉正确的输入方法。

image-20231128102118946

image-20231128102216557

再如,输入ze后的情况如下,选择方法与上例相同。

image-20231128103831492

image-20231128103845529

假如想把「证」字改为「针」,那么直接用文本编辑器打开pyzdy.dict文件,搜索其中的「证」字,并将它替换为「针」,保存后重新部署一下即可。

(2) 词组

预置的词组有1764个二字词,其格式为ssx,其中ss表示两字的声母,x表示’456,用于直接选择第二页的第1至4个候选项。如果用户记不住,可以翻页查看第二页的候选项。但是,请注意在翻页查看时候选项的选择键已经发生变化,不能再用’456选择,而需用_237,其中_表示空格。与预置的单字不同,预置的二字词没有用分号选择的,因为分号已被用于组合变换来输入两个一简字。

例如,在输入zy后,如果直接输入’456将顺序选择「怎样 重要 只要 主要」四个词,但是翻页后,显示的候选键却是_237,当然这时可以用_237选择,也可以退格后再用’456选择,以便熟悉正确的输入方法。

image-20231128105722500

image-20231128105736933

假如想把「只要」改为「终于」,那么直接用文本编辑器打开pyzdy.dict文件,搜索其中的「只要」字,并将它替换为「终于」,保存后重新部署一下即可。