毕业设计(论文)基于BS结构的搜索引擎应用研究.doc
《毕业设计(论文)基于BS结构的搜索引擎应用研究.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于BS结构的搜索引擎应用研究.doc(44页珍藏版)》请在三一办公上搜索。
1、摘 要 随着Internet的飞速发展,人们越来越依靠网络来查找他们所需要的信息,但是,由于网上的信息源多不胜数,也就是我们经常所说的RichData,PoorInformation。所以如何有效的去发现我们所需要的信息,就成了一个很关键的问题。为了解决这个问题,搜索引擎就随之诞生。本文从搜索引擎的应用出发,探讨了搜索引擎的作用,提出了搜索引擎的功能和设计要求,在对搜索引擎系统结构和工作原理所作分析的基础上研究了页面爬取,解析等策略和算法,并使用了JAVA实现了一个程序对其运行结果做了分析。关键词 搜索引擎;java;Eclipse;字符Based on B / S Design and im
2、plementation of search engineComputer Science Department Major:Computer Science & TechnologyNo.:07190240 Name: LiuJianXiong Tutor: LinMugangAbstract This application from the search engines, discusses the role of search engines, search engines put forward the function and design requirements, struct
3、ure and the search engine system based on the principle of the analysis of the page crawling, parsing and other strategies and algorithms, and use JAVA program to its operating results have been analyzed. Key Words search engine; java目 录1 项目背景11.1 搜索引擎现状分析11.2 课题开发背景11.3搜索引擎的组成和工作过程31.3.1 搜索器31.3.2
4、索引器41.3.3 检索器51.4搜索引擎的分类61.5当前搜索引擎的关键技术101.5.1网络蜘蛛技术101.5.2基于相关度的排序121.5.3基于概念的检索122 系统开发工具和平台142.1 关于JAVA语言142.2 Eclipse介绍152.2.1Eclipse历史152.3 servlet的原理163 系统总体设计183.1系统总体结构183.2搜索策略184 系统详细设计194.1 界面设计实现194.2 设计代码分析194.3 servlet的实现234.4 网页的处理队列244.5搜索字符串的匹配254.6 搜索引擎的实现255 系统测试396 结论41参考文献431 项目
5、背景 1.1 搜索引擎现状分析互联网被普及前,人们查阅资料首先想到的便是拥有大量书籍的图书馆,而在当今很多人多会选择一种更方便,快捷,全面准确的方式互联网,如果说互联网是一个知识宝库,那么搜索引擎就是打开知识宝库的一把钥匙,搜索引擎是随着WEB信息的迅速增加,从1955年开始逐渐发展起来的技术,用于帮助互联网用户查询信息的搜索工具,搜索引擎以一定的策略在互联网中搜集,发现信息,对信息进行理解,提取,组织和处理,并为用户提供检索服务,从而起到信息导航的目的。目前搜索引擎已经成为倍受网络用户关注的焦点,也成为计算机工业界和学术界争相研究,开发的对象。目前较为流行的搜索的引擎已有Google,Yah
6、oo,Ifno seek,baidu等。出于商业机密的考虑,目前各个搜索引擎使用的Crawler系统的技术内幕一般都不公开,现有的文献也仅限于概要性介绍,随着WEB信息资源呈指数级增长及WEB信息资源动态变化,传统的搜索引擎提供的信息检索服务已不能满足人们日益增长的对个性化服务的需要,他们正面临着巨大的挑战,以何种策略访问WEB,提高搜索效率,成为近年来搜索引擎研究的主要问题之一。1.2 课题开发背景目前虽然有多种搜索引擎,但各种搜索引擎基本上由三部分组成:(1)在互联网上采集信息的网页采集系统:网页采集系统主要使用一种工作在互联网上的采集信息的”网络蜘蛛” 。”网络蜘蛛”实际上市一些基于WE
7、B的程序,利用主页中的超文本链接遍历WEB,利用能够从互联网上自动收集网页的”网络蜘蛛”程序,自动访问互联网并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集到网页数据库中。(2)对采集到的信息进行索引并建立索引库的索引处理系统:索引处理系统对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL,编码类型,网页内容包含的关键词,关键词位置,生成时间,大小与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链接中每一个关键词的相关度(或重要性),然后建立索引并存入到网页索引数据库中,索引数据库可以采用通用的大型数据库,
8、如Oracle,Sybase等,也可以定义文件格式进行存放,为了保证索引数据库中的信息与WEB内容的同步,索引数据库必须定时更新,更新频率决定了搜索结果的及时性,索引数据库的更新时通过启动”网络蜘蛛”对WEB空间重新搜索来实现的。(3)完成用户提交的查询请求的网页检索器:网页检索器一般是一个在WEB服务器上运行的服务器程序,它首先接收用户提交的查询条件,根据查询条件对索引库进行查找并将查询到的结果返回给用户,当用户使用搜索引擎查找信息时,网页检索器接收用户提交的关键词,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页,有的搜索引擎系统综合相关信息和网页级别形成相关度数值,然后进行
9、排序,相关度越高,排名越靠前,最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户,典型的搜索引擎系统如Google就是采用这种策略。信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百废、中国搜索等大型搜索引擎一直是人们讨论的话题. 捏索引擎技术的研究,国外比中国要早近十年,从最早的Archie,到后来的 Excite,以及 ahvista、overture,Google等搜索引擎面世,搜索引擎发展至今,已经有十几年的历史,而国内开始研究搜索引擎是在上世纪末本世纪初。在许多领域,都是国外的产品和技术一统天下,特别是当某种技术在国外研究多年而国内才开始
10、的研究的情况下,例如操作系统、宇处理软件、浏览器等等,但搜索引擎却是个例外. 虽然在国外搜索引擎技术早就开始研究,但在国内还是陆续捅现出优秀的搜索引擎,像百度、中搜等。随着搜索引擎技术的成熟,它将成为获取信息、掌握知识的利器. 但是现有的索引擎,对于用户所提出的查询要求仅限于关键词的简单逻辑组合,搜索结果重视的是返回的数量而不是质量,在结果文档的组织和分类上也有所欠缺. 国外的一次调查结果显示,约有71%的人对搜索的结果感到不同程度的失望. 因此,如何提高搜索引擎的智能化程度,如何按照知识应用的需要来组织信息,使互联网不仅提供信息服务,而且能为用户提供知识服务,将成为计算机工业界和学术界有待研
11、究的方向。1.3搜索引擎工作原理 搜索引擎的原理,可以看做三步:从互联网上抓取网页建立索引数据库在索引数据库中搜索排序。1. 从互联网上抓取网页 利用能够从互联网上自动收集网页的Spider系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。2. 建立索引数据库 由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后
12、用这些相关信息建立网页索引数据库。3. 在索引数据库中搜索排序 当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。 最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。搜索引擎一般由Crawler、分析器、索引器、索引数据库、检索器和用户接口组成9。Crawler以广度优先或深度优先的方法从Web上下载页面;分析器对下载页面的内容进行分析以用于索引,具体包括分词、过滤、转换等工作;索引器将文档表示为一种便于检索的方式并存储在索
13、引数据库中,一般采用的方法有矢量空间模型(Vector Space Model)、倒排文档、概率模型等;检索器实现用户查询关键词和目标文档匹配度的计算,根据计算结果所有符合查询要求的页面URL按照相关度递减的顺序排列,并返回给用户;用户接口为用户提供一个输入查询请求,定制查询结果的Web页面并将查询结果格式化后返回给浏览器。1.3搜索引擎的组成和工作过程搜索引擎在执行用户的查询时并不真正地搜索互联网上的每一个网页,它搜索的实际上是预先整理好的网页索引数据库。对一个普通的搜索引擎而言,一般由搜索器、索引器、检索器和用户接口等四个部分组成。1.3.1 搜索器搜索器的功能是在互联网中漫游,以便发现和
14、搜集信息。它常常是一个日夜不停地运行的计算机程序。它要尽可能多、尽可能快地搜集各种类型的新信息和定期更新已经搜集过的旧信息,以保证用户及时得到最新信息和避免死连接、无效连接。目前搜集信息的策略有两种:1)从一个起始URL集合开始,顺着这些URL中的超链(Hyperlink),以宽度优先、深度优先或启发式方式循环地在互联网中发现信息。这些起始URL可以是任意的URL,但常常是一些非常流行、包含很多链接的站点(如Yahoo!、新浪等)。2)将Web空间按域名、工P地址或国家域名进行划分,每个搜索器负责一个子空间的搜索。搜索器搜集的信息类型多种多样,包括HTML, XML, Newsgroup文章、
15、PDF文件、字处理文档、多媒体信息。搜索器的实现常常用分布式、并行计算技术,以提高信息发现和更新的速度。商业搜索引擎的信息发现可以达到每天几百万网页。1.3.2 索引器索引器的功能是理解搜索器所搜索的信息,从中抽取出索引项,用于表示文档以及生成文档库的索引表。索引器首先对搜索到的信息进行信息预处理,因为搜索器访问到的是不同组织形式的数据信息,如各种数据库、不同文件系统以及网络Web页面等等。在预处理过程中,不同格式的文档(如Microsoft Word, WPS, Text, HTML等、都将被转换成统一的标准格式一文本文档。在预处理后,就可以对信息建立索引,一般地,建立信息索引包含下面几个步
16、骤:1)词的切分和词法分析在汉语里,词是信息表达的最小单位,在西文语言里,单词是表达信息少最小单位。而汉语不同于西方语言的是,其句子的语词间没有分隔符(空格)因此需要进行语词切分。汉语里词的切分常存在歧异性、模糊性,如句子“使用户满意”可切分为“使/用户/满意”,也可能被错误地切分为“使用/户/满意”。因而需要利用各种上下文知识解决语词切分的歧异性和模糊性。此外还需要对词进行词法分析,识别出各个语词的词干,以便根据词干建立信息索引。2)进行词性标注及相关的自然语言处理在切分的基础上,利用基于规则和统计的方法进行词性标注、识别重要f短评结构。目前,比较常用的方法是:在基于“短语结构语法”和“齐夫
17、率”的基础上14,再使用“复杂特征集”、“词汇主义”、“统计语言模型”等方法。3)建立检索项索引需要注意的是:全文检索不等于like %keyword%。若使用这种搜索方式其搜索过程就变成类似于一页页翻书的遍历过程了,这样在响应时间、搜索准确度等方面都远远不能满足用户的需要。一般使用排好序的关键词列表,用于存储关键词二补文章编号(或URL)的映射关系,也即用倒排文件的方式建立检索项相关信息(如表1所示)。相关信息一般包括“检索项”、“检索项所在文件位置信息”以及“检索项权重”。例如,检索项“计算机”的位里信息为文档D中第n段第m句第w词”。这样,在信息检索时,用户可以要求在查询中,检索项Tl和
18、检索项T2位于同一语句或同一段落中。检索项索引的建立原则是要易于文档信息的更新处理。索引项有客观索引项和内容索引项两种:客观项与文档的内容无关,如作者名、URL、更新时间、编码、长度等等;内容索引项是用来反映文档内容的,如关键词及其权重、短语、单字等等。内容索引项可以分为单索引项和多索引项(或称短语索引项)两种。单索引项对于英文来讲是英语单词,比较容易提取,因为单词之间有天然的分隔符(空格);对于中文等连续书写的语言,必须进行词语的切分(对字进行索引或搜索是无任何愈义的)。在建立索引时,一般要给每个索引项赋与一个权值,以表示该索引项对文档的区分度,同时用来计算查询结果的相关度。使用的方法一般有
19、统计法、信息论法和概率法。索引表一般使用某种形式的倒排表,即由索引项查找相应的文档。索引表也记录索引项在文档中出现的位置,以便检索器计算索引项之间的相邻或接近关系(proximity)。索引器可以使用集中式索引算法或分布式索引算法。当数据t很大时,必须实现即时索引(Instant工ndexing),否则不能够跟上信息f急剧增加的速度。索引算法对索引器的性能(如大规模峰值查询时的响应速度)有很大的影响。一个搜索引擎的有效性在很大程度上取决于索引的质量。1.3.3 检索器检索器的功能是根据用户输入的查询关键字在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并实现某种用
20、户相关性反馈机制。检索器常用的信息检索模型有布尔模型、向量空间模型、概率模型和混合模型四种。信息检索评价的标准是信息检索的精度和召回率。信息检索的精度为检索结果中相关信息文档数与查询结果总数之比。信息检索的召回率为实际检索出的相关信息文档数与信息库中总的相关信息文档数之比。为了提高搜索引擎的性能和方便用户,常使用以下一些技术:1)查询扩展处理查询扩展处理是为了提高信息检索的召回率。这种处理根据同义词词典和语义蕴涵词典扩展查询检索项。同义词扩展,如“计算机”和“电脑”指同一概念;因而查询“计算机”同时也要查询“电脑”,反之亦然。主题蕴涵扩展(也即是下位词扩展)是指不但要查询检索词,而且还要查询其
21、中所包含的子概念。比如,主题词“艺术”包括“电影”、“舞蹈”、“绘画”等等。“电影”又包括“故事片”、“记录片”等。因此,查询“艺术”当然包括“电影”、“舞蹈”、“绘画”以及其下的子概念。2)利用向量空间模型实行相关查询反馈处理利用向量空间模型实行相关查询反馈处理是为了提高信息检索的精度。即用户从初次查询的结果中,选择内容重要的文档或文档片断,让搜索引擎依据所选文档的特征,重新进行查询,从而提高查询精度。3)智能代理搜索引擎除了被动搜索外,也可利用智能代理技术进行主动信息检索。信息检索系统智能用户代理,可根据用户事先定义的信息检索要求,在网络上实时监视信息源,如指定Web页面的更新、网络新闻、
22、电子邮件、数据库信息变化等。并将用户所需的信息,通过电子邮件或其它方式,主动提供给用户,用户无须反复搜索所需信息,这样将大大减少用户检索信息的时间。4)信息分类和摘要为了方便用户从查询结果中选择所需信息,搜索引擎可将提供给用户的文档信息按照文档内容进行分类,并为每一篇文档产生简短摘要。搜索引擎根据文本检索项的统计特征,对查询结果进行分类和摘要。例如,用户查询检索项“计算机”,相应的结果分类也许为“分类1”:“网络”、“系统”、“路由器”等; “分类2: “市场”、“产品”、“销售”等:以及其它分类。分类的目的是便于用户找到相关信息。1.4搜索引擎的分类实际上,通常意义上的搜索引攀只是信息检索系
23、统的前端,面向用户的一端,而整个信息检索还包括后端的收集、索引信息等功能模块。由于Web信息检索系统很多,功能上也有差异,人们在充分利用这些便利搜索工具的同时,也会感到无所适从,无从选择。据统计,各种各样的网络信息搜索工具已经有上千种。从不同的角度,其分类也各不相同。如果按搜索引擎所覆盖内容的范围来分,可分为通用型、专业型和特殊型搜索引擎。通用型搜索引擎所采用的信息资源极为广泛,对资源的主题范围和数据类型基本没有限制。所以它适用于各种用户,人们可以利用它来检索几乎任何方面的内容。如Google就是这类工具。专业型搜索引擎往往是着重某一主题范围内的信息资源,比如专门用于收集医药的HealtbCa
24、te.MedicalWorld Search以及法律的搜索引擎LawCrawler等等,这类搜索引擎对于该专业的信息收集与查询其查全率和查准率是极高的。而特殊型搜索引擎往往是指那些用来检索某一类型信息或数据的搜索工具,比如搜索电话号码的Switchboard,查询地图的WebSEEK、搜索FTP文件的Archie和File Z等等。如果从是否有人参与索引来分,可分为人工搜索引擎和智能搜索引擎。人工搜索引擎主要是由人工来建立,主要依靠网络信息发布者的主动登记,主要将要发布的信息按搜索引擎的主题树归类,填写信息源站点的地址,给出主题关键词和摘要等等信息,由于个人的分类习惯和方法都难免带有主观性和片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 BS 结构 搜索引擎 应用 研究
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3979010.html