跳到主要内容

声笔四拼:简拼词输入的巅峰体验

《汉语拼音方案》是国民基础教育的一部分,因此基于它的「全拼输入方案」也就成为了使用人数最多的输入方案。全拼不仅没有学习成本,仅从汉字编码的角度来看它也有很多优点。

首先,全拼有自然的音节切分界限,因此在连续输入音节的时候几乎不产生音节切分歧义,用户可以根据自己的习惯输入任意数量的音节进行音字转换。其次,因为音节界限的存在,只输入音节声母或者首字母时仍然能够被识别,这种输入方式称为「简拼」,简拼的使用明显缩短了码长。

同时,输入平台会学习用户的输入习惯,统计用户输入各类字词的频率,并以此来决定候选的排序,这被称为「动态调频」。「动态调频」和「简拼」这两个特性一结合,就产生了一个更有趣的特性:「动态码长」。例如,用全拼输入过某个长词之后,它就可以使用简拼来输入,而且往往能被简拼的首选所命中。

最后,输入平台还能够以音节为单位实现「自动造词」。用户以全拼或简拼方式输入一个词,如果发现它不存在于词库中,那么只需要在候选中依次选择构成这个词的更小部分然后上屏,输入平台就能够把这个词「造」出来。

当然,全拼也有一些短板,例如部分音节的拼式长、同音字多导致重码多等等。输入法界往往采取「双拼」、「音形码」等方式来解决这些短板,但是有趣的是,在解决这些短板的情况下同时往往也「磨平」了全拼的「长板」(例如,双拼是不能使用简拼的,所以也就没有动态码长的特性)。

【声笔四拼】输入方案则是完全反过来思考,即不是去补「短板」,而是去加强「长板」,让简拼、动态码长、自动造词这些特性发挥得更加极致,由此来确立自己独特的输入体验。

【配图:短板和长板】

基本规则

拼写:21 + 5 的规整拼写方案

我们首先对全拼的拼写方式做出一些调整,以释放它的更多潜力。

  • 声母方面,我们将 zh, ch, sh 三个卷舌声母分别用单个字母表示,零声母(即 a, e, o, w, y 开头的音节)根据介音的不同分别用不同的字母表示,使得每个音节一定开始于 bpmfdtnlgkhjqxzcsrywv 这 21 个字母;
  • 韵母方面,我们将 -n, -ng, er 等含有辅音字母的成分也用 aeiou 这几个元音字母表示;同时对介音与 a, e, o 结合的复合元音进行缩略;
  • 加上「阴阳上去轻」五个声调,同样也用 aeiou 5 个字母表示;

经过以上变换,我们就得到了以下奇特的效果:

  • 每个带调音节为 3 ~ 4 个字母
  • 第一码一定是辅音字母 bpmfdtnlgkhjqxzcsrywv
  • 后面的一定是元音字母 aeiou
  • 完全按照声母 - 介腹 - 韵尾 - 声调的顺序分解,音素和编码一一对应,没有冗杂的正字法

如:双 sh + ua + ng + 阴平 = viei

分词:一致、激进、个性化

全拼输入平台允许用户输入任意数量的音节,这虽然是一种自由,但也带来了一定问题。如果长句音字转换发生错误,则用户需要花不少时间来选择修正,然而对于这个长句来说用户却很少会再次输入一模一样的句子。而真正有重用价值的、包含在长句中的短句和词语,却没有被输入平台学习。

【插入一个可重用性差的例子】

如何解决这种不一致性呢?我们应当按照相对固定的分词边界、将长句拆分成短句和词语来输入,这样一方面可以减少修改的时间,另一方面可以让输入平台造出符合自己心意的词,或者把词频累加到正确的词上。

当然,如果直接在现有的输入平台上这样操作,可能会导致多出了很多不必要的空格,所以用户往往不愿意这样输入。但是您很快就会发现,在这个框架下,这些空格居然是可以被省略掉的!

简拼:简拼优先、长码后置

虽然全拼具有简拼、动态码长的特性,但是大部分拼音用户对简拼的利用仅限于极少数的字词,并没有充分发挥简拼的威力。这主要是因为,如果输入简拼之后,首选不是想要的词,甚至第一页都没有,那反而需要更多的时间来寻找想要的词。

所以,据我观察,大部分拼音用户采用的策略是:只尝试对词语的最后一个字简拼;观察候选框,如果简拼命中,就击空格上屏;否则就补全全拼再看。这种策略无疑是实用的,但是这就丧失了前几个音节简拼的潜力。

声笔四拼采用简拼优先的策略,力求最大程度利用简拼。它的规则是:

  • 所有词都先打简拼
  • 如果首选未命中,继续输入词的最后一个音节的 2 码
  • 如果首选仍未命中,回头给词的第一个音节补 2 码

这种方式增加了一次看候选的麻烦,但是却大大提高了简拼的利用率,因为前几个音节在未回头补码之前一直处于简拼的状态。换句话说,这种打法可以让用户总是以「恰好能识别出这个词的最少码长」来输入这个词。

并且,在这种状态下,由于假定用户是一直观察候选框的,所以之前已经在首选出现过的字词,在补加了更多码之后就可以后置,来给别的词让出空间。

拼写 + 分词 + 简拼 = 顶功

回顾一下上面的改变:

  • 拼写的改变,使得一个音节的编码总是以辅音字母开始,元音字母结束;
  • 一致性分词使得几个音节组合在一起共同编码;
  • 简拼优先再补全末音节和首音节的规则,使得一个词的编码总是以辅音字母开始,元音字母结束;

所以,如果在元音字母之后又有辅音字母出现,那必然是属于下一个词的编码。所以词和词之间有自然的界限,无须空格确认,下一个词的编码可以把上一个词的编码「顶」上屏幕:

不是整句却胜似整句的、精准连续的输入体验!

高级功能

除了这些基本的功能之外,声笔四拼还有一些有意思的功能,进一步提高了输入效率和体验。

固顶

前面说到,动态调频、动态码长可以学习用户的输入习惯,降低码长。但是,如果连一些很高频的词语也随时变动,则用户难以形成条件反射,常常有颠三倒四的挫败感。所以,声笔四拼选择把少量(1000 个左右)高频词固定下来,不随着调频变化,这称为「固顶词」。

如:v = 是,vi = 时,vie = 十。无论其他读 shi2 的字怎么调整,都不会取代上面这些字的简码地位,所以可以放心输入。

固顶词并不仅仅根据词频选择,在语义上也有一定的规律:

造词

  • 直接选重来造词
  • 定位之后选重来造词

总之,这种造词的办法不浪费任何已经输入的编码!

略码

在汉语中常常出现一些带有重复或者插入成分的结构,如:

  • 吃吃,蹭蹭,锤锤
  • 尝试尝试,可可爱爱
  • 打打牌,打打篮球,吃饭饭,睡觉觉
  • 弄不弄,剪一剪,跑的跑,跳的跳,可爱不可爱
  • 吃着吃着,滑来滑去

对于这些词语,声笔四拼采用「基本词形」+「符号或大写字母」的方式变换输入,不仅节约了码长,而且避免了「这些是不是词、要不要打」的困惑。

更多功能

限于篇幅,很多有趣的功能在这里还没有介绍,例如以词定字、辅助码、反查、重复上屏、符号、lua 脚本……您可以移步声笔四拼的官网介绍页进一步了解。

评测

下面我们来从一些技术

在实际使用中,由于个人所使用的词汇量远远小于社会整体的词汇量,再加上个人有针对性的自动造词和调频,声笔四拼常常能打出 1.6、1.5 键/字甚至更低的码长。

总结

声笔四拼是「真正」的全拼,是「完成版」的全拼。它以整齐的拼写为基础,以优雅的分词为特色,以高效的简码为利器。