收藏 分享(赏)

南开大学硕士学位论文基于Nutch的垂直搜索引擎研究与实现姓名.PDF

上传人:weiwoduzun 文档编号:4034993 上传时间:2018-12-05 格式:PDF 页数:69 大小:3.27MB
下载 相关 举报
南开大学硕士学位论文基于Nutch的垂直搜索引擎研究与实现姓名.PDF_第1页
第1页 / 共69页
南开大学硕士学位论文基于Nutch的垂直搜索引擎研究与实现姓名.PDF_第2页
第2页 / 共69页
南开大学硕士学位论文基于Nutch的垂直搜索引擎研究与实现姓名.PDF_第3页
第3页 / 共69页
南开大学硕士学位论文基于Nutch的垂直搜索引擎研究与实现姓名.PDF_第4页
第4页 / 共69页
南开大学硕士学位论文基于Nutch的垂直搜索引擎研究与实现姓名.PDF_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、南开大学硕士学位论文基于Nutch的垂直搜索引擎研究与实现姓名:张涛申请学位级别:硕士专业:计算机软件与理论指导教师:邵秀丽20090601中文摘要中文摘要随着Web信息量的飞速增长,越来越多的人希望能够快速且有效地找到自己所需要的与特定领域主题有关的信息,目前通用搜索引擎(search engine)面临着空前的挑战。垂直搜索引擎(vertical search engine)由于仅仅采集用户指定的、与某一特定主题相关的信息,过滤不相关的信息,以构筑某一主题或学科领域的Web信息资源库为目标,并在查询结果排序时给予主题相关度高的网页更高的优先级,具有很高的实用价值和广阔的应用领域,因而成为目

2、前网络信息检索领域的研究热点之一。Nutch是一个开源(open source)的w曲搜索引擎,它将尽自己最大的努力为用户提供最好的搜索结果。本文在Nutch平台上实现了中文分词插件,从而使Nutch具有中文信息处理能力。此外分析并研究了目前常用的主题相关度判别方法,在系统实现中采用了基于向量空间模型的主题相关度判别算法,并对该算法进行改进,加入元数据判别机制和重要标签所包含关键词的加权处理。分析了“隧道现象”的成因和日前的处理方式,在Nutch原有的爬虫部分源代码加入“隧道处理”机制,以处理主题网页分离的问题,并且修改了检索结果排序的源代码,在原有的基于链接相关度评分的基础上加入了根据页面主

3、题相关度评分,使其更适应垂直搜索引擎的要求。最终本文实现了一个港LI物流信息垂直搜索引擎,从而实现了各个港口物流信息的快捷查询和共享。实验结果表明这些改进提高了主题判别的准确度和效率,使信息的定位和查找更加的精确,减少了不相关信息的干扰,并提高了系统对于互联网复杂环境的处理能力,因此本文实现的系统具有很高的实用价值和研究意义。关键字:Nutch垂直搜索向量空间模型中文分词索引检索Abstract一一AbstractWith the rapid growth of Intemet,more and more people wallt to be able t0 fmdthe 1nformatio

4、n of their interest quickly and accuratelyVertical searchengines oIllycollect user-specified or subject。related pagesIts goal is to build a Web infonnationaIld resource library for one target theme or academic fieldby focusing 0n theretrieVal of relevant pages and filtering irrelevant pagesBecause o

5、f itshigh practicalvalue and extensive application domain,vertical search enginetechnology hasbecome a hot research point in network information retrieval fieldNutch IS an open source Web search engine,which takes effort to provideuserswlth the best search resultsThis paper providesa Chinese word se

6、gmentationcomponent under Nutch plugin framework to meet the needs of ChiIlese i响咖ationprocessingA module for calculating similarities among pages is implementedThismodule adopts vector space model of theme similarity and makes improvements0nthe algorithm by adding meta-data and raising the weight o

7、f、ords contained i11maportant labelsAt the same time,the crawling part of Nutch source COde ismodified by adding”Tunneling Processing”mechanism to deal with the issue causedby separatlon of page theme and page contentThe source code in ranking module isalso modified by adding scoring method accordin

8、g to similarity ofpage themes on thebasis of original link-based similarity scoring to make it moreadapted to therequlrements of vertical search enginesFinally this paper implements a venicalsearCh engine of port logistics information in order to achievequick ir怕nnationquery and sharingThe experimen

9、tal results show that Our methods improve meaccuracy and efficiency of theme discrimination and can reduce the inte啭rence of1rrelevant information,enlarging the systems capacity to handle the complex IntemetenvironmentTherefore,the system has high practical and resea|Ch valueKeyword:Nutch,Vertical S

10、earch,VSM,Chinese Word Segmentation,IndeX觚dSearchH目 录图目录图21典型搜索引擎系统架构图9图22倒排索引结构图。10图23检索模块流程图1 1图24垂直搜索引擎结构图。12图25 Lucene索引流程1 5图26 Nutch体系结构图1 6图41本系统功能框架图24图42本系统体系结构图25图43本系统用例图26图44本系统工作流程图28图45概念模型网络图:4 1图46主题相关度判别功能图42图47主题相关度计算流程图43图48“隧道现象“图示45图49实现隧道穿越的流程图46VI目 录图51本系统运行步骤49图52本系统配置工具50图53

11、实际抓取5 1图54检索页面。52图55结果显示页面52VII目 录表目录表11评价指标比较2表12功能需求比较3表51主题相关度判断结果分析53表52与通用搜索引擎比较53VIII南开大学学位论文使用授权书根据南开大学关于研究生学位论文收藏和利用管理办法,我校的博士、硕士学位获得者均须向南开大学提交本人的学位论文纸质本及相应电子版。本人完全了解南开大学有关研究生学位论文收藏和利用的管理规定。南开大学拥有在著作权法规定范围内的学位论文使用权,即:(1)学位获得者必须按规定提交学位论文(包括纸质印刷本及电子版),学校可以采用影印、缩印或其他复制手段保存研究生学位论文,并编入南开大学博硕士学位论文

12、全文数据库;(2)为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆等场所提供校内师生阅读,在校园网上提供论文目录检索、文摘以及论文全文浏览、下载等免费信息服务;(3)根据教育部有关规定,南开大学向教育部指定单位提交公开的学位论文;(4)学位论文作者授权学校向中国科技信息研究所和中国学术期刊(光盘)电子出版社提交规定范围的学位论文及其电子版并收入相应学位论文数据库,通过其相关网站对外进行信息服务。同时本人保留在其他媒体发表论文的权利。非公开学位论文,保密期限内不向外提交和提供服务,解密后提交和服务同公开论文。论文电子版提交至校图书馆网站:http:20211320161:8001ind

13、exhtm。本人承诺:本人的学位论文是在南开大学学习期间创作完成的作品,并己通过论文答辩;提交的学位论文电子版与纸质本论文的内容一致,如因不同造成不良后果由本人自负。本人同意遵守上述规定。本授权书签署一式两份,由研究生院和图书馆留存。作者暨授权人签字:20 年 月 日南开大学研究生学位论文作者信息论文题目姓 名 学号 答辩日期 年月 日论文类别 博士口 学历硕士口 硕士专业学位口 高校教师口 同等学力硕士口院系所 专 业联系电话 Email通信地址(邮编):备注: 是否批准为非公开论文注:本授权书适用我校授予的所有博士、硕士的学位论文。由作者填写(一式两份)签字后交校图书馆,非公开学位论文须附

14、南开大学研究生申请非公开学位论文审批表。南开大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外;本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。学位论文作者签名:年 月 日第一章绪论第一章绪论目前搜索引擎已经超过了电子邮件成为互联网上最重要的应用,它的出现解决了互联网上信息查找的困难,方便了用户在数以亿计的网页中找到自己想要的信息ll J。而垂直搜索引擎(Vertica

15、l Search Engine),是与通用搜索引擎截然不同的引擎类型,它的出现是为某一特定领域、某一特定人群或某一特定需求提供有一定价值的信息和相关服务,与通用搜索引擎的海量信息相比,垂直搜索引擎则显得更加专注、具体和深入,使用户能够快速检索到自己想要的信息【2】。111垂直搜索引擎产生背景第一节引言随着因特网的迅猛发展,网络信息资源成几何级数增长,想要快速、准确地查找所需的信息越来越难,搜索引擎的出现整合了互联网上众多的网页资源,并提供信息导航和信息查询服务,方便了用户查找所需要的信息。但是目前通用搜索引擎在使用中也面临着许多问题【3】:(1)大规模的分布式数据源。目前大量的数据分布在数以亿

16、计的服务器上,检索起来非常困难,单个搜索引擎的索引数据库的覆盖率一般都低于30,很难索引所有Web资源。(2)网络信息组织的无序性。Intemet用户面对的是海量、随机、无序的信息。从如此庞杂的信息中取出对用户最有用的信息是搜索引擎面临的一项挑战,现在的简单排序还无法达到要求,而信息有序化组织也是搜索引擎高效工作的前提。(3)信息的有用性评价困难。一些站点在网页中大量重复使用某些关键字,以提高其在搜索结果中的排名,而事实上却可能没有提供任何对用户有用的信息,这些情况更加深了评价信息有用性的难度。(4)检索词表达的问题。信息检索界认为用户很难简单地用关键字来忠实表达他所真正需要检索的内容,表达的

17、困难将导致检索结果的不理想,而且如何第1页第一章绪论将结果表达成用户容易理解和使用的方式也是一个难题。在这样的实际背景下垂直搜索引擎应运而生,它是针对某一行业或组织,以构筑某行业或组织的网络信息资源库为目标来满足行业专业需求或者组织某项业务需求,智能地在互联网上搜集符合某一专题需要的信息资源,是通用搜索引擎的细化和延伸,它对网页库中的某类专业的信息进行整合,分字段抽取出用户需要的数据,处理后以某种形式返回给用户。能够为包括学科信息门户、专业信息机构、特定行业领域、公司信息中心、行业专家等等在内的信息用户提供整套的网络信息资源开发方案。由此可见垂直搜索引擎是更有针对性的搜索引擎,它只搜索特定主题

18、的信息。由于覆盖的学科领域少,信息量相对较少,这就大大降低了收集信息的难度,提高了信息的质量。目前垂直搜索引擎的应用领域很多,比如企业信息搜索、产品搜索、房产搜索、人才搜索、地图搜索、MP3搜索、图片搜索等等,几乎各行各业、各类信息都可以进一步细化成各种类型的垂直搜索引擎14】。112垂直搜索引擎与通用搜索引擎的比较垂直搜索引擎与通用搜索引擎在实现原理上大致相当,本文从搜索引擎评价指标、功能需求差异和技术实现上来对它们作一下比较。1121评价指标比较搜索引擎有两个主要的评价指标:查全率和查准率。查全率是检索出的相关网页数和网页集中所有的相关网页数的比率。查准率是检索出的相关网页数与检索出的网页

19、总数的比率。表11给出了垂直搜索引擎和通用搜索引擎在查准率、查全率和结果描述三个通用的评价指标上的比较【5】:表11评价指标比较结果查伞率 结果查准率 结果描述通用搜索引擎 数量巨大 较低 标题、简述、链接垂直搜索引擎 数量较少 可达80以上 相关性大的信息1122功能需求比较表12给出了垂直搜索引擎和通用搜索引擎在功能需求上的不同之处【6】:第2页第一章绪论表12功能需求比较通用搜索引擎 垂直搜索引擎信息采 采集范围:整个互联网 采集范围:与主题相关的网集 采集深度:要求不高 站结构化数据库信息采集:要求不高 采集深度:要求高结构化数据库信息采集:要求高信息处 网页元数据提取:要求不高 网页

20、元数据提取:要求高理 结构化信息提取:要求不高 结构化信息提取:要求高主题相关度判定:不需要 主题相关度判定:需要信息索 索引方式:全文索引 索引方式:全文索引和元数引和检 检索方式:非结构化信息为主 据索引相结合索 结果排序:PageRank算法 检索方式:结构化信息和非结构化信息相结合结果排序:需求多样化1123技术实现比较通过上表在垂直搜索引擎和通用搜索引擎功能需求上的比较,可以知道它们在技术实现上也有一些不同之处【7】:(1)信息采集技术区别一般通用搜索引擎采用广度优先搜索策略,面向整个互联网信息,采集的范围广、数量大,没有特定的主题,很少采集结构化的数据库信息,因此对采集深度要求不高

21、。垂直搜索引擎带有专业性或行业性的需求和目标,能够按需控制采集目标和范围,所以只对局部来源的网页进行采集,通常采用深度优先搜索策略,采集的网页数量适中,更新周期也更短,获取信息更及时,并且尽量采集与特定主题相关的信息,因此需要有主题相关度判定功能,具体实现上有基于URL的相关度判定和基于页面内容的相关度判定等方法。在某些应用中,垂直搜索引擎还需要集成和采集关系数据库中的结构化信息。(2)网页解析技术区别通用搜索引擎仅能对网页的标题和正文进行解析和提取,但不提供其时间、第3页第一章绪论来源、作者及其他元数据的解析和提取。由于垂直搜索引擎服务的特殊性,往往要求按需提供时间、来源、作者及其他元数据解

22、析,包括对网页中特定内容的提取。比如在论坛搜索、生活服务、订票服务、求职服务、行业供需、产品比较等特定垂直搜索服务中,要求对于作者、主题、地区、机构名称、产品名称以及特定行业用语进行提取,才能进一步提供更有价值的搜索服务。(3)索引和检索技术区别通用搜索引擎可以对网页全文进行索引但是很少对网页元信息进行索引,同时没有特别需要索引的关键词语。不能提供精确和完整的检索结果,只是给出预估的数量和排在前面部分的结果信息,因为响应速度是通用搜索引擎所追求的最重要因素。由于垂直搜索引擎在信息的专业性和使用价值方面有更高的要求,因此能够对网页元信息进行索引,并对与主题相关的词语建立索引,如商品价格、进货时间

23、等建立索引,同时需要提供多种结果排序方式,比如按内容相关度排序(与通用检索的PageRank不同)或按时间、来源排序。另外,一些垂直搜索引擎还要按需支持结构化和非结构化数据联合检索,比如结合作者、内容、分类进行组合检索等。由此可以看出,垂直搜索引擎和通用搜索引擎的主要差别在于垂直搜索引擎需要有元数据信息提取和索引、主题相关度判定和主题加权的结果排序等方面的功能,本文也将重点放在这些功能模块的实现和改进上,其中元数据信息提取和索引在Nutch平台上已经实现,因此主要重点解决相关度判定和结果排序等方面的技术实现问题。113国内外研究现状目前在国内外,关于垂直搜索引擎的研究成为一个新的热点,出现了许

24、多具有代表性的应用系统:(1)科学搜索引擎Scirust81Scirus科学搜索引擎是一种专为搜索高度相关的科学信息而设计的搜索引擎,获得2001年搜索引擎观察授予的“最佳专业搜索引擎”奖。Scirus是目前Web上最全面、综合性最强的科技文献门户网站之一。它只面向包含有科第4页第+章绪论学内容的网站,如大学和作者个人主页以及Elsevier自己的数据库。具有索引数据量大、资源丰富、匹配准确的优点,同时对大量结构化的数据库信息建立了索引,数据准确且具有权威性,但是无法对中文科学信息进行检索。(2)Berkeley l拘Focus Project9】这个系统由一个印度裔的科学家SCharkrab

25、arti带头从事,他是最早从事这方面研究的人之一。该系统通过两个程序来指导爬行器:一个是分类器Classifier,用来计算下载文本与预定义主题的相关度。另一个程序是净化器Distiller,用来确定识别那些指向很多相关资源的中心页面。该系统的体系结构简洁、高效,目前大多数垂直搜索引擎都采用该系统所建立的体系结构,但是该系统并不开源,无法在某个领域进行二次开发。(3)通用搜索引擎提供的垂直搜索服务目前通用的搜索引擎也提供了一些相关领域的垂直搜索服务,如Google提供的学术搜索、生活搜索、图片搜索、代码搜索等功能,使其在满足用户基本信息搜索要求的同时也能够对用户的特定需要提供服务。采用Goog

26、le自己的PageRank技术,由于是从大量网页中提取出的信息,因此数据量大、资源丰富,但是也导致出现一些与主题无关的页面,同时并不能涵盖所有的领域。(4)现代物流网现代物流网(http:searchmodem56corn)是国内的一个物流信息搜索引擎,采用了向量空间模型算法进行主题判定,使用Lucene索引和检索平台,提供了基本的物流信息搜索功能。但是涉及的物流领域过于宽泛,同时没有分类词指引,导致搜索结果出现许多不相关的信息,准确度不高;而且其索引的数据更新缓慢,数据量小,不能很好的满足实际需求。文献【9首次提出了聚焦搜索的概念,文献【10】11】首次提出了主题搜索和主题爬虫的概念。目前在

27、国内外关于该领域的命名主要有:垂直搜索(verticalsearch),主题搜索(topic search),聚焦搜索(focused search)。其实质基本相同,本文采用“垂直搜索”的称谓。文献12】提出了通过提取两篇文档的关键词构造关键词向量,用向量空间模型来判断两篇文档是否相关,该方法现在被广泛的应用于Web网页的相关度判定。文献【13提出了通过分析网页的超链接文本来推断其所链接的网页是否与指定的主题相关,并采用该方法实现了一个WebCrawler原型系统。第5页第。章绪论文献【14】【15】提出了网页社I反(Web Community)对垂直搜索采集相关网页信息的影响,通过研究大量

28、专业门户网站发现相关主题的网页社区会被一些与主题无关的网站分开,从而阻碍了主题信息的采集。文献【16提出了采用“隧道技术来处理该问题,并获得了比较好的效果。第二节本文研究意义当前物流行业发展迅猛,而国内各大港口更是起到了连接国内外物资进出口的枢纽作用,但是各大港口的物流信息都集中在各自的门户网站中,形成一个个信息孤岛,无法让用户集中深入的获取到各个主要港U的物流信息。垂直搜索引擎由于仅采集用户指定的、与某一特定主题相关的信息,构筑某一主题或学科领域的Web信息资源库,并能在查询结果排序时给予主题相关度高的网页更高的优先级,具有很高的实用价值和广阔的应用领域。目前在国内出现了一些与物流信息相关的

29、垂直搜索引擎,然而通过使用和研究目前国内的物流信息搜索引擎,发现具有检索出的信息主题相关度不高、信息更新不及时、信息量小等不足之处,并且没有专门针对国内港口物流信息的搜索引擎,本文就是在这个实际需求下提出的。本文基于天津港数字化口岸公共服务平台,构建港口物流信息垂直搜索引擎,从而实现港口物流信息的快捷查询和共享。同时在实现该系统的过程中,分析并研究了垂直搜索引擎的原理和相关技术,对主题相关性判别、检索结果排序、隧道处理等问题在原有工作的基础上做了一些改进,实验结果表明这些改进提高了主题判别的准确度和效率,使信息的定位和查找更加的精确,减少了不相关信息的干扰,并提高了系统对于互联网复杂环境的处理

30、能力,因此本文实现的系统具有很高的实用价值和研究意义。第三节本文主要工作内容本文基于Nutch构建了一个港口物流信息垂直搜索引擎。Nutch是Apache软件基金会提供的一个开放源代码(open source)的Web搜索引擎,本文实现的系统是在Nutch的基础上进行扩展和修改,基本思想是根据主题词,将爬虫抓取到的网页在建索引之前进行主题判别分析,若属于本主题,则保留该网页为后面第6页第。一章绪论建立索引做准备;若不属于本主题则抛弃,避免占用更多空间。本文开展的研究内容主要有:(1)Nutch工作原理的分析Nutch的工作分为三个阶段:抓取、索引和检索。抓取阶段取得网页并把他们处理成倒排索引,

31、后面检索阶段的工作基于这些索引来进行。(2)中文分词插件的实现中文分词是中文垂直搜索引擎中的一个关键技术,分词的好坏直接影响提取文本的精确度。Nutch是针对英文开发的,因此要在此基础上修改内部代码,以实现中文分词的功能。(3)主题相关度判别的实现现在应用于主题相关度判别的技术有很多,主要有:元数据判别技术,扩展元数据判别技术,页面间链接分析技术,页面语义信息分析技术。本系统在充分利用Nutch提供的链接分析技术的基础上整合了页面语义信息的分析判别技术,并增加了元数据的判别,在构造页面关键词向量时对重要标签所包含关键词进行了加权处理,提高了主题相关度判别的准确率和效率。(4)隧道穿越的实现由于

32、商业竞争和其他的原因,各个门户网站之间很少会有超链接直接相连,从而可能造成爬虫抓取不到相关的网页。本文提出了一种优先度递减和UIU黑名单结合的方式来处理该问题。(5)改进Nutch的结果排序算法Nutch的排序是针对通用搜索引擎设计的,采用了类似PageRank的结果评分机制,只考虑了URL的重要程度而没有考虑页面信息的重要程度,本文通过修改Nutch的排序源码将URL和页面的重要程度都引入到结果的排序中,从而提高了结果显示的质量,增强了用户的检索体验。现阶段以天津港、上海港、深圳港等主要港LJ物流信息作为信息采集的数据源,今后可以扩展到所有的港口物流信息。第四节论文组织结构本文主要研究基于N

33、utch的港口物流信息垂直搜索引擎的设计与实现,全文共分六章,第一章是绪论部分,主要综述了垂直搜索引擎发展概况和特点,阐第7页第一章绪论述了本文研究的目的、意义及本文要解决的问题、主要工作和论文的结构。第二章介绍了垂直搜索引擎的工作原理,同时介绍了Nutch相关技术,包括Nutch组成部分、Nutch搜索引擎的特点及系统架构,同时介绍了在实现本文的工作中用到的其他相关工具。第三章是自动分词及Nutch分词修改,主要内容是基于中科院ICTCLAS分词系统实现了一个Nutch中文分词插件。第四章是基于Nutch的垂直搜索引擎实现部分,主要包括系统结构、起始URL列表和主题词的产生、主题相关性判定的

34、实现、隧道穿越的实现以及排序算法的改进部分。第五章是运行结果演示和测试结果,包括设置环境变量、抓取网站页面前的系统准备工作、运行Crawl命令抓取网站内容和使用Tomcat进行搜索测试。第六章为本论文的结束语。第8页第二章垂直搜索引擎与Nutch介绍第二章垂直搜索引擎与Nutchl-作原理本章分别介绍了通用搜索引擎和垂直搜索引擎的工作原理。从页面采集、建立索引、数据检索三个方面描述了通用搜索引擎技术原理;然后介绍了垂直搜索引擎的技术特点及其与通用搜索引擎在结构和工作流程上的区别。同时由于本系统是建立在Nutch平台上的,因此对Nutch和其他的相关技术做了介绍。第一节通用搜索引擎的工作原理典型

35、的通用搜索引擎包括三个主要部分,相应的其主要处理流程有三步:从互联网上采集网页信息;分析原始网页,包括抽取文本内容、过滤标点符号、对内容分词等,为网页和分析得到的文本建立一个可供检索的索引库,设计良好的索引库可以加快搜索速度,更准确的进行网页定位,从而减少计算开销;提供检索接口,分析用户输入的查询式,在索引库中查找相关信息,最后通过链接分析等算法对检索结果排序后显示给用户。图21是一个典型的搜索引擎系统架构图,搜索引擎的各部分都会相互交错、相互依赖【17】。二_垦二香臣茧互一竺L固 弓一芒攀当数据;J荦 i一图21典型搜索引擎系统架构图第9页商一3一禽rIIL第二章垂直搜索引擎与Nutch介绍

36、(1)页面采集模块页面采集模块通常由管理子模块、网络爬虫、解析子模块、网页数据库等部分组成。管理子模块负责向网络爬虫提供遍历策略,包括深度优先、广度优先、最佳优先等遍历策略:网络爬虫采用管理子模块指定的遍历策略来访问、下载网页;解析子模块负责对所采集到的网页进行语法解析、剔除语法标记,将网页的页面信息送至网页数据库保存。网络爬虫从一个初始网页集出发遍历互联网,自动采集网上信息。当爬虫进入某个超文本页面时,通过分析页面的标记结构来搜索信息和获取指向其他超文本的URL链接,通过一定的算法选择下一个要访问的站点,继而转向另一个站点继续采集信息。理论上,如果为爬虫建立一个适当的初始网页集,它就可以遍历

37、整个网络。(2)索引模块索引模块的功能是将爬虫下载到本地的网页进行处理,对文本信息建立索引,存入索引数据库中以备用户检索使用。互联网上大部分信息都是以HTML格式存在的,对于索引来说,只处理文本信息。因此需要把网页中文本内容提取出来,过滤掉一些脚本标示符和一些无用的广告信息,同时记录文本的版面格式信息。词的识别是搜索引擎中非常关键的一部分,具体通过词典文件对网页内的词进行识别。索引库的建立是数据索引中结构最复杂的一部分。一般需要建立两种标引:文档标引和关键词标引。文档标引分配每个网页一个唯一的doclD号,关键词标引分配每个识别出的词一个唯一的wordlD号,根据doclD标引出在这个网页中出

38、现过多少过wordlD,每个wordlD出现的次数、位置、大小写格式等,形成doclD对应wordlD的数据列表;关键词标引其实是对文档标引的逆标引,根据wordlD标引出这个词出现在那些网页(用wordlD表示),出现在每个网页的次数、位置、大小写格式等,形成wordlD对应doclD的列表。如图22所示:I索弓I项1 l索引项2 l索引项3 l索引项4 l索引项5医自豳匡囱囱匡圈r_jLrJL-1 rjLrJL1l文档3 I文档3 l文档2 l文档2图22倒排索引结构图第lO页第二章垂直搜索引擎与Nutch介绍(3)检索模块检索模块是搜索引擎和用户之间的接口,它首先分析用户给出的查询式,搜

39、索服务器把该查询式转化为wordID,然后访问索引数据库得到doclD列表,对docID列表扫描和wordlD的匹配项,通过匹配算法获得检索结果,最后计算网页和关键词的相关度,根据相关度对检索结果进行降序排序提交给用户。其处理流程如图23所示: 广1分析搜索关键词I图23检索模块流程图第二节垂直搜索引擎的工作原理垂直搜索引擎是以构筑某一主题或学科领域的Web信息资源库为目标,智能地在互联网上采集符合这一主题或学科需要的信息资源,因此它在通用搜索引擎的功能基础上加入了主题相关度分析的功能,主要包括页面主题相关度分第11页第二章垂直搜索引擎与Nutch介绍析和链接主题相关度分析,同时分析的具体数值

40、也需要加权处理后体现在检索结果排序上,从而可以尽量在互联网上只爬取与主题相关的网页,并在检索时将与主题相关性高的网页优先显示。221垂直搜索引擎的工作流程垂直搜索引擎与通用搜索引擎在总体结构上大致相同,不同点在于垂直搜索引擎只需要抓取与其主题相关的页面,这样可以减少存储开销,避免无效信息的干扰,因此需要有主题相关度判别的功能1引。其系统结构如图24所示:图24垂直搜索引擎结构图系统管理员向网络爬虫提交初始的种子URL和行业相关的主题词集合,网络爬虫从初始URL开始在互联网上抓取网页,然后对抓下来的网页进行信息抽取,提取出正文文本信息和页面中的链接,由页面过滤模块分析页面是否与主题符合,如符合则

41、把提取出的链接提交到链接过滤模块进行链接分析,同时保存页面,建立索引。若不符合,则丢弃该页面。222垂直搜索引擎信息采集策略在垂直搜索引擎中,网络爬虫从网上采集回来的数据需要经过进一步处理,第12页第二章垂直搜索引擎与Nutch介绍主要工作是保留主题范围内的网页,丢弃范围之外的网页,然后再进行索引。这就要求在进行网上信息采集时,必须采用主题搜索策略,相应的将网络爬虫称为主题爬虫。目前主要有三种信息采集策略【19】:(1)人工预选策略所谓人工预选,就是首先由人工预先浏览各个站点,从中选出与主题相关的网站,然后派发出一个或几个爬虫专门负责对这类站点进行持续的访问,再用其他的爬虫去遍历整个网络。或者

42、只在选出的与主题相关的网站范围内采集页面,而认为其他网站与主题无关,不予考虑。还可以先提供一组主题词集,用这组特征集到搜索引擎中检索出对应的网页作为采集信息的范围。另外还可辅以用户提交站点的方式,经管理员验证后加入待访问的URL列表中。该方式控制信息采集更新的网站范围,保证信息来源的专业性和相关性。这是比较简单、有效的控制方法,但是需要人工干预,采集信息的局限性强。网站包含的一些非主题信息也都进行了采集索引,查询时这些结果就成为搜索噪音。(2)先采集后过滤策略爬虫先依次将各个网站上的页面信息采集下来然后再进行过滤,删除与主题不相关页面,保留相关页面。这种方法对W曲一定范围内所有信息进行采集、更

43、新,适应性较强,但是需采集网站上所有页面,信息传输量大;对采集回来的页面经判定如果与主题无关则被过滤掉,这样将抛弃大量与主题无关的页面。(3)最佳搜索策略该策略是基于如下的假设:与某个主题相关的页面常常是相互链接的。它的特点是在Web一定范围内,针对主题信息,通过对网页的相关性的预测来控制信息的采集,仅仅采集索引与主题相关的信息。最佳搜索策略能有效地保证定向采集精度,较好地实现程序的自动搜索,降低网络传输开销,缩短采集时间、减少存储,是垂直搜索引擎的发展方向和当前研究的热点。第三节Nuteh相关技术因为本文实现的系统是对开源搜索引擎Nutch进行改进完成的,只有在深入了解其工作原理的基础上才能

44、做相应的改进工作,因此,本节有必要先分析Nutch的工作机制,理解其运行流程,从而可以在对应的位置加入主题相关度判别等功能,以使其成为一个垂直搜索引擎。本系统使用Nutch目前最稳定的09第13页第二章垂直搜索引擎与Nutch介绍版进行开发。231 Nutch简介Nutchl201是用Java语言实现的开源搜索引擎,提供了开发人员运行自己的搜索引擎所需的全部工具。Nutch能够每个月抓取几十亿网页、为这些网页维护一个索引、对索引文件进行每天上千次的搜索、提供高质量的搜索结果并以最小的成本运作。它使用Lucene作为索引和检索的模块,Nutch和Lucene都是同一个作者Doug CuRing完

45、成的。同时NutchtE常灵活,可以被定制并集成到其他应用程序中;使用Nutch提供的插件机制,可以方便的添加非英文信息处理、特定文档格式的解析等功能,使其成为一个搜索不同信息载体的搜索平台。现在所有主要的商业搜索引擎都采用私有的排序算法,不会解释为什么一个网页会排在一个特定的位置,而且有的搜索引擎依照网站所付的费用,而不是根据它们本身的价值进行排序。与它们不同,Nutch没有什么需要隐瞒,也没有动机去扭曲搜索的结果。Nutch将尽自己最大的努力为用户提供最好的搜索结果,从而更值得用户信赖。232 Lucene简介Lucene2q是Apache软件基金会Jal(ana项目组的子项目,它不是一个

46、完整的全文索引系统,而是一个用Java写的全文索引引擎工具包,提供了多个API函数和灵活的数据存储结构,可以方便嵌入到各种应用中实现针对应用的全文索引和检索。Lucene的整体结构具有鲜明的面向对象特征。首先是定义了一个与平台无关的索引文件格式,其次通过抽象将系统的核心组成部分设计为抽象类,具体的平台实现部分设计为抽象类的实现,此外与具体平台相关的部分比如文件存储也封装为类,经过层层的面向对象式的处理,最终达成了一个低耦合高效率,容易二次开发的检索引擎系统。Lucene由基础结构封装、索引核心、对外接H-大部分组成,其中直接操作索引文件的索引核心又是系统的重点。Lucene应用了最基本的一条程

47、序设计准则:引入额外的抽象层以降低藕合性。Lucene索引过程分为三个主要操作阶段:将数据转换成文本、分析文本、并将分析过的文本保存到索引库中。其流程如图25所示:第14页第二章垂直搜索引擎与Nutch介绍丫图25 Lucene索引流程首先Lucene使用各种解析器对各种不同类型的文档进行解析,解析器输出的是文本内容,接着Lucene的分词器(Analyzer)从文本内容中提取出索引项以及相关信息,比如索引项的出现频率。然后Lucene的分词器把这些信息写到索引文件中。Lucene的索引(index)由若干段(segment)组成,每一段由若干的文档(document)组成,每一个文档由若干的

48、域(field)组成,每一个域由若干的项(term)组成。项是最小的索引概念单位,它直接代表了一个字符串以及其在文件中的位置、出现次数等信息。域是一个关联的元组,由一个域名和一个域值组成,域名是一个字符串,域值是一个项,比如将“标题”和实际标题的项组成的域。文档是提取了某个文件中的所有信息之后的结果,这些组成了段,或者称为一个子索引。子索引可以组合为索引,也可以合并为一个新的包含了所有合并项内部元素的子索引。可以看出,Lucene的索引结构在概念上即为传统的倒排索引结构。Lucene和数据库检索最大的区别在于Lucene让头100条记录满足90以上用户的需要。数据库检索结果仅仅是匹配,不考虑这些数据是否为用户所想所需。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 论文指导/设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报