CN106484684A - 一种对数据库中的数据进行术语匹配的方法 - Google Patents

一种对数据库中的数据进行术语匹配的方法 Download PDF

Info

Publication number
CN106484684A
CN106484684A CN201610884071.1A CN201610884071A CN106484684A CN 106484684 A CN106484684 A CN 106484684A CN 201610884071 A CN201610884071 A CN 201610884071A CN 106484684 A CN106484684 A CN 106484684A
Authority
CN
China
Prior art keywords
data
index
string
database
carry out
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610884071.1A
Other languages
English (en)
Other versions
CN106484684B (zh
Inventor
冯泽康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Language Network (wuhan) Information Technology Co Ltd
Original Assignee
Language Network (wuhan) Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Language Network (wuhan) Information Technology Co Ltd filed Critical Language Network (wuhan) Information Technology Co Ltd
Priority to CN201610884071.1A priority Critical patent/CN106484684B/zh
Publication of CN106484684A publication Critical patent/CN106484684A/zh
Application granted granted Critical
Publication of CN106484684B publication Critical patent/CN106484684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种对数据库中的数据进行术语匹配的方法,其特征是包括建索引的步骤,及用索引进行术语查询匹配的步骤;其中,所述建索引的步骤如下:遍历数据库,根据源字符串和目标字符串生成双数组字典树;将字符串数据插入双数组字典树,实现字符串数据的一级索引;建立字符串数据ID与字符串数据在数据库里所在的数据记录的关键字字段的对应关系,用于实现字符串数据的二级索引;将二级索引保存到内存缓存系统;其中,所述用索引进行术语查询匹配的步骤如下:根据二级索引的ID查询出该字符串在数据库里对应的数据记录的对象ID以及术语库ID,以对象ID以及术语库ID进行查询并获取查询结果。既可以满足术语匹配的多种查询需求,又提高了整体匹配的性能。

Description

一种对数据库中的数据进行术语匹配的方法
技术领域
本发明属于计算机通信领域,尤其涉及一种对数据库中的数据进行术语匹配的方法。
背景技术
当前计算机辅助翻译是提高翻译一致性和效率的重要手段,它要求软件能够不断地记忆最新的术语及语料,并且在后续的翻译流程中能够及时地调出满足相应条件的术语或语料以供选择。随着术语和语料规模的不断扩大,基于传统的关系型数据库或是目前较新的非关系型数据库来直接根据原文或译文检索出完整的翻译信息都是会有明显的效率下降的,当处理比较大的待译稿时,速度自然不能接受。以mongo数据库为例,每一个文档记录都包含文档ID,原文,译文以及其他辅助信息,有些原文或译文比较长,就不适合作为索引字段,而文档ID是mongo的默认全局唯一16进制索引字段,基于文档ID的查询会非常快。基于此,我们可以实现一种外围索引,将原文或译文通过该索引与文档ID对应起来,要求外围索引支持可存储的任意长度的原文或译文,并且要足够高效。
结合双数组字典树,辅以redis缓存和适当的数据结构设计,我们可以构建出这样一套满足需求的索引及匹配系统。采用双数组字典树对术语建立外围索引,然后用将双数组建立的索引与mongo数据库里每条术语记录的ObjectId(相当于数据库关键字字段)相关联并将这种对应关系存放于redis作为二级索引缓存,最终加快对mongo数据库的查询速度。
发明内容
本发明所要解决的技术问题是目前基于数据库的术语匹配引擎在查词效率上速度偏慢,而改善这一问题的办法就是对数据库里的术语建一个快速索引,引入双数组字典树可以解决大量术语建索引慢以及查询慢的问题。
为解决上述技术问题,本发明提供了一种对数据库中的数据进行术语匹配的方法,其特征是包括建索引的步骤,及用索引进行术语查询匹配的步骤;
其中,所述建索引的步骤如下:
遍历数据库,获取字符串数据,所述字符串数据包括字符串或目标字符串;
根据源字符串和目标字符串生成双数组字典树;
将字符串数据插入双数组字典树,返回字符串数据在双数组字典树里的位置值,并通过位置值计算得出字符串数据ID,将字符串数据ID放入内存缓存系统里,用于实现字符串数据的一级索引;
建立字符串数据ID与字符串数据在数据库内部已建立索引的数据记录的关键字段的对应关系,用于实现字符串数据的二级索引;
将二级索引保存到内存缓存系统;
其中,所述用索引进行术语查询匹配的步骤如下:
从双数组字典树中查询需要的字符串,得出该字符串在双数组字典树里的位置值,根据该位置值算出内存缓存系统里二级索引的ID,根据二级索引ID在内存缓存系统里查出数据库内部已建了索引的关键字段,然后根据取到的关键字段进行查询并获取查询结果。
进一步,所述内存缓存系统是在术语语料所在的数据库之外。
进一步,还包括定时将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
进一步,还包括当索引达到数量阈值后将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
进一步,所述数据库为mongo数据库。
进一步,所述索引为双向索引。
采用上述技术方案,可达到以下效果:
1. 用双数组字典树对术语建立外围索引,然后用将双数组建立的索引与mongo数据库里每条术语记录的ObjectId(相当于数据库关键字字段)相关联并存放于redis作为二级索引缓存,最终加快对mongo数据库的查询速度;
2. 基于双数组字典树和内存缓存系统来存放外围索引信息,将较长的原文或译文映射为数据库内全局唯一且带有快速索引的记录ID字段,从而加速了术语的匹配,同时借助双数组的特性,也具备分词,前缀查询等翻译行业所需的功能;
既可以满足术语匹配的多种查询需求,又提高了整体匹配的性能,对于可以带来较好的用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种对数据库中的数据进行术语匹配的方法的流程示意图;
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步具体说明。
为解决上述技术问题,本发明提供了一种对数据库中的数据进行术语匹配的方法,如图1所示,
包括建索引的步骤,及用索引进行术语查询匹配的步骤;
其中,所述建索引的步骤如下:
遍历数据库,获取字符串数据,所述字符串数据包括字符串或目标字符串;
根据源字符串和目标字符串生成双数组字典树;
将字符串数据插入双数组字典树,返回字符串数据在双数组字典树里的位置值,并通过位置值计算得出字符串数据ID,将字符串数据ID放入内存缓存系统里,用于实现字符串数据的一级索引;
建立字符串数据ID与字符串数据在数据库内部已建立索引的数据记录的关键字段的对应关系,用于实现字符串数据的二级索引;
将二级索引保存到内存缓存系统;
其中,所述用索引进行术语查询匹配的步骤如下:
从双数组字典树中查询需要的字符串,得出该字符串在双数组字典树里的位置值,根据该位置值算出内存缓存系统里二级索引的ID,根据二级索引ID在内存缓存系统里查出数据库内部已建了索引的关键字段,然后根据取到的关键字段进行查询并获取查询结果。
进一步,所述内存缓存系统是在术语语料所在的数据库之外。
进一步,还包括定时将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
进一步,还包括当索引达到数量阈值后将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
进一步,所述数据库为mongo数据库。
进一步,所述索引为双向索引。
直接从数据库里查术语往往速度很慢,需要对数据库里的术语建立高效的外围索引,在这里就包含基于双数组的一级索引和基于内存缓存系统的二级索引.
内存缓存系统里二级索引的ID即内存缓存系统里的键名.
基于双数组字典树和内存缓存系统来存放外围索引信息,将较长的原文或译文映射为数据库内全局唯一且带有快速索引的记录ID字段,从而加速了术语的匹配,同时借助双数组的特性,也具备分词,前缀查询等翻译行业所需的功能。
本领域技术人员还应当理解,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种对数据库中的数据进行术语匹配的方法,其特征是包括建索引的步骤,及用索引进行术语查询匹配的步骤;
其中,所述建索引的步骤如下:
遍历数据库,获取字符串数据,所述字符串数据包括字符串或目标字符串;
根据源字符串和目标字符串生成双数组字典树;
将字符串数据插入双数组字典树,返回字符串数据在双数组字典树里的位置值,并通过位置值计算得出字符串数据ID,将字符串数据ID放入内存缓存系统里,用于实现字符串数据的一级索引;
建立字符串数据ID与字符串数据在数据库内部已建立索引的数据记录的关键字段的对应关系,用于实现字符串数据的二级索引;
将二级索引保存到内存缓存系统;
其中,所述用索引进行术语查询匹配的步骤如下:
从双数组字典树中查询需要的字符串,得出该字符串在双数组字典树里的位置值,根据该位置值算出内存缓存系统里二级索引的ID,根据二级索引ID在内存缓存系统里查出数据库内部已建了索引的关键字段,然后根据取到的关键字段进行查询并获取查询结果。
2.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是所述内存缓存系统是在术语语料所在的数据库之外。
3.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是还包括定时将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
4.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是还包括当索引达到数量阈值后将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
5.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是所述数据库为mongo数据库。
6.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是所述索引为双向索引。
CN201610884071.1A 2016-10-11 2016-10-11 一种对数据库中的数据进行术语匹配的方法 Active CN106484684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610884071.1A CN106484684B (zh) 2016-10-11 2016-10-11 一种对数据库中的数据进行术语匹配的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610884071.1A CN106484684B (zh) 2016-10-11 2016-10-11 一种对数据库中的数据进行术语匹配的方法

Publications (2)

Publication Number Publication Date
CN106484684A true CN106484684A (zh) 2017-03-08
CN106484684B CN106484684B (zh) 2019-04-05

Family

ID=58270720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610884071.1A Active CN106484684B (zh) 2016-10-11 2016-10-11 一种对数据库中的数据进行术语匹配的方法

Country Status (1)

Country Link
CN (1) CN106484684B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239510A (zh) * 2017-05-12 2017-10-10 腾讯科技(深圳)有限公司 数据处理方法和装置
CN108228817A (zh) * 2017-12-29 2018-06-29 华为技术有限公司 数据处理方法、装置和系统
CN111062682A (zh) * 2019-11-19 2020-04-24 泰康保险集团股份有限公司 一种工单处理方法和装置
CN111444413A (zh) * 2020-04-08 2020-07-24 作业不凡(北京)教育科技有限公司 一种数据查询方法、装置和计算设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140570A (zh) * 2006-09-04 2008-03-12 富士施乐株式会社 翻译装置、翻译方法以及计算机可读介质
CN101183369A (zh) * 2007-12-11 2008-05-21 中山大学 一种嵌入式电子词典词库结构
US20130066898A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Matching target strings to known strings
CN103823814A (zh) * 2012-11-19 2014-05-28 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN104252528A (zh) * 2014-09-04 2014-12-31 国家电网公司 基于标识符空间映射的大数据二级索引构建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140570A (zh) * 2006-09-04 2008-03-12 富士施乐株式会社 翻译装置、翻译方法以及计算机可读介质
CN101183369A (zh) * 2007-12-11 2008-05-21 中山大学 一种嵌入式电子词典词库结构
US20130066898A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Matching target strings to known strings
CN103823814A (zh) * 2012-11-19 2014-05-28 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN104252528A (zh) * 2014-09-04 2014-12-31 国家电网公司 基于标识符空间映射的大数据二级索引构建方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239510A (zh) * 2017-05-12 2017-10-10 腾讯科技(深圳)有限公司 数据处理方法和装置
CN107239510B (zh) * 2017-05-12 2019-02-26 腾讯科技(深圳)有限公司 数据处理方法和装置
CN108228817A (zh) * 2017-12-29 2018-06-29 华为技术有限公司 数据处理方法、装置和系统
CN108228817B (zh) * 2017-12-29 2021-12-03 华为技术有限公司 数据处理方法、装置和系统
US11550769B2 (en) 2017-12-29 2023-01-10 Huawei Technologies Co., Ltd. Data processing method, apparatus, and system
CN111062682A (zh) * 2019-11-19 2020-04-24 泰康保险集团股份有限公司 一种工单处理方法和装置
CN111062682B (zh) * 2019-11-19 2023-11-07 泰康保险集团股份有限公司 一种工单处理方法和装置
CN111444413A (zh) * 2020-04-08 2020-07-24 作业不凡(北京)教育科技有限公司 一种数据查询方法、装置和计算设备
CN111444413B (zh) * 2020-04-08 2023-05-12 作业不凡(北京)教育科技有限公司 一种数据查询方法、装置和计算设备

Also Published As

Publication number Publication date
CN106484684B (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
CN106484684A (zh) 一种对数据库中的数据进行术语匹配的方法
CN103761318B (zh) 一种关系型异构数据库数据同步的方法及系统
CN101206670B (zh) 用于将非结构化信息转换成内容的系统和方法
CN101676910B (zh) 一种面向Web应用系统的页面生成方法
CN102253980A (zh) 数据处理方法及数据处理系统
CN100530187C (zh) 搜索请求转换为查询语句的方法
CN106649286A (zh) 一种基于双数组字典树进行术语匹配的方法
AU7990600A (en) System and method for transforming a relational database to a hierarchical database
CN107329987A (zh) 一种基于mongo数据库的搜索系统
CN106528641B (zh) 一种数据存储方法、装置及通信网关机
CN104881406A (zh) 网页翻译方法和系统
CN104731945A (zh) 一种基于HBase的全文检索方法及装置
CN101430714A (zh) 一种基于样式的内容结构化加工方法及系统
CN102426612A (zh) 条件对象查询方法及系统
CN112637305A (zh) 一种基于缓存的数据存储与查询方法、装置、设备及介质
CN101789027A (zh) 一种基于dbms的元数据管理方法和元数据服务器
CN105843960A (zh) 基于语义树的索引方法和系统
CN105528345A (zh) 终端、服务器和补字方法
CN102609455B (zh) 一种实现汉语同音字检索的方法
CN101963993B (zh) 一种数据库单表记录快速查找的方法
CN105912723A (zh) 一种自定义字段的存储方法
CN110019306A (zh) 一种基于xml格式文件的sql语句查找方法及系统
CN105955680A (zh) 一种支持动态附加扩展信息的单据打印方法
CN101719162A (zh) 基于片段模式匹配的多版本开放式地理信息服务访问方法及系统
CN106126602A (zh) 一种基于xml实现价格策略字典的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant