找回密码
 立即注册
搜索
查看: 5383|回复: 46

[软件] 为rime输入方案添加语言模型支持

[复制链接]
     
发表于 2024-12-16 13:13 | 显示全部楼层 |阅读模式
本帖最后由 Nanachi 于 2024-12-16 23:46 编辑

语言模型可以让造句更加符合习惯,参考V2EX的这个帖子,没有语言模型的情况下基本就是胡乱组词。

语言模型和输入方案是解耦的,可以使用自己习惯的rime-ice/rime-frost等方案,然后:

下载模型

LMDG的发布页下载模型。

模型文件版本说明:v是版本号,n是模型级别,m是百兆尺寸
文件大小2级模型3级模型
100Mv1n2m1v1n3m1
200Mv1n2m2v1n3m2
300Mv1n2m3v1n3m3

这里的模型级别指训练时着重训练的几个字:

多级 n-gram 语言模型 在大规模数据的支持下,我们采用了 n-gram 模型进行多级语言建模。具体包括了 unigram(单字模型)、bigram(双字模型)、trigram(三字模型)以及更高级的四字模型。

个人使用可以用n3,如果电脑性能不佳感觉卡顿,可以切换到n2(在作者的另一个方案中,上传有v3n2的模型)。

更新配置文件


找到使用的方案

打开你的Rime配置文件路径/用户文件夹,将下载好的模型文件 amz-v*n*m*-**.gram 放到其中。这里我下载的模型是 amz-v2n3m1-zh-hans

Windows上可通过右键托盘小狼毫图标-用户文件夹打开(一般为 %AppData%\Roaming\Rime );MacOS上一般为 ~/Library/Rime

然后打开你使用的配置文件 default.custom.yaml (或 default.yaml ,当两个文件都存在时以 custom.yaml 为优先),寻找其中 schema_list: 下面的内容。

比如我的 default.custom.yaml 就是这部分:

  1. patch:
  2.   schema_list:
  3.     - {schema: rime_frost_double_pinyin_flypy}
复制代码


说明我只用了 rime_frost_double_pinyin_flypy 这一个方案。

以默认的 default.yaml 为例,它是这样的:

  1. schema_list:
  2.   # 可以直接删除或注释不需要的方案,对应的 *.schema.yaml 方案文件也可以直接删除
  3.   - schema: rime_frost             # 白霜拼音(全拼)
  4.   - schema: rime_frost_double_pinyin          # 自然码双拼
  5.   - schema: rime_frost_double_pinyin_mspy     # 微软双拼
  6.   - schema: rime_frost_double_pinyin_sogou    # 搜狗双拼
  7.   - schema: rime_frost_double_pinyin_flypy    # 小鹤双拼
复制代码


说明它启用了这五个方案(不列举了)。

更新方案配置文件

总之找到你要用的方案名称,然后对该配置文件打补丁。以 rime_frost_double_pinyin_flypy 方案为例,打开或新建 rime_frost_double_pinyin_flypy.custom.yaml 文件,然后在文件末尾加上这几行:

  1. patch:
  2.   grammar:
  3.     language: amz-v2n3m1-zh-hans  
  4.     collocation_max_length: 5
  5.     collocation_min_length: 2
  6.   translator/contextual_suggestions: true
  7.   translator/max_homophones: 7
  8.   translator/max_homographs: 7
复制代码


其中 amz-v2n3m1-zh-hans 为下载好的模型文件名(无后缀名)。然后保存,重新部署,便能享受语言模型了。

效果展示


渐渐地就不在意了

使用前:




(「不/在意/了」被理解成了「不再/一乐」)

使用后:




以前就会这样

使用前:




(「以前/就会」被理解成了「一千九/会」)

使用后:



不管怎么使劲都不行

使用前:




(「不管怎么/使劲/都/不行」 => 「不管怎么/是/筋斗/不行」)

使用后:




无论如何你都不可能再离开这里了

使用前:




(「离开/这里/了」 => 「离开/这/离了」)

使用后:


评分

参与人数 10战斗力 +15 收起 理由
heyeshuang + 1
SmterC + 2 有用 感谢感谢
q8f13 + 2 好使,感谢
硫黄 + 2
生存戰略 + 1 确实好用
orca + 2 好评加鹅
bbn + 1
emmerMK4 + 1 试了一下有所改善
猫的摇篮 + 1 好评加鹅
godke + 2 好评加鹅

查看全部评分

回复

使用道具 举报

     
发表于 2024-12-16 13:24 | 显示全部楼层
这个方案手机上能用吗
回复

使用道具 举报

     
发表于 2024-12-16 13:53 来自手机 | 显示全部楼层
感觉还是fcitx好用
回复

使用道具 举报

     
发表于 2024-12-16 13:59 来自手机 | 显示全部楼层
植入 llm 这种东西为什么国内这些输入法厂商都没好好用?
微信输入法搞了一个抽象的问 AI,自己的自动联想和屎一样还经常隔半秒蹦第一个害得我点错了

—— 来自 Google Pixel 9 Pro, Android 15, 鹅球 v3.3.95-debug
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 14:04 | 显示全部楼层
dejavuuuuuuuu 发表于 2024-12-16 13:24
这个方案手机上能用吗

可以试下同作者的「万象拼音」方案,我在手机端用微信输入法,不清楚rime。

回复

使用道具 举报

头像被屏蔽
     
发表于 2024-12-16 14:32 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2024-12-16 14:34 来自手机 | 显示全部楼层
哦!有点意思。
回复

使用道具 举报

     
发表于 2024-12-16 15:12 | 显示全部楼层
有没有人试试3个模型级别有什么区别
回复

使用道具 举报

     
发表于 2024-12-16 15:12 | 显示全部楼层
这么看还是双拼加形比较爽,重码率少,打词组或者单字几乎不用选,本来想试试这个大模型结果发现自己用不到因为平时不选重
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 15:33 来自手机 | 显示全部楼层
王牛子 发表于 2024-12-16 15:12
这么看还是双拼加形比较爽,重码率少,打词组或者单字几乎不用选,本来想试试这个大模型结果发现自己用不到 ...

打长句用得到

—— 来自 鹅球 v3.3.92
回复

使用道具 举报

     
发表于 2024-12-16 15:47 来自手机 | 显示全部楼层
这个适用于五笔吗?

—— 来自 Xiaomi 23013RK75C, Android 14上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 15:51 | 显示全部楼层
天知道 发表于 2024-12-16 15:47
这个适用于五笔吗?

—— 来自 Xiaomi 23013RK75C, Android 14上的 S1Next-鹅版 v2.5.4

你用的第三方修改版本,要先看看支不支持octagram
回复

使用道具 举报

     
发表于 2024-12-16 15:55 | 显示全部楼层
好东西,谢谢楼主分享,先马再折腾

这样一来,rime要是能锁定某些高频词的排序位置就真的没有什么死角了
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 16:00 来自手机 | 显示全部楼层
GALLADE 发表于 2024-12-16 15:55
好东西,谢谢楼主分享,先马再折腾

这样一来,rime要是能锁定某些高频词的排序位置就真的没有什么死角了 ...

用custom-phase调整用户词权重应该能控制位置吧。

https://github.com/rime/home/issues/789


—— 来自 鹅球 v3.3.92
回复

使用道具 举报

发表于 2024-12-16 16:02 来自手机 | 显示全部楼层
RIME 越来越好用了
回复

使用道具 举报

     
发表于 2024-12-16 16:12 | 显示全部楼层
本帖最后由 orca 于 2024-12-16 16:13 编辑

主楼“更新方案配置文件”代码的最后三行的缩进好像和官网配置说明不一样:
https://github.com/amzxyz/RIME-LMDG/wiki/语言模型参数配置说明
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 16:15 | 显示全部楼层
本帖最后由 Nanachi 于 2024-12-16 16:20 编辑
orca 发表于 2024-12-16 16:12
主楼“更新方案配置文件”代码的最后三行的缩进好像和官网配置说明不一样:
https://github.com/amzxyz/RIM ...

看了下自己的配置文件没错,应该是写作时格式调整出错了,已调整。
回复

使用道具 举报

发表于 2024-12-16 16:21 | 显示全部楼层
本帖最后由 生存戰略 于 2024-12-16 16:29 编辑

确实好用,可以忘记搜狗了。

第一款让生产力暴增的本地语言大模型
回复

使用道具 举报

发表于 2024-12-16 16:42 | 显示全部楼层
谢谢推荐!
不过在小鹤双拼模式下命中率偏低
回复

使用道具 举报

     
发表于 2024-12-16 16:43 | 显示全部楼层
Nanachi 发表于 2024-12-16 16:00
用custom-phase调整用户词权重应该能控制位置吧。

https://github.com/rime/home/issues/789

调权重还是没有锁定词序位置来得好用

而且新造的词(误输入)权重过高这个也得解决

但这些问题都不是关键的,属于不够完美而已,反正不可能用回那些窥私输入法就是了
回复

使用道具 举报

     
发表于 2024-12-16 16:45 来自手机 | 显示全部楼层
导入进自己用的rime配置,但是打lz有些长句还是老的样子,请问有什么方法知道自己用上语言模型了?
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 16:48 | 显示全部楼层
anoza 发表于 2024-12-16 16:45
导入进自己用的rime配置,但是打lz有些长句还是老的样子,请问有什么方法知道自己用上语言模型了? ...

我一直用主楼展示的例句检测启用与否的
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 16:50 | 显示全部楼层
Nintendo新手 发表于 2024-12-16 16:42
谢谢推荐!
不过在小鹤双拼模式下命中率偏低

我也是小鹤双拼,这个语言模型主要用途在造句。根据v2ex用户的说法:

我试了很多容易分词错误的或者搭配错误的句子,有一大半加了模型之后表现都好了很多。

而且感觉 100M 的模型和 300M 的模型之间有用差距,比如「能约上吗」在 100M 会被误解析成「能月上马」,300M 就不会有这个问题。

不过模型好像会受到用户词库词频的干扰,比如我刚刚打了个「上马」,现在不管用哪个模型都会被解析成「(月/约)得上马」了。


设备性能良好的话可以试试更大体积的模型?
回复

使用道具 举报

     
发表于 2024-12-16 17:11 | 显示全部楼层
anoza 发表于 2024-12-16 16:45
导入进自己用的rime配置,但是打lz有些长句还是老的样子,请问有什么方法知道自己用上语言模型了? ...

那应该是没生效。我现在是改patch文件不生效,直接改方案文件才生效。我还在折腾,看我往patch里加是哪里出了问题。
回复

使用道具 举报

     
发表于 2024-12-16 17:14 来自手机 | 显示全部楼层
orca 发表于 2024-12-16 17:11
那应该是没生效。我现在是改patch文件不生效,直接改方案文件才生效。我还在折腾,看我往patch里加是哪里 ...

刚刚摸索出来了,也是改自己的custom不行,直接往schema里面写就行了
回复

使用道具 举报

     
发表于 2024-12-16 17:23 | 显示全部楼层
我现在有个地方还没搞明白,白霜是基于雾凇改的,按雾凇的说明文档,“方案 xxx.schema.yaml 的补丁文件是 xxx.custom.yaml”,而主楼用的是xxx.schema.custom.yaml。我不知道我patch不生效的原因是否在这里,还得折腾。
回复

使用道具 举报

发表于 2024-12-16 17:50 | 显示全部楼层
天知道 发表于 2024-12-16 15:47
这个适用于五笔吗?

—— 来自 Xiaomi 23013RK75C, Android 14上的 S1Next-鹅版 v2.5.4

五笔有什么使用这个的必要吗
本来就只输入单字和词组,又基本不需要选词
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 18:01 来自手机 | 显示全部楼层
orca 发表于 2024-12-16 17:23
我现在有个地方还没搞明白,白霜是基于雾凇改的,按雾凇的说明文档,“方案 xxx.schema.yaml 的补丁文件是  ...

*.custom.yaml是对的,感谢提醒

—— 来自 鹅球 v3.3.92
回复

使用道具 举报

     
发表于 2024-12-16 22:45 | 显示全部楼层
奇怪了,我只有加在schema文件里才能生效,加在custom文件里就不能生效。我这custom文件有啥问题



rime_frost.custom.yaml

3.34 KB, 下载次数: 17

回复

使用道具 举报

     
发表于 2024-12-16 22:53 来自手机 | 显示全部楼层
orca 发表于 2024-12-16 22:45
奇怪了,我只有加在schema文件里才能生效,加在custom文件里就不能生效。我这custom文件有啥问题



一样,在build生成的文件没有想关的内容
回复

使用道具 举报

     
 楼主| 发表于 2024-12-16 23:32 | 显示全部楼层
orca 发表于 2024-12-16 22:45
奇怪了,我只有加在schema文件里才能生效,加在custom文件里就不能生效。我这custom文件有啥问题

我又研究了下,可以试试只增加这几行:

  1. grammar:
  2.   language: amz-v2n3m1-zh-hans  
  3.   collocation_max_length: 5
  4.   collocation_min_length: 2
  5. translator/contextual_suggestions: true
  6. translator/max_homophones: 7
  7. translator/max_homographs: 7
复制代码

评分

参与人数 1战斗力 +2 收起 理由
orca + 2 好评加鹅

查看全部评分

回复

使用道具 举报

     
发表于 2024-12-16 23:37 | 显示全部楼层
Nanachi 发表于 2024-12-16 23:32
我又研究了下,可以试试只增加这几行:

这样似乎可以了
回复

使用道具 举报

     
发表于 2024-12-16 23:49 | 显示全部楼层
Nanachi 发表于 2024-12-16 23:32
我又研究了下,可以试试只增加这几行:

虽然一头雾水(比如为什么不提octagram了),但的的确确是生效了233
回复

使用道具 举报

     
 楼主| 发表于 2024-12-17 00:02 | 显示全部楼层
本帖最后由 Nanachi 于 2024-12-17 08:07 编辑
orca 发表于 2024-12-16 23:49
虽然一头雾水(比如为什么不提octagram了),但的的确确是生效了233

之前在工作时间抽空写的教程,我个人是直接往schema里面加的,所以没仔细看。

其实参考佛振的示范就知道了。

他建议在*.custom.yaml中加入如下语句:

  1. # luna_pinyin.custom.yaml

  2. patch:
  3.   __include: grammar:/hant
复制代码


这个的原理就是将grammar.yaml中hant下的配置段包含进来。然后找到这个grammar.yaml

  1. # grammar.yaml
  2. hant:
  3.   grammar:
  4.     language: zh-hant-t-essay-bgw
  5.   translator/contextual_suggestions: true
  6.   translator/max_homophones: 7
  7.   translator/max_homographs: 7
复制代码


所以,等效于在*.custom.yaml中直接添加后面几段。

再结合语言模型作者提供的配置参考,就推测应该只保留后面即可:

  1. # *.custom.yaml

  2. patch:
  3.   grammar:
  4.     language: amz-v2n3m1-zh-hans  
  5.     collocation_max_length: 5
  6.     collocation_min_length: 2
  7.   translator/contextual_suggestions: true
  8.   translator/max_homophones: 7
  9.   translator/max_homographs: 7
复制代码

评分

参与人数 2战斗力 +3 收起 理由
orca + 2 明白了
anoza + 1 管用,感谢

查看全部评分

回复

使用道具 举报

     
发表于 2024-12-17 15:16 | 显示全部楼层
https://github.com/gaboolic/rime-frost/issues/115

白霜作者的说法。期待后面会有更好的模型
回复

使用道具 举报

     
发表于 2024-12-17 15:19 | 显示全部楼层
本帖最后由 weifire 于 2024-12-17 15:26 编辑

编辑,解决了
回复

使用道具 举报

     
发表于 2024-12-17 16:53 来自手机 | 显示全部楼层
PC端配置成功了,用起来可以

手机端可以用上吗,现在手机端用的雨燕

—— 来自 鹅球 v3.3.92-alpha
回复

使用道具 举报

     
 楼主| 发表于 2024-12-17 16:56 | 显示全部楼层
星尘的记忆 发表于 2024-12-17 16:53
PC端配置成功了,用起来可以

手机端可以用上吗,现在手机端用的雨燕
gurecn commented 2 weeks ago
感谢您的支持,当前雨燕输入法暂不支持自定义输入方案,仅支持内置方案。雨燕的初衷是为了做一款安装即可使用、输入体验良好的输入法,当前尚未规划支持自定义方案的计划,当然我会不断完善和丰富输入方案以满足不同人群的需求。若需要自定义方案的话,个人还是建议使用小企鹅来实现。


https://github.com/gurecn/YuyanIme/issues/189
回复

使用道具 举报

     
发表于 2024-12-17 18:47 | 显示全部楼层
舒服了,终于享受到大模型的红利
回复

使用道具 举报

     
发表于 2024-12-17 22:41 | 显示全部楼层
dejavuuuuuuuu 发表于 2024-12-16 13:24
这个方案手机上能用吗

小企鹅成功了,直接把电脑的配置文件夹打包过去了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-12-22 09:49 , Processed in 0.195144 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表