Web信息自动推荐系统设计毕业论文.docx
- 文档编号:27740411
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:68
- 大小:1.11MB
Web信息自动推荐系统设计毕业论文.docx
《Web信息自动推荐系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《Web信息自动推荐系统设计毕业论文.docx(68页珍藏版)》请在冰豆网上搜索。
Web信息自动推荐系统设计毕业论文
Web信息自动推荐系统设计毕业论文
前言1
1.课题的研究意义1
2.论文目的、容及主要贡献1
1发展现状与设计目标2
1.1Web信息检索工具──搜索引擎2
1.2传统WWW信息检索服务的特点3
1.3主动信息服务的必要性4
1.4主动推送信息服务系统原理4
2开发工具及关键技术介绍6
2.1Eclipse(MyEclipse)6
2.2Java(JSP、J2EE)6
2.2.1Java6
2.2.2JSP7
2.2.3J2EE9
2.3Tomcat9
2.4MySQL10
2.5JDBC10
2.5.1JDBC概述10
2.5.2JDBC数据访问模型10
2.6基于B/S模型的Web应用程序10
2.7GoogleWebAPI13
3要解决的几个关键问题15
3.1研究设计中要解决的问题15
3.2具体实现中采用的关键技术及复杂性分析15
4系统结构与模型16
4.1基于向量空间模型的信息自动推荐系统设计16
4.2向量空间模型(VSM)系统处理流程图18
4.3建立向量空间模型的关键──中文分词18
4.4汉语词法分析系统ICTCLAS的介绍21
4.5数据流图和系统结构图21
5系统实现24
5.1系统结构设计24
5.1.1目标设计24
5.1.2设计思路24
5.1.3系统功能分析与设计25
5.2数据库结构设计26
5.2.1数据库需求分析26
5.2.2数据库逻辑设计26
5.3整个系统连接数据库中心代码(连接到MySQL)27
5.4用户信息管理模块27
5.5自动推荐系统模块27
5.6系统管理模块32
6性能测试与分析34
6.1测试实例(测试集)的选择34
6.2测试环境与测试条件34
6.3测试步骤34
6.4测试结果35
6.5性能分析36
结论37
参考文献38
致谢39
附录JSP开发运行环境的安装40
前言
1.课题的研究意义
随着信息技术的发展和社会信息化过程的快,作为全球最大的信息载体-国际互联网在给人们带来海量的信息资源,以及获取信息的方便性的同时,又带来诸多负面效应。
网上的信息良莠不齐,又缺乏次序,各种无用的垃圾信息铺天盖地的传递给用户,用户往往为为获得需要的信息花费大量的时间和精力。
[1]而传统的WWW搜索系统查询的结果往往会与用户真实的需求相差甚远,而且产生的无用信息量会非常大,许多用户希望的个性化查询无法实现(个性化查询就是将一般的查询结果根据用户的个性模型进行二次检索,以适应用户个人的需要)为此人们从许多方面对此技术进行了优化和改进,以期获得更高的查询精度和效率。
而如何能够根据用户的兴趣特征更主动地向用户提供信息已成为网络信息服务提供商的发展均势之一。
[2]本文就采用向量空间模型来实现,设计一个基于B/S模型的Web信息自动推荐系统(Web系统)。
本文首先介绍了搜索引擎及与其技术的原理,然后讨论了向量空间模型的原理和实现技术。
Web信息自动推荐系统设计的具体实现:
用户使用前向系统注册兴趣信息(某一领域的知识,主要是文本信息),以后系统打开时自动利用其它搜索引擎搜索相关信息,然后利用向量空间模型检索出用户比较感兴趣的信息。
2.论文目的、容及主要贡献
(1)论文目的:
熟悉向量空间模型的原理,掌握向量空间模型的实现方法,利用用户兴趣信息和向量空间模型实现Web信息的自动推荐。
同时在论文工作过程中学会查阅文献资料,提高自我学习能力,动手能力,自我思考能力。
(2)论文容:
分析搜索引擎的现状、主动服务机制,学习和掌握向量空间模型的原理与实现方法,设计面向Web信息的自动推荐算法,实现Web信息自动推荐系统等。
(3)主要贡献:
对传统的WWW搜索机制做出了分析,提出了使用向量空间模型来实现个性化搜索,实现了自动推荐的服务机制。
1发展现状与设计目标
1.1Web信息检索工具──搜索引擎
Web给信息检索带来了新的挑战,Web上的信息量快速增长,同时不断有毫无经验的新用户来体验Web这门艺术,如何在浩瀚的信息海洋中准确、方便、快速地找到自己所需的信息,从1995年开始出现的信息检索工具──搜索引擎(SerachEngines),并且它所提供的导航服务已成为Internet中最要的网络服务之一。
目前搜索引擎已从一种单纯的IT技术上升为搜索经济,有望成为继无线增值和游戏之后,互联网企业又一重要的利润增长点。
[3]
按照信息搜集方法和服务提供方式的不同,搜索引擎系统可以分为三大类:
(1)目录式搜索引擎,以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中,由于Web信息的海量性和人工处理能力、经济代价的限制,这类搜索引擎信息的即时性和全面性难以保证它的优秀代表是Yahoo等。
(2)机器人搜索引擎,由一个称为蜘蛛(Spider)的机器人程序以某种策略自动地在互联网中搜集和发现信息,由索引器为搜集到的信息建立索引,由检索器根据用户的查询输入检索索引库,并将查询结果返回给用户,这类搜索引擎实现较为复杂,但能很好的实现信息的全面获取和即时更新,它的优秀代表是Google等,后文如非特别说明,都指这类搜索引擎。
(3)元搜索引擎,这类搜索引擎没有自己的数据,而是将用户的查询请求同时向多个搜索引擎递交,将返回的结果进行重复排除、重新排序等处理后,作为自己的结果返回给用户,这类搜索引擎兼集多个搜索引擎的信息,并且加入新的排序和信息过滤,可以很好的提高用户满意度,它的优秀代表是Vivisino等。
Web搜索引擎的原理通常为:
首先是用蜘蛛(Spider)进行全网搜索,自动抓取网页;然后将抓取的网页进行索引,同时也会记录与检索有关的属性,中文搜索引擎中还需要首先对中文进行分词;最后,接受用户查询请求,检索索引文件并按照各种参数进行复杂的计算,产生结果并返回给用户。
基于上面的原理,下面将简要介绍Web搜索引擎的实现。
(1)利用网络蜘蛛获取网络资源。
这是一种半自动化的资源(由于此时尚未对资源进行分析和理解,不能成为信息而仅是资源)获取方式。
所谓半自动化,是指搜索器需要人工指定起始网络资源URL(UniformResourceLocator),然后获取该所URL指向的网络资源,并分析该资源所指向的其他资源并获取。
网络蜘蛛访问资源的过程,是对互联网上信息遍历的过程。
在实际的蜘蛛程序中,为了保证信息收集的全面性,及时性,还有多个蜘蛛程序的分工和合作问题,往往有复杂的控制机制。
如Google的在利用蜘蛛程序获取网络资源时,是由一个认为管理程序负责任务的分配和结果的处理,多个分布式的蜘蛛程序从管理程序活动任务,然后将获取的资源作为结果返回,并从新获得任务。
(2)利用索引器从搜索器获取的资源中抽取信息,并建立利于检索的索引表。
当用网络蜘蛛获取资源后后,需要对这些进行加工过滤,去掉网控制代码及无用信息,提取出有用的信息,并把信息用一定的模型表示,使查询结果更为准确。
其中信息的表示模型一般有布尔模型,向量模型,概率模型和神经网络模型等。
Web上的信息一般表现为网页,对每个网页,须生成一个摘要,此摘要将显示在查询结果的页面中,告诉查询用户各网页的容概要。
模型化的信息将存放在临时数据库中,由于Web数据的数据量极为庞大,为了提高检索效率,须按照一定规则建立索引。
不同搜索引擎在建立索引时会考虑不同的选项,如是否建立全文索引,是否过滤无用词汇,是否使用Meta信息等。
索引的建立包括:
分析过程,处理文档中可能的错误;文档索引,完成分析的文档被编码进存储桶,有些搜索引擎还会使用并行索引;排序,将存储桶按照一定的规则排序,生产全文存储桶。
最终形成的索引一般按照倒排文件的格式存放。
(3)检索及用户交互。
前面两部分属于搜索引擎的后台支持。
本部分在前面信息索引库的基础上,接受用户查询请求,并到索引库检索相关容,返回给用户。
这部分的主要容包括:
用户查询(Query)理解,即最大可能贴近的理解用户通过查询串想要表达的查询目的,并将用户查询转换化为后台检索使用的信息模型;根据用户查询的检索模型,在索引库中检索出结果集;结果排序:
通过特定的排序算法,对检索结果集进行排序。
现在用的的排序因素一般有查询相关度,Google发明的Pagerank计术,Baidu的竞价技术等。
由于Web数据的海量性和用户初始查询的模糊性,检索结果集一般很大,而用户一边不会有足够的耐性逐个查看所有的结果,所以怎样设计结果集的排序算法,把用户感兴趣的结果排在前面就十分重要。
搜索引擎的评价指标有响应时间、查全率、查准率和用户满意度等。
其中响应时间是从用户提交查询请求到搜索引擎给出查询结果的时间间隔,响应时间必须在用户可以接受的围之。
查全率是指查询结果集信息的完备性。
查准率是指查询结果集中符合用户要求的数目与结果总数之比。
用户满意度是一个难以量化的概念,除了搜索引擎本身的服务质量外,它还和用户群体,网络环境有关系。
在搜索引擎可以控制的围,其核心是搜索结果的排序,即前文提到的如何把最合适的结果排到前面。
而当前搜索引擎服务提高的挑战主要来之两方面,一个是用户初始查询请求描述的不准却性,用户往往难以清楚的表达其信息需求。
所以,当前以及今后一段时间,对如何根据用户模糊的查询请求,较为准确、全面的理解用户的实际信息需求的研究,将是搜索引擎技术研究的一个重要方面。
目前这方面的研究主要集中于查询结果文档的信息挖掘,这方面的努力已经取得很多的成果。
另一方面,挖掘用户的个性化信息,将是一个能产生突破性成果的方法:
根据用户的背景信息,如知识水平,专业方向,职业和兴趣等,将极大的促进用户初始查询理解的准确性和全面性。
另外,对用户网络使用的日志分析,也能提供准确的用户网络行为,从而为用户信息需求分析提供重要依据。
综上所述,对个性化搜索引擎的实现的研究,将成为近段时间研究的重点和突破点。
1.2传统WWW信息检索服务的特点
基于WWW的信息检索服务是Interent最主要的功能之一,用户只要拥有一台接入Interent的计算机就可以在网上遨游,检索几乎任何方面的知识。
但是由于技术或者理念的原因,这种信息检索服务也存在诸多缺点:
[4]
(1)传统WWW信息检索是“提问──搜索”方式,通过一种简单的操作界面接受用户的提问,再把搜索到的结果返回给用户。
缺点:
对于所有用户给出同样的关键字得到的检索结果都是一样的,不能根据不同的用户的兴趣爱好给出相应的建议。
(2)用户的兴趣的状态信息没有保留下来,用户每次查询是相互独立的。
(3)网上WWW服务器一般使用公共网关接口(CommonGatewayInterface,CGI)来查询数据库,CGI结构简单形式单一,不能和用户进行很好的交互,很难根据用户的反应调整检索策略。
(4)CGI程序与后数据库耦合度圈套,不易移植,导致多个数据库之间无法互操作。
提高查全率和查准率一直是网上检索系统追求的目标,但是传统的检索模型却同时被不准确、完全的查询结果和不一致的文档相关性所困扰。
出现这种矛盾的主要原因是现存的信息服务模式及相应的服务支持技术不能满足海量信息环境和多样化客户需求的要求。
现有的信息服务模式的主要特征是信息服务方是被动式服务,即信息的所有者(如情报所)拥有大量的信息,被动地等待信息使用者的访问,并且对信息使用者历史资料也不保留或未加以分析利用。
信息使用者(如高新技术企业、高等院校、研究机构等)也是被动地使用信息,通常是在项目立项、鉴定、技术攻关等特定时期,有信息检索需求时,才自己去检索资料。
为解决上述问题,必须改进服务模式,改变过去的被动服务方式,采用主动信息服务。
1.3主动信息服务的必要性
在当今信息社会,主动信息服务系统有很重大的意义。
首先是重大的社会意义。
对于企业而言,他们必然要关心竞争对手、合作伙伴、市场变换等企业外部环境,因此,及时高效地获得企业所需信息是企业提高效益的前提之一;对于高等院校或研究机构而言,及时把握科技发展新动态,获取最新的、来自世界围的和自己所感兴趣的情报信息,经常进行课题查新,可促进其研究走在科学研究的前列。
主动服务信息系统必将推动情报机构信息服务的水平,会为企业、高校、研究机构及科技工作者个人及时地提供最新理论、技术、产品、发展新动向,会逐渐增强他们的科技竞争力,从而推动科技、产业的发展,最终对经济、文化发展产生重要影响。
其次是将产生直接经济效益。
直接经济效益体现在两个方面:
对信息服务机构而言,现在信息大多是有偿使用,组织或机构用重金购来的信息资源,只有在为社会提供更多的有效服务时,才能节约资金、减少浪费,因此为了信息服务机构的自身发展,必须改变被动服务模式,选择主动服务模式;对信息使用者而言,及时的信息服务会为信息的使用者带来相当多的直接经济效益。
[5]
发现有用户需求的信息时,应当能自动将信息通过Interent等方式,运用信息推送(Push)方法,及时将信息发送给用户。
于是基于Push技术的主动信息服务模式被提出来并用于实践。
主动推送服务是通过HTTP、FTP传输协议,在获取了挖掘或是定制的用户需求后,定期主动传送用户需信息的计算机通讯技术。
可以由Agent完成信息的推送,也可以也通过Email和人工参与的主动信息推送等。
1.4主动推送信息服务系统原理
主动推送技术(Push)是1996年底在美国兴起的一项新的网上信息获取技术。
这种方式通常需要一个中间的服务模块用来搜集、分类、整理将要推送出去的信息容,并将信息推送出去。
用户可以先行向系统注册兴趣信息,以后用户登录时,系统自动利用搜索引擎检索与用户相关的兴趣信息并存入索引数据库。
使用这种Push技术可大大提高用户获取信息的能力,如用户可根据自己的兴趣信息进行修改与删除,希望每天能收到他感兴趣的信息,而不像报纸样包含很多个人不感兴趣的信息,从而满足了网上信息服务的个性化和主动性要求。
这种主动推送信息服务系统原理可以用图1来表示。
[6]
图1主动推送系统结构意图
该系统采用Browser/Server(浏览器/服务器)结构。
浏览器端用户工作分为:
用户向系统提交自己需要的信息特征。
服务器端的工作包括两部分:
一部分是搜索引擎自动根据用户信息特征从因特网上搜索信息并将信息写入索引数据库;另一部分是从用户注册系统中取得用户的个性特征建立用户特征数据库。
与传统的信息检索机制不同,我们设计了一个用户特征识别模块,将用户的特征值与检索的结果结合起来进行相关性判断,提供更高精度的检索结果。
由主动推送信息服务系统的结构图可以看出,要实现主动推送功能最重要的模块之一是将索引数据库与用户特征库进行相关性判断。
在本文中,我们采用了向量空间模型来实现这一功能。
我们将在以后的章节中介绍向量空间模型的原理与实现技术。
1.4Web信息自动推荐系统的设计目标
Web信息自动推荐系统是基于主动推送机制而实现的,具体实现:
用户可以注册兴趣信息然后提交,则以后系统打开时自动利用搜索引擎搜索相关信息,最后利用向量空间模型检索出用户比较感兴趣的信息。
在WindowsXP环境下利用Eclipse3.1+Myeclipse4.1+Tomcat5.0+j2sdk5.0搭建J2EE开发环境,用MySQL数据库做后台完成一个基于B/S模式的Web信息自动推荐系统。
2开发工具及关键技术介绍
2.1Eclipse(MyEclipse)
2001年11月IBM宣布捐出了价值4千万美金的开发软件给开放源码的Eclipse项目。
如此受青睐的Eclipse是什么样子呢,如何使用呢?
通过介绍将会使你对Eclipse有一个初步的认识。
并且,Eclipse这个号称未来能进行任何语言开发的IDE集大成者,又将如何实现它的这一宏伟目标?
其次介绍的Eclipse3.1的特性。
[7]
Eclipse是替代IBMVisualAgeforJava(以下简称IVJ)的下一代IDE开发环境,但它未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。
目前,Eclipse已经开始提供C语言开发的功能插件。
更难能可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。
也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出现。
同时可以通过开发新的插件扩展现有插件的功能,比如在现有的Java开发环境中加入Tomcat服务器插件。
可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。
Eclipse3.1的新特性:
(1)速度更快,效率更高。
我们打开Eclipse3.1一看,包括启动,开发的速度都比3.0快很多了,我大约测试一下,同一个环境下,比3.0启动快了几十秒。
(2)组件功能更强大,并带有非常强大图形编辑功能,支持可视化的Applet,Swing,AWT等图形组件的开发。
(3)支持EJB3.0。
(4)支持UML2.0,并带有UML2.0模型编辑器。
(5)带有商业智能的报表项目和报表开发。
(6)支持新版的AOP插件用于可视化的开发AOP应用程序和调试AOP的应用程序。
(7)不像3.0一定需要JDK5.0的JRE,它只需要JDK1.4.1以上就可以了。
MyEclipse为Eelipse开发J2EE提供的一个整合开发环境,可以开发Web,EJB,Java运用程序等。
它为Eclipse提供了一个大量私有和开源的Java工具的集合,这解决了各种开源工具不一致的缺点。
2.2Java(JSP、J2EE)
2.2.1Java
Java是一种简单的、面象对象的、分布式的、解释的、键壮的、安全的,结构的、中立的,可移植的、性能很优异的、多线程的、动态的语言。
目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。
最初Java当时仅仅被用来为制作一些动态应用,诸如动画图片之类,但这仍然引起了很多Web开发者们的注意,他们非常渴望有一种安全的语言,可以在静态的HTML网页上制作动画图片。
Sun最终把Java集成到NetScape浏览器。
同时因为它具有“只写一次,随处运行”的特性,而引起了很多开发者的注意,他们可以再也不用为了使程序能够在不同型号的硬件上运行而耗费大量的时间来编译代码了。
[8]
J2SE5.0(代号ProjectTiger)于2004年9月底发布。
它是Java平台标准版多年来的重大更新之一。
Java社区为其新增功能欢呼不已,然而这些新增功能还无法全面地描述此版本的特色。
与以往任何版本相比,这一平台更能满足高水平的测试要求,更适合于任务关键型产品的开发。
Java特点有如下:
(1)平台无关性
平台无关性是指Java能运行于不同的平台。
Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
使用Java编写的程序能在世界围共享。
Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
(2)安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。
Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,存由操作系统分配,这样可以避免病毒通过指针侵入系统。
Java对程序提供了安全管理器,防止程序的非法访问。
(3)面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。
程序员只需把主要精力用在类和接口的设计和应用上。
Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
在Java中,类的继承关系是单一的而非多重的,一个子类只有一个父类,子类的父类又有一个父类。
Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
(4)分布式
Java建立在扩展TCP/IP网络平台上。
库函数提供了用HTTP和FTP协议传送和接受信息的方法。
这使得程序员使用网络上的文件和使用本机文件一样容易。
(5)键壮性
Java致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出现的错误。
Java可以自己操纵存减少了存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能。
这些功能特征大大提高了开发Java应用程序的周期。
2.2.2JSP
在介绍JSP之前,我们先看看Servlet。
Servlet是也是Sun公司推出的,它提供的功能包含了CGI(CommonGateWayInterface)之类的功能,它相对于在Clent端执行的Applet。
发展至今,ServletAPI的最新版本为2.4。
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
该技术为创建显示动态生成容的Web页面提供了一个简捷而快速的方法。
JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。
JSP规是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
程序片段可以操作数据库、重新定向网页以及发送 Email 等等,这就是建立动态所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。
JSP技术是能够让网页人员轻易建立起功能强大、有弹性的动态容。
类似其他的技术标准,如ASP、PHP或是ColdFusion,等等。
[9]
JSP技术有下列优点:
(1)将容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来生成页面上的动态容。
生成容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响容的生成。
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的容,并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 信息 自动 推荐 系统 设计 毕业论文