Transcript Document
新酷音 (Qooing) 發展介紹 Jim Huang (黃敬群) <jserv @ kaffe.org> Official Kaffe Developer, JMCCE Developer May 10, 2004 1 題綱 • 新酷音發展動機 • 酷音輸入法簡介 • 新酷音架構 • 新酷音發展狀況 • 邁入 IIIMF • 未來展望 May 10, 2004 2 新酷音發展動機 • 酷音輸入法 (Chewing) – 最早為台大資工系的龔律全與陳康本的資訊專 題,選擇以 GPL 授權釋出,是 UNIX 上最接 近新注音或是自然輸入法的實作 – 架構於 XCIN 下的動態載入模組 – 與 bimsphone (XCIN詞音輸入模組) 的差異 • 酷音採用 statistical model 來斷詞 • bimsphone 採用傳統 heuristic May 10, 2004 3 新酷音發展動機 (續) • 酷音輸入法的缺陷 – 沒有持續維護 – 主體程式僅能在 XCIN 下使用 – 缺乏泛用型的 API – 無法與 libtabe 共享詞庫 • 酷音輸入法使用的詞庫是蔡志浩最初提出的 • libtabe 詞庫已有熱心朋友的檢閱 May 10, 2004 4 新酷音發展動機 (續) • 衍生於酷音輸入法的計畫 – JMCCE (維護人:crazykid/jserv) • 移植自酷音輸入法的輸入引擎,是第一個可以使用酷音 輸入法的中文終端機 – Chewing-On-OSX (維護人:gugod) • clkao 將酷音輸入法移植到 MacOS X,目前由 gugod 維護 – Iiimf-chewing (維護人:clkao) • IIIMF 下的酷音輸入法 LE (Language Engine) – 新酷音 (Qooing) May 10, 2004 5 新酷音發展動機 (續) • 新酷音 (Qooing) 發展目標 – 抽離原本酷音輸入法,獨立為 libchewing • 最早的 libchewing 原型來自 2002 年的 JMCCE • 跨越平台 / Toolkit 限制 – 提供 libchewing 與其他專案的橋樑 (bridge) 程式碼 • 目前已提供 XCIN (cvs 版本) 與 JMCCE 的 patch – 針對智慧型注音輸入法開發 backend 與設定工具 • Qooing XIM server • Qooing InputMethod plugin for Qt/Embedded • IIIMF (?) May 10, 2004 6 新酷音簡介 • 酷音輸入法引擎 API 的標準化 • 實驗性 Qooing XIM Server – 以 Qt 3.x 設計的設定介面 • Qt/Embedded 的整合 – 透過 imkit 與 Qt/Embedded (Qtopia) 環境溝 通,可在 Qtopia 下存在多種輸入法系統 May 10, 2004 7 新酷音簡介 (續) • 酷音輸入法引擎 API 的標準化 – 酷音輸入法的 language model 摒除了傳統 heuristic 的方式 (如詞音輸入模組),而完全採取 statistical model – supervised 的方式,亦即預先建立已斷詞的資料庫作 traning – 基於記憶體需求考量,採 uni-gram • uni-gram:找出一種斷詞方式,使每個詞的出現機率為最大 • bi-gram:使用條件機率,一個詞出現的機率會 依據上個詞 而出現 May 10, 2004 8 新酷音簡介 (續) • 實驗性 Qooing XIM Server – 不使用 IMdKit (傳統的 XIM Server 如 Chinput、 XCIN,與 fcitx 使用),直接以 Qt 3.x 實作 XIM Specification • 為何要設計 Qooing XIM? – 彌補在 Qt/Embedded 與 IIIMF backend 未出 現之前的空缺 – 體驗 XIM Protocol 實作的經驗 – 新酷音 RI (Reference Implementation) – 以 Qt 3.x 設計的設定介面 May 10, 2004 9 新酷音簡介 (續) • 運作畫面 May 10, 2004 10 新酷音架構 User 對使用者而言,各平台的新酷 音輸入法方式是一致的 Backend 是使用者接觸的環境, 可以是 XIM,也可以是終端機 (JMCCE),甚至是某個模組 (XCIN/IIIMF) Backend 由 backend 收到的資料,從字 詞庫模組處理斷詞 libchewing May 10, 2004 11 新酷音架構 (續) May 10, 2004 12 新酷音發展狀況 • Qooing XIM server – 可運作,但需要克服 XIM 部分的問題 – 預計於 Kaffe 1.1.5 後兩週釋出 • libchewing – 已有程式可轉換 libtabe 的詞庫格式 – 提供給 xcin、JMCCE,以及 iiimf-chewing 使用的 patch • 設定工具 – 注音輸入與鍵盤配置 – Style 選擇 – 使用者詞庫的追加與瀏覽 May 10, 2004 13 邁入 IIIMF • iiimf-chewing – 最早由 clkao 設計,為第一個 IIIMF 上智慧型注音的實作 – clkao 也包裝了 libchewing • 使用 qooing-config (新酷音的設定工具) • 避免重複發展,整理現有的分支,獨立 libchewing • 移植到 Debian 的 iiimf-chewing • 支援 IIIMQCF (IIIM Qt/Embedded Client Framework) May 10, 2004 14 未來展望 • 引入 bi-gram 的 Language Model – 自然輸入法 (Gooing) 使用 Hidden Markov Model 來 評估參數 • 實作 role-based 可擴充斷詞模組 • 友善的使用者設定工具 – 不排除使用 GTK2 或是 wxWidgets 開發 • 與 libtabe 計畫整合,讓使用者更容易貢獻詞組 – 可由 GUI 匯出 (export) 詞組到 libtabe May 10, 2004 15