我在之前写过一个小程序,用于实现QQ拼音、搜狗拼音、谷歌拼音和百度手机拼音输入法词库的互转,文章地址是:http://www.cnblogs.com/studyzy/archive/2009/12/31/1637030.html
本来我只是出于从将个人的词库从QQ拼音导入到搜狗拼音中,随手写的个小程序,结果哪知道原来大家都有和我类似的需求,希望实现各种输入法词库的相互转换;另外现在智能手机越来越多,在手机上的输入法也竞争相当激烈,QQ手机拼音、搜狗手机拼音、百度手机拼音等输入法都出来的,有些手机输入法也支持词库的导入导出,所以也用得到我这个词库互转程序。最近又有人提出,希望将搜狗的细胞词库和QQ的分类词库转换成其他输入法的词库,这个功能也很有必要,所以我打算继续折腾这个程序,将词库转换的范围继续扩大!
经过两天的努力,终于完成了我的词库转换小工具,将现有词库的以文本格式导出,然后选择源词库格式和新词库格式,单击“转换”按钮即可词库格式的转换。放出程序截图如图所示:
目前我这个转换小工具还只支持纯文本格式的词库,因为对于搜狗细胞词库(scel格式)和QQ分类词库(qpyd格式)我没有具体的解析这些词库的算法或者程序集,所以无法解析成文本并进行转换。如果大家谁知道怎么解析搜狗细胞词库和QQ分类词库的话还希望不吝赐教!
如果希望将搜狗细胞词库导入到谷歌拼音中,该怎么实现呢?首先需要到官方网站去下载txt格式的细胞词库,该词库中只有词条,没有拼音!选择该txt文件,然后选择“搜狗细胞词库Txt”作为转换源,以谷歌拼音作为目标格式即可!
对于没有拼音的文本词库,程序会找到每个字的拼音,自动生成带拼音的词库,这里面有一个问题是出现多音字怎么办?我在高级设置中给出了一个“忽略多音字”的选项,默认是选中的,所以会导致很多词的拼音是错误的,比如“音乐”会被拼写成“yin le”,因为乐是多音字,只取了其一个音“le”。如果取消了“忽略多音字”选项,那么所有的多音字的拼音就都会出现在词库中,形成词条中多音字的所有组合,如图所示:
本来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