[发明专利]低误查率的大规模词典存储方法及查询方法有效
申请号: | 200910003645.X | 申请日: | 2009-01-13 |
公开(公告)号: | CN101464899A | 公开(公告)日: | 2009-06-24 |
发明(设计)人: | 孙海涛;孙健;侯磊;张勤 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/28 |
代理公司: | 上海开祺知识产权代理有限公司 | 代理人: | 费开逵 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 低误查率 大规模 词典 存储 方法 查询 | ||
1.一种低误查率的大规模词典查询方法,用以在计算机进行语言翻译时, 对待翻译的词条进行查询,其特征在于,包括以下步骤:
1)利用低误查率的大规模词典存储方法压缩并存储机器翻译时所需要的 词典数据,其进一步包括:
将机器翻译时所需要的现有词典数据按照设定的格式进行排列;
读取词典数据,并利用Bloomfilter技术生成一Bloomfilter索引;
读取词典数据,并利用完美哈希算法生成一完美哈希索引;
2)获取待翻译词条的若干个候选翻译项;
3)查询所述Bloomfilter索引,并判断所述候选翻译项是否存在;
4)查询所述完美哈希索引,并通过从所述完美哈希索引中得到的哈希函 数计算存在的所述候选翻译项的分值;
5)获取分值最高的候选翻译项,并作为待翻译词条的翻译结果。
2.如权利要求1所述的低误查率的大规模词典查询方法,其特征在于,
在生成所述完美哈希索引时,存储所用的哈希函数的个数及对应的每个 哈希函数的参数。
3.如权利要求1所述的低误查率的大规模词典查询方法,其特征在于, 生成所述Bloomfilter索引时包括以下步骤:
在计算机的存储器中设置一数组;
利用相互独立的若干个哈希函数把词典数据中的每个词条进行运算后映 射到所述数组上;
将所述数组中映射有哈希值的位置设置一标示,并生成所述Bloomfilter 索引。
4.如权利要求3所述的低误查率的大规模词典查询方法,其特征在于, 将所述数组中映射有哈希值的位置设置一标示具体为:将所述数组中映射有 哈希值的位置置“1”。
5.如权利要求3所述的低误查率的大规模词典查询方法,其特征在于, 在利用所述哈希函数把现有词典数据中的每个词条进行运算后映射到所述数 组上之前还包括以下步骤:
通过词典数据的规模和所述Bloomfilter索引期望的误查率确定所述数组 的大小。
6.如权利要求5所述的低误查率的大规模词典查询方法,其特征在于, 在确定了所述数组的大小之后还包括步骤:
根据词典数据的规模和所述数组的大小确定所述Bloomfilter索引所用到 的所述哈希函数的个数。
7.如权利要求1所述的低误查率的大规模词典查询方法,其特征在于, 生成所述完美哈希索引时包括以下步骤:
将词典数据中的词条进行有序匹配,使得每个词条都有一个相应的哈希 函数,并将所述每个词条与其相应的哈希函数的参数作为一个元素进行储存;
按照储存的先后顺序将所述元素进行处理,并生成所述完美哈希索引。
8.如权利要求7所述的低误查率的大规模词典查询方法,其特征在于, 在进行有序匹配过程中,采用不大于十个哈希函数对词典进行有序匹配。
9.如权利要求1所述的低误查率的大规模词典查询方法,其特征在于, 计算所述候选翻译项的分值时包括以下步骤:
读取所述完美哈希索引中所述候选翻译项所对应的哈希函数的参数;
根据所述哈希函数的参数还原哈希函数;
所述候选翻译项经过所对应的哈希函数的计算,得到每个候选翻译项的 分值。
10.如权利要求1所述的低误查率的大规模词典查询方法,其特征在于, 判断所述候选翻译项是否存在时包括以下步骤:
通过与生成Bloomfilter索引同样的所述哈希函数把候选翻译项经过运算 后映射到所述数组上;
判断所述数组中映射有哈希值的位置是否都有所述标示;
若都有所述标示,则返回候选翻译项存在。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910003645.X/1.html,转载请声明来源钻瓜专利网。