pi314 / ime-phonetic.vim

An phonetic input method plugin for https://github.com/pi314/ime.vim
BSD 2-Clause "Simplified" License
7 stars 0 forks source link

有些字的頻率太高,導致優先選字而不是詞庫裡面有的詞 #19

Closed pi314 closed 7 years ago

pi314 commented 7 years ago

例如 的頻率高達 232646,幾乎沒有詞能壓過它。

現在已經做了部份的判斷,但在長句搜尋的時候還是會抓到它。

pi314 commented 7 years ago

例如 ㄨㄛˇㄕˋㄈㄢˋㄧˊㄒㄧㄚˋ 會產生 我是犯疑下 而不是 我示範一下

pi314 commented 7 years ago

今天想到一個想法,除了用詞頻以外,還可以用「完整度」來決定優先度。 對使用者來說,詞庫裡面有的詞當然是優先補完(不然要詞庫幹嘛),越長的詞當然也越優先補完。 完整度可以用每個詞的長度平方加總獲得。

例如輸入有五個字,可以分成 [1, 1, 1, 1, 1],也可以分成 [1, 2, 2],如果把每個詞的長度平方加總:

[1, 1, 1, 1, 1] -> 5
[1, 2, 2] -> 9
[1, 3, 1] -> 11
[5] -> 25

句子裡有越長的詞,完整度越高。 如果有兩種組合的完整度相同,再來比較詞頻。

pi314 commented 7 years ago

implemented with cbc4c9f