D 的个人博客

全职做开源,自由职业者

  menu

StoneAge Dict 技术方案的可行性[2]

经过近一天的词库格式实验,解决了一些问题(heap overflow,etc.),并转换了一个朗道英汉字典5.0的词库。

实验统计数据如下:

环境:Pm1.86G CPU, 1G DD2 memory

转换词数:100, 000

耗时:13m34s

目标XML词库:9.9M,经过Zip压缩后为1.6M

 

根据这个实验,可以推断,完全转换一个40W词汇量的词库为XML格式的化压缩后大小大概10M,消耗的时间可以不考虑。

结论:只是作为存储的话XML可以满足我们的要求,但是如果只使用XML存储词库的话查询效率是个很大的问题。

         在标准词库上,我们还是基于前人(StarDict、dict.org等)的研究成果,使用StarDict的标准词库作为词汇的查询。

         而这些标准词库不能做到“开放式”、“实时”的需求特点,因为它们的数据文件和索引文件已经固定,要做出调整代价太大。

再分析了客户的需求,并结合客户给出的使用场景,决定采用StarDict的词库作为基础标准词库,开放式实时的词库采用XML。因为这类词库的

词汇量不可能太大,以XML作为存储可以方便地进行词汇更新、词汇搜索以及用户词库的交换。

至此,我们StoneAge Dictionary的词库基本解决方案如下:

1. StarDict词库处理子系统,用于StarDict所有词库的处理

2. XML开放式词库处理子系统,用于用户自定义词库的处理

根据这几天的实验,StarDict词库处理子系统基本完成,还存在一些Bugs需要解决。XML开放式词库的格式已经完成,现在我们需要深入地分析一下用户素材了。


P.S. 由于这几天过年,大家可能不能经常上网。项目经理家那边也经常停电- -!所以我们团队急需找个时间开个网络会议了。