-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
五笔:加入自造词的同时,固定原来的字词顺序的解法 #9
Comments
目前不支持所求的行爲。(雖然也不是完全不可能,要運用大量技巧才能做到。) |
如果需求是保持候選字列表的順序固定,那麼允許加入自造詞的合理性可能要受到質疑。 |
From @viogus on May 18, 2015 9:34 應該不是衝突的吧,自造詞只是作爲相關碼表的補充, 當然,對於五筆等形碼來說,固定詞序比自定義詞庫要重要得多, 所以,固定詞庫順序還是很有必要的,當然,最好在其實現的基礎上, |
From @jakwings on May 18, 2015 11:58 我想 @lotem 的意思是,暂时不明白自造词应该被插入到什么位置,也还没有实现简单的手动添加自造词功能。 输入法配置文件中的 又要加词又想调整顺序,我想只有这样才最方便:添加新功能,手动添加自造词,並以自动造词的方式排序(不知道要不要重新部署输入法),再提供快捷键选中候选词并排序。 手动添加自造词的过程:
手动调整候选词顺序:
|
我提出的問題是: |
From @jakwings on May 18, 2015 16:33 嗯,我之前想要不要重新部署输入法就是在想「固定顺序」是不是一個不零活的限制。但是既然插入位置这么不好决定,干脆添加手动调整功能更好了(仅仅是建议),不知这种临时操作是否依然受限于「固定顺序」,假如是的话就太可惜了。 |
可惜完全手動管理詞序的功能在 Rime 裏面沒有現成的實現。現有的詞典都是針對快速檢索及計算動態詞頻設計的。手動管理詞條的話適合採用數據庫來存儲,Windows 上似乎有這樣的輸入法平臺。 |
From @jakwings on May 18, 2015 17:21 那么看来手动调频暂时是没多少希望了,不记得是不是 Windows 上的「极点五笔」有这个功能了,Mac 的话还有清歌输入法,也不知楼主喜欢不。依我个人看法,五笔是尽量打单字和双字词比较好,所以不妨先尝试从别的大词库抽取一份双字的词表试试效率再考虑下是否真的有必要经常添加新词。 |
只記錄新詞,不調頻。那麼記錄下來的新詞怎麼用呢? |
From @jakwings on May 18, 2015 18:22
用双字词还好吧,大多数多字词都很好拆分。显然你不是只打单字。小建议而已。
貌似我之前误以为你要手动加词了……一看到「快捷」我就想到手动了。囧
讨论又回到了原点。新词该摆哪里?按 lotem 的说法,在无法手动调频的情况下,难免会出现词序不理想的问题,到时候又要亲自修改码表文件了。 |
我覺得既然沒有更好的辦法,不如就用技巧做吧: engine:
translators:
- table_translator@fixed
- table_translator
filter:
- uniquifier
fixed:
dictionary: the_same_dictionary
enable_user_dict: false
enable_completion: false
initial_quality: 1000 |
-_- 我還以爲 GitHub 有這種轉運功能呢……我覺得下次直接在一樓放上原文連結就好了,免得收到一堆被 @ 的提醒電郵。 |
抱歉,没想到会@。 |
……看来这个特性是没希望实现了…… |
@7nights 已解決。解法見上文討論。 |
@lotem 尝试了一下,是否还是需要先开启用户词典,把新词输入完后再关闭掉?因为我发现就不会记录新词了…… |
第二個 |
@lotem 发现没有效果……想确认一下,拼音能用这样的方式吗? |
为什么我用了 uniquifier 并没有去重呢? |
我也是寫了uniquifier也無法去重 |
經實踐,這種辦法是無效的。 按這個辦法實施以後,發現「用戶詞典」無法記錄用戶近期的輸入。表現爲文本格式的「用戶詞典」裏記錄爲空,導致不能「自動造詞」。 於是,我嘗試着將「去重」的參數(filters / uniquifier)注釋掉,重新部署之後,候選窗體中,便有了「雙份候選」。 我嘗試着每次都用「數字鍵選重」,專挑「排後」的那一份候選詞——進而發現此時「文本格式的用戶詞典」裏,成功記錄下了「近期輸入」。進一步嘗試以詞組編碼的方式對「近期輸入」鍵入時,陰陽魚給出了正確的「建議」。 因此,我明白了,之所以用您的辦法無法記錄「近期輸入」,導致陰陽魚不能給出理想的「建議」的原因,便在於「去重參數」(filters / uniquifier)合並或過濾掉了那個「後排」的候選詞,而「優先顯示」的「侯選詞」是禁用調頻參數的,自然不被「用戶詞典」收錄,陰陽魚無從給出「建議」。 我想,那就將兩份碼表次序調調個兒吧,可依然徒勞,可見排序時,並不是按着碼表優先序來的,而是取決於碼表中,詞條所屬的詞頻。禁用調頻的這份,是被優選排前的,它在去重參數的支配下,吞掉了後排那一份可被調頻的碼表詞條,進而使用戶典詞無法接收到近期輸入。 給「單字」調頻,對形碼用戶實是一大困擾,請佛振先生考慮一下,能否讓調頻只針對詞組? |
完全可以實現固定順序及去重。 # wubi86.custom.yaml
patch:
engine/translators:
- punctuator
- reverse_lookup_translator
- table_translator@fixed
- table_translator
engine/filters:
- uniquifier
fixed:
__include: wubi86.schema:/translator
enable_user_dict: false
enable_completion: false
initial_quality: 1000 在此基礎上實現造詞還需要解決 rime/librime#184 |
问下这个功能在最新的0.14.3中支持了吗 |
@seozed 支持很久了。只是最近某个版本似乎权重计算有变,需要增加 fixed 的权重。 # <schema_id>.custom.yaml
patch:
engine/translators:
- punctuator
- reverse_lookup_translator
- table_translator@fixed
- table_translator
fixed:
__include: translator
enable_user_dict: false
initial_quality: 100000
translator:
dictionary: <dict_name>
enable_user_dict: true
enable_encoder: true |
请问五笔拼音如何实现? |
From @viogus on May 17, 2015 16:42
使用的wubi86词库,想在能快捷的加入一些自造词的同时,可以固定原来的字词顺序,
所以同时加上
default.yaml
:switcher/fix_schema_list_order: true
translator:enable_user_dict: true
发现fix_schema_list_order无效,在关闭user_dict时则可以,
请问有办法实现我要的功能么?
Copied from original issue: rime/squirrel#53
The text was updated successfully, but these errors were encountered: