我自己做了“单手笔顺输入法”Rime版,我的经验是:
-------------------- 最简单的方法 ------------------------
直接在原本的 luna_pinyin.dict.yaml 文件里加二行,调用你的自定义“子词库” luna_pinyin.my.dict.yaml
(配置文件里写的是简称,只有前端名称,省略了后面的.dict.yaml )
代码: 全选
import_tables:
- luna_pinyin.my
然后,“子词库”完整的文件名应该是 luna_pinyin.my.dict.yaml ,应该就可以了。
-------------------- 如果不行,就按以下的方法 ------------------------
(1)你不要在 luna_pinyin.custom.yaml 文件里设置词库,
而应该是在 luna_pinyin.schema.yaml 文件的 translator: 里设置词库,也就是指定词库文件名:
(注意!完整的文件名应该是 luna_pinyin.my.dict.yaml ,配置文件里写的是简称,只有前端名称,省略了后面的.dict.yaml )
代码: 全选
translator: # 编码翻译器(注意不要与转译器弄混,少了一个s)
# # # 单手笔顺输入法的词典:单字近3万个,核心词汇36万个,扩展词汇(可选)243万个,含精简码、六全码。
dictionary: luna_pinyin.my # 调用输入法编码对应的字典,字典名称,确保与字典文件前端名称一致,也要与配置文件前端名称一致。
# enable_user_dict: false # 是否开启用户词典(用户词典记录动态字词频、用户词),true/false,在default.custom.yaml文件有相同的设置,不要在此修改。
(2)如果词库很大,可以分割成几个“子词库”文件,然后在 luna_pinyin.my.dict.yaml 文件里调用“子词库”:前面不要漏了字典名称等信息。
代码: 全选
name: luna_pinyin.my # 字典名称,确保与字典文件前端名称一致
version: "3.0" # 版本号
use_preset_vocabulary: ture # 是否使用用户预设词汇
sort: by_weight # 字典初始排序,可选original或by_weight,by_weight 意图是不以码表的顺序排列重码字,而是比较字频。
import_tables:
- luna_pinyin.my.text # 单字及标点符号数字序号,20988个汉字
- luna_pinyin.my.guanjian # 关键词库,54万——很大
- luna_pinyin.my.changyong # 常用词汇短语,192万——特大
注意!“子词库”完整的文件名应该是 luna_pinyin.my.text.dict.yaml ,luna_pinyin.my.guanjian.dict.yaml ,luna_pinyin.my.changyong.dict.yaml 。
(3)词库的格式,前面不要漏了字典名称等信息。
Rime对配置文件的格式要求很严格,错一点点都不行。我当年尝试过很多次才成功。
代码: 全选
name: luna_pinyin.my.guanjian # 字典名称,确保与字典文件前端名称一致
version: "3.0" # 版本号
use_preset_vocabulary: ture # 是否使用用户预设词汇
sort: by_weight # 字典初始排序,可选original或by_weight,by_weight 意图是不以码表的顺序排列重码字,而是比较字频。
#use_preset_vocabulary: # 是否引入「八股文」〔含字词频、词库〕
#max_phrase_length: # 配合use_preset_vocabulary:,设定导入词条最大词长
#min_phrase_weight: # 配合use_preset_vocabulary:,设定导入词条最小词频
columns: # 定义码表以Tab分隔出的各列,可设text【文本】、code【码】、weight【权重】、stem【造词码】
- text # 字/词
- code # 编码,数字位数越少越优先,数值越大越优先
- weight # 字/词频权重,数值越大越优先
#import_tables: # 加载其它外部码表
#encoder: # 形码造词规则
# exclude_patterns:
# rules: # 可用length_equal:和length_in_range:定义。大写字母表示字序,小写字母表示其所跟随的大写字母所以表的字中的编码序
# tail_anchor: # 造词码包含结构分割符〔仅用于仓颉〕
# exclude_patterns # 取消某编码的造词资格
...
# 格式是:新词〈Tab〉编码〈Tab〉词频数值,。
钕载 nv zai 100