折騰詞庫,一個詞庫互轉程序


我在之前寫過一個小程序,用於實現QQ拼音、搜狗拼音、谷歌拼音和百度手機拼音輸入法詞庫的互轉,文章地址是:http://www.cnblogs.com/studyzy/archive/2009/12/31/1637030.html

本來我只是出於從將個人的詞庫從QQ拼音導入到搜狗拼音中,隨手寫的個小程序,結果哪知道原來大家都有和我類似的需求,希望實現各種輸入法詞庫的相互轉換;另外現在智能手機越來越多,在手機上的輸入法也競爭相當激烈,QQ手機拼音、搜狗手機拼音、百度手機拼音等輸入法都出來的,有些手機輸入法也支持詞庫的導入導出,所以也用得到我這個詞庫互轉程序。最近又有人提出,希望將搜狗的細胞詞庫和QQ的分類詞庫轉換成其他輸入法的詞庫,這個功能也很有必要,所以我打算繼續折騰這個程序,將詞庫轉換的范圍繼續擴大!

經過兩天的努力,終於完成了我的詞庫轉換小工具,將現有詞庫的以文本格式導出,然后選擇源詞庫格式和新詞庫格式,單擊“轉換”按鈕即可詞庫格式的轉換。放出程序截圖如圖所示:

image

目前我這個轉換小工具還只支持純文本格式的詞庫,因為對於搜狗細胞詞庫(scel格式)和QQ分類詞庫(qpyd格式)我沒有具體的解析這些詞庫的算法或者程序集,所以無法解析成文本並進行轉換。如果大家誰知道怎么解析搜狗細胞詞庫和QQ分類詞庫的話還希望不吝賜教!

如果希望將搜狗細胞詞庫導入到谷歌拼音中,該怎么實現呢?首先需要到官方網站去下載txt格式的細胞詞庫,該詞庫中只有詞條,沒有拼音!選擇該txt文件,然后選擇“搜狗細胞詞庫Txt”作為轉換源,以谷歌拼音作為目標格式即可!

image

對於沒有拼音的文本詞庫,程序會找到每個字的拼音,自動生成帶拼音的詞庫,這里面有一個問題是出現多音字怎么辦?我在高級設置中給出了一個“忽略多音字”的選項,默認是選中的,所以會導致很多詞的拼音是錯誤的,比如“音樂”會被拼寫成“yin le”,因為樂是多音字,只取了其一個音“le”。如果取消了“忽略多音字”選項,那么所有的多音字的拼音就都會出現在詞庫中,形成詞條中多音字的所有組合,如圖所示:

image

本來1895個詞條,經過多音字的組合,就變成了7597條!這樣導致詞庫變得太大,而且輸入法處理起來也困難,所以不建議使用。對於詞條中多音字的處理不知道大家還有沒有更好的辦法能夠獲得一個詞的准確拼音,不要將“音樂”變成“yin le”了。

另外我還設置了詞條長度的篩選功能,將單個字的詞條、長度大於指定長度的詞條都篩選掉,不進行轉換。

現在這個程序功能還很弱,只支持:百度手機、QQ手機、搜狗拼音、搜狗五筆、QQ拼音、谷歌拼音、搜狗細胞詞庫Txt,仍然有以下問題有待解決:

  • 如何解析搜狗細胞詞庫scel格式和QQ分類詞庫qpyd格式?
  • 如何獲得QQ分類詞庫的Txt格式?
  • 如何獲得一個詞條的准確拼音?
  • 搜狗手機輸入法好像不支持本地詞庫導入,電腦上的詞庫就沒辦法導入到其中了?
  • 支持更多的輸入法類型的詞庫。

我已經將程序代碼放到Google Code中,有興趣的可以看看,地址:http://code.google.com/p/imewlconverter/

 

這里放出可執行文件,方便有同樣需求的人來一起折騰詞庫,下載地址:/Files/studyzy/深藍詞庫轉換小工具-v1.0.zip


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com