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

上传人:b****5 文档编号:7661107 上传时间:2023-01-25 格式:DOCX 页数:62 大小:3.65MB
下载 相关 举报
聚类式搜索引擎的设计与实现毕业论文.docx_第1页
第1页 / 共62页
聚类式搜索引擎的设计与实现毕业论文.docx_第2页
第2页 / 共62页
聚类式搜索引擎的设计与实现毕业论文.docx_第3页
第3页 / 共62页
聚类式搜索引擎的设计与实现毕业论文.docx_第4页
第4页 / 共62页
聚类式搜索引擎的设计与实现毕业论文.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

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

《聚类式搜索引擎的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《聚类式搜索引擎的设计与实现毕业论文.docx(62页珍藏版)》请在冰豆网上搜索。

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

聚类式搜索引擎的设计与实现毕业论文

论文

论文题目:

聚类式搜索引擎的设计与实

 

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

摘要

随着信息技术的发展,搜索引擎被大量的使用,发挥了很大的作用,同时也显现出了一些不足。

一方面,Web规模的指数增长使得任何单个搜索引擎都远远不能覆盖整个Web网络,对于同一个查询,用户常常会使用多个搜索引擎。

另一方面,搜索引擎往往会返回大量的相关结果,因此对结果进行聚类处理可以大大方便用户迅速定位感兴趣的结果。

本文设计并实现了一个聚类搜索引擎,它是使用基于向量空间模型的文本聚类改进方法——LP聚类算法对查询结果进行聚类处理的搜索引擎。

同时,基于语料库的实际聚类效果,就维度确定、特征选择等方面提出优化方案。

实验证明,LP算法不需要比较所有簇之间的相似度,执行速度较快,适合大量文件的集合,实用性更高。

在聚类过程中也不需要事先确定K的取值,降低了与领域知识的依赖性,并且有效地减少了聚类所消耗的时间,提高了灵活性。

关键词

搜索引擎;向量空间模型;文本聚类;LP算法

Abstract

AstheInformationtechnologyisdevelopingfast,thesearchenginehasbecomeincreasinglyimportant.Butitstillhassomeshortcomings.First,asthescaleoftheWebgrowsexponentially,nosearchenginecancoverthewholeWeb.Sousuallymorethanonesearchenginesareusedforonesearchtaskatthesametime.Second,thesearchenginesalwaysreturnalonglistofdocumentswhichrequireslotsoftimetolookthrough.Inthispaper,ClusterSE,asearchenginewhichuseanimprovedmethodsoftextclustering-LPclusteringalgorithmbasedonvectorspacemodeltodealwithqueryresultsofsearch,isdesignedandimplementation.Inaddition,accordingtotheeffectsofclusteringforthecorpus,LPalgorithmpresentsoptimizationsofclusteringalgorithm,includingdimensiondetermining,featureselection,etc.Proved,LPalgorithmdoesnotcomparethesimilaritybetweenallclusters,andtheimplementationofspeed,alargenumberofdocumentsforacollectionaremorepractical.Furthermore,itdoesnotrequirepre-determinedvaluesofKandreducedependencewiththedomainknowledgeintheclusteringprocess.SoLPalgorithmcaneffectivelyreducethetimespending,anditishighinpracticabilityandflexibility.

Keywords

SearchEngine;VectorSpaceModel(VSM);TextClustering;LPAlgorithm

摘要I

AbstractII

第一章概述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

第二章开发环境及其技术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技术5

2.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.3.9Web前台11

3.4数据源与系统文件结构11

3.4.1系统数据源11

3.4.2系统文件结构11

3.5搜索引擎的数据结构13

3.5.1存储结构13

3.5.2索引结构14

3.5.3搜索引擎中索引的创建16

3.5.4结构化查询语言(SQL)19

3.6本章小结20

第四章聚类式搜索引擎系统实现21

4.1主要实现算法21

4.2系统相关类的实现33

4.3本章小结51

第五章系统评测52

5.1实验设计52

5.2数据分析53

5.3本章小结56

结论57

参考文献58

致谢60

第一章概述

1.1前言

据中国互联网信息中心发布的《中国互联网络发展状况统计报告》,用户经常使用的网络服务中搜索引擎占65%。

网络信息的迅速膨胀使得搜索引擎越来越重要。

同时,由于网络上的信息量十分巨大,没有任何一个搜索引擎能够覆盖整个Web网络,因此用户经常需要使用多个搜索引擎。

另外,由于信息量巨大以及当前搜索引擎采用的基于关键词查询检索机制,搜索引擎返回的结果过多,其中用户真正关心的只占很少一部分。

如果可以对搜索结果进行聚类处理,就可以方便用户迅速定位自己感兴趣的信息。

本文介绍了ClusterSE,一个可以对搜索引擎搜索结果进行聚类处理的搜索引擎,它使用了文本聚类技术,对用户查询不仅可以返回相关查询结果,而且对结果聚类分析之后用户可以快速定位信息。

除此之外,本文还提出了一种基于向量空间模型的文本聚类改进方法——LP聚类算法。

最后给出了ClusterSE的各项实验数据。

1.2聚类式搜索引擎

Internet已经发展为当今世界上最大的信息库和全球范围内传播信息最主要的渠道。

随着Internet的大规模普及和企业信息化程度的提高,各种资源呈爆炸式增长。

近年来,文本挖掘、信息过滤和信息检索等方面的研究出现了前所未有的高潮。

聚类式搜索引擎主要是针对检索结果进行文本聚类分析,将相似文档进行自动聚类。

并将聚类结果返回给用户,使用户能够快速定位自己的感兴趣的信息。

相比传统搜索引擎来说,提高了用户服务质量。

1.3课题研究背景

目前的搜索引擎正处于高速发展的阶段,总体发展趋向由原来的传统搜索引擎发展为新型搜索引擎,并朝着未来更友好方向不断发展。

由于搜索引擎技术的主要发展空间在搜索准确度上,搜索准确度除了传统的网页排序算法,也与自然语言的研究密切相关。

随着像Google、XX这样的互联网搜索引擎越做越大,其他小规模搜索引擎也渐渐被淘汰。

但是随着互联网向纵深的方向发展,Web规模的指数增长使得任何单个搜索引擎都远远不能覆盖整个Web,对于同一个查询,用户常会使用多个搜索引擎。

因此对结果进行聚类处理可以大大方便用户迅速定位感兴趣的结果。

本文研究的聚类式搜索引擎正是为了让用户充分地使用Internet上的信息资源,具有理论和实用价值。

1.4国内外研究现状

作为一种无监督的机器学习方法,聚类技术是文本挖掘中研究最早的领域之一,可以将大量文本信息组成少数有意义的簇,并提供导航或浏览机制。

国外对英文文本聚类已经进行了大量的研究,并已将文本聚类成功地应用在了文本挖掘和信息检索等领域。

下面分别探讨国内外在文本聚类领域的研究状况。

1.4.1国外研究现状

经典的文本聚类算法是K-means算法,该算法基于划分,实现简单,算法效率高,因此适合处理大规模数据,如文本集。

但该方法存在许多不足之处,如对初始聚类中心的选取非常敏感,聚类结果容易沦为局部最优。

对遗传算法加以改进来解决K-means对中心点选取敏感的问题,并试图使其用于高维数据对象的划分。

有些人提出了K-modes-CGC算法来聚类分类数据,并免去了初始化K-modes的选择问题。

此外,还有算法对原算法只能处理凸状簇,容易落入局部极小值等缺点进行了大量的改进研究。

层次聚类具有聚类精度高等优点,经研究发现,UPGMA算法在文本层次聚类算法中具有最高的准确度,但层次的时间复杂度较高。

基于密度的DBSCAN空间聚类算法也被应用于文本数据的处理。

上述文本聚类方法的共同点是基于距离来计算文本之间或文本与类别之间的相似度。

但文本特征项的高维度常常导致这些算法的性能下降,并且聚类准确度也不高。

有的算法将频繁项的概念引入文本聚类,试图解决文本聚类的高维度问题,此外,基于后缀树和后缀数组的聚类算法也试图解决该问题。

这两类算法摆脱了向量空间模型的束缚,效率上获得了一定的提高,但它们仍然不可忽视的缺点。

基于后缀树的聚类算法只适用于Web等短文档的聚类。

为大多数基于频繁项的聚类算法也总是将文本划分到唯一的结果簇,导致聚类结果不合理。

此外,由于只是简单地采用关键词作为文本的特征,而没有考虑文本中词之间潜在的语义信息,这两种算法的聚类结果人不能令人满意。

在文本聚类的应用研究方面,国外的研究起步较早,技术也较国内成熟。

其文本聚类分词已经广泛应用于文本挖掘、信息检索等领域,如:

对检索结果进行聚类给用户提供导航功能,对检索引擎进行重新组织,实现文档聚类和段落聚类进行自动文摘等。

1.4.2国内研究现状

与国外相比,国内对中文文本聚类的研究和应用起步较晚,由于中文构词的连续性,中文信息处理碰到的困难也比英文多。

应用研究方面,北京拓儿思信息技术股份有限公司致力于研究文本挖掘技术,推出了TRS文本聚类系统;文本挖掘基础理论研究方面,具有代表性的研究人员有复旦大学的吴立德教授,清华大学的黄昌宁教授以及南京大学的周志华教授,具有代表性的研究机构有北大搜索引擎与互联网信息挖掘组、哈工大信息检索实验室的文本挖掘组等。

然而,文本聚类用于聚类搜索结果,为用户提供内容浏览与导航功能却很少有实际应用,这也是与国外存在差距的地方。

1.5本文结构

第一部分:

课题研究背景及国内外研究现状;

第二部分:

开发环境及其技术;

第三部分:

聚类式搜索引擎系统设计;

第四部分:

聚类式搜索引擎系统实现;

第五部分:

系统评测;

第六部分:

结论。

1.6本章小结

本章介绍了文本聚类和聚类式搜索引擎等相关知识,同时详细介绍了课题研究背景及国内外研究状况。

最后介绍了本文结构。

总之,搜索引擎的基本技术已经到位,开始向应用发展,如何给用户提供更好的服务,更好的产品,是各大搜索引擎竞争的焦点。

第二章开发环境及其技术

2.1软件环境

操作系统:

WindowsXP

应用服务器:

Tomcat6.0.16

数据库系统:

MySQL5.0

开发平台:

MyEclipse7.5+JDK1.6.0_03

2.2主要开发技术

2.2.1Heritrix技术

Heritrix是一个由Java开发的、开源的Web网络爬虫,用户可以使用它从网络上抓取想要的资源。

它主要的用户界面可以通过一个Web流量器来访问并通过它来控制检索器的行为。

另外,它还有一个命令行工具来供用户选择调用。

Heritrix最出色之处在于它的可扩展性,开发者可以扩展它的个个组件,来实现自己的抓取逻辑。

2.2.2Lucene技术

Lucene是apache软件基金会Jakarta项目组的子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。

其目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

Lucene作为一个全文检索引擎,其具有如下突出的优点:

1、索引文件格式独立于应用平台。

Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。

2、在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。

然后通过与原有索引的合并,达到优化的目的。

3、优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。

4、设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。

5、已经默认实现了一套强大的查询引擎,用户无需自己编写代码即使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询(FuzzySearch)、分组查询等等。

2.2.3JDBC技术

JDBC全称为JavaDatabaseConnectivityStandard,它是一个面向对象的应用程序接口(API),是一种执行SQL的JavaAPI。

它为数据库开发人员提供了一系列标准的API函数,使其可以使用纯JavaAPI来开始数据库应用程序,JDBC与Java结合,使用户可以很容易地把SQL语句传送到任何关系数据库中,程序员用它编写的数据库应用软件,可在各种数据库系统上运行。

而且,JDBC在尽可以维持操作方便与简单的同时,还为研发人员提供了最大的弹性。

2.2.4数据库技术

数据库是数据管理的最新技术,是计算机科学的重要分支,因此对数据库学科的研究范围是十分广泛的。

所谓数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

MySQL是一个真正的多用户、多线程SQL数据库服务器。

SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。

MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序MySQLD和很多不同的客户程序和库组成。

2.2.5Servlet技术

Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的Web服务器端编程技术,主要用于在Web服务器端获得客户端的访问请求信息和动态生成对客户端的响应消息。

Servlet技术也是JSP技术(另外一种动态网页开发技术)的基础。

一个Servlet程序就是一个实现了特殊接口的 Java类,用于被支持Servlet的Web服务器调用和运行,即只能运行于具有Servlet引擎的WEB服务器端。

一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,接收访问请求信息和产生响应内容。

2.2.6JSP技术

JSP技术使用Java编程语言编写类XML的Tags和Scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过Tags和Scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。

插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP页面由HTML代码和嵌入其中的Java代码所组成。

服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。

JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

2.3本章小结

本章简单介绍了开发此聚类式搜索引擎系统的软件环境,同时用了大量的篇幅详细介绍了在开发过程中所用到的各种技术。

一个搜索引擎系统的开发,有一些计算机软件技术作为基础是必须的。

第三章聚类式搜索引擎系统设计

3.1系统体系结构

本搜索引擎的基本结构包括爬虫、检索器、索引服务器、数据库服务器、用户接口和用户界面等,其中底层模块包括爬虫、检索器、索引服务器、数据库服务器,外层模块包括用户接口和用户界面,如图3-1所示。

图3-1搜索引擎的体系结构

如果要进行搜索,首先就要有数据,爬虫就是用于在互联网中爬行,不断地抓取新的网页,然后将这些数据送去做索引。

作为一个优秀的爬虫,要做到大规模、快速的抓取,避免重复抓取,是可控的。

检索器是对用户的查询请求进行解析,分析出用户想要做的事情,再整理出规则的规则的检索条件,然后到索引服务器中进行查询。

索引服务器是存放索引的计算机,因为有索引的存在,检索才能在很短的时间内完成,索引服务器中主要存放以倒排表形式存放的数据。

数据服务器存放的是原始数据,当用户进行检索后,直接返回给用户并不是最终的结果,而是一组文档的编号,然后由用户控制去取那些文档的数据,比如前10条,或者第11条到20条,这也便是搜索引擎的分页的功能。

那么取得原始数据的地方就在数据服务器。

3.2系统架构设计

本聚类式搜索引擎系统软件架构包括六部分,其中:

Web应用服务器采用Tomcat6.0.16,前台页面采用JSP技术;用户通过应用服务器提供的Web主页向搜索引擎提出检索请求,然后搜索引擎系统进行信息处理并返回结果集为用户提供检索服务。

Controller由一个Servlet承当,及时处理来自用户的检索请求,通过调用WebService来进行检索操作,同时将检索到的结果集通过JSP页面返回给用户;

WebService为一个专门为用户提供检索操作的Java类,能够根据从Controller传来的检索关键词进行检索操作,同时还调用相关算法对检索结果进行聚类分析,最后为用户提供一个能够快速定位自己感兴趣的检索结果集;

搜索引擎数据索引层专门用于处理搜索引擎的索引结构、信息等资源。

本次搜索引擎的索引层在很大程度上依赖于开源的Lucene组件,从Lucene中可以方便的建立索引和快速的检索文本相关信息;

搜索引擎数据存储层用于存储文档相关信息,如文档URL、文档标题、文档内容等,目的就是使检索得到的索引序号能够快定位至文档具体信息;

聚类算法是本搜索引擎中的核心算法,主要目的是为用户提供便利的检索服务,方便用户检索自己感兴趣的信息产品,提高搜索引擎的服务质量。

MySQL数据库、网页解析内容均是为上面的实现提供准备工作,其中网页解析内容是针对由网络爬虫从Web网络抓取来的原始网页信息进行解析的结果。

MySQL数据库可以用来存储正表、倒排表等信息。

这样便可永久保存,同时也提供了对搜索引擎的数据库支持。

系统架构设计如下图3-2所示。

图3-2系统架构设计

3.3系统模块结构

本聚类式搜索引擎的软件模块结构如下图3-3所示。

图3-3搜索引擎的模块结构

图3-3中各模块的基本功能如下:

3.3.1网络爬虫

主要用于从互联网上抓取相关网页信息,在本系统中,采用一款由Java开发的开源爬虫Heritrix。

爬虫种子设置为Http:

//

3.3.2网页解析

主要实现将从互联网上抓取的新闻网页信息进行解析,提取出新闻网页中的URL、新闻标题、新闻内容等信息。

同时保存到文本文件中,以便后面的分词和索引使用。

3.3.3文档内容分词

主要实现将解析后的新闻网页信息进行分词,采用了JE分词器,同时对分词结果进行保存。

为以后文档关键词的提取和搜索结果的聚类分析做好准备。

3.3.4文档关键词提取

主要实现根据文档内容分词结果对每篇新闻文档的标题和内容进行关键词的提取。

3.3.5搜索引擎正排表

主要实现根据TF-IDF算法对文档关键词进行排序,最后得到每篇新闻文档的关键词信息,并将其保存到数据库中,实现搜索引擎正排表的建立。

同时为是本搜索引擎建立一个关键词字典WordDictionary.dic。

3.3.6网页内容入数据库

主要实现对新闻URL、新闻标题、新闻内容、新闻摘要、新闻文档文件名等新闻信息进行数据库存储,为检索结果是读取新闻信息做好准备。

3.3.7文档索引建立

根据开源项目Lucene,对新闻文档内容建立索引,最后实现根据关键词信息对新闻文档的搜索,同时返回搜索结果集。

为对搜索结果的聚类做好准备。

3.3.8搜索结果聚类

本搜索引擎的核心模块,主要是根据新闻文档的关键词信息(已经保存到数据库中的搜索引擎正排表)和相应的聚类算法(如K-means、后缀树算法)对采用LuceneAPI根据关键词搜索来的结果集进行聚类分析,同时对聚类结果进行保存,为Web前台提供数据信息。

3.3.9Web前台

此模块为本聚类式搜索引擎与用户的交互接口,用户通过主页输入搜索关键词,Web前台根据用户输入信息进行新闻文档的检索,聚类分析,同时将聚类分析结果返回给用户,供用户使用浏览。

3.4数据源与系统文件结构

3.4.1系统数据源

原始网页信息就是此聚类式搜索引擎的最初数据信息,也是系统最初的数据源,所以数据源很重要。

本系统的数据源方案如下:

1、提供获取数据源及解析数据源的功能,将获取的原始网页信息进行解析并存储,以便后续的各种操作。

针对文件类型的数据,建立相应的数据源。

建立了数据源后,就用一个文本文件保存数据源信息,以后可直接从文本文件读取信息。

2、提供对数据源的快速存储,将获取的

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

当前位置:首页 > 农林牧渔 > 林学

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

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