基于社会计算的个性化推荐系统的设计
时间:2014-01-11 16:01
来源:发表吧
作者:詹茂森
点击:
次
摘要:基于社会计算的个性化推荐系统是为了实现根据用户的需求和兴趣为用户推荐出有价值的结果集,使用户能够在更短的时间获取到自己想要的信息。然而,该系统的数据采集与推荐模块的设计,直接关系到信息的质量,该文以新浪博客网页作为数据采集对象,简述了系统的设计过程,实现了系统的推荐功能。
关键词:个性化;采集;推荐
中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)36-8222-03
基于社会计算的个性化推荐系统的设计,主要以新浪博客网页作为数据源来采集设计的,继而为其网页文档信息创建索引。主要模块包括网页文本信息采集,lucene索引库,搜索推荐主干,系统管理等。
为了实现网页文档信息的自动采集功能,本系统将采集模块设置了后台管理参数,来实现信息的自动"爬虫"功能,而为了使推荐模块能够基于用户的信息关键词来搜索并提高效率,就必须实现用户信息的即时搜索和反馈推荐功能。其详细设计如下:
1系统流程分析
1)系统业务处理流程:首先,管理员利用爬虫进行数据的采集,并将采集到的数据(博客网页文档)存储进入本地数据库。采集完成即可对数据库中的文档建立索引。用户登录系统前台输入关键词进行搜索之后,服务器下达命令于搜索引擎,进行搜索并且对与关键字相关的数据进行协同过滤,最后推荐出用户感兴趣的信息,其处理流程如图1示,系统业务流程分析图。
2)系统数据处理流程:管理员登入系统后台爬虫参数设置界面,设置好采集数据参数,进而在数据采集页面进行抓取网页文档,在数据采集完成之对采集到的数据建立索引,其中包括博文的题目、作者、采集时间等。用户登录系统前台主页,输入搜索的数据,即关键词进行搜索,程序服务器往后台数据库发送命令,数据库返回协同过滤后的搜索结果给程序服务器,再完成所搜索到的博文以及其作者的反馈推荐。其处理流程如图2示,系统数据流程分析图。
2系统概要设计
1)系统概念结构设计:概念结构设计就是根据需求分析的结果,以规定的方法将其转化为一个概念数据模型。而概念数据模型,是根据系统的需求点来对数据和信息进行建模,采用E-R关系图来描述。其系统总体E-R图,如图3示。
2)系统数据库设计:本系统选用Mysql数据库。从个性化推荐系统的功能需求点出发,在系统中设计了采集信息配置表(如图4示)、信息推荐表等数据库表(如图5示),可以准确有效地存储采集到的数据。
3)安全性设计:为了系统安全,采用身份和密码双重登陆验证机制,来确保系统后台管理只有管理员能够才能够登陆,进行爬虫参数设置、数据采集、索引建立以及采集信息查看等操作,保证了系统数据的安全性。
此外,还加设了数据库的安全工具策略,如对数据库中表字段或内容的编辑功能等操作,需要特定的数据库管理工具配合才能进行,从而进一步提高数据的安全性。
3系统详细设计
1)系统功能结构设计:根据系统概要设计,将本系统分为前台交互和后台数据处理,由四个模块共同组成:爬虫采集网页文档和信息、lucene索引的创建,以及操控数据库、搜索主干、前台输入输出处理。各个模块分工协作运行。其系统功能结构如图6示。
本系统管理和界面设计,包含了前台和后台相联构建的内容,采用了EclipseTomcat服务器和JSP技术。以lucene创建索引,数据库应用了mysql,并使用JDBC来实现编程的友好交互,从而设计出友好的用户界面。此外,在整个系统的设计上,采用了B/S三层体系结构(如图7示)。管理员使用网页浏览工具向应用服务器发送服务请求,应用服务器接收请求,并且执行业务逻辑,将操作人员想要的信息返回浏览工具显示,确保整个系统使用过程的开放性与安全性。
本系统中抓取网页文档是系统的信息数据基础,也是数据的来源,只有有了丰富的数据源,才能够提供有效的服务。因此,本系统测试过程,主要以新浪博客网页作为数据源,来抓取其页面的文本,heritrix爬虫具有良好的扩充功能,可以通过编程进行过滤来抓取另外的文本。通过采集网页的信息,来对网页中有价值的数据实行提取,过滤掉那些无作用的数据,只留下有效性的文本信息,来提高存储的利用效率,其数据采集结果主要包括该博客网页文档以及该博客的地址,博客的题目、内容、作者以及采集的时间等,如图8数据采集过程图和图9数据采集查看图所示。而搜索推荐主干同样是利用lucene实现,搜索的关键字在已经创建的索引库中搜查对应的文本。
(www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/
CSSCI核心/医学投稿辅导/职称投稿辅导。
投稿邮箱:fabiaoba365@126.com
在线咨询:
275774677、
1003180928
在线咨询:
610071587、
1003160816
联系电话:18796993035