您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 面向主题的搜索引擎的设计与实现
面向主题的搜索引擎的设计与实现由于互联网的飞速发展,普通搜索引擎无法满足人们的需要;早期的搜索引擎把因特网中的资源服务器的地址起来,根据其提供的资源类型的不同而分到不同的目录,再一层层地进行分类。人们要找自己想要的可按他们的分类一层层进入,就能最后到达目的地,找到自己想要的;但是这只适用于因特网不多的时候,但是如果一旦多起来,查找的时候所花费的时间就会变长;因此,在一个web文档数上亿的互联网中,需要更快速地找到所需要的,就需要建立一个高效的搜索系统。该课题总结了现有面向主题的搜索引擎的技术特点,实现一个能满足基本需求的主题搜索引擎;在该课题中叙述了面向主题搜索引擎的重要性、实现方法、实现过程;主要是web文档抓取、特征提取、web文档分类技术;特征值应具有明显的特征,以此提高搜索引擎质量;在实现自动web文档分类时采用向量空间模型计算web文档间的相似度。1绪论1.1搜索引擎历史背景任何搜索引擎的祖先,是1990年由Montreal的McGillUniversity学生AlanEmtage、PeterDeutsch、BillWheelan发明的Archie。虽然当时WorldWideWeb还未出现,但网络中文档传输还是相当频繁的,由于大量的文档散布在各个分散的FTP主机中,查询起来很不便,因此AlanEmtage等想到了研发一个能够用文档名查找文档的系统,于是便有了Archie。Archie是第一个自动索引互连网上匿名FTP网站文档的程式,但他还不是真正的搜索引擎。Archie是个可搜索的FTP文档名列表,用户必须输入精确的文档名搜索,然后Archie会告诉用户哪一个FTP地址能够该文档。由于Archie深受欢迎,受其启发,NevadaSystemComputingServices大学于1993年研发了一个Gopher搜索工具Veronica。Jughead是后来另一个Gopher搜索工作.Robot一词对编程者有特别的意义。ComputerRobot是指某个能以人类无法达到的速度不断重复执行某项任务的自动程式。由于专门用于检索的Robot程式象蜘蛛相同在网络间爬来爬去,因此,搜索引擎的Robot程式被称为spider程式。世界上第一个Spider程式,是MITMatthewGray的WorldwideWebWanderer,用于追踪互连网发展规模。刚开始他只用来统计互连网上的服务器数量,后来则发展为也能够捕获网址。和Wanderer相对应,1993年10月MartijnKoster创建了ALIWEB,他相当于Archie的HTTP版本。ALIWEB不使用网络搜寻Robot,假如网站主管们希望自己的web文档被ALIWEB收录,需要自己提交每一个web文档的简介索引,类似于后来大家熟知的Yahoo。随着互连网的迅速发展,使得检索任何新出现的web文档变得越来越困难,因此,在Wanderer基础上,一些编程者将传统的Spider程式工作原理作了些改进。其设想是,既然任何web文档都可能有连向其他网站的链接,那么从一个网站开始,跟踪任何web文档上的任何链接,就有可能检索整个互连网。到1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中最负盛名的三个是:Scotland的JumpStation、Colorado大学OliverMcBryan的TheWorldWideWebWorm、NASA的Repository-BasedSoftwareEngineeringspider。JumpStation和只是以搜索工具在数据库中找到匹配的先后次序排列搜索结果,因此毫无关联度可言。而RBSE是第一个索引Html文档正文的搜索引擎,也是第一个在搜索结果排列中引入关键字串匹配程度概念的引擎。1995年,一种新的搜索引擎形式出现了——元搜索引擎。用户只需提交一次搜索请求,由元搜索引擎负责转换处理后提交给多个预先选定的单独搜索引擎,并将从各单独搜索引擎返回的任何查询结果,集中起来处理后再返回给用户。第一个元搜索引擎,是Washington大学硕士生EricSelberg和OrenEtzioni的Metacrawler。元搜索引擎概念上好听,但搜索效果始终不理想,所以没有哪个元搜索引擎有过强势地位。大约在1996年出现的第二代搜索引擎系统大多采用分布式方案来提高数据规模、响应速度和用户数量,它们一般都保持一个大约50,000,000web文档的索引数据库,每天能够响应10,000,000次用户检索请求。1997年11月,当时最先进的几个搜索引擎号称能建立从2,000,000到100,000,000的web文档索引。目前,搜索引擎的研究、开发十分活跃,各大搜索引擎公司都在投巨资研制搜索引擎系统,同时也不断地涌现出新的具有鲜明特色的搜索引擎产品,搜索引擎已经成为领域的产业之一。它要用到了检索、人工智能、数据库、数据挖掘、自然语言理解等领域的理论和技术,具有综合性和挑战性。又由于搜索引擎有大量的用户,由此衍射出许多商机,具有很好的经济价值。根据搜索引擎所用的技术原理,主要可以分为以下三类:目录式搜索引擎:以人工方式或半自动方式搜集,由员查看之后,人工形成,并将置于事先确定的分类框架中。大多面向网站,提供目录浏览服务和直接检索服务。该类搜索引擎因为加入了人的智能,所以准确、导航质量高,缺点是需要人工介入、维护量大、量少、更新不及时。典型有:Yahoo、LookSmart、OpenDirectory等。基于Robot搜索引擎:基于Robot的搜索引擎多提供对全文的检索,有时也叫做全文搜索引擎。通过Robot程序从互联网上搜集而建立索引数据库,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。这类搜索引擎的代表是:Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等;国内代表为:百度,天网、OpenFind等。元搜索引擎:这类搜索引擎没有自己的数据库,而是将用户的查询请求同时向多个搜索引擎递交,将返回的结果进行去重、排序等处理后,作为自己的结果返回给用户。服务方式为面向web文档的全文检索。这类搜索引擎的优点是返回结果的量更大、更全,缺点是不能够充分使用所使用搜索引擎的功能,用户需要做更多的筛选。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等,中文元搜索引擎中具代表性的有搜星搜索引擎。但是,即使比较有名的如Google、Baidu等搜索引擎对检索结果采用了基于超链接的相关度排序,但它们主要依据的也是web文档被其它web文档认同的程度,并非web文档与用户真实检索需求之间的关联程度,结果中包含了大量与用户查询请求不相关的文档,其比例高达75%以上。所以本文提出了一种分类细致精确、数据全面深入、更新及时的搜索引擎——面向主题的搜索引擎,并详细介绍了其中的抽取技术。1.2主题搜索引擎随着多元化的增长,千篇一律的给所有用户同一个入口显然已经不能满足特定用户更深入的查询需求。同时,这样的通用搜索引擎在目前的硬件条件下,要及时更新以得到互联网上较全面的是不太可能的。这就需要一个分类细致精确、数据全面深入、更新及时的面向主题的搜索引擎。由于主题搜索运用了人工分类以及特征提取等智能化策略,因此它比以前普通的搜索引擎更具有特性,能被多数人接受。搜索最专业:主题搜索引擎排除了其他杂乱的干扰,结果纯正、专业,是各行业推广的最佳选择,也是消费者品牌消费的最佳参谋和顾问。结果最精准:采用人工分类以及特征值提取等策略,提高搜索引擎的时效性及准确性,搜索结果精、准,不会出现垃圾,凸现了主题搜索引擎的独特优势。结果最有价值:品搜呈现给消费者的是最新、最旺的搜索结果,是消费者最希望看到的结果,也是消费者最喜欢的结果。排行最公正:主题搜索引擎克服了部分搜索引擎竞价排名的痼疾,打破了谁交的钱多谁就在最前面的局面。品搜的排序客观、公正,按照企业自身对品搜的使用程度和社会对品牌的认可程度,把最新最旺的品牌和产品摆在消费者。推广最自主:主题搜索引擎使得企业级用户更自由,都可以把排到最前面,而且企业可以自行决定推广内容和效果。品搜是全民搜索,个人和企业参与度极高,推广自主性极强。本课题介绍面向主题搜索引擎的设计与实现;采用倒排索引方式进行索引,利用向量空间模型对web文档自动分类,由于web文档自动分类现在在技术上存在难题,所以在本课题中只叙述它的基本思想,不讲述实现,如果要实现自动分类,则需要才需要采用向量空间模型方法计算新获取的web文档与各分类之间是相似程度。本课题中采用手工分类方法,对URL制订对应的一个分类,然后进行抓取。2开发环境介绍2.1PHP简介RasmusLerdorf为了创建他的在线简历而创造了“个人主页工具”。这是一种非常简单的语言。其后越来越多的人们注意到了这种语言并对其扩展提出了各种建议。在许多人的无私奉献下以及这种语言本身的源代码自由性质,它演变成为一种特点丰富的语言,而且现在还在成长中。PHP的语法与C,Perl,ASP或者JSP。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。PHP数据库连接PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。PHP可扩展性就像前面说的那样,PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。面向对象编程PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。PHP可伸缩性传统上web文档的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。2.2MYSQL数据库简介MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQLAB公司开发、发布并支持的。MySQLAB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型,它具有很多优点:)MySQL是一种数据库管理系统。MySQL是一种关联数据库管理系统。MySQL软件是一种开放源码软件。MySQL数据库服务器具有快速、可靠和易于使用的特点。MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。有大量可用的共享MySQL软件。MYSQL最大表尺寸增加到了65536TB,因此MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的,win32w/FAT/FAT32最大有效表尺寸2G/4G,win32w/NTFS最大有效表尺寸2TB,Linux2.4+最大有效表尺寸4TB。MySQL服务器采用了多层设计和独立模块。在此列出一些:Replication大量使用复制功能的服务器均处于生产模式下,结果良好。InnoDB表自3.23.49版以来,InnoDB事务存储引擎一直很稳定。InnoDB正用于大型、重负荷生产系统。BDB表BerkeleyDB码十分稳定,但在MySQL服务器中,我们仍在改进BDB事务存储引擎。全文本搜索全文本搜索的使用范围十分广泛。在MySQL4.1中,增加了重要的特性增强。MyODBC3.51MyODBC3.51采用了ODBCSDK3.51,并广泛用于生产活动中。某些出现的情况看上去与应用程序相关,与ODBC驱动程序或底层数据库服务器无关。3需求分析3.1功能需求由于网络资源的越来越丰富,分布的
本文标题:面向主题的搜索引擎的设计与实现
链接地址:https://www.777doc.com/doc-1980715 .html