(计算机科学与技术专业论文)基于个性化服务的汽车信息搜索引擎的研究.pdf_第1页
(计算机科学与技术专业论文)基于个性化服务的汽车信息搜索引擎的研究.pdf_第2页
(计算机科学与技术专业论文)基于个性化服务的汽车信息搜索引擎的研究.pdf_第3页
(计算机科学与技术专业论文)基于个性化服务的汽车信息搜索引擎的研究.pdf_第4页
(计算机科学与技术专业论文)基于个性化服务的汽车信息搜索引擎的研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机科学与技术专业论文)基于个性化服务的汽车信息搜索引擎的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特n j j i 以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的 全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制 手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有 关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息 服务o ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :堑塾起导师( 签名) :奁4 立鲨日期:迦生苎:少 l 、 摘要 w e b 2 0 的迅速普及带给人们丰富信息的同时,也使人们对信息的把握能力 大大下降,庞大的信息量已经超出了人们预期的设想。传统的信息检索系统已 经不能满足用户需求,通用搜索引擎的出现满足了一般用户的基本需求,但它 在特定领域的主题搜索和用户个性化搜索服务方面仍有不足。本文提出的基于 个性化服务的汽车主题搜索引擎系统正是为了弥补这些方面的不足。 本文首先介绍了搜索引擎的研究背景和工作原理,接着深入分析h e r i t r i x 网 络爬虫的体系架构,扩展h e r i t r i x 的相关组件以定制汽车主题网络爬虫,并引入 u r l 散列算法e l f h a s h 算法改变h e r i t r i x 网络爬虫原有的k e y 分配策略,使得 爬虫可以多线程抓取同一域名下的网页,实现了汽车主题爬虫的多线程,高效 抓取网页的目的。 本文采用l u c e n e 全文检索框架作为系统的搜索框架,介绍了全文检索的基 本原理和l u c e n e 的相关技术:索引技术、排序技术等,并在此基础上指出l u c e n e 原有结果排序方法的不足,它仅仅是以网页内容的相关度作为网页排序的依据, 不能客观的反映网页的重要性,为此在l u c e n e 原有的排序算法的基础上引入谷 歌的p a g e r a n k 算法,将二者结合起来,改进了原有排序算法。 在上述理论研究工作的基础上,本文设计并实现了一个基于个性化服务的 汽车主题搜索引擎系统,从用户的购车需求入手,将系统分为汽车主题爬虫模 块、汽车网页信息抽取模块、索引模块和用户查询模块四个模块,并详细的介 绍四个模块的技术原理和实现方法。 最后,本文对系统整体和相关的理论研究工作分别进行了测试实验。通过 比较分析对同一查询词的查询结果,得出了相比于一般通用搜索引擎和主题搜 索引擎,本系统具有个性化搜索服务、搜索结果更准确的结论。接着测试比较 了改进前后的主题爬虫的抓取效率,验证了改进后的主题爬虫抓取效率有了比 较明显的提高。最后测试了h e r i t r i x 设定的最大线程数和爬虫抓取效率的关系。 关键词:个性化服务,主题搜索引擎,h e r i t r i x ,l u c e n e a b s t r a c t w i t ht h er a p i ds p r e a do fw e b 2 0 ,i tb r i n g st op e o p l ea b u n d a n ti n f o r m a t i o n ,b u t a l s om a k ep e o p l eg r e a t l yd e c r e a s e da b i l i t yt og r a s pt h ei n f o r m a t i o n ,ah u g ea m o u n to f i n f o r m a t i o nb e y o n dt h ei d e ao fp e o p l ee x p e c t e d t r a d i t i o n a li n f o r m a t i o nr e t r i e v a l s y s t e mc o u l dn o tm e e tt h en e e d so fu s e r s ,t h ee m e r g e n c eo fg e n e r a ls e a r c he n g i n e s h a sm e e tt h eb a s i cn e e d so fg e n e r a lu s e r s ,b u ti ta l s oe x i s ti n s u f f i c i e n ti nt h ep a r t i c u l a r a r e as e a r c ha n dp e r s o n a l i z e ds e a r c hs e r v i c e sf o ru s e r s i nt h i sp a p e r , t h es e a r c he n g i n e s y s t e mo fc a rs u b j e c tb a s e do np e r s o n a l i z e ds e r v i c e si st op a t c hl l pt h e s ed e f i c i e n c i e s t h i sp a p e ri n t r o d u c e st h er e s e a r c hb a c k g r o u n da n dt h ew o r kp r i n c i p l eo fs e a r c h e n g i n ef i r s t l y , t h e na n a l y s i st h es y s t e mc o n s t r u c t i o no fh e r i t r i xw e bc r a w l e rd e e p l y , e x p e n d i n gt h ea s s o c i a t e dc o m p o n e n t so f h e r i t r i xt od e s i g nw e bc r a w l e ro fc 缸s u b j e c t ; i n t r o d u c eu r l h a s h i n ga l g o r i t h me l f h a s h t oc h a n g et h eo r i g i n a la l l o c a t i o ns t r a t e g y o fk e yv a l u eo fh e r i t r i xw e bc r a w l e r , m a k i n gt h ec r a w l e rc o u l d c r a w lt h ep a g e su n d e r t h es a m ed o m a i nm u l t i - t h r e a d l y , a c h i e v i n gt h eg o a lo fm u l t i t h r e a da n de f f i c i e n tw e b c r a w lo fc a rt h e m ew e bc r a w l e r t h ep a p e ru s et h ef u l l - t e x ts e a r c hf r a m e w o r ka st h es e a r c hf r a m e w o r ko ft h e s y s t e m i n t r o d u c t e dt h eb a s i cp r i n c i p l eo ft h ef u l l - t e x ts e a r c ha n dr e l e v a n tt e c h n o l o h y o fl u c e n e :i n d e x i n gt e c h o n l o g y , s o r t i n gt e c h n o l o g y , a n dp u tf o r w a r dt h ed e f i c i e n c eo f t h eo r i g i n a ls o r ta l g o r i t h mi nl u c e n e ,i ti so n l ya c c r o d i n gt h ei m p o r t a n c eo ft h ew e b p a g e s t os o r t i n g , t h i sm e t h o dc o u l dn o tr e f l e c tt h ei m p o r t a n c eo fw e bp a g e s o b j e c t i v e l y , s oi n t r o d u c e dg o o g l e sp a g e r a n ka l g o r i t h mb a s e do nt h eo r i g i n a ls o r t i n g a l g o r i t h mi nl u c e n e ,t o g e t h e rt h et w oa l g o r i t h m st oi m p r o v et h eo r i g i n a ls o r t i n g a l g o r i t h m o nt h eb a s i so ft h ea b o v et h e o r y , t h ep a p e rd e s i g na n di m p l e m e n tac a rs u b j e c t s e a r c he n g i n eb a s e do np e r s o n a l i z e ds e r v i c e s ,t ob e g i nw i t ht h en e e d so fu s e r s ,t h e s y s t e mi sd i v i d e di n t of o u rm o d u l e s :c a rt h e m ec r a w l e rm o d u l e ,e x t r a c t i o no fc a rw e b p a g e sm o d u l e ,i n d e x i n g m o d u l ea n du s e r s q u e r ym o d u l e ,a n di n t r o d u c e dt h e p r i n c i p l e sa n dd e s i g nm e t h o d so ft h ef o u rm o d u l e sd e t a i l e d f i n a l l y , t h ea r t i c l ec a r r i e do nt h et e s te x p e r i m e n ts e p a r a t e l yt ot h es y s t e ma n dt h e c o r r e l a t i o nt h e o r i e sr e s e a r c hw o r k t h r o u g ht h ec o m p a r a t i v ea n a l y s i st ot h ei d e n t i c a l i n q u i r yw o r d si n q u i r yr e s u l t ,o b t a i n e d t h ec o n c l u s i o nt h a tt h es y s t e m ss e a r c h e f i c i e n c y a n ds e a r c hr e s u l t sa r eb e t t e rt h a nc o m m o mg e n e r a ls e a r c he n g i n ea n d s u b j e c ts e a r c he n g i n e t h e nt h et e s tc o m p a r e dt h ec r a w l e r sc r a w l i n ge f f i c i e n c yb e f o r e i m p r o v e m e n t w i t ha f t e ri m p r o v e m e n t ,c o m f i r m i n gt h et h e m ec r a w l e r sc r a w l e f f i c i e n c yh a saq u i t e d i s t i n c te n h a n c e m e n ta f t e ri m p r o v e m e n t f i n a l l yt e s tt h e r e l a t i o n s h i pb e t w e e nt h e m a xn u m b e ro ft h r e a da n dc r a w le f f i c i e n c y k e yw o r d s :p e r s o n a l i z e ds e r v i c e ,s u b j e c ts e a r c he n g i n e ,h e f i t r i x ,l u c e n e i l i 目录 摘要i a b s t r a c t i i 第1 章绪论1 1 i 研究背景1 1 2 搜索引擎工作原理2 1 2 1 主题搜索引擎的特点3 1 2 2 个性化搜索引擎的特点。4 1 3 国内外研究现状5 1 4 论文主要研究内容6 1 5 论文章节安排6 第2 章网络爬虫h e i r t r i x 技术分析8 2 1 网络爬虫简介8 2 2h e r i t d x 系统架构。9 2 2 1h e r i t r i x 系统简介。9 2 2 2h e r i t r i x 结构分析9 2 3 扩展和改进h e r i t r i x 1 2 2 3 1 解析汽车网站的解析器e x t r a c t o r 1 2 2 3 2 扩展f r o n t i e r s c h e d u l e r 抓取汽车网页信息1 2 2 3 3 定制o u e u e - a s s i g n m e n t - p o l i c y 实现多线程抓取1 3 2 4h e r i t r i x 优缺点分析1 3 2 5 本章小结。1 4 第3 章检索框架l u c e n e 的分析研究1 5 3 1l u c e n e 概j 苤1 5 3 1 1 全文检索的基本原理1 5 3 1 2l u c e n e 工作流程1 6 3 2l u c e n e 索引技术1 7 3 2 1l u c e n e 倒排索引技术1 7 3 2 2l u c e n e 索引结构1 8 3 3l u c e n e 排序技术1 9 3 3 1 信息检索的排序技术。1 9 3 3 2l u e e n e 排序技术2 0 3 3 3l u c e n e 排序算法的改进2 1 3 4 本章小结2 3 第4 章系统设计与实现2 4 4 1 购车者的需求2 4 4 2 系统总体架构。2 4 4 3 汽车主题爬虫模块设计2 6 4 3 1 定制抓取汽车网页的爬虫程序2 6 4 3 2 多线程抓取汽车网页3 0 4 4 汽车网页信息抽取模块设计。3 2 4 4 1 使用h t m l p a r s e r 高效提取网页内容。3 2 4 4 2 信息抽取模块设计3 4 4 5 索引模块设计3 6 4 5 1 数据库与汽车索引结构3 6 4 5 2 创建汽车产品索引3 7 4 5 3 加入自定义的词库3 9 4 5 4 获取用户的个性化需求信息4 1 4 6 用户查询模块设计4 2 4 7 本章小结。4 5 第5 章系统测试4 6 5 1 系统演示4 6 5 2 网络爬虫测试5 0 5 2 1 改进前后网络爬虫测试5 0 5 2 2 改进后的爬虫不同条件下测试5 2 5 3 本章小结。5 3 第6 章总结与展望5 4 参考文献5 6 致谢5 9 攻读硕士学位期间发表的论文6 0 武汉理工大学硕士学位论文 1 1 研究背景 第1 章绪论 随着w e b 2 0 的迅速普及,网络信息资源的膨胀速度成指数级增长。w e b 信 息的疯狂膨胀使得人们对信息的把握能力有所下降,庞大的信息量已经超过了 人们预期的设想。要从海量的网页文件中获取到想要的信息已经变得非常困难。 相比于互联网上网页文件的增长速度,人们处理海量信息的速度远远不够。不 仅对于互联网上的网页需要检索,人们日常生活中也需要加入检索功能,在企 业级应用的市场上,全文信息检索的需求也在增加,各种文档管理软件也需要 加入全文检索功能。 在上述背景下,传统的信息检索系统已经不能满足人们的需求,一种新的 信息检索系统应运而生,这种新的典型的检索系统就是搜索引擎。自从搜索引 擎1 9 9 4 年问世以来,它的技术就在飞速发展。各种讨论搜索引擎的文章、杂志、 论文铺天盖地。不过,搜索引擎技术并不是一种大众化技术,从它开始到现在, 就一直是一项高门槛技术,它的后台包括学术领域的众多先进思想和设计,它 涉及到很多学科包括自然语言处理、人工智能、离散数学、编译原理等【。但是 对于普通用户来说搜索引擎技术对他们是透明的。用户不需要掌握这些搜索技 术就能在搜索引擎界面输入搜索词语得到他们想要的信息,因此他们乐于将这 种简单的获取信息的方式作为他们获取信息的主要方式。 虽然现在的通用搜索引擎能满足一般用户的基本需求,但是它仍然还有许 。 多需要改进的地方。通用搜索引擎还不能找全用户所需的全部信息,或者还不 能满足用户的个性化搜索结果。搜索引擎主要在这几个方面还有待改进【2 】:查得 的信息不够全面,它还不能尽可能多的包括专业领域的信息。信息搜索的时间 不够迅速,用户每次进行搜索时往往等待的时间超过了他们的忍受时间。响应 时间的快慢能直接体现搜索引擎的设计优劣。召回率较低,所谓的召回率就是 指搜索出来的文档和整个文档库中,所有相关文档的比率,这个通常也称为查 全率【3 1 。这个比值可以反映搜索引擎系统搜索的文档中,对于用户有用文档的比 率。精度不够高,也就是搜索结果不够准确,搜索引擎的查找精度不高肯定难 以获得用户的认可,比如当用户输入某个专业词语“j a v a 时,如果出现一大堆 武汉理工大学硕士学位论文 不相关的网页,那么用户就难以忍受这样的搜索引擎。自然程度不高,所谓的 自然程度就是指用户在使用搜索引擎时,可以以自然的方式,表达他们的搜索 请求,目前的搜索引擎在这方面还不足,用户不能以更为直接和自然的方式来 表达他们的需要,他们不能很好的把握搜索关键词的规则。 1 2 搜索引擎工作原理 搜索引擎是根据信息检索的原理来进行工作的,一般来说一个最简单的搜 索引擎也应该满足信息检索的特点。不管是通用搜索引擎还是主题搜索引擎或 是个性化搜索引擎,虽然它们的具体实现方法不尽相同,但是它们都要包括几 个必备的模块:网络爬虫、网页信息抽取、索引程序、检索程序、用户搜索界 面等【4 1 。它们整体的工作原理大致相同,只是在有些模块的细节方面有些差异。 一个最简单的搜索引擎的结构图如图1 - 1 所示: 图1 1 搜索引擎结构图 w e b 搜索引擎主要是通过给定的初始u r l 种子集,利用网络爬虫程序爬取 网页,将抓取的网页保存到本地,然后将这些抓取的非结构化信息或半结构化 信息处理成结构化信息以便于建立索引。最后,利用建立索引的优越性来实现 搜索的准确性和快速性。 它的工作流程包括以下几步: 第一步,网络爬虫爬取互联网上的网页信息,网络爬虫在爬取网页信息时, 往往需要有起始的u r l 种子,爬虫程序以这些u r l 种子为起始爬取点。爬虫 程序一般都会采用相应的爬取算法来爬取网页,比较普遍的遍历爬取算法有广 2 武汉理工大学硕士学位论文 度遍历和深度遍历算法。广度遍历算法尽量靠近起始u r l ,深度遍历算法是尽 量远离起始u r l 。虽然它们的实现方式有所差异,但结果都可以实现遍历爬取 网页的目的。 第二步,将网络爬虫爬取下来的网页信息进行本地抽取存储。因为爬虫爬 取下来的网页信息往往是非结构化的数据信息,因此需要进一步将这些非结构 化信息表示为结构化信息,这样会涉及到文本信息的抽取技术,将这些非结构 化信息统一表示为结构化信息后,就可以将其存储于本地数据库中。 第三步,索引的实现。目前一般使用的是倒排索引技术,也就是将第二步 中所有的结构化信息以索引的方式建立本地索引库,可以说,搜索引擎的搜索 速度主要是依靠索引文件的性能,索引建立后可以一直使用,但是当抓取的网 页信息有更新之后,索引文件也应该做出相应的更新。 第四步,搜索结果。怎样将对索引的搜索转变成搜索结果集? 由于搜索引 擎的索引采用的是倒排索引的方式,当用户搜索某个关键词时,搜索程序就会 用该关键词来和索引中的索引词条对比,如果有该词条则将该词条所对应的文 档集合选出,当然结果集的呈现还要考虑很多因素,如结果集的排序,以及结 果集是否有重复等问题。 最后,用户搜索界面以及结果集的呈现方式。要给用户简洁个性化的搜索 界面,用户一般想得到的是对自己有用的网页信息,当结果集呈现在用户面前 时也要考虑用户的理解和感受,可以通过网页的标题来反映网页的主要信息, 也可以通过网页的摘要来大致的描述该网页的内容。保证用户在结果集页面可 以从这些简单的信息就能判断这些网页信息是否是自己所需要的信息。搜索界 面的设计主要涉及到页面设计,以及搜索引擎对用户查询的反应时间和查询时 间。在保证查询速度的前提下“查全率 和“查准率 也很重要。 1 2 1 主题搜索引擎的特点 主题搜索是关于某类行业或者领域的带有主题专业性质的搜索引擎,例如 生活信息搜索( h t t p :w w w k o o x o o c o r n ) 、职位搜索( h t t p :伪哪w j o b u i 0 0 m ) 等【5 j 。 主题搜索是在传统的通用搜索基础之上,进行延伸和细分的一类搜索引擎。它 是对w e b 网络上的某类特定领域内的网页进行了一次整合,然后以信息抽取的 方式将这些行业领域网页信息提取出来,最后按某种特定的形式将结果呈现在 用户面前。 3 武汉理工大学硕士学位论文 主题搜索引擎需要从信息量庞大的互联网中得到特定领域信息,因此,网 页信息必须要按特定的要求和准则来筛选和过滤。主题搜索引擎和通用搜索引 擎的另外一个主要的区别是主题搜索引擎对领域网页信息进行了结构化信息抽 取,也就是将领域网页的非结构化信息数据抽取转换成结构化信息数据。通用 搜索引擎的搜索是以网页为基本单位,基于视觉的网页块分析则是以网页块为 基本单位,而主题搜索引擎则是以结构化数据为基本单位【6 】。然后将这些结构化 数据存储到数据库,接着会进行进一步加工处理,如去除重复数据、分类相似 数据等,最后进行分词、索引文档建立再以搜索返回结果集的方式满足用户的 查询需求。 由于大部分的网页信息是以h t m l 或者x m l 的方式出现,它们自身有一 定的结构,也可以称它们为半结构化数据,但是当涉及到主题搜索时,都需要 先将它们转换成结构化数据。目前,主题搜索引擎已经应用在很多领域了,比 如谷歌和百度的新闻主题、视频主题、贴吧主题、文库主题、地图主图等。大 体上各行各业各类的信息都可以进一步细分成各类的主题搜索。从总体上看, 主题搜索引擎需要以下技术: 1 ,主题网络爬虫 2 ,网页结构化信息抽取技术或元数据采集技术 3 ,中文分词、全文检索 4 ,其他信息处理技术 主题搜索引擎系统成功与否应从全面性、更新性、准确性、功能性四个方 面来判断。其中全面性是指网络爬虫应该能从众多的来源采集信息,避免单一 的信息来源从而产生返回用户结果单一的问题;更新性是指用户最好可以在最 短的时间内看到最新发布的信息,这就要求主题搜索引擎系统能提高爬虫爬取 网页的速度并且能及时更新索引信息;准确性是指数据分类准确,不包括重复 冗余的数据信息。功能性是指功能完善,可以同时搜索文字信息、图片、音乐、 地图信息等。 1 2 2 个性化搜索引擎的特点 个性化,顾名思义,就是非一般大众化的东西。在大众化的基础上增加独 特另类,拥有自己特质的需要,独具一格,别开生面的说法。互联网上比较常 见的个性化服务是个人设置的个性化主页,包括百度和谷歌等通用搜索引擎也 4 武汉理工大学硕士学位论文 已经推出用户个性化的主页设置i _ 7 。 什么是个性化搜索引擎? 个性化搜索引擎是对于不同的用户,当他们采取 相同的搜索方法时所产生的不同的搜索结果。个性化搜索引擎技术目前尚不成 熟,往往对于不同的用户,由于他们的兴趣爱好,所关注的事情趋向也不相同, 因此,在他们使用搜索引擎时希望得到满足他们个性化的结果集,但是由于在 检索阶段很难得到用户的个性化需求特征,所以对于不同用户的不同需求,搜 索引擎一般情况下不能满足他们的需求。个性化搜索引擎的种类有很多,比如 有基于个性化信息采集、基于多元信息采集、基于查询改进、基于个性化网页 权重等个性化搜索引擎【引。为了实现个性化搜索引擎,必须要有丰富的信息数量, 也就是要有大量丰富的用户兴趣爱好信息,并以此来建立用户兴趣模型,包括 后期用户兴趣模型的更新等都是个性化搜索引擎的技术的难点和要点。 1 3 国内外研究现状 在上世纪9 0 年代初期,没有人能快速搜索互联网上的信息,第一个实现了 搜索的程序是a r c h i n e ,它诞生于1 9 9 0 年,严格意义上来说它不是真正的搜索引 擎,它只是一个利用文件名来自动搜索网上匿名f t p 网站文件的程序。1 9 9 4 年, 真正意义上的搜索引擎l y c o s a 问世。到1 9 9 5 年末,搜索引擎的定义被改变,第 一个支持自然语言搜索的搜索引擎a i t a v i s t a 问世,它也是第一个实现了高级语 法搜索的搜索引擎。1 9 9 8 年,目前世界上的第一大搜索引擎公司g o o g l e 出现, g o o g l c 在网页相关度和网页结果排序方面做出了杰出贡献,其中它在主题搜索 方面也是别具一格,图片,音乐,谷歌地图等等主题搜索都已经趋于完善。 目前国内的搜索引擎代表主要是百度,百度虽然只提供中文搜索,但目前 已近收录的网页超过了9 0 0 0 万【9 l ,它是目前世界上最大的中文搜索引擎,百度 在主题搜索方面也是出类拔萃,当然它也有一些其他的特色比如:网页快照、 网页浏览以及预览全部网页等等。相比于主题搜索引擎的成熟,个性化搜索引 擎的发展显得不是很明朗,这主要是在个性化搜索引擎的技术难点,用户兴趣 模型,事物识别模式等技术方面尚有欠缺。也就是说,现代搜索引擎尚不能广 泛地提供个性化搜索结果,对不同用户的同一个相同查询词的搜索结果总是相 同的,它与提交查询的用户无关1 1 0 l 。 基于上述的国内外对搜索引擎的研究现状,本文提出了面向个性化服务的 汽车主题信息搜索引擎系统,为各种各样不同需求的购车者提供全面准确的汽 5 武汉理工大学硕士学位论文 车信息。不同的用户,当系统收集到他们的兴趣爱好,需求之后就可以为他们 呈现个性化的返还结果页面。 1 4 论文主要研究内容 论文的主要研究内容有如下几点: 1 ,深入分析h e r i t r i x 网络爬虫的体系架构,扩展了h e r i t r i x 的相关组件以定 制汽车主题网络爬虫;引入u r l 散列算法e l f h a s h 算法改变h e r i t r i x 网络爬虫 原有的k e y 分配策略,使得爬虫可以多线程抓取同一域名下的网页,实现了汽 车主题爬虫的多线程,高效抓取网页的目的。 2 ,指出了全文检索框架l u c e n e 的原有结果排序方法的不足,它仅仅以网页 内容的相关度为网页排序的依据,不能客观的反映网页的重要性,为此在l u c e n e 原有的排序算法的基础上引入谷歌的p a g e r a n k 算法,将二者结合起来,改进了 原有排序算法。 3 ,设计并实现了一个基于个性化服务的汽车主题搜索引擎系统,从用户的 购车需求入手,详细的讲解各个模块的技术原理和实现方法。 4 ,对系统整体和相关理论研究工作分别进行了测试实验,通过比较分析对 同一查询词的查询结果,得出了相比于一般通用搜索引擎和主题搜索引擎,本 系统具有个性化搜索服务、搜索结果更准确的结论。接着测试比较了改进前后 的主题爬虫的抓取效率,验证了改进后的主题爬虫抓取效率有了比较明显的提 高。最后测试了h e r i t r i x 设定的最大线程数和爬虫抓取效率的关系。 1 5 论文章节安排 第1 章:绪论,主要描述了本文的研究背景、搜索引擎的工作原理以及主 题搜索引擎和个性化搜索引擎的优缺点,最后阐述了国内外的研究现状。 第2 章:h e r i t r i x 网络爬虫技术分析,首先主要介绍了网络爬虫的技术原理, 接着深入分析网络爬虫h e r i t r i x 的体系结构,、最后提出改进和扩展h e r i t r i x 爬虫 以及提高爬虫抓取效率的方法。 第3 章:检索框架l u c e n e 的分析研究,讲解了信息检索的基本原理,分析 全文检索框架l u c e n e 的相关核心技术,引入p a g e r a n k 算法,改进原有的l u c e n e 排序算法。 6 武汉理工大学硕士学位论文 第4 章:系统设计与实现,结合第二章和第三章中的相关理论技术,详述 了系统的各个模块的设计实现过程。 第5 章:系统测试,演示了基于个性化服务的汽车主题搜索引擎系统的搜 索过程和结果,对h e r i t r i x 网络爬虫也进行了相关测试。 总结与展望:主要是对本文研究工作和成果的总结以及对建立在本文研究 基础上的进一步研究工作进行展望。 7 武汉理工大学硕士学位论文 第2 章网络爬虫h e i r t r i x 技术分析 要想成功的设计搭建一个基于个性化服务的汽车主题信息搜索引擎系统, 就需要对在搭建和运行过程中所涉及的相关原理和技术有充分的了解,因此在 接下来的章节中,会逐步介绍在设计本系统时所涉及到的理论知识和需要解决 的技术问题。 2 1 网络爬虫简介 “工欲善其事必先利其器一,高效稳定的网络爬虫就是搜索引擎的一把利 器。无论多么完美的搜索引擎系统,在其后台,都需要稳定的网络爬虫的支持, 可以说网络爬虫就是搜索引擎系统的基石。网络爬虫,一般也可以称其为蜘蛛 ( s p i d 们程序,或者称为网络机器人【1 l l ,虽然不同的爬虫程序有不同的名称,但 是它们的任务都是为了抓取互联网上的网页文件,正是因为有了网络爬虫的存 在,才使得搜索引擎有了丰富的后台资源。 网络爬虫是指一种按照一定的规则,自动的爬取互联网上信息的程序或者 脚本。传统的网络爬虫在互联网上爬取网页时要给定若干个u r l 种子集,以初 始给定的u r l 为起点,当以初始u r l 为起点抓取网页时,不断的从正在被解 析页面中解析出新的u r l 链接放入队列或者堆栈,当当前队列或者堆栈中没有 待抓取的网页时,网络爬虫程序停止。当给定一个有向或无向图时,会有不同 的方法遍历图上的所有结点,类似的,把互联网上的所有u r l 当成一个一个的 相互之间有联系的结点,同样也存在很多不同的方法来遍历这些u r l 对应的网 页,这些遍历方法就是网络爬虫的搜索策略,网络爬虫的搜索策略有多种,其 中最常见的有深度优先遍历、广度优先遍历和最佳优先遍历三种策略【1 2 1 。 广度优先遍历是指在爬取w e b 网页的过程中,只有当完成了当前层次的遍 历搜索后,才接着进行下一个层次的遍历搜索。广度优先遍历算法的设计和实 现相对简单。采用广度优先遍历算法的网络爬虫抓取的网页要相对的多和广, 因此网络爬虫一般会使用广度优先遍历算法。最佳优先遍历算法是按照特定的 网页内容分析算法,首先预测待抓取的网页与实际需求网页的相似度,或预测 与实际需求主题的相似度,以此来选取一个或几个与目标网页或者主题相似度 8 武汉理工大学硕士学位论文 最高的网页进行抓取。该遍历算法只会抓取那些经过前期预测的和目标网页或 主题有一定相似度的网页,但是这样会产生一个问题:在网络爬虫的爬取时可 能有很多与实际需求相符合的网页不会被抓取,原因是最佳优先遍历算法是一 个局部最佳遍历算法。因此在具体应用时,需要将最佳优先遍历算法进行进一 步的改进。 目前基于j a v a 语言开发的开源的网络爬虫已经有很多,比较有名的有 l a r b i n 、n u t c h 和h e r i t r i x 。他们的目的大同小异,都是为了在互联网上抓取需要 的网页,但是采用的抓取遍历算法不尽相同,本文的系统的前期设计将会选用 h e d t r i x 网络爬虫来爬取汽车主题网页,因此在下面的小节中将会详细的介绍网 络爬虫h e r i t r i x 的相关原理和技术,以及介绍如何扩展和改进h e r i t r i x 网络爬虫, 以到达高效抓取汽车网页的目的。 2 2h e r i t r i x 系统架构 2 2 1h e r i t r i x 系统简介 h e d t r i x 工程开始于2 0 0 3 年初,它是s o u r c e f o r g e 上的开源产品。h e r i t r i x 的初始目的是开发一个特殊的爬虫,对网上的资源进行归档,建立网络数字读 书馆【1 3 】。h e r i t r i x 采用的是深度遍历网站资源的方式将资源抓取到本地,使用的 方法是分析网站中每一个有效的u r l ,并提交h t y p 请求,从而获得相应结果, 生成本地文件以及相应的日志信息等。h e r i t r i x 的初始版本是1 0 0 ,经过几年的 发展,它的性能较初期有了很大的提高,本文中的搜索引擎系统采用的版本是 h e r i t r i x l 】4 3 。 2 2 2h e r i t r i x 结构分析 从h e r i t r i x 的官方上下载得到h e r i t r i x 压缩包,它的压缩包中包含了大量的 包和类,并且类与类之间通常存在继承或者实现的关系,本小节会先介绍h e r i t r i x 的基本工作流程,接下来在h e r i t r i x 工作流程的基础上阐述各个主要类的主要用 途。h e r i t r i x 的采用深度优先遍历算法来抓取互联网上的网页。它的工作过程是 i t 4 1 : 1 ,选取适当的种子u r l 集,它可以是一个或者多个种子u r l 。 2 ,下载种子u r l 所表示的网页信息文件。 9 武汉理工大学硕士学位论文 3 ,将上一步下载的网页信息文件进行本地存储,并且抽取网页文件中的其 它u r l 链接信息。 4 ,将上一步中抽取得到的u r l 根据自定义的抓取策略进行筛选,符合自 定义抓取策略的u r l 将被放入等待抓取队列。 5 ,将等待抓取队列中已经被抓取的u r l 网页进行标记,表示已经抓取。 6 ,反复进行上述步骤,直到等待抓取队列中没有等待的u r l 。 接下来结合h e r i t r i x 的工作流程和h e r i t r i x 的系统架构图来详细介绍庞大的 h e r i t r i x 中的一些核心的类库文件的作用。h e r i t r i x 系统架构图如图2 - 1 所示瞰j : 图2 - 1h e r i t r i x 系统架构图 在开始创建h e r i t r i x 的抓取任务之前会进行一系列的属性设置,比如抓取的 最大线程数,限定抓取的文件大小等,这些属性设定后,会被h e r i t r i x 的抓取任 务类c r a w l o r d e r 记录下来,也就是说,该类中包含了这些属性值,以及提供相 应的g c t 和s e t 方法。任何系统都会有一个核心组件,如同c p u 在一台主机的作 用一样,c r a w l c o n t r o l l e r 类在h e r i t r i x 的抓取任务中的作用也是举足轻重的,它 被称为抓取控制器,抓取任务开始后,初始化一个c r a w l c o n t r o l l e r 对象。该对 象在初始化时完成了几个比较重要个工作:检查并记录用户指定的用户代理对 象、设定抓取任务开始后抓取文件的存放路径、抓取日志信息工具的初始化、 1 0 武汉理工大学硕士学位论文 b e r k l e y d b 容器的初始化、链接制造工厂( f r o n t i e r ) 和和u r l 链接处理链的初始 化、创建一个线程池对象,该线程池对象用来创建和回收h e r i t r i x 的多线程抓取 时所需要利用的线程。 当抓取控制器的一系列初始化工作完成之后,链接制造工厂开始启动,链 接制造工厂f r o n t i e r 是h e r i t r i x 最核心的组成部分之一,也是最复杂的组成部分, 它运用某些特定的算法来选出哪个链接即将被送入到处理器链中。它的主要功 能是为处理链的线程提供u r l 链接,并负责链接处理完成后的一些后继调度操 作,为了提高效率,f r o n t i e r 使用b e r k e l e yd b 来保存链接队列,b e r k e l e yd b 是 一套开放源码的嵌入式数据库,其实,它类似于j a v a 语言中的h a s h m a p 容器, 能够按照k e y v a l u e 的方式来保存数据。 要想快速高效的抓取网页,则必须采用多线程。稳定高效的系统大多是采 用多线程的工作模式,h e r i t r i x 也不例外,它提供了一个标准的线程池t o e p o o l , 该线程池用来管理所有的工作线程( t o e t h r e a d ) 。链接工厂送出下一个要通过处理 器链的链接,然后送往线程池,在线程池总由是某个工作线程来完成抓取工作, 另外工作线程还负责一些日志操作,记录每次抓取的各种状态。 当采用多线程抓取网页时,每个u r l 被送往工作线程之前都要经过h e r i t r i x 的处理器链,处理完成的u r l 会被送往已处理完成队列,这样就形成h e r i t r i x 的整个处理流程。其中处理器包含了八个处理器类,他们都继承自p r o c e s s o r 类, 这八个处理器都有自己的子类实现,并且功能相似的处理器可以用 p r o c e s s o r c h a i n ( 处理器链) 来管理,其实这八个处理器就是八个处理器链,用户可 以根据自己的抓取需要来实现一个或多个处理器类。下面大致的介绍下个八个 处理器的作用: 1 ,p r e s e l e c o r :预选处理器,预先处理u r l ,看其是否需要继续处理,通过 它可以过滤掉一部分u r l 。 2 ,p r e c o n d i t i o n e n f o r c e :抓取先决条件处理器,先处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论