【技术实现步骤摘要】
本专利技术属于计算机通信领域,尤其涉及一一种基于cedar双数组字典树算法进行术语匹配的方法。
技术介绍
目前翻译行业不断扩大,语料和术语的增长速度都比较快,且数目也比较大。而大量术语是翻译的基石,必须使用有效的信息化技术手段来对它们进行管理。目前公司内部关于术语的原文、译文以及其它详细信息存放于mongo数据库,直接查询数据库来获取原文或译文速度很慢,而原文或译文可能过长,也不便作为索引字段。现有一套术语匹配引擎实现,用双数组算法对术语建立外围索引,然后用将双数组建立的索引与mongo数据库里每条术语记录的Objectld(相当于数据库关键字字段)相关联并存放于redis作为二级索引缓存,最终加快对mongo数据库的查询速度。而在这套匹配引擎系统里,选择双数组字典树算法作为其核心模块,不论建索引还是查询速度,要求都比较高。双数组字典树算法是翻译行业文本处理一种通用的算法,可以对术语建索引,对术语进行前缀模糊查询,对术语进行精确查询等。一般该算法扩展开来可用于高效的分词,在术语匹配引擎里我们用它来做基于mongo术语数据库快速建索引。双数组字典树,即双数组Tri ...
【技术保护点】
一种基于cedar双数组字典树算法进行术语匹配的方法,其特征是包括建索引的步骤,及用索引进行术语查询匹配的步骤;其中,所述建索引的步骤是遍历数据库,获取术语集合,调用cedar双数组字典树插入术语,用以形成术语集合的索引;所述cedar双数组字典树包括一个以基准值和校验值为成员的结构体数组,一个循环队列;所述调用cedar双数组字典树插入术语的步骤包括:根据计算式集合一获取插入术语和双数组字典树的初始化数值,所述计算式集合一为:from[0] = 0to[0] = 0 ^ key[0]from[1] = to[0]array[0].base=0array[0].check= ...
【技术特征摘要】
1.一种基于cedar双数组字典树算法进行术语匹配的方法,其特征是包括建索引的步骤,及用索引进行术语查询匹配的步骤;其中,所述建索引的步骤是遍历数据库,获取术语集合,调用cedar双数组字典树插入术语,用以形成术语集合的索引;所述cedar双数组字典树包括一个以基准值和校验值为成员的结构体数组,一个循环队列;所述调用cedar双数组字典树插入术语的步骤包括:根据计算式集合一获取插入术语和双数组字典树的初始化数值,所述计算式集合一为:from[0]=0to[0]=0^key[0]from[1]=to[0]array[0].base=0array[0].check=0根据check值和计算式二,计算ehead值,所述计算式二为:queue[from[pos+1]].ehead=array[from[pos+1]].check遍历术语中的每个字符,获取插入术语的字符值,根据计算式集合三计算得出双数组字典树的基准值和校验值,所述计算式集合三如下:array[from[pos+1]].base=queue[from[pos+1]].ehead^key[pos]to[pos+1]=array[from[pos]].base^key[pos]array[to[pos+1]].check=from[pos]from[pos+1]=to[pos]所述pos为遍历到的字符在术语中的当前位置值,所述key[pos]为插入术语中当前位置的字符值;所述array为双数组,queue为循环队列,base为基准值,check为校验值,ehead为循环队列中第一个元素成员的下标值;所述from[pos]和to[pos]分别为当前位置的字符在双数组中所对应的起始下标值和结束下标值,其中,所述用索引进行术语查询匹配的步骤是:遍历术语的每一个字符,将字符值代入计算式集合四,以array[to[pos+1]].check=f...
【专利技术属性】
技术研发人员:冯泽康,
申请(专利权)人:北京语联炉火信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。