小白如何理解 Rime 输入法的优秀?
作为集齐了超多震惊值的我,可以告诉你,在我写这篇文章的时候我已经试用完了他们,并让AI做了总结,没错万象拼音就是那一束光,就像理想照进现实一般,带给我们惊喜,并非拉踩,实在是过于惊喜,想要分享出来,因为在这之前我看到万象readme写的全方位的提升我就觉得是空话,但万万没想到是真的。。。
第一个板块,词库:
- 编码: 这个里面只有万象有些特点,他居然使用了带声调的编码作为基础,而其他词库都是常规的无声调的编码“阿爸ā bà575”
我对这一点的态度是添彩,但可能不必要,我不知道,词库是这种编码为啥能打出来字,希望懂行的朋友补充因此我给万象1.5分,其余各得1分;
补充:在后续的研究中我发现万象将这些带声调的编码通过rime的正则可以用于输入声调,还能显示到编码的区域和注释的区域,因此这里我觉得怎么着也能再得1.5分吧 - 词序:其实这个说法不准确,在拷打AI的时候更多提及的是词频这个词,他不是简单的排序问题,而是涉及到rime中“最优路径组合”算法,这里蒙圈,总体意思是能够让组句更好,经过查看词库,发现雾凇是部分有词频,但准确度不行,白霜是基于语料进行了词频统计,词频好一些,而万象则是号称采用了归一化平滑算法,在语料统计的基础上,将数字压缩到1000以内,让那些锋芒毕露的高频降低,让低频稍微高一点,经过拷打ai,这会对于组句有更好的体验提升,相关说明见“rime-lmdg”仓库。然后我使用百度输入法、搜狗输入法作为对照组,输入了30个词汇的音节,发现万象、白霜候选排序中一致性较强,但更强的还是万象,我发现白霜有一些遗漏,就像最近补齐的“是的”的词频。这里为啥没提及 薄荷和魔然呢,我发现薄荷后来基于了万象,魔然基于雾凇词库(魔然最强的实际上是字词库,这个后面再聊),最后万象3分,白霜2分,雾凇1分
- 词片段:在使用搜狗的20年我就知道词片段的重要性,要不是某些原因我是不会接触rime的更不会了解到调频词的内在原理,这里非常主观,我在使用雾凇的时候总是打空,在使用魔然的时候我发现他比雾凇强,不是一样的词库吗,后来我发现魔然似乎调用了rime的八股文词频,我猜想可能出这个缘故,词频好能补齐一部分 1+2个字的组合,因为他们在单字和词组都是首选,有组合到一起的基础,其次魔然还有繁体字版本,点赞!白霜效果排行第二,他的词频无疑是优秀的,就如同readme所罗列的那样。而在万象我发现他除了词频好之外,他甚至帮我们托底了,在词库中,我发现了大量的”我曾经“”在后续“”你搜搜“等等不计其数,别的词库也有,但是全面性差很多,这类型的片段动不动就会打空,从词库相同片段的数量来看万象有60多万,234词组基础库就有140万多,我以为这很冗余,打开细看才知道,这真的像他说的是一个精炼过的词库,里面没有我一眼看上去的废词,反观雾凇
“曾见到 ceng jian dao 100
层见叠出 ceng jian die chu 100
层见迭出 ceng jian die chu 100
曾建立 ceng jian li 100
曾建议 ceng jian yi 100
曾教导 ceng jiao dao 100
曾教授 ceng jiao shou 100
曾叫嚣 ceng jiao xiao 100
曾经爱 ceng jing ai 100
”
那是zeng教授啊,这倒没什么或多或少人维护得总有错漏,最关键的怎么都是100,这是词频?
整个国家都洋溢着乐观向上的氛围 zheng ge guo jia dou yang yi zhe le guan xiang shang de fen wei 100
远方的星星请为我点盏希望的灯火 yuan fang de xing xing qing wei wo dian zhan xi wang de deng huo 100
麦当劳培根蔬萃双层牛堡超值套餐 mai dang lao pei gen shu cui shuang ceng niu bao chao zhi tao can 100
天地人鬼神佛魔畜慑镇遁物化阴阳空 tian di ren gui shen fo mo chu she zhen dun wu hua yin yang kong 100
华语科幻星云奖最佳长篇小说金奖 hua yu ke huan xing yun jiang zui jia chang pian xiao shuo jin jiang 100
麦当劳双层原味板烧鸡腿麦满分组合 mai dang lao shuang ceng yuan wei ban shao ji tui mai man fen zu he 100
通过双光子跃迁干涉重建阿秒光脉冲 tong guo shuang guang zi yue qian gan she chong jian a miao guang mai chong 100
全球华语科幻星云奖最佳长篇小说金奖 quan qiu hua yu ke huan xing yun jiang zui jia chang pian xiao shuo jin jiang 100
国务院关于加快建设全国统一大市场的意见 guo wu yuan guan yu jia kuai jian she quan guo tong yi da shi chang de yi jian 100
年度美国奇幻科幻协会星云奖长篇小说类 nian du mei guo qi huan ke huan xie hui xing yun jiang chang pian xiao shuo lei 100
应对新型冠状病毒感染的肺炎疫情工作领导小组 ying dui xin xing guan zhuang bing du gan ran de fei yan yi qing gong zuo ling dao xiao zu 100
应对新型冠状病毒感染的肺炎疫情工作领导小组办公室 ying dui xin xing guan zhuang bing du gan ran de fei yan yi qing gong zuo ling dao xiao zu ban gong shi 100
这样的东西留着有什么用吗?
同样的再看万象,读音正确,这声调真的看见及其舒爽
曾教授 zēng jiào shòu 160
曾锦春 zēng jǐn chūn 105
增进了 zēng jìn le 237
赠旧识 zèng jiù shí 4
增距镜 zēng jù jìng 148
再看词频,两两同音节的都有词频的差异,:
从没问 cóng méi wèn 34
从没下 cóng méi xià 42
从没想 cóng méi xiǎng 49
从没向 cóng méi xiàng 44
从没学 cóng méi xué 37
从美学 cóng měi xué 28
这就能看出万象深刻的地方,长词统一为1,因为长词读音重合的几乎很少,当然也会有
不断的强化 bú duàn de qiáng huà 1
不断的升级 bú duàn de shēng jí 1
不断地实践 bú duàn de shí jiàn 2
不短的时间 bù duǎn de shí jiān 1
不断的刷新 bú duàn de shuā xīn 1
除了“地”能够被正确注音,在于重码的情况下,词频标记了2, 这就意味着“不断地实践”会被排序到前面,这是渗透在细节中的。 万象3分 魔然 2分 雾凇2分 白霜2.5分 其他2分 - 的得地:拿这个举例,从万象的GitHub提交能看出很注重这方面的维护,查看雾凇存在的词条多数也能正确注音,就是个别还保留着“的”场景,可能是为了兼容,但实际上没必要,此外还缺少一些 得 地词汇,多用的,其它就不用说了词条上都是等同于雾凇作为上游 万象3分 雾凇2.5分 其他2分
渐渐地 jiàn jiàn de
坚决地 jiān jué de
非常地 fēi cháng de
使劲地 shǐ jìn de
善意地 shàn yì de
深刻地 shēn kè de
十分地 shí fēn de
贪婪地 tān lán de
坦然地 tǎn rán de
体面地 tǐ miàn de
这些都能正确注音,且词库中没有“的”
看得上 kàn de shàng 475
看得少 kàn de shǎo 178
看的书 kàn de shū 535
看得爽 kàn de shuǎng 156
看得透 kàn dé tòu 239
看得我 kàn de wǒ 334 - 细胞词库:
白霜具有细胞词库,但也似乎是简单收集了几个,也没有热门细胞词库,万象是缺少游戏和二次元方面的词条,看issue作者应该是个老登,不太注重这方面,不过看到了推荐“萌娘词库”其他方案没有涉及细胞词库,其实细胞词库可以通过第三方转换拿到,我更看重的是基础库是否好用,白霜2分 万象1分 其他0 - 语法模型:
语法模型是对上下文加权惩罚的预训练gram模型,这个貌似只有万象做了,魔然预设了rime官方的迷你版本,这块我没找到评价方法,搜索到的帖子似乎对个别语句加成明显,由于缺乏基准就不评价了,不过有就值得加一分了,万象1分 其他0
第二个板块,功能:
写到这我想更加主观一些,因为我发现在对齐rime处理器功能的引入下,采用AI分析,我不懂,既然是AI说的你们也拿去分析也会得到相同的结果。
- 雾凇中基本上是一些非常基础的小功能lua扩展,还存在加载到内存,方案中写清单等等缺乏开发设计的功能,诸如冻结词条 真有人用用量大了就会非常占用内存,这都是lua表,整体看起来功能非常轻量,真用就不那么轻量了。
- 魔然,真的是维护librime代码,懂程序就是牛逼,有的人说什么lua卡,那个一方面是自己不会写一方面是AI不会写,毕竟rime资源很少,整个扩展设计结构合理功能分布和代码分布合理,moran,lua中汇集了通用函数,还有解构简码表翻译器与传统翻译器的构建,看描述能够实现非常精细化的调度,我不打简码有点看不懂,还有字符集过滤,时间相关等优质功能。可以说非常 nice,最牛逼的当属简码造词的这个功能,可惜我不会用字词方案,要不然这会很美妙
- 万象的扩展这是又一个带来惊喜的地方,万象也有类似moran.lua,叫wanxiang.lua里面也有一些预设的函数,万象给我的感觉真的是在开发新功能,好多功能拿出来开发成c++照样可以服务其他方案或者说前端用户,光按键事件的地方挂接的都是集成度很高的功能,配置中又能通过配置开关来启用和停用,在翻译器阶段,对shijian 计算器等都有深度的开发,我从未见过这么复杂的计算器看起来啥都能干,时间除了基础的还能计算节气、节日、问候,最关键的是神级设计的自定义配方案中就能轻松设置,滤镜中更是个个出彩,别的方案都用的OpenCC,他自己弄了一个replacer,平替OpenCC还多了很多功能,说实话那个readme写成那个样子怕不是因为功能太多不好描述?人家别的不咋写是外部有个官网,他这个是wiki不像wiki非常笼统,说到这 先扣掉-2分,回到正题,说归说当你打开方案文件仔细研究你就会发现功能设计环环相扣,英文lua负责英文相关句子的处理,超级注释完全接管了注释和编码的第一阶段处理,不用写方案冗长的正则,然后想显示辅助码、想显示声调都能开关控制,当第一阶段处理完成,replacer还能在第二阶段再次加工注释,我总感觉我说不清那个精妙,简繁转换、候选emoji等等都通过这个完成,就是缺少了颜文字,嘿嘿我通过自定义一个也实现了。其实非常简单,然后最后跟了一个处理器,有一些符号包裹,托底,候选类型标记的功能,还有输入后反查,就是像手心按下tab可以输入辅助码了,这个是按`的比较多,看描述也是及加重最强的。还能手动排序,还有一个上下文调频自学习的lua,同时能兼顾联想预测,感觉每一个都打到了用户需求上,刚刚我笑话人家readme写的差劲,说了这么多由于我不懂代码还是很难说清楚。
- 看薄荷白霜雾凇其实是有重叠的lua功能,也是偏向于基础小功能,薄荷也有万象作者pr的shijian,这个脚本最初好像是五笔那边开发的雏形,这个圈子互相基于,互补确实是常有的事情。得分 魔然3 万象3 雾凇 白霜 薄荷 都是1
- 忽然想起雾凇是小字集和大字集在词库上是分开的,而魔然、万象有一定相似性,都用了插件处理,有知道这个到底哪种方式好吗,我能理解的是开关能动态控制,但我发现好像偶尔要用也挺麻烦,不过我发现反查能当成打生僻字的方式,而不一定非要用开关。
第三个板块,数据:
其实数据与功能也是强相关的,之所以单独拿出来我发现有功能和数据优秀完全是两回事,下面举例说明,咱们抛开词库,第一阶段已经说了:
雾凇:数据集中在OpenCC文件夹,主要配置项目 emoji、中英文翻译、简繁转换
简繁本来就是OpenCC长项,自不必说数据也是默认携带,数据规范化较高,emoji丰富性较高,但个人认为中英文翻译数据混乱,这可能也是看见了万象的感觉到的,雾凇有很多一长串一长串的英文翻译,还有试图把成语翻译成英文句子,在我看来这非常没必要,等等啥时候清理掉了这些数据,唉不管了那就相当于没有
拆字反查数据,来源https://github.com/mirtlecn/rime_radical_pinyin
这部分数据其他基本相同。。。
看一些不同点:
魔然:具有拆字资源赋能自然码优秀的拆字工具,内置了各种反查方案数据,虎码、两分、笔画等等,虽都来自开源项目,但完整性自定义也很多,内置体系较为成熟
万象:合并反查数据,内含两分、多分、五笔画,整合度较高,单一方案引入,笔画以大写编码内置,能转换为多种习惯如 hspzn和hupvd等。
翻译我认为可能是开源方案中唯一可用的翻译数据,在输入法中应当简短,每一个英文通过英文词库能打出来,每一个汉语翻译英文,这个汉语首先也得在词库中,你不能这两个都不具备就胡乱弄个翻译词库,还有好多简繁转换,tips的数据好像刚刚谈功能忘记说这个了,实在是太多了,还有简码数据,包含成语简码,各种辅助码的拆分数据,这个数据量和维护量真真惊呆我了,英文词库非常全面,软件名称各种缩写等等。
还有中英混合词汇 像B站这种复合词汇。
aeron 航空的
aeronaut 飞行员
aeronautic 航空的
aeronautical 航空的
aeronautics 航空学
aeron chair 阿隆椅
aeropex 爱若飞
aerophare 航空灯塔
aeroplane 飞机
aeroport 机场
aerosmith 史密斯飞船
aerosol 气溶胶
aerosolize 雾化
aerosols 气溶胶
aerospace 航空航天
等等太多了 这分咋加,虽然想做个对比,可到了最后发现万象太过于突出,读者自己去看吧,这里面魔然特殊,其实他更优质的是自然码的字词方案,他引用的句子方案词库也都是一个来源,因此我建议如果自然码字词那就选魔然毫不犹豫地那种,如果是其他普通输入词组和句子的,果断选万象即可,整个体系里面除了基础版还有辅助码版本,有“晋升通道”方案下还配套了词库更新工具电脑手机都能用,还是那句话从未见过如此完整性的方案,这将成为rime体验真正的内核,对标大厂我第一次信了!
后面找机会聊聊rime相关的软件。。。