ImageVerifierCode 换一换
格式:DOCX , 页数:62 ,大小:3.65MB ,
资源ID:20784516      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20784516.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(聚类式搜索引擎的设计与实现毕业论文Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

聚类式搜索引擎的设计与实现毕业论文Word文档格式.docx

1、一方面,Web 规模的指数增长使得任何单个搜索引擎都远远不能覆盖整个 Web网络,对于同一个查询,用户常常会使用多个搜索引擎。另一方面,搜索引擎往往会返回大量的相关结果,因此对结果进行聚类处理可以大大方便用户迅速定位感兴趣的结果。本文设计并实现了一个聚类搜索引擎,它是使用基于向量空间模型的文本聚类改进方法LP聚类算法对查询结果进行聚类处理的搜索引擎。同时,基于语料库的实际聚类效果,就维度确定、特征选择等方面提出优化方案。实验证明,LP算法不需要比较所有簇之间的相似度,执行速度较快,适合大量文件的集合,实用性更高。在聚类过程中也不需要事先确定K的取值,降低了与领域知识的依赖性,并且有效地减少了聚

2、类所消耗的时间,提高了灵活性。关键词搜索引擎;向量空间模型;文本聚类;LP算法AbstractAs the Information technology is developing fast, the search engine has become increasingly important. But it still has some shortcomings. First, as the scale of the Web grows exponentially, no search engine can cover the whole Web. So usually more than

3、 one search engines are used for one search task at the same time. Second, the search engines always return a long list of documents which requires lots of time to look through. In this paper, ClusterSE, a search engine which use an improved methods of text clustering - LP clustering algorithm based

4、 on vector space model to deal with query results of search, is designed and implementation. In addition, according to the effects of clustering for the corpus, LP algorithm presents optimizations of clustering algorithm, including dimension determining, feature selection, etc. Proved, LP algorithm

5、does not compare the similarity between all clusters, and the implementation of speed, a large number of documents for a collection are more practical. Furthermore, it does not require pre-determined values of K and reduce dependence with the domain knowledge in the clustering process. So LP algorit

6、hm can effectively reduce the time spending, and it is high in practicability and flexibility.KeywordsSearch Engine; Vector Space Model (VSM); Text Clustering; LP Algorithm摘要 IAbstract II第一章 概述 1 1.1前言 1 1.2聚类式搜索引擎 1 1.3课题研究背景 1 1.4国内外研究现状 2 1.4.1国外研究现状 2 1.4.2国内研究现状 3 1.5本文结构 3 1.6本章小结 3第二章 开发环境及其技

7、术 4 2.1软件环境 4 2.2主要开发技术 4 2.2.1Heritrix技术 4 2.2.2Lucene技术 4 2.2.3JDBC技术 5 2.2.4数据库技术 5 2.2.5Servlet技术 52.2.6JSP技术 5 2.3本章小结 6第三章 聚类式搜索引擎系统设计 7 3.1系统体系结构 7 3.2系统架构设计 8 3.3系统模块结构 9 3.3.1网络爬虫 10 3.3.2网页解析 10 3.3.3文档内容分词 10 3.3.4文档关键词提取 10 3.3.5搜索引擎正排表 10 3.3.6网页内容入数据库 10 3.3.7文档索引建立 10 3.3.8搜索结果聚类 10 3

8、.3.9 Web前台 113.4数据源与系统文件结构 113.4.1系统数据源 113.4.2系统文件结构 113.5搜索引擎的数据结构 133.5.1存储结构 133.5.2索引结构 143.5.3搜索引擎中索引的创建 163.5.4结构化查询语言(SQL) 193.6本章小结 20第四章 聚类式搜索引擎系统实现 214.1主要实现算法 214.2系统相关类的实现 334.3本章小结 51第五章 系统评测 525.1实验设计 525.2数据分析 535.3本章小结 56结论 57参考文献 58致谢 60第一章 概述1.1前言据中国互联网信息中心发布的 中国互联网络发展状况统计报告,用户经常使

9、用的网络服务中搜索引擎占65%。网络信息的迅速膨胀使得搜索引擎越来越重要。同时,由于网络上的信息量十分巨大,没有任何一个搜索引擎能够覆盖整个Web网络, 因此用户经常需要使用多个搜索引擎。另外,由于信息量巨大以及当前搜索引擎采用的基于关键词查询检索机制,搜索引擎返回的结果过多,其中用户真正关心的只占很少一部分。如果可以对搜索结果进行聚类处理,就可以方便用户迅速定位自己感兴趣的信息。本文介绍了 ClusterSE,一个可以对搜索引擎搜索结果进行聚类处理的搜索引擎,它使用了文本聚类技术,对用户查询不仅可以返回相关查询结果,而且对结果聚类分析之后用户可以快速定位信息。除此之外,本文还提出了一种基于向

10、量空间模型的文本聚类改进方法LP聚类算法。 最后给出了ClusterSE的各项实验数据。1.2聚类式搜索引擎Internet已经发展为当今世界上最大的信息库和全球范围内传播信息最主要的渠道。随着Internet的大规模普及和企业信息化程度的提高,各种资源呈爆炸式增长。近年来,文本挖掘、信息过滤和信息检索等方面的研究出现了前所未有的高潮。聚类式搜索引擎主要是针对检索结果进行文本聚类分析,将相似文档进行自动聚类。并将聚类结果返回给用户,使用户能够快速定位自己的感兴趣的信息。相比传统搜索引擎来说,提高了用户服务质量。1.3课题研究背景目前的搜索引擎正处于高速发展的阶段,总体发展趋向由原来的传统搜索引

11、擎发展为新型搜索引擎,并朝着未来更友好方向不断发展。由于搜索引擎技术的主要发展空间在搜索准确度上,搜索准确度除了传统的网页排序算法,也与自然语言的研究密切相关。随着像Google、XX这样的互联网搜索引擎越做越大,其他小规模搜索引擎也渐渐被淘汰。但是随着互联网向纵深的方向发展,Web 规模的指数增长使得任何单个搜索引擎都远远不能覆盖整个Web,对于同一个查询,用户常会使用多个搜索引擎。因此对结果进行聚类处理可以大大方便用户迅速定位感兴趣的结果。本文研究的聚类式搜索引擎正是为了让用户充分地使用Internet上的信息资源,具有理论和实用价值。1.4国内外研究现状作为一种无监督的机器学习方法,聚类

12、技术是文本挖掘中研究最早的领域之一,可以将大量文本信息组成少数有意义的簇,并提供导航或浏览机制。国外对英文文本聚类已经进行了大量的研究,并已将文本聚类成功地应用在了文本挖掘和信息检索等领域。下面分别探讨国内外在文本聚类领域的研究状况。1.4.1国外研究现状经典的文本聚类算法是K-means算法,该算法基于划分,实现简单,算法效率高,因此适合处理大规模数据,如文本集。但该方法存在许多不足之处,如对初始聚类中心的选取非常敏感,聚类结果容易沦为局部最优。对遗传算法加以改进来解决K-means对中心点选取敏感的问题,并试图使其用于高维数据对象的划分。有些人提出了K-modes-CGC算法来聚类分类数据

13、,并免去了初始化K-modes的选择问题。此外,还有算法对原算法只能处理凸状簇,容易落入局部极小值等缺点进行了大量的改进研究。层次聚类具有聚类精度高等优点,经研究发现,UPGMA算法在文本层次聚类算法中具有最高的准确度,但层次的时间复杂度较高。基于密度的DBSCAN空间聚类算法也被应用于文本数据的处理。上述文本聚类方法的共同点是基于距离来计算文本之间或文本与类别之间的相似度。但文本特征项的高维度常常导致这些算法的性能下降,并且聚类准确度也不高。有的算法将频繁项的概念引入文本聚类,试图解决文本聚类的高维度问题,此外,基于后缀树和后缀数组的聚类算法也试图解决该问题。这两类算法摆脱了向量空间模型的束

14、缚,效率上获得了一定的提高,但它们仍然不可忽视的缺点。基于后缀树的聚类算法只适用于Web等短文档的聚类。为大多数基于频繁项的聚类算法也总是将文本划分到唯一的结果簇,导致聚类结果不合理。此外,由于只是简单地采用关键词作为文本的特征,而没有考虑文本中词之间潜在的语义信息,这两种算法的聚类结果人不能令人满意。在文本聚类的应用研究方面,国外的研究起步较早,技术也较国内成熟。其文本聚类分词已经广泛应用于文本挖掘、信息检索等领域,如:对检索结果进行聚类给用户提供导航功能,对检索引擎进行重新组织,实现文档聚类和段落聚类进行自动文摘等。1.4.2国内研究现状与国外相比,国内对中文文本聚类的研究和应用起步较晚,

15、由于中文构词的连续性,中文信息处理碰到的困难也比英文多。应用研究方面,北京拓儿思信息技术股份有限公司致力于研究文本挖掘技术,推出了TRS文本聚类系统;文本挖掘基础理论研究方面,具有代表性的研究人员有复旦大学的吴立德教授,清华大学的黄昌宁教授以及南京大学的周志华教授,具有代表性的研究机构有北大搜索引擎与互联网信息挖掘组、哈工大信息检索实验室的文本挖掘组等。然而,文本聚类用于聚类搜索结果,为用户提供内容浏览与导航功能却很少有实际应用,这也是与国外存在差距的地方。1.5本文结构第一部分:课题研究背景及国内外研究现状;第二部分:开发环境及其技术;第三部分:聚类式搜索引擎系统设计;第四部分:聚类式搜索引

16、擎系统实现;第五部分:系统评测;第六部分:结论。1.6本章小结本章介绍了文本聚类和聚类式搜索引擎等相关知识,同时详细介绍了课题研究背景及国内外研究状况。最后介绍了本文结构。总之,搜索引擎的基本技术已经到位,开始向应用发展,如何给用户提供更好的服务,更好的产品,是各大搜索引擎竞争的焦点。第二章 开发环境及其技术2.1软件环境操作系统:Windows XP应用服务器:Tomcat 6.0.16数据库系统:MySQL 5.0开发平台:MyEclipse 7.5 + JDK 1.6.0_032.2主要开发技术2.2.1Heritrix技术Heritrix是一个由Java开发的、开源的Web网络爬虫,用

17、户可以使用它从网络上抓取想要的资源。它主要的用户界面可以通过一个Web流量器来访问并通过它来控制检索器的行为。另外,它还有一个命令行工具来供用户选择调用。Heritrix最出色之处在于它的可扩展性,开发者可以扩展它的个个组件,来实现自己的抓取逻辑。2.2.2Lucene技术Lucene是apache软件基金会Jakarta项目组的子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。其目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能

18、,或者是以此为基础建立起完整的全文检索引擎。Lucene作为一个全文检索引擎,其具有如下突出的优点:1、索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。2、在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的目的。3、优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。4、设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实

19、现文本分析的接口。5、已经默认实现了一套强大的查询引擎,用户无需自己编写代码即使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询(Fuzzy Search)、分组查询等等。2.2.3JDBC技术JDBC全称为Java Database Connectivity Standard,它是一个面向对象的应用程序接口(API),是一种执行SQL的Java API。它为数据库开发人员提供了一系列标准的API函数,使其可以使用纯Java API来开始数据库应用程序,JDBC与Java结合,使用户可以很容易地把SQL语句传送到任何关系数据库中,程序员用它编写的数据库应用软件,可

20、在各种数据库系统上运行。而且,JDBC在尽可以维持操作方便与简单的同时,还为研发人员提供了最大的弹性。2.2.4数据库技术数据库是数据管理的最新技术,是计算机科学的重要分支,因此对数据库学科的研究范围是十分广泛的。所谓数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序MySQLD和很多不同的客

21、户程序和库组成。2.2.5Servlet技术Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的Web服务器端编程技术,主要用于在Web服务器端获得客户端的访问请求信息和动态生成对客户端的响应消息。Servlet技术也是JSP技术(另外一种动态网页开发技术)的基础。一个Servlet程序就是一个实现了特殊接口的Java类,用于被支持Servlet的Web服务器调用和运行,即只能运行于具有Servlet引擎的WEB服务器端。一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,接收访问请求信息和产生响应内容。2.2.6JSP技术JSP技术使

22、用Java编程语言编写类XML的Tags和Scriptlets,来封装产生动态网页的处理逻辑。网页还能通过Tags和Scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理

23、,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.3本章小结本章简单介绍了开发此聚类式搜索引擎系统的软件环境,同时用了大量的篇幅详细介绍了在开发过程中所用到的各种技术。一个搜索引擎系统的开发,有一些计算机软件技术作为基础是必须的。第三章 聚类式搜索引擎系统设计3.1系统体系结构本搜索引擎的基本结构包括爬虫、检索器、索引服务器、数据库服务器、用户接口和用户界面等,其中底

24、层模块包括爬虫、检索器、索引服务器、数据库服务器,外层模块包括用户接口和用户界面,如图 3-1 所示。图 3-1 搜索引擎的体系结构如果要进行搜索,首先就要有数据,爬虫就是用于在互联网中爬行,不断地抓取新的网页,然后将这些数据送去做索引。作为一个优秀的爬虫,要做到大规模、快速的抓取,避免重复抓取,是可控的。检索器是对用户的查询请求进行解析,分析出用户想要做的事情,再整理出规则的规则的检索条件,然后到索引服务器中进行查询。索引服务器是存放索引的计算机,因为有索引的存在,检索才能在很短的时间内完成,索引服务器中主要存放以倒排表形式存放的数据。数据服务器存放的是原始数据,当用户进行检索后,直接返回给

25、用户并不是最终的结果,而是一组文档的编号,然后由用户控制去取那些文档的数据,比如前10条,或者第11条到20条,这也便是搜索引擎的分页的功能。那么取得原始数据的地方就在数据服务器。3.2系统架构设计本聚类式搜索引擎系统软件架构包括六部分,其中:Web应用服务器采用Tomcat 6.0.16,前台页面采用JSP技术;用户通过应用服务器提供的Web主页向搜索引擎提出检索请求,然后搜索引擎系统进行信息处理并返回结果集为用户提供检索服务。Controller由一个Servlet承当,及时处理来自用户的检索请求,通过调用WebService来进行检索操作,同时将检索到的结果集通过JSP页面返回给用户;W

26、ebService为一个专门为用户提供检索操作的Java类,能够根据从Controller传来的检索关键词进行检索操作,同时还调用相关算法对检索结果进行聚类分析,最后为用户提供一个能够快速定位自己感兴趣的检索结果集;搜索引擎数据索引层专门用于处理搜索引擎的索引结构、信息等资源。本次搜索引擎的索引层在很大程度上依赖于开源的Lucene组件,从Lucene中可以方便的建立索引和快速的检索文本相关信息;搜索引擎数据存储层用于存储文档相关信息,如文档URL、文档标题、文档内容等,目的就是使检索得到的索引序号能够快定位至文档具体信息;聚类算法是本搜索引擎中的核心算法,主要目的是为用户提供便利的检索服务,

27、方便用户检索自己感兴趣的信息产品,提高搜索引擎的服务质量。MySQL数据库、网页解析内容均是为上面的实现提供准备工作,其中网页解析内容是针对由网络爬虫从Web网络抓取来的原始网页信息进行解析的结果。MySQL数据库可以用来存储正表、倒排表等信息。这样便可永久保存,同时也提供了对搜索引擎的数据库支持。系统架构设计如下图 3-2 所示。图 3-2 系统架构设计3.3系统模块结构本聚类式搜索引擎的软件模块结构如下图 3-3 所示。图 3-3 搜索引擎的模块结构图 3-3中各模块的基本功能如下:3.3.1网络爬虫主要用于从互联网上抓取相关网页信息,在本系统中,采用一款由Java开发的开源爬虫Herit

28、rix。爬虫种子设置为Http:/3.3.2网页解析主要实现将从互联网上抓取的新闻网页信息进行解析,提取出新闻网页中的URL、新闻标题、新闻内容等信息。同时保存到文本文件中,以便后面的分词和索引使用。3.3.3文档内容分词主要实现将解析后的新闻网页信息进行分词,采用了JE分词器,同时对分词结果进行保存。为以后文档关键词的提取和搜索结果的聚类分析做好准备。3.3.4文档关键词提取主要实现根据文档内容分词结果对每篇新闻文档的标题和内容进行关键词的提取。3.3.5搜索引擎正排表主要实现根据TF-IDF算法对文档关键词进行排序,最后得到每篇新闻文档的关键词信息,并将其保存到数据库中,实现搜索引擎正排表

29、的建立。同时为是本搜索引擎建立一个关键词字典WordDictionary.dic。3.3.6网页内容入数据库主要实现对新闻URL、新闻标题、新闻内容、新闻摘要、新闻文档文件名等新闻信息进行数据库存储,为检索结果是读取新闻信息做好准备。3.3.7文档索引建立根据开源项目Lucene,对新闻文档内容建立索引,最后实现根据关键词信息对新闻文档的搜索,同时返回搜索结果集。为对搜索结果的聚类做好准备。3.3.8搜索结果聚类本搜索引擎的核心模块,主要是根据新闻文档的关键词信息(已经保存到数据库中的搜索引擎正排表)和相应的聚类算法(如K-means、后缀树算法)对采用Lucene API根据关键词搜索来的结

30、果集进行聚类分析,同时对聚类结果进行保存,为Web前台提供数据信息。3.3.9Web前台此模块为本聚类式搜索引擎与用户的交互接口,用户通过主页输入搜索关键词,Web前台根据用户输入信息进行新闻文档的检索,聚类分析,同时将聚类分析结果返回给用户,供用户使用浏览。3.4数据源与系统文件结构3.4.1系统数据源原始网页信息就是此聚类式搜索引擎的最初数据信息,也是系统最初的数据源,所以数据源很重要。本系统的数据源方案如下:1、提供获取数据源及解析数据源的功能,将获取的原始网页信息进行解析并存储,以便后续的各种操作。针对文件类型的数据,建立相应的数据源。建立了数据源后,就用一个文本文件保存数据源信息,以后可直接从文本文件读取信息。2、提供对数据源的快速存储,将获取的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1