這個模型基本上只是根據游標前的兩個 unigram 記憶當前的用戶選字。當有超過 一個以上的用戶選字時,則要給每個選字評分。評分標準是選字頻率乘上一個透過 半衰期遞減的最近選字經歷時間。如此一來我們在「少用但最近選過」及「常用但 最近少選」之間取得一個平衡。半衰期透過經驗法則決定。 目前這個簡易模型並不存入磁碟,因此下一次重開機後就會洗掉重來。目前這樣選 擇純粹是因為模型有半衰期,因此長時間存放後還是會遺忘。 這個模型的好處是對既有詞庫提供詞的影響很小,對於連續單字詞的 override 有 還不錯的幫助。如此對於人名、地名、公司名等專有名詞,應該可以減少選字的頻 率。這個模型應用起來的缺點是,如果用戶修改的字詞原來是個雙字詞,例如先前 的兩個 unigram 分別是 A, BB ,而用戶想改的是 BB 的第二個字,使選完後的三 個字分別是 A, B', C,這個 C 往往是記不起來的,但如果一開始用戶逐字選取, 亦即在 BB 只出現 B 時就選取 B' 然後再打 C ,則 A, B', C 這個組合往往能被 正確記憶。實際發生原因在此不討論,但跟底層所用的組字網架的架構有關。確實 要改進的話得要從底層重新架構來下手,但至少目前這個模型給的建議偏保守,不 至干擾原有的預設選字。衡諸得失,這個模型提供一些邊際上的改善,應該還是值 得採用的。 |
||
|---|---|---|
| .github/workflows | ||
| McBopomofo.xcodeproj | ||
| Source | ||
| .gitignore | ||
| .travis.yml | ||
| LICENSE.txt | ||
| README.markdown | ||
README.markdown
OpenVanilla McBopomofo 小麥注音輸入法
系統需求
- macOS 10.15 Catalina 以上版本
- Xcode 12.0 以上版本
由於小麥注音輸入法開始使用 SPM(Swift Package Manager)管理相依套件,因此必須使用 Xcode 12 開發。
開發流程
用 Xcode 開啟 McBopomofo.xcodeproj,選 "McBopomofo Installer" target,build 完之後直接執行該安裝程式,就可以安裝小麥注音。
第一次安裝完,日後程式碼或詞庫有任何修改,只要重複上述流程,再次安裝小麥注音即可。
要注意的是 macOS 可能會限制同一次 login session 能 kill 同一個輸入法 process 的次數(安裝程式透過 kill input method process 來讓新版的輸入法生效)。如果安裝若干次後,發現程式修改的結果並沒有出現,或甚至輸入法已無法再選用,只要登出目前帳號再重新登入即可。
軟體授權
本專案採用 MIT License 釋出,使用者可自由使用、散播本軟體,惟散播時必須完整保留版權聲明及軟體授權(詳全文)。