网页内容的搜索系统设计与实现(源码)

摘要:针对用户利用网页搜索资讯的信息需求特点,改善各类网站对于相同信息转载造成的资讯重复现象,结合Java开发语言和数据库相关技术设计了一套基于网页内容的搜索系统。系统采用基于标记窗的正文提取算法以及基于大段落和BloomFilter算法两种技术分别实现了网页提取、去重和网页相似度的比较。该系统通过提取二十个与主题相关的网页,调用去重算法去除内容相似的网页,节省用户对于网页冗余信息的判断时间,并且使用户获得更多不同信息。系统的测试结果表明搜索系统的功能基本达到预期的效果。
目录
摘要 1
关键词 1
Abstract 1
Key words 1
引言 1
1 选题背景 2
1.1 问题的提出 2
1.2 国内外研究情况 2
1.3 研究内容以及技术路线 3
1.3.1 研究内容 3
1.3.2 技术路线 3
1.4 开发平台 3
2 关键技术背景 4
2.1 基于标记窗的正文提取 4
2.2 基于大段落和bloomfilter的网页去重 5
3 搜索系统的设计与实现 7
3.1 网页内容的提取 7
3.2 网页的去重 7
3.2.1 基于大段落的特征串提取 8
3.2.2 相似性检测的数据结构定义 8
3.2.3 相似性计算步骤 8
4 搜索系统测试 8
4.1 系统功能测试 8
4.2 去重效果测试 10
5.总结 11
5.1 关于本系统 11
5.2 系统需要改进的地方 11
致谢 11
参考文献 11
基于网页内容的搜索系统设计与实现
引言
当人们面对感兴趣的信息内容发生重复的情况时,通常是将相同的信息部分进行去重。对搜索引擎来说,网页去重就是将相似内容的网页从获取到的网页中找到并去除,本质上就是先对网页进行预处理,在格式转换和去噪之后提取出想要过滤的部分,针对预处理结果提取网页特征码,而后将布隆算法等高效
 *好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^* 
的网页去重方法结合在网页内容相似性检测中,例如可以采用网页的布隆位向量计算内容的相似度和包含度,获得主题内容没有重复的网页。整个系统的设计一方面提高了网页的整体抗噪能力和网页净化效果,另一方面也提高了识别相似网页的效率。
1 选题背景
1.1 问题的提出
随着网络信息时代的迅猛发展,网络在我们日常生活中的重要地位日益得到凸显,使用互联网已经成为人们日常生活中获取信息和发布信息的首选方式。因此,伴随着我们对于信息的需求,搜索引擎成为了我们获得信息的主要手段。但是,在浩如烟海的网页中,存在着许多内容重复的网页,这种重复主要来源于各个网站之间对于热门和经典的信息进行相互间的复制转发,有些网页的内容是基本相似的,有些内容却是部分相似的。重复的网页在内容和结构上是相似的,所以用户其实只需要其中一个网页的内容,因此这些网站带来的相同的页面内容既影响了使用网络搜索工具的用户体验,也影响了整个搜索引擎的功能和特性。因此,如果希望提高工具搜索结果的质量,快速的检测和提取重复网页并去除重复网页已经成为现有的搜索引擎提高自身质量必须面对的挑战,如何高效的将网页重复剔除也成为了搜索系统提高自身性能和用户体验的关键。
1.2 国内外研究情况
在国内外的网页净化研究方面,现有的方法集中体现在如下的几个方面:(1)基于网页模板的净化方法。该净化方法目标瞄准的是利用相同的网页模板延伸出来的网页集合,将网站中都在利用的模板作为需要净化的噪音,把集合中反复出现机会比较少的作为网站的正文内容进行获取。但是该净化的方法只对单独的网站或者是使用相同的模板的网站有用,通用性差。(2)基于视觉或布局特征[1]的净化方法。这类方法从页面的字体大小、背景颜色、空白区域等视觉特征上去处理网页,但由于网页视觉信息灵活多样,运用的规则比较模糊,难以保证一致性。(3)基于页面标签的净化算法。针对HTML网页而言,普遍使用的用来表示结构的方法是构造网站页面的标签树,该方法的核心是使用DOM标签嵌套的关系特点将目标网页表示成一棵标签的树状结构,结构中的每个树的节点对应目标网页中的某个关键点,随后利用规则将噪声去除,提取出网页内容。本文的提取方法即体现在是针对基于DOM算法的改变和整合。(4)以HTML代码的密度为基础的网页内容提取算法,该研究依据的是正文内容和HTML网页编程代码的密度来判断文本能否具备输出资格,使用方便而且可行性高。(5)基于FFT(快速傅里叶变换)的正文内容提取方法。这个算法利用的是窗口分段的思想,使用到了统计学原理和FFT,获取所有有机会取到的权值,进而计算出最适合的文字内容范围。
在国内外已有的去重算法研究方面,国外常用的去重算法有:(1)DSC和DSCSS。这个方法目的在于找到雷同的文本,可以发现格式上的改变之外,还能改变签名的差异,找到不同文字内容之间存在的大体的包容联系。但是这种方法对于较小的文档处理效果较差。(2)IMatch算法。这个方法同严谨的语法分析没有太大的联系,转而在识别连续的字符串工作中利用了集合统计的方法来选取范本。(3)simHash算法。本质上是在利用降低维度的技术[2],采用的实现方法是找到具有高维度的文本的向量用映射的概念转化成为位数低的指纹,具有冗余特质的文本表现在少数的位置上是不同的。我国在使用和研究的去重算法有:(1)北大天网查重算法。北大天网的的查重算法采用的是以空间向量模型为范本的算法,常在文本的分类和聚类中见到。定义一个特征向量来代表页面内容,特征向量通常是由特征值组成。判断网页是不是相似的方法则为取得页面向量和聚类中心的向量的夹角的余弦值以及向量模的大小,这两者的关系可以通过计算取得。(2)基于特征码的网页查重算法。这个方法的关键是把网页重复的判断转化成检索的问题,将网页的内容变成检索的需求。将网页的主题关键词作为一个索引,把网页的特征码建立起索引,进而建立起搜索系统,其中的内容是所有网页的特征码。检索时,把待检索的特征码放到系统中进行搜索,可以找到相像的内容的页面了。(3)基于LCS网页去重算法。把两篇网页重复的问题转化为求两篇网页最长公共子序列的问题。该算法运用简单,不过时间复杂度与空间的复杂度为O(mn),m和n代表的是页面内容的文字的长度,在实际操作中不方便。
1.3 研究内容以及技术路线
1.3.1 研究内容
本文研究的核心内容主要包括网页净化,网页特征码的提取以及网页相似性检测。其中包括了两个算法基于标记窗的正文提取算法和基于大段落和bloomfilter的网页去重算法。
本文的研究工作主要可以概括为以下两点:
在算法方面,主要采用了基于标记窗的提取算法来净化网页噪声[3],采用基于大段落的算法来提取出网页的特征码,并结合bloomfilter算法的特性进行网页相似性的计算。对算法运行结果进行整合,验证算法的实用性。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/2257.html

好棒文