CN109241124A - 一种快速检索相似字符串的方法及*** - Google Patents

一种快速检索相似字符串的方法及*** Download PDF

Info

Publication number
CN109241124A
CN109241124A CN201710558849.4A CN201710558849A CN109241124A CN 109241124 A CN109241124 A CN 109241124A CN 201710558849 A CN201710558849 A CN 201710558849A CN 109241124 A CN109241124 A CN 109241124A
Authority
CN
China
Prior art keywords
character string
hash
hash character
node
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.)
Granted
Application number
CN201710558849.4A
Other languages
English (en)
Other versions
CN109241124B (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.)
Shanghai Xinhu Education Technology Co ltd
Original Assignee
Shanghai Education Technology (shanghai) Ltd By Share 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 Shanghai Education Technology (shanghai) Ltd By Share Ltd filed Critical Shanghai Education Technology (shanghai) Ltd By Share Ltd
Priority to CN201710558849.4A priority Critical patent/CN109241124B/zh
Publication of CN109241124A publication Critical patent/CN109241124A/zh
Application granted granted Critical
Publication of CN109241124B publication Critical patent/CN109241124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种快速检索相似字符串的方法及***,其中,所述方法包括:读取已有的预设数量的文本条目,并针对每条文本条目,将所述文本条目拆分为若干词组,并为每个词组分配对应的权重值;基于分配的权重值,对拆分后的词组进行哈希运算,以得到所述文本条目对应的第一哈希字符串;对所述第一哈希字符串进行塌缩处理,以得到长度符合指定条件的第二哈希字符串;对所述第二哈希字符串建立前缀树,并基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串。本申请提供的技术方案,能够极大提高字符串检索的速度。

Description

一种快速检索相似字符串的方法及***
技术领域
本申请涉及信息处理技术领域,特别涉及一种快速检索相似字符串的方法及***。
背景技术
在当前的信息处理技术领域中,经常需要在海量的文本条目中查询与目标字符串相似的字符串,现有的算法是对目标字符串与海量的文本条目中的每个字符串计算编辑距离,并将编辑距离小于某个阈值的所有字符串列为相似的字符串。
现有技术中的这种方法时间复杂度极高,在数十万文本条目的情况下往往性能无法到达商用要求。除需要进行对比的文本条目数外,现有算法的时间复杂度还与所有文本条目的字符串平均长度相关,无法应用到如今大数据量的场景中。
发明内容
本申请实施方式的目的在于提供一种快速检索相似字符串的方法及***,能够极大提高字符串检索的速度。
为实现上述目的,本申请一方面提供一种快速检索相似字符串的方法,所述方法包括:
读取已有的预设数量的文本条目,并针对每条文本条目,将所述文本条目拆分为若干词组,并为每个词组分配对应的权重值;
基于分配的权重值,对拆分后的词组进行哈希运算,以得到所述文本条目对应的第一哈希字符串;
对所述第一哈希字符串进行塌缩处理,以得到长度符合指定条件的第二哈希字符串;
对所述第二哈希字符串建立前缀树,并基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串。
在本实施方式中,为每个词组分配对应的权重值包括:
根据当前词组与所述文本条目的关联性,为所述当前词组分配对应的权重值;其中,所述关联性越高,对应的权重值则越大。
在本实施方式中,对拆分后的词组进行哈希运算包括:
利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述文本条目对应的第一哈希字符串。
在本实施方式中,对所述第一哈希字符串进行塌缩处理包括:
按照固定间隔将所述第一哈希字符串拆分为多个子字符串,并为拆分得到的各个子字符串分配同样的权重值;
利用SimHash算法,对拆分后的子字符串及其对应的权重值进行处理,以得到所述第一哈希字符串对应的第三哈希字符串;
如果需要,对所述第三哈希字符串进行裁剪,以使得裁剪后的第二哈希字符串的长度小于所述第一哈希字符串的长度,并且所述第二哈希字符串与所述第一哈希字符串之间的对应关系不被割裂。
在本实施方式中,检索出与目标字符串相似的字符串包括:
将所述目标字符串拆分为若干词组,并为每个词组分配对应的权重值;
利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述目标字符串对应的第四哈希字符串;
对所述第四哈希字符串进行塌缩处理,以得到长度小于所述第四哈希字符串的第五哈希字符串;
在所述前缀树中对所述第五哈希字符串进行检索,以得到第一结果集合;
对所述第一结果集合建立新的前缀树,并在所述新的前缀树中对所述第四哈希字符串进行检索,以得到第二结果集合;
将所述第二结果集合作为与所述第四哈希字符串相似的字符串的集合。
在本实施方式中,基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串包括:
S51:从所述前缀树的顶层节点开始逐层向下搜索,并计算当前节点与所述目标字符串之间的编辑距离;
S52:当所述编辑距离小于指定阈值时,重复步骤S51,以完成对子节点的搜索;
S53:当所述编辑距离达到所述指定阈值时,中止当前节点以及所述当前节点的子节点的搜索过程,并从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
S54:如果当前节点内已无子节点,则认为该节点对应的哈希字符串与目标字符串的哈希字符串是相似的,并中止当前节点的检索过程,然后从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
S55:当所述前缀树中所有的节点均已遍历完毕或者搜索过程中止时,结束相似字符串的检索过程。
为实现上述目的,本申请还提供一种快速检索相似字符串的***,所述***包括:
文本条目处理单元,用于读取已有的预设数量的文本条目,并针对每条文本条目,将所述文本条目拆分为若干词组,并为每个词组分配对应的权重值;
第一哈希字符串确定单元,用于基于分配的权重值,对拆分后的词组进行哈希运算,以得到所述文本条目对应的第一哈希字符串;
塌缩处理单元,用于对所述第一哈希字符串进行塌缩处理,以得到长度符合指定条件的第二哈希字符串;
检索单元,用于对所述第二哈希字符串建立前缀树,并基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串。
在本实施方式中,所述塌缩处理单元包括:
拆分模块,用于按照固定间隔将所述第一哈希字符串拆分为多个子字符串,并为拆分得到的各个子字符串分配同样的权重值;
SimHash模块,用于利用SimHash算法,对拆分后的子字符串及其对应的权重值进行处理,以得到所述第一哈希字符串对应的第三哈希字符串;
裁剪模块,用于对所述第三哈希字符串进行裁剪,以使得裁剪后的第二哈希字符串的长度小于所述第一哈希字符串的长度,并且所述第二哈希字符串与所述第一哈希字符串之间的对应关系不被割裂。
在本实施方式中,所述检索单元包括:
目标字符串处理模块,用于将所述目标字符串拆分为若干词组,并为每个词组分配对应的权重值;
第四哈希字符串确定模块,用于利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述目标字符串对应的第四哈希字符串;
塌缩处理模块,用于对所述第四哈希字符串进行塌缩处理,以得到长度小于所述第四哈希字符串的第五哈希字符串;
中间检索模块,用于在所述前缀树中对所述第五哈希字符串进行检索,以得到第一结果集合;
再次检索模块,用于对所述第一结果集合建立新的前缀树,并在所述新的前缀树中对所述第四哈希字符串进行检索,以得到第二结果集合;
结果确定模块,用于将所述第二结果集合作为与所述第四哈希字符串相似的字符串的集合。
在本实施方式中,所述检索单元包括:
编辑距离计算模块,用于从所述前缀树的顶层节点开始逐层向下搜索,并计算当前节点与所述目标字符串的哈希字符串之间的编辑距离;
第一判定模块,用于当所述编辑距离小于指定阈值时,重复所述编辑距离计算模块的处理过程,以完成对子节点的搜索;
第二判定模块,用于当所述编辑距离达到所述指定阈值时,中止当前节点以及所述当前节点的子节点的搜索过程,并从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
第三判定模块,用于如果当前节点内已无子节点,则认为该节点对应的哈希字符串与目标字符串的哈希字符串是相似的,并中止当前节点的检索过程,然后从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
检索结束模块,用于当所述前缀树中所有的节点均已遍历完毕或者搜索过程中止时,结束相似字符串的检索过程。
本发明能将非常复杂和运算量巨大的文本相似匹配过程转换为对若干棵具有关联关系或动态生成的前缀树的查找,通过控制相似度阈值可以在一定范围内匹配大致一致的相似文本。该算法的时间复杂度比起一一计算字符串之间的编辑距离来说,要小若干数量级,从而极大地提高了检索效率。
参照后文的说明和附图,详细公开了本申请的特定实施方式,指明了本申请的原理可以被采用的方式。应该理解,本申请的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本申请的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
所包括的附图用来提供对本申请实施方式的进一步的理解,其构成了说明书的一部分,用于例示本申请的实施方式,并与文字描述一起来阐释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本申请实施方式中前缀树的建立流程图;
图2为本申请实施方式中相似字符串的检索流程图;
图3为本申请另一个实施方式中相似字符串的检索流程图;
图4为本申请实施方式中快速检索相似字符串的***的功能模块图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申请保护的范围。
请参阅图1,本申请提供一种快速检索相似字符串的方法,所述方法包括:
S1:读取已有的预设数量的文本条目,并针对每条文本条目,将所述文本条目拆分为若干词组,并为每个词组分配对应的权重值;
S2:基于分配的权重值,对拆分后的词组进行哈希运算,以得到所述文本条目对应的第一哈希字符串;
S3:对所述第一哈希字符串进行塌缩处理,以得到长度符合指定条件的第二哈希字符串;
S4:对所述第二哈希字符串建立前缀树,并基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串。
在本实施方式中,为每个词组分配对应的权重值包括:
根据当前词组与所述文本条目的关联性,为所述当前词组分配对应的权重值;其中,所述关联性越高,对应的权重值则越大。
在本实施方式中,当前词组与文本条目的关联性可以通过计算向量之间的空间距离来确定。具体地,可以将当前词组和文本条目均转换为词向量,这样,通过计算两个词向量之间的空间距离,从而可以确定这两者之间的关联性,距离越近,关联性则越高。
在本实施方式中,对拆分后的词组进行哈希运算包括:
利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述文本条目对应的第一哈希字符串。
在本实施方式中,对所述第一哈希字符串进行塌缩处理包括:
按照固定间隔将所述第一哈希字符串拆分为多个子字符串,并为拆分得到的各个子字符串分配同样的权重值;
利用SimHash算法,对拆分后的子字符串及其对应的权重值进行处理,以得到所述第一哈希字符串对应的第三哈希字符串;
对所述第三哈希字符串进行裁剪,以使得裁剪后的第二哈希字符串的长度小于所述第一哈希字符串的长度,并且所述第二哈希字符串与所述第一哈希字符串之间的对应关系不被割裂。
请参阅图2,在本实施方式中,检索出与目标字符串相似的字符串包括:
将所述目标字符串拆分为若干词组,并为每个词组分配对应的权重值;
利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述目标字符串对应的第四哈希字符串;
对所述第四哈希字符串进行塌缩处理,以得到长度小于所述第四哈希字符串的第五哈希字符串;
在所述前缀树中对所述第五哈希字符串进行检索,以得到第一结果集合;
对所述第一结果集合建立新的前缀树,并在所述新的前缀树中对所述第四哈希字符串进行检索,以得到第二结果集合;
将所述第二结果集合作为与所述第四哈希字符串相似的字符串的集合。
具体地,在一个应用场景中,可以按照以下步骤来检索相似字符串:
依据分词算法对需要处理的已有的海量字符串进行分词,并对分词后的文本抽取特征;
对不同特征赋予不同权重,使用SimHash算法对其进行局部敏感的哈希运算,得出哈希字符串H1;
对H1按照固定字符间隔切成若干个字符段H2,对每个字符段设置一致的权重(通常设为1),而后对切割后的字符段H2再次进行SimHash运算,得到哈希字符串H3;
裁剪H3,使得H3的长度小于H1,此过程为哈希的坍缩,称坍缩算法;
对H3建立前缀树T1,同时保证H1与H3的对应关系不被割裂;
对于输入的待检索的字符串H4,按照前述方式计算得到其两次哈希值H5、H6;
通过H6完成对T1树的快速相似查找,得到一个集合S1;
对S1建立前缀树T2,通过H5完成对T2的快速相似查找,最终得到一个集合S2;
该集合S2可以认为系H4的相似集合。
请参阅图3,在本申请一个实施方式中,基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串包括:
S51:从所述前缀树的顶层节点开始逐层向下搜索,并计算当前节点与所述目标字符串之间的编辑距离;
S52:当所述编辑距离小于指定阈值时,重复步骤S51,以完成对子节点的搜索;
S53:当所述编辑距离达到所述指定阈值时,中止当前节点以及所述当前节点的子节点的搜索过程,并从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
S54:如果当前节点内已无子节点,则认为该节点对应的哈希字符串与目标字符串的哈希字符串是相似的,并中止当前节点的检索过程,然后从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
S55:当所述前缀树中所有的节点均已遍历完毕或者搜索过程中止时,结束相似字符串的检索过程。
请参阅图4,本申请还提供一种快速检索相似字符串的***,所述***包括:
文本条目处理单元100,用于读取已有的预设数量的文本条目,并针对每条文本条目,将所述文本条目拆分为若干词组,并为每个词组分配对应的权重值;
第一哈希字符串确定单元200,用于基于分配的权重值,对拆分后的词组进行哈希运算,以得到所述文本条目对应的第一哈希字符串;
塌缩处理单元300,用于对所述第一哈希字符串进行塌缩处理,以得到长度符合指定条件的第二哈希字符串;
检索单元400,用于对所述第二哈希字符串建立前缀树,并基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串。
在本实施方式中,所述塌缩处理单元包括:
拆分模块,用于按照固定间隔将所述第一哈希字符串拆分为多个子字符串,并为拆分得到的各个子字符串分配同样的权重值;
SimHash模块,用于利用SimHash算法,对拆分后的子字符串及其对应的权重值进行处理,以得到所述第一哈希字符串对应的第三哈希字符串;
裁剪模块,用于对所述第三哈希字符串进行裁剪,以使得裁剪后的第二哈希字符串的长度小于所述第一哈希字符串的长度,并且所述第二哈希字符串与所述第一哈希字符串之间的对应关系不被割裂。
在本实施方式中,所述检索单元包括:
目标字符串处理模块,用于将所述目标字符串拆分为若干词组,并为每个词组分配对应的权重值;
第四哈希字符串确定模块,用于利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述目标字符串对应的第四哈希字符串;
塌缩处理模块,用于对所述第四哈希字符串进行塌缩处理,以得到长度小于所述第四哈希字符串的第五哈希字符串;
中间检索模块,用于在所述前缀树中对所述第五哈希字符串进行检索,以得到第一结果集合;
再次检索模块,用于对所述第一结果集合建立新的前缀树,并在所述新的前缀树中对所述第四哈希字符串进行检索,以得到第二结果集合;
结果确定模块,用于将所述第二结果集合作为与所述第四哈希字符串相似的字符串的集合。
在本实施方式中,所述检索单元包括:
编辑距离计算模块,用于从所述前缀树的顶层节点开始逐层向下搜索,并计算当前节点与所述目标字符串的哈希字符串之间的编辑距离;
第一判定模块,用于当所述编辑距离小于指定阈值时,重复所述编辑距离计算模块的处理过程,以完成对子节点的搜索;
第二判定模块,用于当所述编辑距离达到所述指定阈值时,中止当前节点以及所述当前节点的子节点的搜索过程,并从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
第三判定模块,用于如果当前节点内已无子节点,则认为该节点对应的哈希字符串与目标字符串的哈希字符串是相似的,并中止当前节点的检索过程,然后从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
检索结束模块,用于当所述前缀树中所有的节点均已遍历完毕或者搜索过程中止时,结束相似字符串的检索过程。
本发明能将非常复杂和运算量巨大的文本相似匹配过程转换为对若干棵具有关联关系或动态生成的前缀树的查找,通过控制相似度阈值可以在一定范围内匹配大致一致的相似文本。该算法的时间复杂度比起一一计算字符串之间的编辑距离来说,要小若干数量级,从而极大地提高了检索效率。
上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

Claims (10)

1.一种快速检索相似字符串的方法,其特征在于,所述方法包括:
读取已有的预设数量的文本条目,并针对每条文本条目,将所述文本条目拆分为若干词组,并为每个词组分配对应的权重值;
基于分配的权重值,对拆分后的词组进行哈希运算,以得到所述文本条目对应的第一哈希字符串;
对所述第一哈希字符串进行塌缩处理,以得到长度符合指定条件的第二哈希字符串;
对所述第二哈希字符串建立前缀树,并基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串。
2.根据权利要求1所述的方法,其特征在于,为每个词组分配对应的权重值包括:
根据当前词组与所述文本条目的关联性,为所述当前词组分配对应的权重值;其中,所述关联性越高,对应的权重值则越大。
3.根据权利要求1所述的方法,其特征在于,对拆分后的词组进行哈希运算包括:
利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述文本条目对应的第一哈希字符串。
4.根据权利要求1所述的方法,其特征在于,对所述第一哈希字符串进行塌缩处理包括:
按照固定间隔将所述第一哈希字符串拆分为多个子字符串,并为拆分得到的各个子字符串分配同样的权重值;
利用SimHash算法,对拆分后的子字符串及其对应的权重值进行处理,以得到所述第一哈希字符串对应的第三哈希字符串;
如果需要,则对所述第三哈希字符串进行裁剪,以使得裁剪后的第二哈希字符串的长度小于所述第一哈希字符串的长度,并且所述第二哈希字符串与所述第一哈希字符串之间的对应关系不被割裂。
5.根据权利要求4所述的方法,其特征在于,检索出与目标字符串相似的字符串包括:
将所述目标字符串拆分为若干词组,并为每个词组分配对应的权重值;
利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述目标字符串对应的第四哈希字符串;
对所述第四哈希字符串进行塌缩处理,以得到长度小于所述第四哈希字符串的第五哈希字符串;
在所述前缀树中对所述第五哈希字符串进行检索,以得到第一结果集合;
对所述第一结果集合建立新的前缀树,并在所述新的前缀树中对所述第四哈希字符串进行检索,以得到第二结果集合;
将所述第二结果集合作为与所述第四哈希字符串相似的字符串的集合。
6.根据权利要求1所述的方法,其特征在于,基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串包括:
S51:从所述前缀树的顶层节点开始逐层向下搜索,并计算当前节点与所述目标字符串之间的编辑距离;
S52:当所述编辑距离小于指定阈值时,重复步骤S51,以完成对子节点的搜索;
S53:当所述编辑距离达到所述指定阈值时,中止当前节点以及所述当前节点的子节点的搜索过程,并从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
S54:如果当前节点内已无子节点,则认为该节点对应的哈希字符串与目标字符串的哈希字符串是相似的,并中止当前节点的检索过程,然后从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
S55:当所述前缀树中所有的节点均已遍历完毕或者搜索过程中止时,结束相似字符串的检索过程。
7.一种快速检索相似字符串的***,其特征在于,所述***包括:
文本条目处理单元,用于读取已有的预设数量的文本条目,并针对每条文本条目,将所述文本条目拆分为若干词组,并为每个词组分配对应的权重值;
第一哈希字符串确定单元,用于基于分配的权重值,对拆分后的词组进行哈希运算,以得到所述文本条目对应的第一哈希字符串;
塌缩处理单元,用于对所述第一哈希字符串进行塌缩处理,以得到长度符合指定条件的第二哈希字符串;
检索单元,用于对所述第二哈希字符串建立前缀树,并基于所述前缀树从所述已有的预设数量的文本条目中检索出与目标字符串相似的字符串。
8.根据权利要求7所述的***,其特征在于,所述塌缩处理单元包括:
拆分模块,用于按照固定间隔将所述第一哈希字符串拆分为多个子字符串,并为拆分得到的各个子字符串分配同样的权重值;
SimHash模块,用于利用SimHash算法,对拆分后的子字符串及其对应的权重值进行处理,以得到所述第一哈希字符串对应的第三哈希字符串;
裁剪模块,用于对所述第三哈希字符串进行裁剪,以使得裁剪后的第二哈希字符串的长度小于所述第一哈希字符串的长度,并且所述第二哈希字符串与所述第一哈希字符串之间的对应关系不被割裂。
9.根据权利要求8所述的***,其特征在于,所述检索单元包括:
目标字符串处理模块,用于将所述目标字符串拆分为若干词组,并为每个词组分配对应的权重值;
第四哈希字符串确定模块,用于利用SimHash算法,对拆分后的词组及其对应的权重值进行处理,以得到所述目标字符串对应的第四哈希字符串;
塌缩处理模块,用于对所述第四哈希字符串进行塌缩处理,以得到长度小于所述第四哈希字符串的第五哈希字符串;
中间检索模块,用于在所述前缀树中对所述第五哈希字符串进行检索,以得到第一结果集合;
再次检索模块,用于对所述第一结果集合建立新的前缀树,并在所述新的前缀树中对所述第四哈希字符串进行检索,以得到第二结果集合;
结果确定模块,用于将所述第二结果集合作为与所述第四哈希字符串相似的字符串的集合。
10.根据权利要求7所述的***,其特征在于,所述检索单元包括:
编辑距离计算模块,用于从所述前缀树的顶层节点开始逐层向下搜索,并计算当前节点与所述目标字符串的哈希字符串之间的编辑距离;
第一判定模块,用于当所述编辑距离小于指定阈值时,重复所述编辑距离计算模块的处理过程,以完成对子节点的搜索;
第二判定模块,用于当所述编辑距离达到所述指定阈值时,中止当前节点以及所述当前节点的子节点的搜索过程,并从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
第三判定模块,用于如果当前节点内已无子节点,则认为该节点对应的哈希字符串与目标字符串的哈希字符串是相似的,并中止当前节点的检索过程,然后从与所述当前节点处于同级的兄弟节点的下一节点开始逐层进行搜索;
检索结束模块,用于当所述前缀树中所有的节点均已遍历完毕或者搜索过程中止时,结束相似字符串的检索过程。
CN201710558849.4A 2017-07-11 2017-07-11 一种快速检索相似字符串的方法及*** Active CN109241124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710558849.4A CN109241124B (zh) 2017-07-11 2017-07-11 一种快速检索相似字符串的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710558849.4A CN109241124B (zh) 2017-07-11 2017-07-11 一种快速检索相似字符串的方法及***

Publications (2)

Publication Number Publication Date
CN109241124A true CN109241124A (zh) 2019-01-18
CN109241124B CN109241124B (zh) 2023-03-10

Family

ID=65083305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710558849.4A Active CN109241124B (zh) 2017-07-11 2017-07-11 一种快速检索相似字符串的方法及***

Country Status (1)

Country Link
CN (1) CN109241124B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168809A (zh) * 2021-11-22 2022-03-11 中核核电运行管理有限公司 基于相似度的文档字符串编码匹配方法及装置
TWI762764B (zh) * 2019-02-15 2022-05-01 國風傳媒有限公司 詞彙整合裝置、方法及其電腦程式產品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714927B1 (en) * 1999-08-17 2004-03-30 Ricoh Company, Ltd. Apparatus for retrieving documents
CN101499094A (zh) * 2009-03-10 2009-08-05 焦点科技股份有限公司 一种数据压缩存储并检索的方法及***
CN105913094A (zh) * 2016-05-03 2016-08-31 中国科学院信息工程研究所 一种最小距离字符串计算查找方法
CN106033426A (zh) * 2015-03-11 2016-10-19 中国科学院西安光学精密机械研究所 一种基于潜在语义最小哈希的图像检索方法
CN106407447A (zh) * 2016-09-30 2017-02-15 福州大学 一种加密云数据下基于Simhash的模糊排序搜索方法
CN106909575A (zh) * 2015-12-23 2017-06-30 北京国双科技有限公司 文本聚类方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714927B1 (en) * 1999-08-17 2004-03-30 Ricoh Company, Ltd. Apparatus for retrieving documents
CN101499094A (zh) * 2009-03-10 2009-08-05 焦点科技股份有限公司 一种数据压缩存储并检索的方法及***
CN106033426A (zh) * 2015-03-11 2016-10-19 中国科学院西安光学精密机械研究所 一种基于潜在语义最小哈希的图像检索方法
CN106909575A (zh) * 2015-12-23 2017-06-30 北京国双科技有限公司 文本聚类方法和装置
CN105913094A (zh) * 2016-05-03 2016-08-31 中国科学院信息工程研究所 一种最小距离字符串计算查找方法
CN106407447A (zh) * 2016-09-30 2017-02-15 福州大学 一种加密云数据下基于Simhash的模糊排序搜索方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ERKANG ZHU 等: "LSH Ensemble: Internet-Scale Domain Search", 《HTTPS://ARXIV.ORG/ABS/1603.07410V4》 *
姜雪 等: "基于语义指纹的海量文本快速相似检测算法研究", 《电脑知识与技术》 *
杨旸 等: "加密云数据下基于Simhash的模糊排序搜索方案", 《计算机学报》 *
赵宁: "一种云存储名字空间架构的研究与设计", 《中国优秀硕士学位论文全文数据库》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI762764B (zh) * 2019-02-15 2022-05-01 國風傳媒有限公司 詞彙整合裝置、方法及其電腦程式產品
CN114168809A (zh) * 2021-11-22 2022-03-11 中核核电运行管理有限公司 基于相似度的文档字符串编码匹配方法及装置

Also Published As

Publication number Publication date
CN109241124B (zh) 2023-03-10

Similar Documents

Publication Publication Date Title
CN109635273B (zh) 文本关键词提取方法、装置、设备及存储介质
CN107102981B (zh) 词向量生成方法和装置
CN109101481B (zh) 一种命名实体识别方法、装置及电子设备
CN104408191B (zh) 关键词的关联关键词的获取方法和装置
CN107301170B (zh) 基于人工智能的切分语句的方法和装置
CN104462085B (zh) 检索关键词纠错方法及装置
CN110825877A (zh) 一种基于文本聚类的语义相似度分析方法
CN105138558B (zh) 基于用户访问内容的实时个性化信息采集方法
CN106033416A (zh) 一种字符串处理方法及装置
CN106294350A (zh) 一种文本聚合方法及装置
CN107608960B (zh) 一种命名实体链接的方法和装置
CN108228845B (zh) 一种***分类方法
KR20080031262A (ko) 관계 네트워크
CN104778283B (zh) 一种基于微博的用户职业分类方法及***
CN103760991A (zh) 一种实体输入方法和装置
CN102968419B (zh) 交互式互联网实体名称的消歧方法
CN107562772A (zh) 事件抽取方法、装置、***和存储介质
CN107807910A (zh) 一种基于hmm的词性标注方法
CN106708798A (zh) 一种字符串切分方法及装置
CN115495555A (zh) 一种基于深度学习的文献检索方法和***
CN108427686A (zh) 文本数据查询方法及装置
CN112434533B (zh) 实体消歧方法、装置、电子设备及计算机可读存储介质
CN108304377A (zh) 一种长尾词的提取方法及相关装置
CN116304066A (zh) 一种基于提示学习的异质信息网络节点分类方法
CN108563637A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 703, No. 2, Boyun Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203

Patentee after: Hujiang Education & Technology (Shanghai) Corp.,Ltd.

Address before: 201203 room 703, No. 2, Boyun Road, pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: HUJIANG EDUCATION TECHNOLOGY (SHANGHAI) CO.,LTD.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230825

Address after: Room C4207, Building 1168 West (C Building), No. 1687 Changyang Road, Yangpu District, Shanghai, 200082

Patentee after: Shanghai Xinhu Education Technology Co.,Ltd.

Address before: Room 703, No. 2, Boyun Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203

Patentee before: Hujiang Education & Technology (Shanghai) Corp.,Ltd.

TR01 Transfer of patent right