A method for term matching based on double array dictionary tree, which is characterized by comprising the steps of indexing, and query terms, step index; among them, the production index comprises the following steps: positioning of generated double array dictionary tree, calculate the memory cache system two level index ID, index of construction the term index for term matching query steps are as follows: positioning, create a double array dictionary tree segmentation, indexing based on term matching. It can not only meet the various query requirements, but also improve the overall matching performance.
【技术实现步骤摘要】
本专利技术属于计算机通信领域,尤其涉及一种基于双数组字典树进行术语匹配的方法。
技术介绍
当前计算机辅助翻译是提高翻译一致性和效率的重要手段,它要求软件能够不断地记忆最新的术语及语料,并且在后续的翻译流程中能够及时地调出满足相应条件的术语或语料以供选择。随着术语和语料规模的不断扩大,基于传统的关系型数据库或是目前较新的非关系型数据库来直接根据原文或译文检索出完整的翻译信息都是会有明显的效率下降的,当处理比较大的待译稿时,速度自然不能接受。以mongo数据库为例,每一个文档记录都包含文档ID,原文,译文以及其他辅助信息,有些原文或译文比较长,就不适合作为索引字段,而文档ID是mongo的默认全局唯一16进制索引字段,基于文档ID的查询会非常快。基于此,我们可以实现一种外围索引,将原文或译文通过该索引与文档ID对应起来,要求外围索引支持可存储的任意长度的原文或译文,并且要足够高效。结合双数组字典树算法,辅以redis缓存和适当的数据结构设计,我们可以构建出这样一套满足需求的索引及匹配系统。传统的直接基于数据库查询某个字段会比较慢,建了索引的情况下速度会快一些,但是有的字段比较长就不适合建索引,即使建了数据库索引对于较长的字段来说,查询速度可能依然偏慢。而不管任何数据,只要基于数据库主键来查当前记录,速度都是比较快的,因此实现一种对术语快速建索引的机制,并且将该索引与数据库主键对应的字段相关联,就可以获得比较好的查询性能。此外翻译行业的术语匹配不仅仅是查出给定的术语,还需要支持前缀查询,精确查询,还有基于句子的分词查询,而双数组字典树可以实现这些功能。将一种高 ...
【技术保护点】
一种基于双数组字典树进行术语匹配的方法,其特征是包括用双数组字典树建索引的步骤,及基于双数组字典树索引进行术语匹配的步骤,所述用双数组字典树建索引的步骤包括:(1)生成双数组字典树的定位根据指定的双数组字典树的数目,用哈希算法,对插入术语计算哈希值,然后对双数组字典树的数目取模,计算得出双数组字典树的位置编号,用以实现双数组字典树的定位;(2)计算内存缓存系统的二级索引的ID从mongo数据库里读出术语,将术语插入双数组字典树,返回术语在双数组字典树的pos值, 将所述双数组字典树的位置编号,乘以1000万,加上所述pos值,再配合程序设定的前缀字串,得出内存缓存系统里的二级索引的ID;(2)对术语建索引根据二级索引的ID查询出插入术语在数据库里对应的数据记录的术语库ID和对象ID,用术语库ID和对象ID构造键值,形成二级索引的ID和键值的映射关系,存放于内存缓冲系统;所述基于双数组字典树索引进行术语匹配的步骤包括:(1)生成双数组字典树的定位(2)分词将标点符号滤掉,对于西方语言直接按空格拆分,对于中文系列的语言按单个字拆分,用逆向最大匹配算法结合双数组字典,分出词汇,以及词汇在双数 ...
【技术特征摘要】
1.一种基于双数组字典树进行术语匹配的方法,其特征是包括用双数组字典树建索引的步骤,及基于双数组字典树索引进行术语匹配的步骤,所述用双数组字典树建索引的步骤包括:(1)生成双数组字典树的定位根据指定的双数组字典树的数目,用哈希算法,对插入术语计算哈希值,然后对双数组字典树的数目取模,计算得出双数组字典树的位置编号,用以实现双数组字典树的定位;(2)计算内存缓存系统的二级索引的ID从mongo数据库里读出术语,将术语插入双数组字典树,返回术语在双数组字典树的pos值,将所述双数组字典树的位置编号,乘以1000万,加上所述pos值,再配合程序设定的前缀字串,得出内存缓存系统里的二级索引的ID;(2)对术语建索引根据二级索引的ID查询出插入术语在数据库里对应的数据记录的术语库ID和对象ID,用术语库ID和对象ID构造键值,形成二级索引的ID和键值的映射关系,存放于内存缓冲系统;所述基于双数组字典树索引进行术语匹配的步骤包括:(1)生成双数组字典树的定位(2)分词将标点符号滤掉,对于西方语言直接按空格拆分,对于中文系列的语言按单个字拆分,用逆向最大匹配算法结合双数组字典,分出词汇,以及词汇在双数组字典树里的位置;(3)基于索引进行术语匹配根据二级索引的ID查询插入术语在数据库里对应的数据记录的术语库ID和对象ID,过滤并查询出插入术语在数据库的完整信息。2.根据权利要求1所述的基于双数组...
【专利技术属性】
技术研发人员:冯泽康,
申请(专利权)人:语联网武汉信息技术有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。