论文部分内容阅读
近年来,随着计算机技术的飞速发展,互联网已经从各方面影响着人们的工作和生活。为了更好的使用互联网资源,搜索引擎应运而生。但是传统的通用搜索引擎存在着网络覆盖率低、查准率差、错误导航等诸多问题,因此又出现了针对某一特定领域提供检索服务的垂直搜索引擎。在学术领域,为了充分利用研究机构与研究人员等通过网络共享的大量学术资源,有不少针对学术领域的垂直搜索引擎也相继出现。但是,由于更新时间滞后、浏览与下载权限控制和时效性较差等原因,目前还没有出现类似通用的Google搜索引擎那样使用率非常高的面向学术领域的垂直搜索引擎。针对以上实际情况,本文研究并实现了一个新的面向学术领域的垂直搜索引擎,基于Nutch实现的该学术搜索引擎能够为用户提供时效性较强且与主题较相关的检索结果,并通过用户定制功能保证了系统的更新频率。本文的主要工作包括以下几个方面:(1)为了保证信息搜集范围的广泛性,本文的学术搜索引擎在爬取模块采用了全网爬取的方式,这打破了一些面向学术领域的搜索引擎仅针对部分学术网站进行信息搜集的局限性。在全网爬取的前提下,本文为学术搜索引擎实现了主题爬取功能。主题爬取模块引入了网页主题相关性过滤机制,采用了一种基于语义引力的相似度计算方法,该算法通过计算网页与主题相关词的相似程度,来判定网页与主题的相关程度。这种在爬取阶段就进行主题判断的方式,是目前实现垂直搜索引擎的最佳方式。全网环境下的主题爬取模块的实现,既保证了所搜集网页的主题相关性,又使得本文的学术搜索引擎具备了发现互联网中新的主题相关网站的能力。(2)在解析模块,本文实现了基于模板的通用网页解析器,该解析器克服了解析模板对网页和网站结构的依赖性,实现了模板创建过程的半自动化,因此它具有一定的通用性。此外,该模板解析器可以通过定制解析来定向收集用户感兴趣的网页信息(如网页更新时间),因此该模板解析器能够被定制以应用于不同的搜索引擎之中。(3)本文成功的完成了Nutch原有的Lucene索引结构的重新构建,为学术搜索引擎的索引文件添加了自定义的date域,并在检索模块实现了基于该时间域的排序方法,从而为学术搜索引擎添加了按网页时效性进行检索的功能。此外,检索模块还实现了综合考虑网页内容重要性和网页链接重要程度的排序方法,克服了一些面向学术领域的搜索引擎在排序方面的不足。(4)用户定制模块实现了管理和配置整个学术搜索引擎的功能,实现了系统运行参数、种子URL的可视化配置,并允许用户通过关键词定制和筛选种子URL。此外,该部分还提供了种子URL推荐功能,用户可以向学术搜索引擎推荐新的种子URL。在配置完成后,用户可以通过用户定制模块直接运行学术搜索引擎,这种易用性使得用户可以根据实际需要确定系统的更新频率,从而保证了检索信息的时效性。经过实际部署与应用的基于Nutch的学术搜索引擎取得了预期的效果,通过分析学术搜索引擎的检索结果,验证了引擎系统各个模块的主要功能。用户可以通过学术搜索引擎检索到与自己关注领域更相关且时效性更强的资讯信息。同时,基于Nutch的学术搜索引擎还具有良好的扩展性和通用性,可以方便的通过扩展进行功能的增删或改进,或通过进一步修改成为其他领域的垂直搜索引擎系统。