深蓝词库转换2.0发布——支持仓颉、注音、五笔、郑码、二笔等
经过了2个多月的改进,终于深蓝词库转换2.0版正式与大家见面了。在1.9版本中增加了对Rime拼音输入法的支持,也得到了网友的反馈,所以在2.0版本中增加了几个新功能:
一、支持多种编码的Rime输入法。
Rime输入法是一款跨平台的输入法框架,在Windows下叫小狼毫,Linux下叫中州韵,Mac下叫鼠须管。这个输入法框架异常强大,支持各种常用的输入法,而且还可以通过简单的配置自定义输入法。深蓝词库转换在1.9版本中增加了对Rime拼音输入法的支持,现在在2.0中进行了增强,除了拼音外,还能够导入导出五笔、注音、仓颉和其他输入法编码。
例如要将一个QQ拼音的分类词库转换成Rime的五笔词库,那么在深蓝词库转换中选择qpyd格式的词库源,目标输入法选择“Rime中州韵”,系统弹出输入法类型选择窗口,在下拉框中选择“五笔”并确定:
然后单击“转换按钮”即可完成词库的转换,将转换结果保存到硬盘上。
接下来到Rime输入法中(以小狼毫为例),选择“用户词典管理”选项,打开词典管理窗口,选中左侧的wubi86,然后单击“导入文本码表”即可完成词库的导入。
用同样的方法,可以导入注音(与地球拼音使用同一个词库,terra_pinyin),仓颉(cangjie5)。当然还有明月拼音(luna_pinyin)。
特别要感谢Rime输入法的作者佛振的指点,才能完成对仓颉输入法词库的生成,在仓颉输入法中对一个词进行编码相当特别,不像郑码、五笔的编码那么简单。
二、支持多种编码的小小输入法。
小小输入法也是Rime输入法一样是一个通用的输入法框架,可以支持多个平台(Windows、Linux等),多个输入法编码。之前1.9版已经支持小小输入法的拼音,在2.0版中进行了增强,能够支持:五笔、郑码、二笔、拼音和其他编码。
比如要将一个搜狗细胞词库转换为小小输入法的郑码词库,那么可以在深蓝词库转换中选择该scel细胞词库作为源,目标词库选择“小小输入法”,系统会弹出一个编码类型选择窗口,在下拉列表中选择“郑码”,然后单击确定按钮:
单击“转换”按钮即可将词库转换为郑码格式,然后保存到硬盘上。
接下来将保存的词库文件复制到小小输入法的安装目录mb文件夹下。然后在小小输入法的属性设置窗口中,左侧选择“郑码”,右侧分词库中输入该词库的路径。
单击“确定”按钮,回到小小输入法,在郑码模式下,我们输入郑码便能够匹配我们导入的词库,如图所示:
同样的方法,可以将五笔、二笔、拼音导入到小小输入法中。
三、增加了对灵格斯ld2词典格式的支持和英语词库支持。
关于英语词库,在很久很久以前就有人提出过该需求,但是由于没有办法解析英语词库,所以一直搁浅,直到最近终于参考了网友的ld2解析办法(http://code.google.com/p/dict4cn/),终于在深蓝词库转换中实现了对灵格斯ld2词典格式的解析,能够以此为源,导出其词条作为能够支持英文输入法的词库。这个功能对于需要输入专业英文的用户很有用,比如医学、金融、化工、法律等等都有专业的英文词典,这些词在输入法中很难自动联想出来,现在只需要下载一本专业的英语词典,然后通过深蓝词库转换导入到能够支持英语词库的输入法中,便可在该输入法中快速录入英文。调查了下英文输入法的支持,结果如下:
- 搜狗拼音输入法虽然在打2次英文词后会记录下来,但是在导出的用户词库中没有英文词库。
- 百度PC输入法支持英文词库的导出,在词库最下面,使用“英语单词Tab词频”的格式。
- 百度手机输入法支持独立的英文词库导入导出,命名为en2.txt,使用“英语单词Tab词频”的格式。
- QQ拼音输入法支持单独对英文词库的导出,使用“英文单词,词频”的格式。
- 谷歌输入法不支持英文词库导出。
我们以QQ拼音输入法为例,在灵格斯官方网站下载一个英汉医学大词典,然后运行深蓝词库转换,将词库源选择“灵格斯ld2”,系统将会弹出ld2编码设置窗口,选择该词典的编码,对于一般英汉词典,估计是UTF-8格式,如果接下来导出的是乱码,那么说明编码格式不对,需要重新选择,重新导一次,还是不对的话就再换一种编码。
单击“确定”按钮,然后选择目标词库为“QQ拼音英文”。然后点击“高级设置”的“词条过滤设置”选项,在设置窗口中去掉“过滤包含英文的词”,如果想导出词组的话,那么还要取消“过滤包含空格的词”,然后单击确定。
然后单击“转换”按钮即可将灵格斯词库转换为QQ拼音的英文词库格式,保存到硬盘上。
然后到QQ拼音输入法的词库设置界面,单击英文用户词库下的“导入”按钮,选择我们转换而来的词库文件,即可将灵格斯词库导入到QQ拼音中。
四、增加了简繁体转换功能。
这个功能主要是为使用繁体中文输入法的用户(台湾、香港等)而准备的。比如在Rime输入法中,默认是繁体中文的词库,如果导入的词库是简体中文,那么Rime会认为这是2条不同的词条。所以在导入时需要将简体转换为繁体。另外还有就是仓颉、五笔等字型输入法,繁体和简体是完全不同的编码,不能等同。
以Rime为例,要导入一个繁体版的仓颉编码。那么选中源词库和目标词库,然后在高级设置的“简繁体转换设置”选项中,选择“转为繁体”。转换组件分为系统默认组件和Office组件。
设置后单击确定按钮,回到主界面,单击“转换”按钮,即可将源词库转换为繁体中文的仓颉码。
而如果没有设置转换为繁体,系统将会以源词库的字生成仓颉码,可以看到,简体和繁体仓颉码是不同的:
虽然深蓝词库转换能够支持简繁体转换,但是这不是其强项,而且也只是调用外部接口而已,所以术业有专攻,如果需要更精确的简繁体转换,可以使用
这些工具进行专业的转换。
五、增加了对雅虎奇摩输入法的支持。
雅虎奇摩输入法是一款繁体中文输入中比较常用的输入法软件。雅虎开发,现在已经开源。网站:http://tw.media.yahoo.com/keykey/
这款输入法支持多种输入编码,比如:注音、仓颉、简易等。但是其词库管理中,只支持注音词库的导入导出。深蓝词库转换可以将各种输入法词库转换为雅虎输入法的格式,导入到其中。
以搜狗细胞词库导入雅虎奇摩输入法为例,下载一个搜狗细胞词库scel文件,在深蓝词库转换中选择该scel文件作为源,目标词库设置为雅虎奇摩。单击转换按钮,将词库转换为注音格式的词库,并保存到硬盘上。
打开雅虎奇摩输入法的偏好设置窗口,在词汇选项卡中单击“导入自订词数据库”按钮即可将我们的词库导入其中。我们也可以单击“启动词汇编辑程式”按钮,进入词汇编辑工具,再单击文件菜单的数据库导入选项,导入我们保存的词库文件。
导入成功后,便可在雅虎奇摩输入法中输入我们导入的词汇。
六、增加了对仓颉平台输入法的支持。
仓颉平台输入法是一款基于小小输入法进行开发的输入法。在仓颉之友可以下载,也提供详细的帮助。深蓝词库转换支持仓颉五的编码。使用其他词库可以转换为仓颉平台的词库。对于仓颉平台的词库设置方法与小小输入法非常类似,首先需要将词库转换为仓颉平台的词库保存到硬盘。
接下来将转换的词库文件复制到C:\cjsys\yong\mb,然后在仓颉输入法的设置窗口中,切换到五仓世纪选项卡,为分词库添加我们的分词库文件路径。
添加后即可在仓颉平台中输入我们导入的词汇。
七、增强了对各五笔和郑码输入法的支持。
在之前的版本中,虽然名义上支持五笔输入法和郑码输入法,但是实际上是只取其中的汉字,直接忽略编码,所以各种拼音输入法不支持导出为带编码的五笔或郑码词库。在新版的深蓝词库转换中,可以为每个词生成五笔编码,郑码编码。
所以在2.0版本中,可以选择:极点五笔、极点郑码、小鸭五笔等作为目标数据库,将各种源词库导入其中。
八、增强自定义规则的功能。
自定义规则功能允许用户指定外部的编码文件,指定词语的编码生成规则,词语、编码、词频的排序、分隔符等。
比如我们有一个自定义的编码表,该表中给出了每个汉字的编码,一字一码,Tab分割。然后想对一堆词语进行编码,于是操作如下:
在深蓝词库转换中选择源词库和其输入法。在目标词库中选择“自定义”,系统将弹出自定义词库编码窗口,再单击右上角匹配规则设置按钮,设置匹配规则如下:
是说我们导出的词库文件,编码不是拼音编码,不包含词频,先显示编码,后显示汉字,之间用空格隔开。对于2字词,3字词和4字及以上的词,编码规则为各个字取一部分。下面的文本框中给出了预览效果。
然后回到自定义词库编码窗口,选择一个编码文件,这里我们选中行列30输入法的Mapping表作为编码文件。单击测试编码按钮可以看到在行列30输入法下的编码样子。
单击确定回到主窗口,单击转换按钮便可实现将指定的源词库转换为自定义词库。
九、词库列表增加百度拼音PC版
百度拼音PC版本身支持搜狗、谷歌等输入法的词库格式,所以一直没有将其添加到深蓝词库转换的输入法列表中。这样会让用户觉得是不是不支持百度PC输入法,所以为了避免用户误会,在输入法词库列表中增加了“百度拼音”。
十、重构代码,增强基本功能与命令行功能。
在源词库列表中,去掉了触宝输入法的选项,因为触宝修改了备份文件的格式,而且不支持文本文件词库的导入导出,所有现在暂时没办法支持触宝输入法。期待着触宝对词库导入导出功能的增强。
本来主窗口有2个按钮,一个负责“转换”,转换完成后询问用户是否保存转换结果。另一个“导出”按钮其实就是将下面文本框的内容保存到硬盘。由于支持的词库格式更多,各种格式不一,在文本框中进行编辑再保存就没有那么必要了。所以取消了这个按钮。使用一个更大的“转换”按钮代替,使得操作更简单。
从一个只支持拼音词库的工具到能够支持多种输入编码,多种格式解析的工具,其内部代码也必须进行了大量的调整,使得整个工具能够更易扩展,更强大。由于要支持仓颉、五笔、郑码、二笔等等输入编码的生成,所有必须在内部维护每个汉字与编码的Mapping表,所有也就使得该软件体积变大了不少。
另外,增加的输入法也需要更多的设置窗口,更强大的自定义功能,使得其内部变得复杂了很多,最近几天在写自定义编码的实现时,感觉脑子都要被搅糊了。所以必须要花更多的时间来维护代码的结构,不断重构代码,保持代码的清晰易读。
还有一点在开发上的改变就是将源代码从GoogleCode迁移到了GitHub。使用Git不是很熟悉,不过坚信这个会比原来SVN更好。
最后再重申一下,“深蓝词库转换”是一款完全免费的、开源的软件(项目网站:http://code.google.com/p/imewlconverter/)。经过了2年坚持不懈的更新,终于发展到了2.0版本,希望能够帮助更多的朋友,提高大家的打字效率,为生活带来便利。另外还有一些高级用户,解析大量的词库用于研究(分词、输入法等),制作更精确的词库等。如果大家觉得该工具给你带来了便利,希望表示感谢,可以打开捐赠页面(http://imewlconverter.googlecode.com/svn/wiki/donate.html )进行小额捐赠,也希望大家多提需求和建议,深蓝词库转换会继续更新,变得更好。
http://imewlconverter.googlecode.com/files/imewlconverter_2_0.zip