一种用于海量文本快速相似搜索的方法

文档序号:6650191阅读:676来源:国知局
专利名称:一种用于海量文本快速相似搜索的方法
技术领域
本发明属于智能信息处理技术,具体涉及的是一种用于海量文本快速相似搜索的方法。
背景技术
在信息检索和数据挖掘等技术领域,经常需要在对象集合中查找与某个给定对象“相似”的对象,如,相似的文档、图片、多媒体片断,这种的查找称为“相似搜索”。相似搜索不同于通常所说的查询或检索。通常查询或检索指的是精确检索,所要求的是“精确地”匹配对象的一个或几个基本特征,而相似搜索的查找目标是多种基本特征的综合评价。随着因特网等信息技术的发展,信息量爆炸性增长,对海量文本数据进行相似搜索在海量信息智能检索、文本消重、内容引用发现等应用领域中具有广泛的应用前景。
多年来,人们已提出了多种相似搜索的方法,这些方法采用的技术大致可分为如下4类(1)基于距离的变换方法。这类方法将数据对象进行映射变换,保持数据对象之间的距离不变,利用低维空间中的高效查询技术。实际应用中,往往难以找到合适的变换方法,使这类方法的通用性差。
(2)基于空间的分割方法。这类方法将整个数据空间分割为规则或不规则的子空间,如k-d-树、R-树、SS-树、SS+-树、SR-树等。但当维数增加时,这类方法将退化为线性扫描,性能显著下降,该现象被称为维数灾难。
(3)基于距离的索引方法。这类方法根据数据对象之间的距离利用树形结构进行索引,获得查询的高效性,如mvp-树和gh-树。
(4)基于单元格的填充方法。它是将高维空间分割为规则的单元格,对单元格进行编码或索引,将其映射到一维空间上,其相似搜索结果存在着遗漏问题。
目前,第(2)和(3)类方法是被广泛采用的方法,其基本思想都是通过对高维空间进行分割并用树形结构进行索引组织。研究实验表明,当数据集的维数较高(超过20)或数据量很大(超过10万)时,这些高维索引方法的性能迅速降低,不适合文本数据集等海量高维数据的相似搜索。
随着因特网的发展,网页等文本数据爆炸性增长,而且文本向量通常是数万维的,传统的基于多维索引的相似搜索难以实现海量文本的快速相似搜索。

发明内容
针对现有技术中存在的缺陷,本发明的目的是为海量文本提供一种快速的相似搜索方法。该方法能够显著地提高海量文本相似搜索的效率。
为了实现本发明所述的目的,本发明提出基于快速预选进行相似搜索的两步搜索策略。包括以下步骤1)内容读取读取查询文档的内容;2)快速预选利用重要特征快速排除绝大多数的不相关文档,获得小的预选结果集;3)相似计算逐个计算预算结果与查询文档的相似度;4)结果输出按相似度选择结果并输出。
在步骤2快速预选中可通过事先建立索引以便加快预选过程。其索引可以是多种类型的索引,包括倒排索引、高维索引或多重索引。
进一步的,可通过事先建立倒排索引以便加快预选过程快速预选中。其步骤包括1)特征分析对查询文档进行分析,计算获得最重要的少数几个词作为特征词以及其权重值;2)条件生成将特征词及其权重按逻辑运算组成检索条件;3)内容检索根据检索条件利用倒排索引对目标文档集进行检索。
再进一步,采用关键词提取技术进行特征分析,获取特征词及其权重。
再进一步,特征词及其权重按“与”运算组成检索条件;进一步的,选取最后结果通过考察两方面情况最小相似度阈值和相似度排序中的位置。
本发明的效果在于本发明由于通过两步式搜索过程,首先通过快速预选实现无关文本的快速过滤,在几乎不降低准确度的情况下使得海量文档相似搜索的速度大为加快。实验表明,在普通PC环境下(CPU为P42.0G,内存为1.0GB),10个小时可构建100万文档的索引库,并可在1秒左右找出与任意指定的一篇文档最相似的10个文档。
本发明方法与现有技术的主要区别在于,本发明中将海量文本相似搜索的过程分成两步,在第一步通过快速预选进行预搜索,快速排除大量无关的文本,从而提高搜索过程并使得该方法可适用于海量文本的相似搜索。


图1是本发明所述方法的流程图;图2是索引构建时间随数据总量的变化示意图;图3是10-NN相似搜索性能随数据量变化对比试验示意图;图4是10-NN相似搜索准确性与关键词选取个数及预选集大小的关系示意图;具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
本发明在普通PC上进行实验,实验选用的数据是从因特网上抓取的新闻类中文网页,对网页处理后的纯文本文件,每个文件为一篇新闻稿件,共100多万篇,约4GB。
如图1所示,一种用于海量文本快速相似搜索的方法,包括以下步骤1)内容读取读取查询文档的内容;2)特征分析对查询文档进行分词并利用关键词提取技术,计算获得最重要的少数几个词作为特征词以及其权重值,本实施例中选择10个特征词,并为了进行分析对比,本实施例中还分别选择了30个和100个特征词进行分析;3)条件生成将特征词及其权重按“与”运算组成检索条件;4)内容检索根据检索条件通过全文检索的方法利用倒排索引对目标文档集进行检索;5)预选结果对检索结果根据检索的评分大小选择部分结果作为预选结果,实施例中分别选择前10个、前20个、......、前90个、前100个结果作为预选结果进行分析;6)相似计算逐个计算预算结果与查询文档的相似度;7)结果输出按相似度排序并选择前10个结果输出。
实验中选用基于多维索引树SS+-树的相似搜索与本发明的方法进行对比实验。对比实验算法中采用相同相似度计算公式。
本发明首先在不同规模数据集上,对索引构建效率与搜索效率进行了对比实验,在相同的软硬件环境下,主要从时间上进行对比。如图2和图3所示。图2表明,在小数据量的环境下,SS+-树的索引构建速度快,但数据量超过10万之后,倒排索引的索引构建速度更快,并随数据量的增加其优势更明显。与图2类似,图3表明,在小数据量的环境下,基于SS+-树的相似搜索速度更快,但数据量超过数万之后,本发明所述的方法提出的倒排索引的相似搜索具有更好的速度,并随数据量的增加其优势更明显,甚至达到数十倍的速度。
本发明进一步对其准确性进行了实验,因为理论上基于SS+-树的相似搜索可保证完全正确,所以以其为准确度的标准参考。以100万文档做倒排索引,以10万文档分别作为查询文档,分别计算本文方法各种情况下的准确度并进行统计分析,结果如图4所示。实验表明,选取100个特征词具有很好的准确度;选取30个特征词时,预选结果集大小为50时,其准确度能达到95%;仅选取10个特征词时,预选结果集大小为100时,其准确度可达到90%左右。
综合以上实验结果,本发明提出一种海量文本快速相似搜索方法在对海量文本集进行相似搜索时,其速度远远高于现有技术SS+-树等方法。因此,本发明的所述的方法相对于现有技术来说,具有显著的效果。
本发明所述的方法并不限于具体实施方式
中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
权利要求
1.一种用于海量文本快速相似搜索的方法,包括以下步骤1)内容读取读取查询文档的内容;2)快速预选利用重要特征快速排除绝大多数的不相关文档,获得小的预选结果集;3)相似计算逐个计算预算结果与查询文档的相似度;4)结果输出按相似度选择结果并输出。
2.如权利要求1所述的一种用于海量文本快速相似搜索的方法,其特征在于在第2步所述的快速预选中通过事先建立索引以便加快预选过程。
3.如权利要求2所述的一种用于海量文本快速相似搜索的方法,其特征在于所述的索引是倒排索引。
4.如权利要求2所述的一种用于海量文本快速相似搜索的方法,其特征在于所述的索引是高维索引或多重索引。
5.如权利要求3所述的一种用于海量文本快速相似搜索的方法,其特征在于建立所述倒排索引的步骤包括1)特征分析对查询文档进行分析,计算获得最重要的少数几个词作为特征词以及其权重值;2)条件生成将特征词及其权重按逻辑运算组成检索条件;3)内容检索根据检索条件利用倒排索引对目标文档集进行检索。
6.如权利要求5所述的一种用于海量文本快速相似搜索的方法,其特征在于在步骤1)中采用关键词提取技术进行分析,获取特征词及其权重。
7.如权利要求5所述的一种用于海量文本快速相似搜索的方法,其特征在于在步骤1)中计算获得最重要的3至30个词作为特征词。
8.如权利要求5或6所述的一种用于海量文本快速相似搜索的方法,其特征在于在步骤2)中将特征词及其权重按“与”运算组成检索条件。
9.如权利要求8所述的一种用于海量文本快速相似搜索的方法,其特征在于在步骤4中通过考察两方面情况以便选取最后结果最小相似度阈值和相似度排序中的位置。
10.如权利要求1、2、3、4、5、6或7所述的一种用于海量文本快速相似搜索的方法,其特征在于在步骤4中通过考察两方面情况以便选取最后结果最小相似度阈值和相似度排序中的位置。
全文摘要
本发明涉及一种用于海量文本快速相似搜索的方法,属于智能信息处理技术。当数据集的维数较高(超过20)或数据量很大(超过10万)时,现有技术方法的性能迅速降低,难以满足海量文本的相似搜索。本发明提出一种海量文本快速相似搜索方法。它提出两步搜索策略,首先通过快速预选进行文本的预搜索,从而快速排除绝大多数的不相关文档,然后在剩余的小结果集上进一步判断相似性。该方法具有很高的效率,可适用于对海量文本的搜索。本发明的方法在海量信息智能检索、文本消重、内容引用发现等应用领域中具有广泛的应用前景。
文档编号G06F17/30GK1790321SQ20051011700
公开日2006年6月21日 申请日期2005年10月28日 优先权日2005年10月28日
发明者杨建武, 吴於茜, 陈晓鸥 申请人:北大方正集团有限公司, 北京北大方正技术研究院有限公司, 北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1