@
ly1878 感谢你的分享,原来语言模型是这么启用的,我有空也要设置一下。
可能你的问题也是不明白应该修改哪个文件来启用语言模型,我大致给你说明一下(我自己还没有实践,这里给你说的,是基于我对你提到那个 s1 原帖中的理解,不能保证就一定对):
1. patch 的使用方法
比如你在使用 double_pinyin_flypy 这个方案,它对应的方案文件是 double_pinyin_flypy.schema.yaml ,这个你前面已经了解了。
但是通常我们使用 git 来更新方案词库之类的,如果你直接修改 double_pinyin_flypy.schema.yaml 这个文件,你的修改在 git pull 的时候就会引起冲突而无法拉取(因为你本地有未提交的修改),所以惯用的解决方案是,你创建一个 double_pinyin_flypy.custom.yaml (注意中间名不是 schema 而是 custom ),用来给 double_pinyin_flypy.schema.yaml 打补丁。
方案作者一般会把 *.custom.yaml 放入 gitignore 的清单中,如此一来你的修改就不会影响你使用 git 进行更新。
你在 double_pinyin_flypy.custom.yaml 中以 patch 的格式添加的信息,在部署时会以一定的规则与 double_pinyin_flypy.schema.yaml 的配置合并,并在 rime 中生效。
大致的 patch 格式就是:
(很遗憾我不知道 yaml 的代码引用在 V2EX 应该怎么才能正确显示,我印象中这样使用会丢失缩进信息)
```yaml
patch:
你要修改的一级字段:
你要修改的二级字段: 你要修改的二级字段的值
```
2. 你该修改哪个文件
当然你需要先下载模型文件到你的 rime 文件夹;
如果你不准备使用补丁的方式,而是直接修改 schema 文件的话,你修改 double_pinyin_flypy.schema.yaml 即可,在其中添加以下内容
(因为可能丢失缩进信息,你需要参考原帖;因为这里不是打补丁,所以你不需要最前面的 `patch:` 那一行)
```yaml
grammar:
language: amz-v2n3m1-zh-hans
collocation_max_length: 5
collocation_min_length: 2
translator/contextual_suggestions: true
translator/max_homophones: 7
translator/max_homographs: 7
```
如果你想要使用 patch 的方式,那么就创建一个 double_pinyin_flypy.custom.yaml ,文件内容直接照搬 s1 原文中的即可。