善解
善解,所以選對。
一個開源的 macOS 注音輸入法,專心把同音字選對:看懂你前面寫了什麼,選出你真正要打的那個字。
開發中・尚未提供下載
為什麼要做
注音輸入最常見的困擾不是打不出字,而是打出了「同音的另一個字」。
怎麼做
三層分工:每一次按鍵都在本機即時完成,語意判斷只在需要時加入,而且只能從本機的候選裡挑。
候選生成
詞庫與語言模型在本機產生前 64 名候選,每一鍵都要在 16 毫秒內完成。
本機重排
小型語言模型看你前面寫的內容,從候選中挑出最合理的一句;在背景執行,不拖慢打字。
雲端校正(選用)
打完按一下快速鍵,請雲端模型再看一次。預設關閉;雲端只能回傳候選的編號,不能自己寫字。
目前的實測
所有數字都來自專案的評測集,句子由專案自寫並以 CC0 釋出。
這些數字怎麼量的
評測分成開發集與保留集。開發集用來調整;保留集由另一個流程撰寫、開發過程中不看內容,只在每個階段結束時量一次,用來確認進步不是因為「背了題目」。保留集上,補詞讓前 64 名含正解的比例從 96.9% 升到 97.8%。
判斷器比較了本機模型與多家雲端服務的三十多組設定;所有判斷器都卡在同一個上限:正解根本不在候選裡的句子,誰也救不回來。所以目前的重點是先把正解放進候選。
路線圖
依序進行,每一段都有可量測的驗收條件,由獨立的檢查流程確認後才算完成。
評測基準 完成
Rust 核心與研究原型逐字一致,之後每一步都能和基準對照。
評測資料 完成
口語開發集與獨立撰寫的保留集,含同音陷阱與詞庫沒收的日常用語。
語意選字可行性 完成
實測本機與雲端模型的準確度與延遲,找出真正的瓶頸在候選,而不在判斷。
詞庫 v1 完成
從維基標題與維基詞典補進約 34 萬個詞,並可從鎖定版本的來源完整重建。
精簡詞庫格式 完成
重寫詞庫在記憶體中的結構:輸出逐字不變,記憶體從約 390 MB 降到約 88 MB。
語言模型與詞性 下一步
用上下文與詞性處理「常常/嚐嚐」「在/再」這類排序問題。
macOS 輸入法本體 規劃中
標準注音鍵盤、候選窗、中英切換;外觀參考 Apple 原生注音,中文模式下 Ctrl+\ 輸出「、」。
一鍵校正、個人化學習、新手測驗 規劃中
打完一段可以請模型重看;只從你在候選窗的改選學習,而且依前文分開記,不會一次改選就污染所有句子。
本機重排與雲端校正 規劃中
把語意判斷接進輸入法;本機優先,雲端選用。
打包與釋出 規劃中
簽章、公證,提供下載。
隱私
輸入法看得到你打的每一個字,所以這些是設計上的硬規則(隨開發逐項實作)。
設計原則
- 雲端功能預設關閉;開啟後只在你按快速鍵或送出時傳送,不會逐鍵傳送。
- 雲端只能回傳候選的編號,不能產生文字;回應不合規就直接用本機結果。
- 密碼欄、安全輸入模式下停止學習與雲端;終端機不傳送到雲端。
- 你打的內容不寫進任何日誌或錯誤訊息。
- 學習資料只存在本機,可以一鍵清除。
開源與授權
授權清單
- 程式碼:Apache-2.0。
- 基礎詞庫:小麥注音(MIT;片語源自 libtabe,BSD)。
- 補充詞表:由維基百科與維基詞典的條目標題產生,CC BY-SA 4.0,署名維基百科與維基詞典貢獻者。
- 評測句:專案自寫,CC0。
原始碼公開時間待定。