相似文本的检索方法及其装置制造方法及图纸

技术编号:14066848 阅读:76 留言:0更新日期:2016-11-28 12:49
本发明专利技术涉及计算机检索领域,公开了相似文本的检索方法及其装置。本发明专利技术中,各被索引文本预设有N个索引,分别对应N个不同的索引算法,每个索引包括多个索引值,各索引值对应至少一个被索引文本,该方法包括步骤:使用N个不同的索引算法分别计算出待检索文本对应于N个索引的N个索引值;使用N个索引值分别在对应的索引中检索出具有相同索引值的各被索引文本作为候选相似文档;将待检索文本与所有的候选相似文档逐一进行相似性匹配得到最接近的文本。本发明专利技术中使用多个索引算法生成的索引值来构建多个索引,通过多个索引得到的候选相似文档中含有和待检索文本相似的文本的几率大大提高,对于海量短文本的检索具有较高的召回率,可防止漏检。

【技术实现步骤摘要】

本专利技术涉及计算机检索领域,特别涉及相似文本的检索方法及其装置
技术介绍
文本相似度是指两个或者多个文本的匹配程度的度量指标,文本之间语义或者词出现频次越接近,其两者之间的文本相似度越高。传统的文本匹配,例如编辑距离计算,向量空间模型(VSM),可以很好的度量两两文本之间的相似度,但是对于海量文本,则暴露出比对速度慢,空间需求高的缺点。目前,业内一般使用simhash等指纹算法,将文本相似问题转换为simhash码的编辑距离计算,由此来解决海量文本的索引问题,该方式对于大文本的相似度计算上有着显著效果,但是对于中长或者短文本(100字符以内),则会产生相当高的偏差(尽管两个文本相似度很高,simhash的编辑距离却很大),无法适用在需要高召回率的场景中。
技术实现思路
本专利技术的目的在于提供一种相似文本的检索方法及其装置,对于海量短文本的检索具有较高的召回率。为解决上述技术问题,本专利技术的实施方式公开了一种相似文本的检索方法,针对文本库中的各被索引文本预先设置有N个索引,N个索引分别对应N个不同的索引算法,每个索引包括多个索引值,每个索引值对应至少一个被索引文本,其中,索引算法是根据一个文本计算该文本的索引值的算法,
N为大于1的整数,该方法包括以下步骤:使用N个不同的索引算法分别计算出待检索文本对应于N个索引的N个索引值;使用N个索引值分别在对应的索引中检索出具有相同索引值的各被索引文本,作为候选相似文档;将待检索文本与所有的候选相似文档逐一进行相似性匹配,以得到最接近的文本。本专利技术的实施方式还公开了一种相似文本的检索装置,该装置针对文本库中的各被索引文本预先设置有N个索引,N个索引分别对应N个不同的索引算法,每个索引包括多个索引值,每个索引值对应至少一个被索引文本,其中,索引算法是根据一个文本计算该文本的索引值的算法,N为大于1的整数,该装置包括以下模块:检索文本索引值计算模块,用于使用N个不同的索引算法分别计算出待检索文本对应于N个索引的N个索引值;候选文档检索模块,用于使用N个索引值分别在对应的索引中检索出具有相同索引值的各被索引文本,作为候选相似文档;相似性匹配模块,用于将待检索文本与所有的候选相似文档逐一进行相似性匹配,以得到最接近的文本。本专利技术实施方式与现有技术相比,主要区别及其效果在于:使用多个索引算法生成的索引值来构建多个索引,通过多个索引得到的候选相似文档中含有和待检索文本相似的文本的几率大大提高,对于海量短文本的检索具有较高的召回率,可防止漏检。使用多个索引算法生成的索引值来构建多个索引,通过多个索引得到的候选相似文档中含有和待检索文本相似的文本的几率大大提高,对于海量短
文本的检索具有较高的召回率,可防止漏检。进一步地,当待检索文本的索引值命中索引中的一个索引值,则可以得到该索引值对应的全部被索引文本。进一步地,通过计算最小哈希值来构建相似文本的索引,可减少内存空间消耗。附图说明图1是本专利技术第一实施方式中一种相似文本的检索方法的流程示意图;图2是本专利技术第三实施方式中优选例的一种索引方法的流程示意图;图3是本专利技术第三实施方式中优选例的一种检索方法的流程示意图;图4是本专利技术第四实施方式中一种相似文本的检索装置的结构示意图。具体实施方式在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。术语解释:文本相似度:衡量两个文本语义或者字符意义上是否相似的一种度量,通常文本中词含义越接近,重复词越多,则其相似度越高。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的实施方式作进一步地详细描述。本专利技术第一实施方式涉及一种相似文本的检索方法,图1是该相似文本
的检索方法的流程示意图。该相似文本的检索方法针对文本库中的各被索引文本预先设置有N个索引,N个索引分别对应N个不同的索引算法,每个索引包括多个索引值,每个索引值对应至少一个被索引文本,其中,索引算法是根据一个文本计算该文本的索引值的算法,N为大于1的整数,如图1所示,该方法包括以下步骤:步骤101,使用N个不同的索引算法分别计算出待检索文本对应于N个索引的N个索引值。步骤102,使用N个索引值分别在对应的索引中检索出具有相同索引值的各被索引文本,作为候选相似文档。可以理解,每个索引中包括的多个索引值是针对文本库中的被索引文本根据索引算法计算得到的。步骤103,将待检索文本与所有的候选相似文档逐一进行相似性匹配,以得到最接近的文本。此后结束此流程。业内一般使用simhash等指纹算法(这里也称为索引算法)将文本相似度问题转换为simhash码的编辑距离计算,由此来解决海量文本的索引问题,对于大文本的相似度计算(例如对于两本较长的古典名著进行相似度计算)有着显著效果,但是,对于短文本却会产生相当高的偏差(尽管两个文本相似度很高,simhash的编辑距离却很大)。例如对于网络中的短文本,当网络管理员将一些禁止的评论作为文本库时,对于仅改变了评论中的一个词的待检索评论,用传统的算法很难将该待检索评论作为相似度很高的文本,也即尽管文本库中的评论与该待检索评论相似度很高,但是编辑距离却很大。而实施方式使用多个索引算法生成的索引值来构建多个索引,通过多个
索引得到的候选相似文档中含有和待检索文本相似的文本的几率大大提高,对于海量短文本的检索具有较高的召回率,可防止漏检。具体的原理将在第三实施方式中的优选例中作出解释。其中,召回率(Recall Rate,也叫查全率)是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。本专利技术第二实施方式涉及一种相似文本的检索方法,第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:针对文本库中的各被索引文本预先设置N个索引的步骤包括以下子步骤:依次使用N个不同的索引算法分别计算出文本库中各个被索引文本对应于N个索引算法的索引值;将各个被索引文本对应于同一个索引算法的索引值构建成一个索引,共构建与N个索引算法对应的N个索引。需要注意的是,对各被索引文本预先设置N个索引时所使用的N个不同的索引算法与步骤101中用于计算待检索文本的N个索引值所使用的N个不同的索引算法一一对应。当待检索文本的索引值命中索引中的一个索引值,则可以得到该索引值对应的全部被索引文本。此外,可以理解,在上述预先设置N个索引的步骤中,既可以先使用一个索引算法计算出所有被索引文本对应于该索引算法的索引值,并将索引值构建成一个索引,再对于其它N-1个不同的索引算法重复上述操作;也可以先针对一个被索引文本依次使用N个不同的索引算法计算出该被索引文本对应于N个不同的索引算法的索引值,对其它被索引文本重复上述操作,最后在所有索引值中将分别对应于N个索引算法的索引值构建成N个索引。本专利技术第三实施方式涉及一种相似文本的检索方法,第三实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:通过计算最小哈希值
来构建相似文本的索引,可减少内存空间消耗。具体地说:在步骤101中,包括以下子步骤:对待检索文本进本文档来自技高网
...
相似文本的检索方法及其装置

【技术保护点】
一种相似文本的检索方法,其特征在于,针对文本库中的各被索引文本预先设置有N个索引,所述N个索引分别对应N个不同的索引算法,每个索引包括多个索引值,每个索引值对应至少一个被索引文本,其中,索引算法是根据一个文本计算该文本的索引值的算法,N为大于1的整数,该方法包括以下步骤:使用所述N个不同的索引算法分别计算出待检索文本对应于所述N个索引的N个索引值;使用所述N个索引值分别在对应的索引中检索出具有相同索引值的各被索引文本,作为候选相似文档;将所述待检索文本与所有的候选相似文档逐一进行相似性匹配,以得到最接近的文本。

【技术特征摘要】
1.一种相似文本的检索方法,其特征在于,针对文本库中的各被索引文本预先设置有N个索引,所述N个索引分别对应N个不同的索引算法,每个索引包括多个索引值,每个索引值对应至少一个被索引文本,其中,索引算法是根据一个文本计算该文本的索引值的算法,N为大于1的整数,该方法包括以下步骤:使用所述N个不同的索引算法分别计算出待检索文本对应于所述N个索引的N个索引值;使用所述N个索引值分别在对应的索引中检索出具有相同索引值的各被索引文本,作为候选相似文档;将所述待检索文本与所有的候选相似文档逐一进行相似性匹配,以得到最接近的文本。2.根据权利要求1所述的相似文本的检索方法,其特征在于,所述针对文本库中的各被索引文本预先设置N个索引的步骤包括以下子步骤:依次使用所述N个不同的索引算法分别计算出文本库中各个被索引文本对应于所述N个索引算法的索引值;将各个被索引文本对应于同一个索引算法的索引值构建成一个索引,共构建与N个索引算法对应的N个索引。3.根据权利要求1所述的相似文本的检索方法,其特征在于,在所述“使用所述N个不同的索引算法分别计算出待检索文本对应于所述N个索引的N个索引值”的步骤中,包括以下子步骤:对所述待检索文本进行分词处理得到文本词集合;对于每一个索引算法执行以下步骤:使用哈希函数计算所述文本词集合
\t中所有词元素的哈希值,并将哈希值中的最小值作为所述待检索文本的一个索引值。4.根据权利要求3所述的相似文本的检索方法,其特征在于,在所述“对所述待检索文本进行分词处理得到文本词集合”的步骤中,包括以下子步骤:对所述待检索文本进行分析扫描;对所述扫描后的待检索文本进行特殊字符和html标签过滤以及字体转换;对所述待检索文本进行分词并统计词频,并去除噪音词,得到文本词集合。5.根据权利要求1至4中任一项所述的相似文本的检索方法,其特征在于,在所述“将所述待检索文本与所有的候选相似文档逐一进行相似性匹配,以得到最接近的文本”的步骤中,根据编辑距离或者空间向量模型进行相似性匹配。6.一种相似文本的检索装置,其特...

【专利技术属性】
技术研发人员:郑侃侃
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1