russell-liu

Results 8 comments of russell-liu

Understood; thank you for your help. I guess the issue can be closed?

@LEOYoon-Tsaw 你好, 我想令所有詞語不須標註編碼而可被反查,見你在 https://github.com/rime/home/issues/1095#issuecomment-1181270800 提到得改代碼,因此嘗試並成功實現了——須使reverse_lookup_dictionary.cc中構建`rev_table`的邏輯針對`vocabulary`而不只是`syllabary`。 請問這功能是未有人實現,還是不計劃實現呢?見你更久之前在 https://github.com/rime/rime-cantonese/pull/80#issuecomment-666597210 說過希望有人能修補,但這似乎又不是個很大的改動。如果開發者願意添加此功能,我很樂意作出貢獻。

谢谢佛振先生的回答。我看懂了第一段,与我的理解一致;但后面的不太明白,原因如下: 据我测试,用拼音码反查词组的形码是可以的:比如选择仓颉方案,输入`` `nihao ``(拼音反查), `你好`旁会显示`人火女弓木`提示码。楼主也提到五笔输入时双拼反查可以查词。似乎只要选择形码输入法,用拼音码或其他形码都能反查词组的形码。 但用形码反查词组的拼音码就不能实现:比如选择粤拼方案,输入`vofvnd`(仓颉反查),`你好`旁不会显示粤拼提示码。楼主也提到用双拼输入时五笔反查不可以查词。此外,用其他拼音码反查词组的拼音码也不能实现:比如选择粤拼方案,输入`` `nihao ``(普通话拼音反查),`你好`旁也不会显示粤拼提示码。似乎只要选择拼音码输入法,用形码或其他拼音码都不能反查词组的拼音码。 要解决这个问题,我参考以往讨论,试过如你所说专门制作反查词典,将词的拼音码处理为一串字符(如 https://github.com/rime/rime-cantonese/pull/80/ 的做法)。但这策略较复杂且麻烦。 所以我成功靠改librime代码解决了——在reverse_lookup_dictionary.cc中更改构建`rev_table`的逻辑,不只把`vocabulary`中每个单音节词(即每个字)映射到其编码,而是给所有词都如此映射。这样要选择拼音码输入法就也能反查词组的拼音码。 请问这个策略有没有什么弊处?此改动的一个代价就是反查词典文件会更大。如果可行的话,会否计划添加此功能到librime?过往似乎有不少用户对此有提问(如 https://github.com/rime/home/issues/298 ),所以我认为或许有其价值。

我的理解與你第二段所說的一致。 你提到的衝突我在改代碼時也發現了;所以我用空格表示音節邊界,多音反查結果改用豎線字符分隔讀音,如下(用普通話拼音反查中古全拼): ![image](https://github.com/user-attachments/assets/aeb2d03a-1951-4645-90b9-1c381e53b80a) 請問這個解決方法可否採納? 實現此功能有一個問題:如果詞語包含多個多音字,反查提示碼會很長(但確實符合設計),如下: ![image](https://github.com/user-attachments/assets/550713c1-acfb-49c1-a133-20e7071a469b) 不知這個問題算不算嚴重。 至於將反查結果做雙拼等格式轉換,這是否已經可以通過定製拼寫運算實現?

明白了,谢谢解答。 自动推导编码问题应该可以靠定制更完整的词典文件来解决:比如中古拼音词典有给`中行`一词提供标准注音,反查时就不会出现以上`中华`一词一般的情况。使用中古拼音打字时,以上六种编码都能用来输入`中华`,而用来输入`中行`的只有一种编码。但输入法词典注音难以齐全,所以确实难免出现有误导嫌疑的排列组合出来的编码。 次要问题也确实存在,也许只能让用户了解反查功能的缺陷。 所以如此实现并不完美,选择不做也有道理。

有意思,這樣能在避免非必要地擴大反查詞典的情況下實現反查詞語。 請問什麼是R²ime?