网学网工科论文编辑为广大网友搜集整理了: 基于Nutch的垂直搜索引擎的研究 绩等信息,祝愿广大网友取得需要的信息,参考学习。
1 系统功能和体系结构引擎系统的基本思想是根据主题词,将爬虫抓取到的网页在建索引之前进行主题判别分析,若属于本主题,则保留本网页为后面建立索引做准备;若不属于本主题则抛弃,避免占用更多空间.
1.1 系统的功能框架的设计港口物流信息垂直搜索引擎需要对互联网普通用户和专业用户提供服务,需要提供相应的用户访问 web界面.整个系统架构采用基于web的服务器模式,用户通过浏览器可以直接进行检索访问.典型的搜索引擎包括3个主要部分,相应的其主要处理流程有3步:从互联网上采集网页信息;分析原始网页,包括抽取文本内容、过滤标点符号、对内容分词等,为网页和分析得到的文本建立一个可供检索的索引库,设计良好的索引库可以加快搜索速度,更准确的进行网页定位,从而减少计算开销;提供检索接口,分析用户输入的查询式,在索引库中查找相关信息,最后通过链接分析等算法对检索结果排序后显示给用户. 设计的垂直搜索引擎架构分为3层,表现层主要有主体信息检索、系统管理控制、系统界面和用户管理;业务层主要有主体资源发现、系统资源下载、主体文本分析和文档相关规定
;数据层主要有主体资源列表、主体资源网页、主题特征库、系统属性配置和系统索引数据. 垂直搜索引擎为减少存储的开销,避免无效信息的干扰,只抓取与主题相关的页面,需要在通用搜索引擎的基础上加入页面主题相关度分析和链接主题相关度分析,同时分析的具体数值也需要加权处理后体现在检索结果排序上,从而可以尽量在互联网上只爬取与主题相关的网页,并在检索时将与主题相关性高的网页优先显示. 垂直搜索引擎需有元数据信息提取和索引、主题相关度判定、主题加权的结果排序等方面的功能,元数据信息提取和索引在Nutch平台上已经实现,重点解决相关度判定和结果排序等方面的技术实现问题.
1.2 系统的体系结构设计的垂直搜索引擎的体系结构如图1所示,其中有底色背景的模块是引擎对Nutch重点实现或改进的部分. 系统体系结构图 Fig.1 System architecture diagram (1)页面分析模块:当爬虫抓取某个超文本页面信息时,先分析页面的标记结构,从其标记特征信息中搜索抓取的信息,以及获取指向其他超文本的URL链接,通过这个步骤的循环可以继续选择访问该URL链接的站点,继续采集其页面信息.在分析页面信息过程中,是在 Nutch源码基础上加入中文分词的插件,从而实现了中文分词功能.
(2)页面过滤模块:该模块负责提取网页上的中文信息,提取中首先要过滤掉该页面中的一些脚本标示符和一些无用的广告信息,同时把文本的版面格式信息记录下来.提取信息中对词的识别工作是搜索引擎中非常关键的,该部分工作是先利用词典文件对网页内的词进行识别,然后嵌入了Nutch源码,不过在这个源码中加入对主题相似度的判别功能,从而实现了对网页主题相似度的判定和过滤.
(3)链接过滤模块:在Nutch网络爬虫(Crawl.java)实现中加入处理“隧道现象”的功能,让一个与主题无关的URL及其子链接的优先级逐步递减,降低其优先级而不是直接删除,从而为发现另一个主题团提供了可能,从而使爬虫可以爬取被无用页面分隔的主题页面. (4)Nutch检索器:对Nutch源码Distributed analysis tool.java中的compute round函数进行了修改, 将原有的基础排序算法计算出来的页面优先度分值替换为新的算法计算公式,将主题相关度值作为一个变量加入到源代码中,从而实现了自定义的页面排序算法. 系统管理员向网络爬虫提交初始的种子URL和行业相关的主题词集合,网络爬虫从初始URL开始在互联网上抓取网页,然后对抓下来的网页进行信息抽取,提取出正文文本信息和页面中的链接,由页面过滤模块分析页面是否与主题符合,如符合则把提取出的链接提交到链接过滤模块进行链接分析,同时保存页面,建立索引.若不符合,则丢弃该页面.