当前位置:主页 > 论文百科 > 研究生论文 >

基于Nutch的可信搜索引擎研究与实现

发布时间:2016-05-31 05:55

1  绪论

1.1 研究背景与国内外现状
信息时代,各种技术发展日新月异,信息容量不断膨胀,极大地满足了人们对各种信息别需求。但是如何从海量的信息中快速简单地检索出自己所需要的信息与不断扩张的信息量是当今互联网发展要解决的主要矛盾。搜索引擎是解决这一矛盾的唯一有效方法,因而搜索引擎的技术也随着互联网的发展需要不断地更新换代。 1.1.1  研究背景 1991 年 8 月 6 日,万维网(World Wide Web)出现了。在短短的十几年间,人类至少在万维网上发布了 50 亿条网页,并且现在每天都有数以十万计的数量增长,丰富的互联网内容极大地满足了网民在日常生活中对信息的需求。但是,过于丰富的信息内容使网民很难从海量的信息中快速地检索中自己最需要的信息,于是搜索引擎应运而生,从早期的以目录式搜索引擎为代表的雅虎,到基于全文搜索引擎的谷歌都极大地促进了互联网的发展。搜索引擎作为进入互联网世界的大门,它的性能也直接影响这网络用户的上网质量[1]。 百度、谷歌、雅虎为代表的搜索引擎在最近的几十年里取得了巨大的发展,他们几乎垄断了 90%的搜索引擎市场。由于这种大型商业互联网公司具有天然的垄断性和逐利性,用户利用它们取得的搜索结果可能很大程度上符合他们公司本身的经济利益,而不是用户的实际需求[2]。商业公司的封闭性,它们又不能为普通科研人员公开其搜索引擎工作原理,而对于一般的开发者而言,搜索引擎的底层开发过于复杂,再加上百度与谷歌对于他们已有算法的严格保密,使得搜索引擎的开发有很高的技术门槛,这样也严重阻碍搜索引擎技术的快速发展与革新。虽然网页的数量在迅速增长,但是搜索引擎的数量却在不断下降,这样发展的结果很可能进一步演变为有限的几个商业互联网公司垄断所有的互联网搜索业务,甚至可能发生为谋取商业利益而采用竞价排名等策略来损害普通用户的利益。这样的发展趋势显然不利于广大用户拥有更好网络体验,也不符合互联网搜索引擎市场的健康发展。 另外,随着互联网的快速发展,微博、微信、Facebook 等自媒体也得到飞速发展,互联网上存在大量个人用户生成的信息。由于这些信息内容可复制性强、可信度差等缺点导致网络信息良莠不齐。并且随着信息发布的门槛越来越低,直接导致内容的来源和信息的真实性很难考证,最终使用户对于传统搜索引擎的搜索结果的可信度产生严重怀疑。
.........

1.2 研究的主要内容
本文研究的主要内容提高搜索引擎搜索结果的可信度,研究内容可分为可信搜索引擎的设计、实现与实验结果分析三部分。可信搜索引擎的设计又可分可信数据采集子系统的设计、可信检索子系统的设计两部分。为了提高采集子系统数据的可信度,本文主要对采集子系统的算法加以改进。Nutch 的采集子系统采用了 OPIC 算法,通过改进 OPIC 算法的缺点,来提高采集数据的可信度。OPIC 算法的主要缺点有搜索结果偏重历史网页、网页的评价不考虑用户体验、主题漂移问题、网页排序作弊等。 本文的基本思想是在基于链接的 OPIC 算法的基础上,考虑影响网页排序的其他网页属性,形成网页评分因素的多元化。根据这一思想,在原有 OPIC 算法的基础上提出可信度更高的排序算法,从而得出更加合理的排序分值。 用户的点击率属性是用户对网页评价的体现,在搜索引擎的算法中应该充分分析用户浏览行为对网页评分的影响,用户对网页的点击率就是网页受用户欢迎程度的最佳体现形式。 本文在开源 OPIC 算法的基础上,提出了 TS 算法。该算法通过基于索引属性的改进,加入网页的创建时间、网页深度和用户平均点击率三个属性,有效改善了 OPIC算法偏重历史网页等缺点,使搜索结果更加合理可靠,完成可信数据采集子系统的设计。 
.........

2 搜索引擎理论与相关技术

互联网信息量在过去的十五年间获得爆发式的增长,个人用户发布信息的门槛越来越低,大量无关的、虚假的、冗余的数据信息严重干扰了用户对相关有用信息的准确性的选择。这些因素导致信息过载的问题越来越突出,而搜索引擎是解决信息过载的唯一有效方式。本章系统介绍了搜索引擎的基本构成、搜索引擎的分类、主流的排序算法等内容,并对 Nutch 做了详细介绍。 

2.1  搜索引擎基本构成
搜索引擎需要复杂的架构与算法,不同的搜索引擎在操作过程中存在许多差异,但是基本结构大致相同,通常有网络爬虫、分析器、索引器、搜索器、用户接口五部分组成,如图 2.1 所示。网络爬虫可以将海量网页数据传送到本地,它是搜索引擎很关键的组成部分。首先,从互联网上精心选择一部分网页作为种子 URL,将这些种子 URL 放入待抓取队列中,爬虫从待抓取队列中依次下载网页,对于下载到本地的网页进行解析,然后再将解析出来的网址 URL 放入爬虫的待抓取队列中循环采集,直到待抓取队列为空,完成一轮抓取过程。 PageRank 算法是基于链接来计算网页的 PR 值,利用 PageRank 的思想可以对待抓取 URL 列表进行优先级排序。 将已经下载的网页集合和待抓取的 URL 队列中的 URL 一起形成网页集合。在此集合内部进行 PageRank 计算,然后,将待抓取URL 队列里的网页按照 PR 值降序排列,形成爬虫依次抓取的 URL 列表。由于爬虫在抓取过程中只能计算一部分网页的 PR 值,所以在数据采集阶段进行 PageRank 计算和网页真正的 PR 值存在较大误差,非完全 PageRank 策略存在较大争议。 
..........

2.2  搜索引擎的分类
搜索引擎根据其工作原理的不同可分为三类:目录式搜索引擎、全文搜索引擎、元搜索引擎。目录式搜索引擎[32]以现在的观点来看它并不算是真正的搜索引擎,它只是按照主题不同将网站链接排列列表,用户一般可以直接采用点击与查询主题相关的网站链接就能得到相关信息。 雅虎是这类搜索引擎的代表,通过人工整理把属于不同主题的网站分类罗列出来,用户可以通过分级目录查找不同主题的相关内容。这种搜索引擎的查询范围有限,查全率低,但是这种纯人工整理出来到的方式,虽然收录网站效率不高,但收录的网站质量一般都比较高,所以内容的有很高的可信度。这种搜索由于更新不及时、信息量少、查全率低,所以在逐渐被全文搜索引擎所取代,即使存在也是采用和全文搜索引擎相结合的形式出现。这种搜索引擎的优点是结构层次清晰,便于快速查找相关主题,网站内容质量也比较高,缺点是这种搜索引擎更新速度慢,搜索范围小,不容易查找到交叉类的内容。 
........   

3 可信数据采集子系统的分析与设计 ...... 21
3.1 数据采集子系统原理分析 ........... 21
3.2  可信数据采集子系统设计 .......... 25
3.3 本章小节 ....... 33
4  可信检索子系统分析与设计 ......... 35
4.1  检索子系统原理分析 .......... 35
4.1.1  检索子系统基本流程 ....... 35
4.1.2 检索子系统向量空间模型 ........ 36
4.2 Lucene 检索算法 .......... 38
4.2.1 Lucene 相关性因素 ........... 38
4.2.2 Lucene 排序计算 ....... 38
4.3  可信搜索引擎检索算法改进 ...... 39
4.3.1  可信搜索检索子系统设计方案 ....... 39
4.3.2  可信搜索检索子系统算法 ....... 40
4.3.3  可信检索子系统程序设计 ....... 41
4.4  本章小节 ...... 42
5 可信搜索引擎的实现 ...... 43
5.1  系统运行环境 ...... 43
5.2  可信搜索引擎模型部署 ...... 43
5.3  本章小节 ...... 50

5 可信搜索引擎的实现 

5.1 Nutch 版本选择 

Nutch 是一个开源的爬虫项目,该项目可高度扩展以及个性化定制,来自于Apache 下的 Lucene 项目,该 Nutch 在爬虫抓取环节比 Lucene 有了较大的进步,它既可以抓取本地数据,也可以抓取互联网数据,具体各个Nutch版本可以通过Apache的官网 Nutch 目录下载()。 Nutch 的版本可以分为两大类,一类是以 1.x 版本,一类是 2.x 版本详细介绍如下: 1.x  该版本的 Nutch 是一个成熟搜索引擎,具有完善的插件,采用成熟的基于Hadoop 架构,底层存储使用的是 HDFS 文件系统来存储索引。Nutch1.2 之前,Nutch提供完整的部署文件,Nutch1.2 之后的版本就只提供源代码,需要用户自己编译Nutch,所以如果在个性化定制程度要求不高,快速部署的条件下 Nutch1.2 是最优选择。2.x Nutch2.x 与之前 Nutch 版本最大的不同,就是文件存储系统的变化,该版本Nutch 采用 Apache  Gora 的 ORM 框架,使得 Nutch 可以访问 HBase、Accumulo、Cassandra、MySQL 等数据库,这样索引存储在数据库中就可应灵活地读取解析出来的索引库。Nutch2.x 的可定制性大大提高,但是 Nutch2.x 还是一个不成熟的搜索引擎,该版本的 Nutch 也是只提供源代码,需要在 Eclipse 中重新编译运行。 综合上述 Nutch 版本的功能介绍,本文采用可定制化更高,功能更加灵活的Nutch2.x  版本用于可信搜索引擎采集子系统的构建。 

基于Nutch的可信搜索引擎研究与实现


........
  
总结 

本文主要研究工作可分为四大部分,分别是可信采集子系统设计、可信检索子系统设计、可信搜索引擎的实现、可信搜索引擎实验分析。四部分具体工作如下所示。 
1)  可信数据采集子系统设计 本节的核心内容就是分析传统的链接算法以及重点研究 OPIC 算法的工作原理及其优缺点,并且根据它的不足,提出改进方案。通过分析可知,OPIC 算法虽然在传统的 PageRank 算法的基础上有一定的改进,但是还是不能避免链接算法过于偏重历史网页这一缺点,同时由于评分因素的单一性,还容易造成主题漂移、网页作弊、忽视用户反馈信息等弊病。本文根据这些缺点,结合网页的时间属性、网页深度属性和点击率属性提出了基于 OPIC 算法改进的 TS 算法,,改进后的算法在理论上可以有针对性地改善原有算法存在的不足,并且基于 TS 算法设计可信数据采集子系统。 
2)  可信检索子系统设计 为了设计可信搜索引擎的检索子系统,本文采用了基于向量空间模型的相似度算法的 Lucene 算法与数据采集子系统的 TS 算法做结合,形成可信检索子系统的评分算法。有效改善了原来检索算法只考虑相似度单一因素的缺点,将采集子系统对网页的评分客观地反映到最终的搜索结果中,提高了搜索结果的可信度。 
3)  可信搜索引擎的实现 本节的主要内容就是部署可信搜索引擎,根据可信数据采集系统和可信检索系统的设计,构建了可信搜索引擎所需要的网络爬虫、解析器、索引库、检索器、用户接口构建了一个完整的可信搜索引擎模型,然后,通过构建种子文件,设置网络爬虫的运行参数,启动数据采集系统采集网页,通过解析器的分词构建成了完整的索引库,最后设计检索器和用户接口,完成可信搜索引擎的部署。 
.........
参考文献(略)




本文编号:52232

资料下载
论文发表

本文链接:https://www.wllwen.com/wenshubaike/lwfw/52232.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户54c93***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com