Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何配置派生后的相同权重词语顺序 (在不更改非用户词典词频的情况下)? #735

Closed
sci-42ver opened this issue Mar 14, 2024 · 2 comments

Comments

@sci-42ver
Copy link

sci-42ver commented Mar 14, 2024

首先感谢mirtle提供的derive方案。在查看这个comment之后和查看rime wiki,知道了derive的用途。

目前我使用melt_eng作为独立的英文输入法(因为 在某些情况下,会长时间仅仅是用英文)。然后 对于rime-ice官方词库 和 [rime-fast-xhup](https://github.com/boomker/rime-fast-xhup),均没有问题。

但是当使用easy_en词库 (其包含部分上述两个词库没有的英文词汇)时,会出现输入”bredin“ 但是其顺序为”1. Bredin 2. BREDIN 3. bredin“。(我想一般情况下”bredin“作为第一候选,其余包含大写的顺序均可以,因为频率相比较要低很多。不过并不想注释- derive/^.+$/\L$0/因为有些时候方便选择大写情况)

# 以下随机选用一个词语 做个例子
$ grep -A 3 "bredin" en_dicts/ ~/Desktop/rime-fast-xhup/en_dicts/ -r
$ grep -A 10 -E "\-\-\-" easy_en.dict.yaml # sort: original 或 sort: by_weight 在 重新部署后 均有这个问题
---
name: easy_en
version: "0.2"
sort: original
use_preset_vocabulary: false
...
$ grep -A 3 "bredin" easy_en.dict.yaml
bredin  bredin  0
Bredin  Bredin  0
BREDIN  Bredin  0
...
$ cat melt_eng.dict.yaml
...
---
name: melt_eng
version: "2023-05-09"
import_tables:
  - easy_en
  - en_dicts/en_number     # 英文数字词库 (自定义)
  - en_dicts/en_ext # 补充(里面有些许带权重的,且和 en 重复,需要把 en_ext 放在上面)
  - en_dicts/en     # 英文主词库

请问有什么好的办法来修改上述候选项的 默认顺序 么 (使用userdb来记录习惯,可以改变顺序。不过上述顺序问题经常出现,所以userdb来调不太方便)?


Edited:

我查阅了相关issue和论坛。1 涉及到 权重算法 (不过以上权重相同)。2 是权衡自造词和预设词,而以上仅设计预设词。3 的comment_3 提到了segmentation 的影响,不过英文环境下,我一般只输入英文,所以基本不牵涉segmentation。

reduce_english_filter 看了以下lua代码,应该可以修改一下实现 (我有空试一下)。

不知道rime有没有相关配置,可以更方便的实现以上功能?(暂时没有查到) 有的话,请指教一下,谢谢。

@sci-42ver sci-42ver changed the title 如何配置派生后的词语顺序 (在不更改非用户词典词频的情况下)? 如何配置派生后的相同权重词语顺序 (在不更改非用户词典词频的情况下)? Mar 14, 2024
@iDvel
Copy link
Owner

iDvel commented Mar 14, 2024

雾凇没用这种将所有大小写都写入词库的方式:

bredin	bredin	0
Bredin	Bredin	0
BREDIN	Bredin	0

雾凇只写入原始的小写单词,通过 autocap_filter.lua 来自动大写:
https://dvel.me/posts/make-rime-en-better/#%E8%87%AA%E5%8A%A8%E5%A4%A7%E5%86%99

@sci-42ver
Copy link
Author

好的,谢谢。我有空看下。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants