October 05, 2008
Novel-PinYin : 基於自然語言處理的拼音輸入法
前一篇 [新酷音進度報告 6 ] 即提過 [Novel-PinYin],本文再補上一些資訊。Novel-PinYin 的開發者是任職於 Novell 的吳鵬 (Peng Wu,網路代號為 "epico"),與 SCIM 輸入法架構的作者蘇哲共事過,特色是完整的拼音輸入支援,包括不完全拼音的快速比對,採用類似 Sun PinYin 的 bi-gram 的自然語言處理引擎,提昇字詞比對率。就目前的實做來看,Novel-PinYin 包含以下子項目:
- Pinyin Parser : 由蘇哲撰寫的拼音解析器,同時支持若干種雙拼方案,包含 Microsoft 雙拼
- Storage : 以 Berkeley DB 處理 N-gram 的資料
- Training : 在實驗原型系統中,透過參數來淬鍊語料庫
- Lookup : 候選字詞查閱與選擇
- Self-Learning : 在最終輸入 (commit) 時,學習使用者偏好的字詞
- novel-imengine : 與 SCIM 銜接的 IMEngine
- 發現語言使用的普遍規律
- 進行機器學習,以自動擷取語言知識
- 對未知字詞進行推測
以下是 Novel-PinYin 0.2.3 的 test suite 參考結果:
$ ./test_simple_lookup huangjingqun Spent 105324 us for 100 operations, 1053.240000 us/op, 949.451217 times/s. pos:0,token:16779717 pos:1,token:16780842 pos:2,token:16783543 黄敬群上為在資料庫中給定拼音,作候選字詞查閱。
$ ./test_parser Input:huangjingqun Parsed 12 chars, 3 keys: huang jing qun 0 5 5 4 9 3 ㄏㄨㄤ ㄐㄧㄥ ㄑㄩㄣ Input:上為測試拼音解析器,也支援注音符號輸出。
$ ./test_pinyin_index huang Spent 4339 us for 1000 operations, 4.339000 us/op, 230467.849735 times/s. start:16779717 end:16779718 黄 huang2 20546huang 3 start:16779698 end:16779703 荒 huang1 4801huang5 3 巟 huang1 3 衁 huang1 3 慌 huang1 4026huang5 3 肓 huang1 71 ...上為查閱給定的拼音對應的字,包含音調的輸出。
Posted by jserv at 12:29 PM
| Comments (1)
新酷音進度報告 6

《少年小樹之歌》一書中寫道:
-
「當你發現美好的事物時,所要做的第一件事,就是把它分享給任何你遇見的人。這樣,美好的事物才能在這個世界自由地散播開來」
兩年沒有發佈正式的釋出版本後,日前終於釋出 libchewing 0.3.1 與 scim-chewing 0.3.2,同時我們也決定了未來的開發方向。關於新酷音主體的 libchewing,其開發模式將切割為兩個分支:
- libchewing 0.3.x (發展代號: kanruru) : 延續既有的功能,以 unigram 作為 language model,強化漢語拼音、候選字詞處理、詞庫詞條與詞頻的維護、跨平台支援、特殊符號輸入與操作模式等等。在此分支中,也會檢視 API 與資料結構設計,已做了些許調整,API 與 ABI 也有 breakage,待穩定後,會成為 libchewing 0.4.x 穩定版本。"kanruru" 不僅是個可愛的 codename,也表示 Kanru Chen 目前正著手維護此分支
- libchewing 0.5.x (發展代號: beeboo) : 以 uni/bi-gram 自然語言處理為核心的全新設計。透過語料庫處理,從而語料中統計並斷詞,在保存關鍵詞候選集並統計詞頻後,可一系列的篩選過濾,提昇 libchewing「猜字」的準確度。此設計中,注音與 (有調) 拼音是同一個層次,實做上會以廣泛使用的 [GLib] 來處理資料結構與演算法,並引入 [GNU dbm] 或 [Berkeley DB] 作為資料儲存與操作之用
以發展里程碑來看 libchewing 0.5.x 分支,大致分為以下:
- Milestone 0 - 分析 Sun PinYin 與 Novel-PinYin 設計,並嘗試處理注音和拼音對應議題
- Milestone 1 - 以 tsi.src (新酷音原本的詞庫) 來協助產生有聲調的 bi-gram lexicon,以銜接 Sun PinYin 工具,同時,lexicon 及 n-gram 繁體中文化也要處理
- Milestone 2 - 抽詞及斷詞工具 (semi-supervised or unsupervised) + API 整合 (來自 libchewing 0.3.x/0.4.x)
- Milestone 3 - 更廣泛地 IM 整合與重用
Posted by jserv at 03:06 AM
| Comments (0)
October 02, 2008
演講:考量到自由軟體授權的軟體系統規劃 -- 如何借力使力與避開爭議

本 (十) 月 28 日,小弟將應 DigiTimes 之邀,出席 [善用開放源碼 強化『軟實力』] 研討會,為與會的來賓分享「考量到自由軟體授權的軟體系統規劃:如何借力使力與避開爭議」的主題。以下是簡要的資訊:
- 活動時間:2008年10月28日(二) 15:30-16:20
- 會議場地:科技服務大樓14樓 創新廳 (台北市民生東路四段133號14樓)
- 簡介:軟體一開始僅是硬體的附屬品,但歷經這幾十年的蛻變,成為一門兼顧廣度與深度的新興工業。無疑地,軟體系統背後有相當多需要考量的議題,而近年來量多質優的自由軟體導入後,更使得此產業有了不同的面貌,即使是軟體巨人如 Microsoft 者,也不得不思考:善用自由軟體資源,借力使力以加速專案開發與強化整體品質。這其中不全然僅是技術議題,更是由自由軟體多元的授權條款與法律議題之驅使,進而更動到軟體系統的架構。本議程即以技術開發者的角度切入,談論如何透過良好規劃的設計,消弭可能的授權爭端,並延攬優秀的自由軟體資源。
所以,本議程以一個過來人的身份,試圖引導與會者重回產品設計開發的本質,藉由分析箇中利弊與探討已知案例,最低限度達到「如何借力使力與避開爭議」,期待您的指教,謝謝!
Posted by jserv at 11:51 PM
| Comments (0)
October 01, 2008
Qtopia 再度更名為 "Qt Extended"
產品的更名,背後不免反映一些事實。今年六月份,Nokia 宣佈成功併購位於挪威的 Trolltech,並整合旗下 Qt 產品線到 Nokia 的裝置中。就如 LinuxDevices.com 的新聞 [Trolltech and Qtopia rev'd and renamed] 指出,現在 Nokia/Trolltech Qtopia 再度更名為 [Qt Extended],表示奠基於 "Qt Software" 的完整應用程式集合。下圖揭露現在產品線的大體示意:

歷經三次 (2005 年底、2008 年上半、2008 年下半) 的更名,Qt 系列產品已叫人眼花撩亂,筆者試著整理名稱術語的變化:
- Desktop Toolkit:
- Qt/X11 -> Qt for X11
- Qt/Win32 -> Qt for Windows
- Qt/Mac -> Qt for Mac
- Embedded Toolkit (API 幾乎與 Desktop 版本一致):
- Qt/Embedded -> Qtopia Core -> Qt for Embedded Linux [注意:這是 Trolltech 最重要的產品線之一,指的是 Library 本身,而不是「應用程式集合」,儘可能保持 Qt API 在跨越平台的相容性]
- Qt for Windows CE
- Application Suite:
- QPE (Qt Palmtop Environment) -> Qtopia 1.x [注意:QPE 的版本號從 1.0 一直發展到 1.4,後來 1.5 版則更名為 Qtopia]
- Qtopia 1.x -> Qtopia 2 -> Qtopia PDA Edition / Qtopia Phone Edition [注意:Qtopia 2 以來,分為 PDA 與 Phone 兩大分支,與其搭配的 Qt/Embedded 就是 2.x 版本。儘管有 Qt/Embedded 3.x 推出,但沒有 Qtopia 3,而是直接跳到 Qtopia 4.x,此同時為技術與市場策略考量]
- Qtopia 4.x Phone Edition [注意:PDA Edition 此時已是一種 "Phone" 的組態] -> Qtopia [注意:表示與 "Qtopia Core" 的階層關係,並且同時於一個釋出版本中涵蓋 GSM/WiFi Phone,顯然是市場定位考量] -> Qt Extended
Posted by jserv at 11:46 PM
| Comments (0)