Skip navigation.

Log in | Sign up

photo of yumumao

yumumao's 水水 Blog(暂停更新,看文章请用代理)

在每一个夜里我从梦里惊醒,看到我的心,他正在向前冲。      

Posts tagged with "辅助码"

对几种音形码重码率的统计

, , , ...

今天看到有人在拼音加加的论坛上发帖推荐自己的辅助码,其中说到“**辅助码的单字重码组为500组,小鹤双拼的单字重码组为900左右,酷极晚风的重码组为485,其它如搜狗的重码组较多,无法统计”。因为晚风和小鹤我都使用过,使用感觉和帖子里所说的结果有出入(leybyr也说过小鹤的单字重码率和晚风的应该是差不多的),我就自己统计了一下,结果还是很有意思的。以下统计都是用Excel做的。

先统计单字重码:

晚风
全码单字共 7747字
二字及以上重码 440组
三字重码 34 组
重码的次数 474次
单字重码率 6.12%

鹤形自然双拼版
全码单字共 7394字
二字及以上重码 433组
三字及以上重码 34组
四字重码 3组
重码的次数 470次
单字重码率 6.36%

自然风(1)
单字共 7816字
二字重码 1362组
重码的次数 1362次
单字重码率 17.43%

自然风(2)
单字共 8911字次
二字及以上重码 720组
三字及以上重码 44组
四字重码 15组
重码的次数 779次
单字重码率 8.74%

注:
单字重码率=(总字数-单字全码中互不相同的编码数)/总字数,如:12=a、12=b、12=c、34=d、56=e,则总字数是5,互不相同的编码为3种,重码率=(5-3)/5;
全码指四码;
“二字及以上”指同一编码下至少含有两个单字,其它类推;
如果同一编码下有N个字,则记N-1次“重码的次数”,同一汉字不重复计算;
晚风没有三字以上的重码,鹤形最多四字,晚风统计时只考虑全码,未包括一二级简码单字;
鹤形码表音码部分所用为自然双拼,但鹤双拼的结果和这个结果相差无几;
自然风编码并不是每个字都有确切的全码,所以按两种编码方式统计;
自然风(1)编码方式按照“三码有该字则四码不编码该字”进行。故没有重复编码的字,同一编码下也没有二字以上的重码。
自然风(2)有重复编码的情况,故用“字次”来代替字数。这种方法所用编码条数(指不重复的编码条数)增加,降低了重码率,但同一编码下可能有三、四字的重码。

结果显示,leybyr说得对,单字重码率晚风和鹤形编码是差不多的,晚风相比自然风是提高了很多,且最大的进步是编码更规整了,所有单字都有确定的全码。
晚风还有一个特点没能在统计中体现出来,那就是晚风的一二级简码(打一到两个音码,再用“,;/.”四个符号做笔画码上屏,也可以用全码的前三码加一个笔画码上屏),如果把固定的常用字专门用简码输入去除产生重码的全码,晚风的单字重码率完全可能降为0。但这样做就需要增加一定的记忆量了。

仅仅降低单字的重码率还是不够的,我们实际输入的时候不可能完全使用单字,而是以二三四字词为主。这些音形码的二字纯音码和单字全码存在很多重码的情况,于是我又统计了一下它们的编码重码率。

晚风
统计编码共 85074条
两项以上重码 4039组
三项以上重码 404组
四项重码 36组
有重码的编码 4039条
编码重码率 4.75%

鹤形自然双拼版
统计编码共 75039条
两项及以上重码 15150组
三项及以上重码 2756组
四项及以上重码 670组
五项及以上重码 212组
有重码的编码 15150条
编码重码率 20.19%

鹤双拼版
统计编码共 69504条
两项及以上重码 7182组
三项重码 7组
有重码的编码 7182条
编码重码率 10.33%

自然风
统计编码共 103043条
两项及以上重码 11849组
三项及以上重码 1185组
四项及以上重码 576组
五项及以上重码 399组
有重码的编码 11849条
编码重码率 11.50%

注:
编码重码率=需要键选的编码(该编码下出现一个以上的候选项目)数/总编码数
“两项及以上重码”指同一编码下至少有两个键选项目,其它类推;
“有重码的编码”指同一编码下含有一个以上的键选项目,不包括一个。
晚风编码同一编码下最多只有四个键选项目,鹤形七个,自然风十个;
晚风编码的统计包括一二级简码单字;
各个输入法所用词库不同,但基本上是7-10万的常用词库,绝大多数为二、三、四字词(包含单字),编码绝大部分控制在4码以内,晚风部分词有准第五码,即符号笔画码。鹤形自然双拼版的码表未做优化,其它码表都是经过优化的。
这个统计和词汇及词汇辅码的实现方式有很大关系,不同的统计方法对结果的影响可能会很大。

词重码可以通过编码重码反映出来。不过这个重码率受到很多方面的影响,不仅仅是编码规则的效率,所选词汇、码表的优化等等关系都很大,鹤形自然双拼版高达20%的重码率并不是真实反映,因为这里面有很多非词、低频字、三字词三码简拼等,码表优化之后,粗略估计,重码率能够下降到10%-15%之间,还有很多是纯音码,进一步优化码表就很难估计。所以我又统计了鹤双拼的码表,这个码表声码部分是鹤双拼方案,码表是经过优化的,编码重码率就降到了10%,而且三项重码的仅有7组,剩下的重码全部是两项,这样的码表即便有重码,键选效率也应该是非常高的。

相比之下,自然风键选的项目就偏多了,如果按照类似算单字重码率的方法来算,都不做优化的情况下,自然风的重码率应该会高于鹤形自然双拼版。表中的反映不明显,如果做一个曲线就看得出来,鹤形自然双拼版的键选项目数主要集中在三个以内,曲线从4开始陡降,而自然风4-7的曲线随项目数增多并没有明显降低。

酷极晚风的编码效率真是强到“不像话”,编码重码率还不到5%,很大程度上得益于词编码规则中的“笔画简码”,就是用词的末字首笔所代表的笔画码(“,;/.”四个符号)来上屏,比如“好使=hkui/”,这样二字词的编码就丰富了,重码率就大大降低了。严格来讲,统计的时候把笔画码完全按照一位编码来对待,这对其它编码是不公平的,笔画码实际上也是一种键选方式,只是这种键选一般不用看屏幕。
如果鹤形采用五码输入二字词重码也会大大降低,但是效率还是不如晚风的这种方式,因为笔画码是做“上屏键”而并不等同于增加一位编码,如果你了解拼音加加的“三重码”技术应该更容易理解这个“上屏键”的意义。不得不说,晚风的这种符号笔画码的设计非常强。

综合起来看,三种编码中最适合“盲打(不键选)”的编码当然是晚风。但日常输入的效率就不好说了,以上的三种编码都很优秀,自然风虽然重码略高,特别是单字能力不够强,但它的编码规则最简单,拆字速度是最快的,最大的缺点也是由于规则简单而带来的全码不确定性。如果仅仅做间接辅助码,它的效率也很好。

晚风和鹤形的编码规则都比较严谨且看起来有些象,都是首尾取码,他们很多部件的编码也相同,但他们的拆字理念其实有蛮大的差异,举个例:豫,晚风的编码为“yuyx”,形码拆成“予”和“象”,鹤形双拼版的编码为“yusn”,首尾形码为“”和“捺”。看得出,晚风和自然风还是更接近的,而鹤形的规则简单地说就是首尾取小字,先看取到的部件是否独体字,是就取,如果不是,看是否部首,如果都不是,则取笔划。拆多了就会发现,虽然晚风的方式更容易学习,但鹤形的方式其实更规整。再看一个字体会一下:森,晚风取部件为“木”和“林”,鹤形取部件为“木”和“木”。意会一下(*^__^*)。如果要提高单字的输入效率,晚风把记忆量放在了简码上,这样做可以减少重码。而鹤形把记忆量放在了独体字上,这样可以提高拆字速度。哪种方式适合自己,这可能就见仁见智了,从我的体会来看,如果不是为了盲打,拆字速度的提高可能会更有帮助,这也是我最终选择鹤形的原因。我要啦免费统计

还有一点需要说的就是这个编码重码的统计,参考价值是有限的,在同为音形码之间比较比较还可以,和全拼比较就不合适了。实际上用类似的统计方法,纯拼音输入法选择常用的6、7万词,重码率甚至可以低到15%-10%(不包含单字),因为相同编码下可能有很多重码,但大多数时候你只会用其中的一两个,把不常用的去掉,剩下的重码率就很低了。但这样的方法用在提高纯拼音输入法盲打正确率上并不合适,因为这样一来,次常用和不常用的词就只能用单字输入,而纯拼音单字常用7000字的重码率高达95%(如果加上罕用字,重码率就是100%,翻翻新华字典就知道,有几个读音下只有一个字的)。

要提高纯拼音输入法的“盲打(不键选)”正确率,更好的途径应该是优化词序和加强上下文联系(智能组词、整句智能性等等),而增强上下文联系就需要更大的语料库和更全的词库,这样一来,重码率就难以低下来了。事实上,音形码无重码的部分可以100%正确,有重码的部分也可能做到很高的不键选正确率,而单字的重码率更是大大低于纯拼音输入法,这使得音形码比纯拼音输入法更适合“看打”。日常使用中我们更多用的是“想打”和“听打”,并不要求重码率有多低,所以完全用音形码输入看来意义也不大,大部分音码输入的过程中,通过形码辅助来提高键选的效率这就很好了。

以我的看法,字词输入法的发展方向是添加提高键选效率的辅助方式和低重码的单字输入方法,而纯拼音输入难免会向整句智能的方向发展(或者其它智能方式,但目前通过上下文联系的整句智能是一个比较好的方式)。目前,加形辅助输入方式的字词输入法发展得更好,准确率可以明显高于纯拼音智能输入方式,而纯拼音智能方式(整句智能输入法为代表)最大的好处就是不用额外的学习,准确率也够用。整句智能输入法虽然也能用字词的方式输入,但目前这两种发展方向是分化了的。就像前面说到的,整句智能的发展牺牲了低重码率的追求,它主要通过智能来降低键选次数从而弥补高重码率带来的问题,而字词方式需要在一定程度上降低重码率来提高键选效率。简单说,他们提高输入效率的方法,一个是降低键选的次数,一个是缩短每次键选的时间。虽然字词方式也可以加强智能性,整句智能方式也可以强加字词模式,但现在还没有找到很好的方法把这两种发展方向整合到一起。

附::star: 晚风全码单字.txt

换用鹤形辅助码

, , , ...

昨天换用鹤形辅助码了,正在熟悉中。鹤形编码和自然风还是有些相似的,很多部件的编码相同,上手不难。不过拆字规则不同,是首尾取部件,这一点和晚风类似。鹤形的编码比自然风要规整得多,每一字都有全码,严格按照规则的话,争议的编码很少。相比之下,自然风就编码规则就很不严密了,比如“刘”字按照自然风编码,“lqwd”和“lqdw”都是可以的,这样的字还不少。这正因为这个问题,自然风编码被作者放弃了,开发了新的晚风编码。

现在拼音加加能够自定义辅助码了,如果仅仅作为辅助码来使用而不是单独的输入法,自然风的这种拆字的“随性”在某些时候反而成了优点。自然风很多时候只要知道大概的字形就够了,不一定要知道确切写法和笔划顺序。比如“蠹”字,就算你不记得上半部分怎么写了,只要知道它里面有个“虫”,就可以用“dui”输出了。再比如“为”字,如果你不记得是先写“丶”还是先写“”,取明显的部件“力”,用“wzl”就可以输出了。这种取明显部件的办法使得拆字速度很快,如果使用音码输入时偶尔用形码辅助,这样的拆字方式可以最大程度地避免思路被打断。但缺点也是明显的,取码的不确定性影响了速度的进一步提高。

试用了一下鹤形,觉得作为拼音加加的辅助码挺合适的,编码规则更加严密,引进独体字的方式拆字也很直观,只是更加严密的规则一定程度上使得拆字的思维速度变慢了,但是只要用了形码,听打和想打的时候都难免会影响思路,关键在拆字方式的直观性和熟练程度了。所以形码在看打的时候有优势,而听打的速记,一般都用音码。而音形码兼有音码和形码的特点,如果使用得好,可以找到一个比较好的平衡点,在日常的使用中获得高效率。

本来也想过用晚风编码,它和自然风一脉相承,很多字是类似的,只是更加规整,每个字都有四位的全码,但它的全码重码并不比鹤形的少。另外它使用了笔划简码的方式来输入单字,这个方法虽好,但用符号作笔画码会和加加的一些功能键冲突(比如,。翻页)。加上末字首划的词编码方式和单字编码规则不同,要在加加里实现需要大量的自定义编码,而我并不想完全换用音形码,只是想在纯音码下偶尔用形码辅助来减少重码以提高键选效率和单字输入效率。选来选去,还是鹤形更加合适一些,从自然码过渡也很容易。音码部分还是继续用自然码,鹤双拼虽然好,但换双拼方案太痛苦了(-__-!)……

唯一的问题就是部分单字的全码会和常用词冲突,jiie=机车/辑,所以我把前三码全部做了自定义编码,让前三码能出全码字,然后排好字序,让常用字在前,这样用jii就能输入“辑”字,反正我用三码完全是为了输入单字,现在加加的自定义辅助码也支持这种输入方式,并不一定要通过自定义编码。我希望加加下一个版本能支持五码输入二字词(声韵声韵辅),这样单字全码和二字词的冲突就解决了。我要啦免费统计

鹤形辅助码::star: hxfzm.txt
自定义编码(声码部分为自然双拼)::star: 鹤形自定义.txt
供拼音加加输入法使用。这个自定义编码小鹤的网盘里也提供了一个,但我发现那个编码没有把全码提供全,我就按照辅助码编了辅助码中每个字的全码和三码。
酷极平台下的自然双拼版小鹤::star: http://www.box.net/shared/hpnyfxtq3f

补充:

形方案是因为原来风形第四码的不清晰,使得无法把单字的效率再提升一步,而希望改变的。对于晚风的形还是觉得复杂了点,会有不少成字字根不认识,还有为了避免重码的同声母次大字,都让人不能满意,标点笔画码增加了简码,也增加了记忆量和难度。

今天才看到老鹤在留言板里发的帖子,看来我的印象是对的,鹤形和晚风一样,都是从风码的基础上发展来的,他也和我一样不习惯笔画简码。对于我来说,偶尔作为辅助码来使用,增加记忆量对于效率的提高并不明显,晚风就不如鹤形实用了。

对于全码和二字词的冲突,还是可以通过优化自定义编码(和/或置顶)来解决的,我取消了一千八百多个全码的自定义,三码的时候在前两位的字就没有必要出全码了,再把第二位的字适当置顶到二码和单字母的首位,单字的输入就方便了很多,又基本上避免了定义完全的全码和二字词的冲突。

比较好用的鹤形定义编码词库和自定义辅助码:http://files.myopera.com/yumumao/files/鹤形编码.rar

风码单字编码

, , , ...

风码的单字编码是在自然码双拼的基础上,加上1-2个辅助码形成的,添加辅助码后,每个编码最多只有两个重码。

对于那些可以自定义编码(搜狗的自定义短语也可以)的输入法,如果你使用的是自然码双拼,就可以把风码的单字编码添加进输入法里,这样一来,单字的输入会快很多,特别是有一些特殊需要的时候,比如你经常输入人名,而大部分的普通人名在词库里是没有的,这个时候,你用风码的单字输入就会快很多。

比如,你需要输入“罗大礼”,利用风码,“罗”=“los”,“大”=“daa”,“礼”=“lip”,输入相应编码后,你所需要的字就排在第一位了。当然,对于这几个字,优势还不明显,对于那些排在后面的字,添加辅助码之后,能够让它们迅速跳到前两位,这样一来,输入人名就不愁了。

不仅如此,在输入一些单字的时候,它不一定在第一位,这个时候加上辅助码,那就根本不用看候选,直接按空格上屏就可以了。下面是风码字根表:
;风码是部件字根,自然码是成字字根,风码是二分法,自然码是首尾。
;风码辅助码规则:将字分成两部分上下或左右(若该字分多部分,则用前两部分),常
;用部首优先,然后取另外一部分的首码。若无明显部首,则分别取两部分的前一部件的
;码,部件取大不取小。
;========风码字根表========
;a 丨一 鱼 页
;b 白 八 (丷)冖 宀(穴) 疒 贝
;c 寸 艹 廾
;d 大 丁 刀 刂  歹 丶 水 氵 冫 豆
;e 二 耳 阝 卩 山 屮 彐 肀 儿
;f 扌 丰(包含“寿、带”字头)  方 风 缶 父
;g 广(麻) 光 弓 戈 工 骨 革 瓜 鬼 ㄅ ㄋ 勹  乙
;h 禾 户 虎 虍 火 灬  黑
;i 厂 虫 车 齿
;j 金 钅 巾 几 九 见 角 斤
;k 口 匚 冂 凵
;l 六 立(立字头,即“立”字少了下边的一横) 力 鹿 耒
;m 木 毛 米 门 马 皿
;n 捺 女 牛  牜 鸟
;o 日 月 目
;p 丿 礻衤 皮 片 彡
;q 气 七 犬 犭 欠 前字头
;r 人 亻 彳  入 肉
;s 纟糸 三 厶  四 罒
;t 土 田
;u 十  石 尸 食 饣 士 矢 鼠 手  身
;v 小折 フレㄥ   止 爪 爫
;w 文 王 攵 瓦 五 亠(叫文字头)
;x 乂 西 小 忄  心 血
;y 言 讠又 酉 羊   羽 衣 雨
;z 子 走 足  廴 辶
;字根大多是按部件发音来的,但有若干例外字根:
;a 丨一 鱼 页
;e 山(及“彐”等)
;f 扌
;o 日 月 目
;p 礻衤
;x *号
风码码表:点击下载我要啦免费统计

搜狗拼音的自定义短语功能

, , , ...

最近搜狗拼音很火啊,我也试用了一下,还是不错的。

搜狗拼音现在没有提供辅助码功能,但我们可以通过它的自定义短语功能来添加风码单字,从而实现部分单字的辅助码功能。
也可以利用这个功能,实现单字固顶的功能。

搜狗的自定义短语不能成批导入,但可以找到其安装目录下的“Phrases.ini”文件。把风码单字的编码复制进去(按照“编码”“空格”“半角等号”“空格”“单字或短语”这样的格式添加),存成ANSI的文本ini就可以了。

同样的,把单字的按如下格式添加,就可以实现单字固顶:
……
b = 不
b = 把
b = 比
……
这个自定义短语的编码长度没有限制,但有条数的限制,似乎只是10000条。
本来我想把GBK汉字的笔画输入码添加进去的,但受到条数限制,后面的字无法支持,只能放弃。
我的:star: Phrases.ini文件

从目前的形势来看,搜狗很有可能会添加辅助码功能了,就是不知道搜狗今后的版本会不会进一步加强自定义短语功能,比如可以添加成组的符号,可以成批导入,放开条数限制等等。如果真的是那样,用户们又可以有更多的选择了。

搜狗输入法现在也有便携版了,只是设置的移植没有加加那么方便,用户配置是在注册表里的(HKEY_CURRENT_USER\Software\SogouInput),用户词库可以导出,本身的词库并不开放。
提供一下搜狗输入法便携版的下载:

  1. :star: “我的”SogouInput(4.89M,添加了一些自定义短语,如“风码单字”。还添加了一些词汇,主要是医学相关词汇。)
  2. :star: ICE的便携版(3.85M,还挺好用的,没有管理员权限也可以使用,o冰冰冰o的空间下载而来。经证实,该作者Ice曾经把★黑兴工作室★制作的拼音加加便携版修改了作者名后重新发布。详情请点击这里
不管怎么说,百家争鸣、百花齐放,对于用户来说,是一件好事。我要啦免费统计