关于鼠须管输入法的用户词典

2016-06-24 15:24:46 +08:00
 Whitehead
输入词语时出现的候选词顺序大概是由系统词典(系统自带,编译为二进制文件)、用户词典(用户手动添加,有时称作自定义短语)、用户词库(系统自动统计)共同决定的,鼠须管输入法的候选词排列的逻辑令人费解。具体的例子如下:

1. 有些单个字母输入码匹配的自定义词在候选词中排得很靠后,需要翻到后面的页选几次后才会调整到前面。即使一开始就在用户词典中把频次定的很高这个词也是出现在候选词列表的靠后位置,也要经过手工选几次的步骤才能使其排到前面。

2. 有时候一个词打了很多遍还是无法被系统自动统计入用户词库。比如,我想输入「抵满」这个词,一开始输入” di'man ”然后分别选中「抵」「满」来构成词,重复多次,再次输入"di'man"时,还是无法看到有「抵满」这个词在候选词。

3. 因为决定候选词顺序的因素很多,不是所有的因素都可以通过配置文件控制,所以我至今不知道「固定首位」的功能如何实现。

4. 还有一些细节和个人化的额外问题。比如,我定义” cbj ”为某个词的输入码,但是这个词在我输入” c ”的时候就已经出现,然而我会希望这个词只在我键入完整输入码时才出现。又比如,我在输入” ruguomeiyouni ”这个较长的短语,假如这串输入码中的一部分——” yo ”被我定义为某个词语的输入码,这个词语会插入我要输入的短语的上下文中,然而我只希望” yo ”为输入码的这个词只在我单独打” yo ”的时候出现。


这些问题官方文档似乎没有特别集中的交待,所以请教各位,目前通过修改配置文件能多大程度解决这些问题。进一步,若我有兴趣进一步参与建设 Rime 输入法源代码的需要些什么知识呢?

输入法的术语和描述方法我都很陌生,写起来感觉很绕,若有不当或不清楚的地方欢迎指出。
4773 次点击
所在节点    macOS
10 条回复
raly
2016-06-24 15:52:03 +08:00
gongziheng1995
2016-06-24 16:30:43 +08:00
除了例子 2 ,没太明白您的问题是什么……
gongziheng1995
2016-06-24 17:24:49 +08:00
1 词的出现位置是由系统词典和用户词典共同决定的。如果只是个别候选词的位置不理想,可以用 fn+⇧+⌫ 删掉该条

2 这个有可能是 Rime 的小 bug ,我也经常遇到过(可能和我的扩展词库太多有关)…有时候在重新部署一下就好了

3 固定首位,我是新建了一个词库,把其中词条的词频设置成 10000.

4 抱歉…依旧没太看明白……
Whitehead
2016-06-24 18:42:38 +08:00
@gongziheng1995

我主要是想精确地把一些词固定在我指定的候选位置。

例子 1 更具体的例子是,假如我设置一个自定义词,按照文字→编码→频次的格式, d →digital→10000000 ,重新配置后我输入 d ,会发现第一页的候选词里面没有 digital ,在候选词中一直翻到最后才能找到。

例子 3 建一个词库,把词条的词频设置成 10000 ,基本是可靠地可以把词固定首位,有一些特殊情况还是导致无法固定首位。
lotem
2016-06-25 09:24:47 +08:00
2. 是繁簡轉換造成的錯誤。「抵(~擋、~達)、牴(~觸)簡化爲→抵」,用簡化字造新詞則產生了歧義,不幸誤用詞典中字頻(不該)較高的「牴」字造詞了。我想了一下,造詞時優先選用*同形的*傳統漢字可能更好些,雖然仍然不能避免新詞中出現錯字。

1. 4. 我建議用獨立的詞典存放自定義短語。
理由是:朙月拼音詞典中,編碼並不是一個簡單的字符序列,而是「拼音音節」的序列,格式是以空格分隔的拼音。論其作用,詞語的簡拼(輸入法→srf )並不作爲編碼寫進詞典,而是根據音節編碼計算出來。如果任意將拼音音節以外的編碼加入同一個詞典,他們將被視同拼音音節處理,且可能會干擾正常的音節切分。
自定義短語已在朙月拼音等方案裏默認啓用了,只需要在用戶文件夾寫一個文件:
https://gist.github.com/lotem/5440677
寫在這裏面的詞條,只會以「完全匹配輸入碼」的方式調出,也就是 4. 所求。

3. 沒有專門「固定首位」的功能選項。實現這個需求的一個做法是:添加一個高優先級翻譯器並掛載一個獨立的詞典。怪麻煩的…
Whitehead
2016-06-25 10:36:24 +08:00
@lotem 感谢作者的回复!困惑被完全解决了。进一步了解到了 Rime 的完善合理。
Rico009
2016-08-01 11:37:31 +08:00
@lotem 呃请问所以以「完全匹配輸入碼」的方式調出是在词条后面加上 1/2/3 数字吗...
lotem
2016-09-20 17:19:20 +08:00
@Rico009 抱歉迟迟回复
完全匹配输入码 控制选项为 enable_completion: false 即未完整输入时不自动补全
词典里标注的数字是词条权重 可控制排序
tesiddddd
2018-04-08 11:08:07 +08:00
@lotem 你好,请问鼠须管在智能 ABC 双拼下,可以自定义短语么?比如 输入 em,然后就显示 abc.def@gmail.com ,之类的,折腾了一天,好像并没有成功,-。-
lotem
2018-04-08 20:55:07 +08:00
就是用 5 樓自定義短語的方法…需要在雙拼的輸入方案裏配置一下

還有一種方法是定義在一個符號鍵下面 https://github.com/rime/home/wiki/CustomizationGuide#%E6%B4%BB%E7%94%A8%E6%A8%99%E9%BB%9E%E5%89%B5%E5%BB%BA%E8%87%AA%E5%AE%9A%E7%BE%A9%E8%A9%9E%E7%B5%84

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/288055

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX