各大输入法分类词库内部格式的简单比较

之前一直利用闲暇时间做深蓝词库转换,对各大输入法的分类词库有了一些大概的了解,下面来比较下各个词库格式的特点:

1.搜狗细胞词库scel格式

scel格式是采用Unicode编码了汉字、拼音。整个scel格式的内容是:头信息、词库简介、拼音组合列表、词条列表。scel格式的词条的数据结构设计的还是比较好的,它使用了拼音指针来避免在词条中出现重复的拼音来占据内容,也会把同音词合并在一起,节省空间。基本结构如下:

该拼音对应的词条数、拼音指针、词条列表。

2.QQ分类词库qpyd格式

qpyd格式是我一直很头疼的格式,原来是采用了zip压缩词条列表。qpyd格式的内容是:头信息、词库简介、压缩的词条列表。qpyd格式由于采用了zip压缩,所以在同样词条数的情况下,整个文件会显得比其他格式的词库小。但是与搜狗的scel格式不同的是,qpyd格式中,每个词条都对应了其拼音,词语是使用UTF8编码,但是拼音是使用Unicode编码,真是很奇怪。

3.百度分类词库bdict格式

百度的bdict格式算是比较简单的,它其实和搜狗的scel格式很相似,主要不同是使用了默认的声母和韵母列表,而不是写在词库文件中。整个bdict格式的内容是:头信息、词库简介、词条列表,词条中的汉字是使用Unicode编码。词条列表的内部格式如下:

拼音长度、(分母序号、韵母序号)列表、词语

这里的分母序号和韵母的序号是在词库中找不到的,需要通过几个实际的bdict词库解析,一个个的归纳出来。

4.紫光分类词库uwl格式

uwl格式的词库并不是很多,所以我现在还不支持对该词库格式的转换,但是使用了WinHex大概看了下,该格式的词库和scel也比较类似,没有使用压缩,但是编码上好像UTF8和Unicode的都有,词条之间的距离很稀疏,也就是说在文件中,词条和词条间有很多0000,实在是浪费空间。

5.触宝备份词库bak格式

触宝输入法的备份文件格式是我觉得数据结构上最复杂的,里面使用的是一个树结构来表示。树结构中的上一层节点和下一个节点还是双向指针,我花了很多的时间来解读,终于能够实现对该文件的解析,但是有些字节不明白是什么意思,没办法根据词库生成对应的bak文件。触宝使用的是Unicode编码来保存汉字,拼音和bdict做的有点类似,也是用的默认的拼音列表,不同之处是,触宝没有将分母和韵母分开,而且把声韵母的组合作为一个列表。

总结下:

这几种词库格式中,感觉scel是比较清晰的,也比较节约空间,而且容易理解,如果能够像QQ词库那样压缩的话,就更节省空间了。qpyd格式把每个词的每个拼音都记录在词后面,实在是浪费空间,还不如scel格式这样方便,而且拼音和汉字使用了2中编码,真是没必要吧。bdict格式把声母和韵母拆开,以默认列表进行检索,这样也比较好,空间利用已经比较充分。紫光的uwl格式就实在不敢恭维,里面充斥着大量的0000,实在太浪费空间了。触宝词库备份文件数据结构太复杂太复杂,一般难以理解。

若要了解具体每种格式的解析办法,可以参加我的项目代码,项目地址:http://code.google.com/p/imewlconverter/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
输入法词库转换, 基于C#开发,所以电脑上必须安装.Net Framework 2.0才能正常运行,如果双击“深蓝词库转换.exe”后弹出错误窗口,请下载安装.Net Framework 2.0再试。 1.1版支持搜狗的细胞词库(scel格式)的转换,您可以到搜狗网站下载细胞词库导入到您其他输入法或者手机输入法中! QQ的分类词库格式还没有研究出来怎么解析。 1.2版支持了紫光拼音输入法和拼音加加输入法词库导入导出功能。增加了批量导入的功能。修复了有些scel格式词库导入时报错。 1.3版增强了多音字注音功能和外挂多音字注音词库功能,另外还提供了直接导出而不显示转换结果的选项。 1.3.1版增加了对新浪拼音输入法的支持。 1.4版增加了对触宝输入法的支持,增加了拖拽功能。 1.5版增加了百度分类词库bdict格式的转换,增加了命令行调用功能。 1.6版修改了搜狗细胞词库解析和QQ手机词库解析的函数,支持最新格式。 1.7版增加了梦寐已久的QQ分类词库(qpyd格式)的转换,调整了下拉列表的顺序,增加了拖拽文件时的文件类型自动识别等功能。 1.8版增加了自定义编码的输出,增强了命令行功能,请使用-?查看命令行帮助。实现了百度手机分类词库(bcd格式)、小小输入法和微软拼音输入法词库功能,但是可能由于输入法的原因,会导入失败。 1.9版增加了微软英库拼音输入法、FIT输入法、搜狗Bin格式备份词库、中州韵(小狼毫、鼠须管)、各种常用五笔输入法的支持,增加词库文件分割功能。 2.0版支持多种编码的Rime输入法,支持多种编码的小小输入法,增加了对灵格斯ld2词典格式的支持和英语词库支持,增加了简繁体转换功能,增加了对雅虎奇摩输入法、仓颉平台的支持,增强了对各五笔和郑码输入法的支持,同时优化了内部代码,增强自定义规则的功能。 如果还有更多的词库需要转换,或者对该词库转换工具有什么建议,请联系:studyzy@163.com 博客:http://studyzy.cnblogs.com 新浪微博:http://weibo.com/studyzy 深蓝词库转换的微博:http://weibo.com/imewlconverter

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值