一种获取五笔大词库的方式 ~
![[assets/Pasted image 20241225110558.png]]
我们在这里对五笔词库的获取做一个阶段性的总结,算是让输入法的折腾再搞一段落。
简介
该五笔大词库是基于极爽词库和白霜拼音转换而来的,没有具体统计数量,估计有个一两百万条吧 ~ 转换的同时,保留了原始词频,所以并不用担心重码问题。
快速使用
你可以从这里直接获取到转化好的词库 极爽白霜五笔词库 - Gitee 或 极爽白霜五笔词库,然后按需引用它们即可。
import_tables:
- wubi86 # 极爽词库
# --- ↓白霜词库转换的五笔大词库 ---
- cn_dicts/8105 # 字表
# - cn_dicts/41448 # 大字表(按需启用)
- cn_dicts/base # 基础词库
- cn_dicts/ext # 扩展词库
- cn_dicts/tencent # 腾讯词向量(大词库,部署时间较长)
- cn_dicts/others # 一些杂项
# 细胞词库
- cn_dicts_cell/medication
- cn_dicts_cell/industry_product
- cn_dicts_cell/exthot
- cn_dicts_cell/chess
- cn_dicts_cell/chess2
- cn_dicts_cell/animal
- cn_dicts_cell/game
- cn_dicts_cell/idiom
- cn_dicts_cell/sport
- cn_dicts_cell/media
- cn_dicts_cell/shulihua
- cn_dicts_cell/food
- cn_dicts_cell/inputmethod
- cn_dicts_cell/history
- cn_dicts_cell/place
- cn_dicts_cell/geography
- cn_dicts_cell/name2
- cn_dicts_cell/literature
- cn_dicts_cell/music
- cn_dicts_cell/computer
- cn_dicts_cell/composite
- cn_dicts_cell/name
如果感觉还是不够大,怎么办?
在仓库中我们附上了制作的 Python 转换脚本 - py2wb.py,你只需要执行它,就可以自己将现在拼音词库转换五笔词库了。
# py py2wb.py [拼音词库所在目录] [五笔词库输出目录] [拼音词库目录文件筛选]
py py2wb.py src out 8105.dict.yaml
带 []
中的参数都是可选的,但输入顺序不能乱。其中通过 [拼音词库目录文件筛选]
,你可以实现筛选转换的拼音词库文件,默认为 .dict.yaml
。
还不够?
好嘛,折腾过程中使用的一些元码表和脚本也附上 - rime-utils。
关于形码大词库
相对于拼音来说,形码对于大词库的需求并不算太强烈,尤其是使用拥有自造词和动态词频的输入法平台 - 比如 Rime 。
关于 Rime 相关配置,可以参考我的另一篇文章 - 『 [[Rime_JK 指尖上的旋律]] 』。
既然不强烈,为什么又制作了一个五笔的大词库呢?
只是为了让五笔使用者多一种选择,仅此而已。在保留原始词频的前提下,大词库并不会产生重码率升高的问题,相反它极大减小了“打词打空”的概率。如下图所示:
![[assets/Pasted image 20241225114240.png|150]] ![[assets/Pasted image 20241225114207.png|150]] ![[assets/Pasted image 20241225115225.png|150]]
看,效果还不错~
怎么才能算是足够大?
实际上这是没有定量的,国标都没个一定,制作五笔的单字元码表字典的时候,我合并了好几个超集词库去重取单,最后转化成拼音词库的时候,还是会有几个异形或者类似部首的那种字不在字典中。需要注意的是,此时单字元码字典已经有小十万字了,理论上它已经包含了 18030 和 8105 的所有单字。但还是会遇到一些漏网之鱼,当然,这些“鱼”并不重要,因为你可能永远都不会有使用它们的场景。比如下面这些字:
...
𧮙 oguy 0
𧲭 eeda 0
𨀨 khvq 0
𨐳 ynku 0
𨝨 rajb 0
𨞒 tajb 0
𩛠 wyvf 0
𪎇 ogut 0
𪎲 ogus 0
...
什么时候能能用到?答案是显而易见的 - 不会用到!🥳
自用词库
我自用的 10万+五笔词库 ,体验相当不错,可能是与我喜欢打短词来保证确定性有关。它是基于 Rime 官方、极点五笔及黄狗超级大词库合并、去重、按字长排列的,大小不到 2M ,短小精干且强力。
它包含且只包含国标通用规范字 8105 中的所有三级字词,其他相关 18030 标准中的繁体字及异形字、CJK 类假名全部清除。因为它们除了增加重码率,对于我来说毫无用处。
超大词库中,仅包含 8105 中的词条是达 200 多万条,如下:
![[assets/32a11f6d954f5a53666325093403682e.png|400]]
构建一次,耗时 5 分钟+ ,如下:
![[assets/ece35e725c0f7c9cfe56ccb4ee3033d3_720.png|700]]
把这类词库加入到 Rime 配置中,重新部署一次的耗时也是相对很长的,这并不是一件令人愉快的事情。
与之相反的是,自用的 10 万+ 字库,部署一次只需要两三秒,对于使用者来说简直是无感的。
结语
所有文本配置性的软件,在扩展性方面都很有一套,比如 Emacs,Vim,Rime 等。折腾配置的过程很有趣,但也很消耗时间和精力 ~ 总之,想要折腾的朋友合理安排时间和精力 ~