V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dvel
V2EX  ›  中州韻

Rime 怎么设置固顶字?(固定候选项顺序)

  •  
  •   Dvel · 2021-02-28 15:07:12 +08:00 · 1499 次点击
    这是一个创建于 1124 天前的主题,其中的信息可能已经有所发展或是发生改变。
    固顶字:
    输入「 zhi 」,「只」永远是第一个。

    固顶词:
    比如「 zhi shi 」「只是」永远是第一个。

    固顶前 N 项:
    「 ta 」→「他 她 它」

    这个在 custom_phrase.txt 中可以实现,但是如果写在这里,这些字就没办法参与造词了(自造词无法被记住)。
    5 条回复    2022-01-10 10:06:46 +08:00
    IRuNamu
        1
    IRuNamu  
       2021-02-28 21:27:01 +08:00
    用一個 table translator 關 userdictionary
    用一個 script translator 來組句
    有個問題就是 無論 table translator 有幾高 initial_quality 組句時 仍是以 script translator 為先 大概和 segmentor 切分 導致的問題
    Dvel
        2
    Dvel  
    OP
       2021-02-28 22:47:10 +08:00
    @IRuNamu #1 你说的是不是这样,再创建一个 fixed.dict.yaml 来写入需要固顶的字词
    ```
    engine/translators/@next: table_translator@fixed
    fixed:
    dictionary: fixed
    enable_user_dict: false
    initial_quality: 9999
    ```
    试了并不管用,还是会动态调频。
    IRuNamu
        3
    IRuNamu  
       2022-01-05 15:56:40 +08:00
    @Dvel 想了想 table translator...似乎 因為不能完全匹配你的輸入碼 會被置於 匹配到全部輸入碼的 segmentation 之後。 因此現象是不可行的。 但其實有置頂了的 Candidate 輸出。
    這個問題我在寫 Sort_By_weight_filter 的时候發現的,Rime 並不完全依照各種 weight 來 sort, 其中還有 segmentation 位置的影響
    Dvel
        4
    Dvel  
    OP
       2022-01-08 01:29:01 +08:00
    @IRuNamu #3 虽然你说的我听不懂,但我大概的理解是 Rime 的词库权重只能确定初始状态,用户输入后的调频的权重有更高的优先级。
    好像目前没有办法,除非单独去写代码实现这个功能。
    IRuNamu
        5
    IRuNamu  
       2022-01-10 10:06:46 +08:00
    @Dvel 我指的是代碼層次上 可能會有更多的意外, 但的確 詞庫的權重是初始的 而 userdict 是有更高的優先度 前提是單一翻譯器來源。。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1061 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:58 · PVG 02:58 · LAX 11:58 · JFK 14:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.