论文部分内容阅读
在万维网中,大多数的网页都是重复的,然而,这些重复的网页对于搜索引擎返回的搜索结果是冗余的,搜索结果大多数不能体现用户查询意图。如果能将这些冗余的搜索结果去重,并实现返回结果按照重复率最大的网页进行排序显示给用户,无疑是一种可以满足用户查询需求的方式,那么,网页去重亟需解决的是使用什么样的技术手段判断网页内容是重复的最重要,如何能够去除相同或者相似的网页可以提高检索效率、降低存储开销。实际搜索中,搜索引擎返回数据会给用户提供很多相同的查询记录,但是如果返回重复的搜索结果是不科学的,因为大多数返回结果存在相似度极高的情况,甚至就被检索到的是同一个网页,当爬虫抓取网页的同时可以判断下其网址是否在已经下载的列表中,如果该网址的前半部分是相同的,可以认为它们可能是重复性的网页,这些重复的网页直接就不用下载,但是,在网址不相同的情况下,也可能网页内容是重复的,这种情况下的网页也不必出现的结果也中,那么,一个精锐的问题就是:很多重复的网页到底选哪一个作为返回结果呢?提到文本相似性计算,首先要想到的应该是向量空间模型VSM(VectorSpace Model),这种方法存在的问题是:需要对网页两两比较相似度,无法扩展到海量网页的处理。传统的判断网页相似度的经典方法是“向量夹角余弦”,其主要思想是一篇网页中出现词的词频构成一个二维向量,然后计算网页之间对应的向量夹角余弦,但是,尤其一篇网页中含有大量的特征词,导致生成的二维向量的维度特别的高,这样一来使得计算的代价太大乃至于超出了预计的时间、空间复杂程度,那么对于大型的搜索引擎处理上万亿级别的网页请求是不可接受的。于是,Simhash算法诞生了,其主要思想是“降维”,将高维的特征向量映射成一个唯一“Simhash”值标识,所以比较网页唯一“指纹码”标识来确定的网页的是否重复。本文主要方法是一种基于Simhash的文本快速去方重法,一篇网页提取出网页内容后,必须经过基本的预处理,比如:(中文的,去除停留词、中文分词处理、英文的,去除停留词、词根还原),最后会得到一个向量,实验结果表明,本文提出的方法的实验结果良好。