CN112288005A - 实体相似匹配方法及系统 - Google Patents
实体相似匹配方法及系统 Download PDFInfo
- Publication number
- CN112288005A CN112288005A CN202011179405.8A CN202011179405A CN112288005A CN 112288005 A CN112288005 A CN 112288005A CN 202011179405 A CN202011179405 A CN 202011179405A CN 112288005 A CN112288005 A CN 112288005A
- Authority
- CN
- China
- Prior art keywords
- entity
- word
- index table
- similarity
- character string
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及自然语言处理技术领域,本发明旨在解决现有的短文本相似度匹配方法存在的效率较低的问题,提出一种实体相似匹配方法及系统,方案概括为:初始化实体索引表、字索引表和停用字与高频字表;接收输入的字符串,过滤字符串中的停用字与高频字后,将字符串分割为字符串序列;根据字符串序列在字索引表中进行检索得到检索结果,对检索结果进行汇总排序,并从中选取前N个检索结果;分别计算N个检索结果的检索相似度,从N个检索结果中选取检索相似度大于预设值的检索结果;根据检索相似度大于预设值的检索结果在实体索引表中进行检索得到对应的实体字符串,从实体字符串中确定出相似度最高的目标实体。本发明提高了实体相似匹配的效率。
Description
技术领域
本发明涉及自然语言处理技术领域,具体来说涉及一种实体相似匹配方法及系统。
背景技术
长文本相似度算法和检索算法目前已经有一些较为成熟的算法,比如谷歌的simhash算法,能够从海量长文本中较为高效的找到与目标文本相似的文本,但是这种算法不适用于短文本。传统的编辑距离算法、余弦相似度算法等能够适用于短文本相似度匹配,但是随着数据量增加,匹配效率逐渐降低,经过测试发现编辑距离算法在1000条短文本中查找相似文本效率较好,超过1000条则效率不高,原因在于编辑距离算法需要对输入的短文本与数据库中的所有短文本进行比较,计算量太大,但实际应用时其中大多数文本不必参与相似度计算。
发明内容
本发明旨在解决现有的短文本相似度匹配方法存在的效率较低的问题,提出一种实体相似匹配方法及系统。
本发明解决上述技术问题所采用的技术方案是:实体相似匹配方法,包括以下步骤:
步骤1、初始化实体索引表、字索引表和停用字与高频字表,所述实体索引表用于存储所有实体,所述字索引表用于存储除开停用字与高频字的所有字与实体的映射关系,所述停用字与高频字表用于存储实体中的停用字与高频字;
步骤2、接收输入的字符串,根据所述停用字与高频字表过滤字符串中的停用字与高频字后,将字符串分割为字符串序列;
步骤3、根据所述字符串序列在字索引表中进行检索得到检索结果,对所述检索结果进行汇总排序,并从中选取前N个检索结果,所述N为大于1的整数;
步骤4、分别计算选取的N个检索结果的检索相似度,从N个检索结果中选取所述检索相似度大于预设值的检索结果;
步骤5、根据所述检索相似度大于预设值的检索结果在实体索引表中进行检索得到对应的实体字符串,从所述实体字符串中确定出相似度最高的目标实体。
进一步的,步骤1中,所述实体索引表和字索引表使用哈希索引,实体索引表的hashkey为自增数字序列,实体索引表的hashvalue为实体;字索引表的hashkey为字,字索引表的hashvalue为实体索引表的hashvalue的长度。
进一步的,步骤1中,所述停用字与高频字表中的停用字与高频字通过人为经验和统计方法得到。
进一步的,步骤3中,所述N为20。
进一步的,步骤4中,所述检索相似度的计算方法包括:
设检索结果为ENT1,L1为检索到的ENT1的次数,L2为ENT1的长度,则检索相似度FIND_SIM=L1/L2。
进一步的,步骤4中,所述预设值为0.5。
进一步的,步骤5中,所述从实体字符串中确定出相似度最高的目标实体包括:
使用编辑距离算法或余弦相似度算法计算各实体字符串的相似度,从实体字符串中确定出所述相似度最高的目标实体。
本发明还提出一种实体相似匹配系统,包括:
初始化单元,用于初始化实体索引表、字索引表和停用字与高频字表,所述实体索引表用于存储所有实体,所述字索引表用于存储除开停用字与高频字的所有字与实体的映射关系,所述停用字与高频字表用于存储实体中的停用字与高频字;
接收单元,用于接收输入的字符串,根据所述停用字与高频字表过滤字符串中的停用字与高频字后,将字符串分割为字符串序列;
检索单元,用于根据所述字符串序列在字索引表中进行检索得到检索结果;以及根据所述检索相似度大于预设值的检索结果在实体索引表中进行检索得到对应的实体字符串;
选取单元,用于对所述检索结果进行汇总排序,并从中选取前N个检索结果,所述N为大于1的整数;以及从N个检索结果中选取检索相似度大于预设值的检索结果;
计算单元,用于分别计算选取的N个检索结果的检索相似度;以及从所述实体字符串中确定出相似度最高的目标实体。
本发明的有益效果是:本发明所述的实体相似匹配方法及系统,即使实体库中的实体量较大,也能高效的返回最相似的实体,在不损失相似匹配的准确率的同时大大提高了实体相似匹配的效率。
附图说明
图1为本发明实施例所述的实体相似匹配方法的流程示意图;
图2为本发明实施例所述的实体相似匹配系统的结构示意图;
图3为本发明实施例所述的实体索引表的结构示意图;
图4为本发明实施例所述的字索引表的结构示意图;
图5为本发明实施例所述的停用字与高频字表的结构示意图。
具体实施方式
下面将结合附图对本发明的实施方式进行详细描述。
本发明所述的实体相似匹配方法,技术方案概括为:初始化实体索引表、字索引表和停用字与高频字表,所述实体索引表用于存储所有实体,所述字索引表用于存储除开停用字与高频字的所有字与实体的映射关系,所述停用字与高频字表用于存储实体中的停用字与高频字;接收输入的字符串,根据所述停用字与高频字表过滤字符串中的停用字与高频字后,将字符串分割为字符串序列;根据所述字符串序列在字索引表中进行检索得到检索结果,对所述检索结果进行汇总排序,并从中选取前N个检索结果,所述N为大于1的整数;分别计算选取的N个检索结果的检索相似度,从N个检索结果中选取所述检索相似度大于预设值的检索结果;根据所述检索相似度大于预设值的检索结果在实体索引表中进行检索得到对应的实体字符串,从所述实体字符串中确定出相似度最高的目标实体。
具体而言,首先,初始化实体索引表、字索引表和停用字与高频字表;然后,通过停用字与高频字表对输入实体中的停用字与高频字进行过滤,停用字与高频字对实体检索的作用不大,去除这部分字可以节约存储空间,然后将输入实体分割为字符串序列,将字符串序列在字索引表中进行检索,利用字索引表可以检索到与输入实体相近的所有实体,然后从检索结果中选取N个检索结果,通过对检索返回数量的控制实现对检索结果的第一次过滤,减少了进行检索相似度计算的输入,进而提高了检索效率。再然后,对选取的N个检索结果计算检索相似度,通过检索相似度对检索结果进行第二次过滤,减少了最终进行相似度计算的输入,进一步提高了检索效率。最后,根据第二次过滤后的结果在实体索引中进行实体检索,最终输出相似度最高的目标实体。
实施例1
本发明实施例所述的实体相似匹配方法,如图1所示,包括以下步骤:
步骤S1、初始化实体索引表HASH_ENT、字索引表HASH_CHAR和停用字与高频字表STTF_WORD,所述实体索引表HASH_ENT用于存储所有实体,所述字索引表HASH_CHAR用于存储除开停用字与高频字的所有字与实体的映射关系,所述停用字与高频字表STTF_WORD用于存储实体中的停用字与高频字;
本实施例中,所述实体索引表HASH_ENT和字索引表HASH_CHAR使用哈希索引,实体索引表的hashkey为自增数字序列,实体索引表HASH_ENT的hashvalue为实体;字索引表HASH_CHAR的hashkey为字,字索引表HASH_CHAR的hashvalue为实体索引表HASH_ENT的hashvalue的长度。
在实体索引表中,哈希索引能够快速找到某个实体,其查找时间复杂度为O(1)。
在字索引表HASH_CHAR中,其查找时间复杂度为O(1),哈希索引能够快速找到某个字存在于哪些实体中,可以查找到所有可以进行相似度计算的实体,查找次数为输入实体的长度,比如输入实体为“无间到”,则查找次数为3次,即通过3次时间复杂度为O(1)的查找,可以找出所有可以与“无间到”进行相似计算的实体,过滤了大量无关实体,提高了计算效率。
所述停用字与高频字表STTF_WORD中的停用字与高频字可以通过人为经验和统计方法得到。这部分字对实体检索作用不大,去除这部分字可以节约存储空间,提高计算效率。
步骤S2、接收输入的字符串,根据所述停用字与高频字表STTF_WORD过滤字符串中的停用字与高频字后,将字符串分割为字符串序列;
通过停用字与高频字表STTF_WORD对输入实体进行过滤后,可以减少在字索引表中的查找次数,并且能够减少返回的查找结果。比如输入实体为“我和我的祖国”,其中“的”为停用字与高频字表STTF_WORD中的停用字,会被过滤掉,相当于最终输入的实体为“我和我祖国”,查找次数由6次减少到5次,而且由于很多实体中包含“的”字,因此可以大大减少了查找返回的实体,进而提高相似匹配的效率。
步骤S3、根据所述字符串序列在字索引表中进行检索得到检索结果,对所述检索结果进行汇总排序,并从中选取前N个检索结果,所述N为大于1的整数;
具体而言,通过对检索返回数量的控制实现对检索结果的第一次过滤,减少了进行检索相似度计算的输入,进而提高了检索效率。
为了保证相似匹配的准确度,所述N优选为20。
步骤S4、分别计算选取的N个检索结果的检索相似度,从N个检索结果中选取所述检索相似度大于预设值的检索结果;
优选的,所述检索相似度的计算方法包括:
设检索结果为ENT1,L1为检索到的ENT1的次数,L2为ENT1的长度,则检索相似度FIND_SIM=L1/L2。
可以理解,通过检索相似度对检索结果进行第二次过滤,减少了最终进行相似度计算的输入,进一步提高了检索效率。
为了保证相似匹配的准确度,所述预设值优选为20。
步骤S5、根据所述检索相似度大于预设值的检索结果在实体索引表中进行检索得到对应的实体字符串,从所述实体字符串中确定出相似度最高的目标实体。
其中,所述从实体字符串中确定出相似度最高的目标实体包括:
使用编辑距离算法或余弦相似度算法计算各实体字符串的相似度,从实体字符串中确定出所述相似度最高的目标实体。
基于上述技术方案,本实施例还提出一种实体相似匹配系统,如图2所示,包括:
初始化单元,用于初始化实体索引表、字索引表和停用字与高频字表,所述实体索引表用于存储所有实体,所述字索引表用于存储除开停用字与高频字的所有字与实体的映射关系,所述停用字与高频字表用于存储实体中的停用字与高频字;
接收单元,用于接收输入的字符串,根据所述停用字与高频字表过滤字符串中的停用字与高频字后,将字符串分割为字符串序列;
检索单元,用于根据所述字符串序列在字索引表中进行检索得到检索结果;以及根据所述检索相似度大于预设值的检索结果在实体索引表中进行检索得到对应的实体字符串;
选取单元,用于对所述检索结果进行汇总排序,并从中选取前N个检索结果,所述N为大于1的整数;以及从N个检索结果中选取检索相似度大于预设值的检索结果;
计算单元,用于分别计算选取的N个检索结果的检索相似度;以及从所述实体字符串中确定出相似度最高的目标实体。
可以理解,由于本发明实施例所述的实体相似匹配系统是用于实现实施例所述实体相似匹配方法的系统,对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的较为简单,相关之处参见方法的部分说明即可。
实施例2
假设模块输入为:“无间到”,期望结果为100ms内返回与其最相似的正确结果“无间道”,本发明实施例的具体实施过程如下。
步骤A、初始化实体索引表HASH_ENT、字索引表HASH_CHAR和停用字与高频字表STTF_WORD,假设实体索引表HASH_ENT中有三个片名实体:无间道、无间风云、盗墓笔记。实体索引表HASH_ENT如图3所示,字索引表HASH_CHAR如图4所示,停用字与高频字表STTF_WORD如图5所示;
步骤B、接收输入的“无间到”,并分散字符串序列为[“无”,“间”,“到”],并过滤停用字与高频字;
步骤C、检索字索引表HASH_CHAR,得到结果:["无":"0_3,1_4","间":"0_3,1_4","到":null];
步骤D、对步骤C的结果汇总排序,并取前N个(默认20),得到结果:[(0_3,2),(1_4,1),(2_4,1)];
步骤E、对步骤D的结果计算实体相似度FIND_SIM,并过滤FIND_SIM<0.5的结果:
FIND_SIM(0_3,2)=2/3>0.5;
FIND_SIM(1_4,1)=1/4<0.5;
FIND_SIM(2_4,1)=1/4<0.5;
得到FIND_LIST=[(0_3,2)];
步骤F、用步骤E的结果[(0_3,2)]查找实体索引表HASH_ENT,这里用索引“0”去查找,得到结果[“无间道”];
步骤G、调用编辑距离算法库,对步骤F的结果求编辑距离:edit_distance(“无间到”,[“无间道”])=无间道。
Claims (8)
1.实体相似匹配方法,其特征在于,包括以下步骤:
步骤1、初始化实体索引表、字索引表和停用字与高频字表,所述实体索引表用于存储所有实体,所述字索引表用于存储除开停用字与高频字的所有字与实体的映射关系,所述停用字与高频字表用于存储实体中的停用字与高频字;
步骤2、接收输入的字符串,根据所述停用字与高频字表过滤字符串中的停用字与高频字后,将字符串分割为字符串序列;
步骤3、根据所述字符串序列在字索引表中进行检索得到检索结果,对所述检索结果进行汇总排序,并从中选取前N个检索结果,所述N为大于1的整数;
步骤4、分别计算选取的N个检索结果的检索相似度,从N个检索结果中选取所述检索相似度大于预设值的检索结果;
步骤5、根据所述检索相似度大于预设值的检索结果在实体索引表中进行检索得到对应的实体字符串,从所述实体字符串中确定出相似度最高的目标实体。
2.如权利要求1所述的实体相似匹配方法,其特征在于,步骤1中,所述实体索引表和字索引表使用哈希索引,实体索引表的hashkey为自增数字序列,实体索引表的hashvalue为实体;字索引表的hashkey为字,字索引表的hashvalue为实体索引表的hashvalue的长度。
3.如权利要求1所述的实体相似匹配方法,其特征在于,步骤1中,所述停用字与高频字表中的停用字与高频字通过人为经验和统计方法得到。
4.如权利要求1所述的实体相似匹配方法,其特征在于,步骤3中,所述N为20。
5.如权利要求1所述的实体相似匹配方法,其特征在于,步骤4中,所述检索相似度的计算方法包括:
设检索结果为ENT1,L1为检索到的ENT1的次数,L2为ENT1的长度,则检索相似度FIND_SIM=L1/L2。
6.如权利要求5所述的实体相似匹配方法,其特征在于,步骤4中,所述预设值为0.5。
7.如权利要求1所述的实体相似匹配方法,其特征在于,步骤5中,所述从实体字符串中确定出相似度最高的目标实体包括:
使用编辑距离算法或余弦相似度算法计算各实体字符串的相似度,从实体字符串中确定出所述相似度最高的目标实体。
8.实体相似匹配系统,其特征在于,包括:
初始化单元,用于初始化实体索引表、字索引表和停用字与高频字表,所述实体索引表用于存储所有实体,所述字索引表用于存储除开停用字与高频字的所有字与实体的映射关系,所述停用字与高频字表用于存储实体中的停用字与高频字;
接收单元,用于接收输入的字符串,根据所述停用字与高频字表过滤字符串中的停用字与高频字后,将字符串分割为字符串序列;
检索单元,用于根据所述字符串序列在字索引表中进行检索得到检索结果;以及根据所述检索相似度大于预设值的检索结果在实体索引表中进行检索得到对应的实体字符串;
选取单元,用于对所述检索结果进行汇总排序,并从中选取前N个检索结果,所述N为大于1的整数;以及从N个检索结果中选取检索相似度大于预设值的检索结果;
计算单元,用于分别计算选取的N个检索结果的检索相似度;以及从所述实体字符串中确定出相似度最高的目标实体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011179405.8A CN112288005A (zh) | 2020-10-29 | 2020-10-29 | 实体相似匹配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011179405.8A CN112288005A (zh) | 2020-10-29 | 2020-10-29 | 实体相似匹配方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112288005A true CN112288005A (zh) | 2021-01-29 |
Family
ID=74373244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011179405.8A Pending CN112288005A (zh) | 2020-10-29 | 2020-10-29 | 实体相似匹配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112288005A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216968A (zh) * | 2014-08-25 | 2014-12-17 | 华中科技大学 | 一种基于文件相似度的排重方法及系统 |
CN107153652A (zh) * | 2016-03-03 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 将目标字符串转化为规范化字符串的方法及装置 |
-
2020
- 2020-10-29 CN CN202011179405.8A patent/CN112288005A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216968A (zh) * | 2014-08-25 | 2014-12-17 | 华中科技大学 | 一种基于文件相似度的排重方法及系统 |
CN107153652A (zh) * | 2016-03-03 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 将目标字符串转化为规范化字符串的方法及装置 |
Non-Patent Citations (1)
Title |
---|
周杰: "面向非纯文本文档图像检索与文字检测研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109101620B (zh) | 相似度计算方法、聚类方法、装置、存储介质及电子设备 | |
CN109947904B (zh) | 一种基于Spark环境的偏好空间Skyline查询处理方法 | |
Sharma et al. | Stemming algorithms: a comparative study and their analysis | |
US9195738B2 (en) | Tokenization platform | |
US7797265B2 (en) | Document clustering that applies a locality sensitive hashing function to a feature vector to obtain a limited set of candidate clusters | |
CN106503223B (zh) | 一种结合位置和关键词信息的在线房源搜索方法及装置 | |
CN106557777B (zh) | 一种基于SimHash改进的Kmeans文档聚类方法 | |
CN108846016B (zh) | 一种面向中文分词的搜索算法 | |
CN107784110B (zh) | 一种索引建立方法及装置 | |
KR100903961B1 (ko) | 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템 | |
CN104537101A (zh) | 医学信息搜索引擎系统和搜索方法 | |
CN106446162A (zh) | 一种面向领域的本体知识库文本检索方法 | |
CN109857898A (zh) | 一种海量数字音频指纹存储与检索的方法及系统 | |
CN106469097B (zh) | 一种基于人工智能的召回纠错候选的方法和装置 | |
US20220005546A1 (en) | Non-redundant gene set clustering method and system, and electronic device | |
CN104063384A (zh) | 一种数据检索方法及装置 | |
CN111125299B (zh) | 一种基于用户行为分析的动态词库更新方法 | |
CN103064847A (zh) | 索引装置、索引方法、检索装置、检索方法和检索系统 | |
CN113761104A (zh) | 知识图谱中实体关系的检测方法、装置和电子设备 | |
CN108776705B (zh) | 一种文本全文精确查询的方法、装置、设备及可读介质 | |
US20170242880A1 (en) | B-tree index structure with grouped index leaf pages and computer-implemented method for modifying the same | |
CN112288005A (zh) | 实体相似匹配方法及系统 | |
CN116090413A (zh) | 一种基于序列化的通用rdf数据压缩方法 | |
CN105426490A (zh) | 一种基于树形结构的索引方法 | |
CN112199461B (zh) | 基于块索引结构的文档检索方法、装置、介质和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210129 |
|
RJ01 | Rejection of invention patent application after publication |