APP下载

教学资源推荐系统的研究与设计

2016-10-18蒋漪涟刘晓丹张路通

微型电脑应用 2016年6期
关键词:相似性资源库学习者

蒋漪涟,刘晓丹,张路通

教学资源推荐系统的研究与设计

蒋漪涟,刘晓丹,张路通

为解决网络资源量增长飞速,提升用户在海量信息中检索所需教学资源的速度。将个性化推荐技术引入到了资源库,资源库能够根据用户自身的特征信息和对下载过的资源评分数据给用户推荐可能感兴趣的资源。资源库系统基于J2EE中主流SSH2框架的WEB系统进行设计,实现了一个B/S结构的教学资源推荐系统平台。

个性化推荐技术;J2EE;B/S结构;SSH2框架

0 引言

随着互联网的广泛应用,网络教育飞速发展,网络教学资源以指数级的速度增长[1]。网络的普及为每位学习者提供了随时随地获取教学资源信息的能力。然而,信息获取越来越便捷,也产生了一系列的问题。每天都有大量的图片、视频、文字等各种教学资源被不断发布到网络上[2]。随着这些信息的极速累积,学习者很难从大量信息中找到自己感兴趣的内容。

目前在大量信息中获取需要的信息的方法是采用搜索引擎[3],但是搜索引擎功能也存在缺点:一是关键字的选择在搜索过程中起到决定性作用,这种过分依赖关键字使得用户无法准确描述自己需求时大大削弱了搜索引擎的作用;二是仅仅基于关键字的信息检索在很多情况下具有很大的局限性,而大量浏览不相关信息的过程无疑会导致客户的流失,对那些没有明确需求的用户,搜索引擎更是无能为力。对于这些客户来说,最好的解决办法是有一个人或者一个自动化工具能够帮忙进行信息筛选,提出一些可行的建议以供其选择[4]。这时候,应用推荐系统效果更好。推荐系统是利用用户的一些行为,通过一些数学算法将不同的资源内容推荐给可能感兴趣的用户[5]。

本系统是一个B/S结构的基于web的资源库系统。主要包括管理员用户和学生用户,管理员用户主要功能有资源创建、资源维护和资源审核;对于学生用户主要有资源学习和获得推荐资源。对于学生用户可以从3个维度来搜索资源:第一可以通过项目创建者的信息来搜索某个项目下的所有资源;第二可以根据某个学科分类来搜索某个学科分类下的所有资源;第三可以根据关键字搜索被此关键字标记的所有的资源。在搜索资源时系统能够根据用户自身信息和以前下载过的资源信息给用户提供个性化推荐,这些个性化推荐是根据用户自身信息,包括年级、专业、学院等自身信息和用户下载过的资源信息提取出的特征矩阵做出的基于用户的个性化推荐。

1 资源推荐算法

1.1基于用户的协同过滤推荐算法

基于用户的协同过滤推荐算法的基本思想是通过获取用户兴趣,对用户之间的相似度进行计算,将与目标用户相似度最高的N个用户组成集合,即邻居,然后通过分析邻居对某项资源的评分来预测目标用户对该资源的评分,最后给用户推荐资源中预测评分最高的若干项。由于用户对资源的评分可以很大程度上反映用户对资源的偏好程度,因此可以认为最后为用户呈现的资源很有可能就是用户感兴趣的资源集合。

基于用户的协同过滤推荐算法包含3个步骤:①获取用户兴趣;②计算用户之间相似度,找到和目标用户兴趣相似的用户集合;③找到这个集合中的用户喜欢的,且目标用户没有听说过的资源推荐给目标用户。

1)形成用户项目评价矩阵

用户-项目评价矩阵是一个Rm×n的矩阵,如公式(1):

其中,行代表共有m个用户,列代表共有n个项目。矩阵中第i行第j列的元素Rij表示第i个用户对第j个项目的评分。评分通常用正整数表示(例如1-5分),代表用户对项目的喜好程度。

2)计算用户相似度,产生邻居

根据用户对项目的偏好程度来计算用户相似度,最终产生一个不包含目标用户的邻居集合N={N1,N2,…,Nk}。以下介绍两种最常用的计算相似度的算法:

(1)余弦相似性算法

将用户评分看成n维项目空间向量。如果用户对某一项目没有评分,则将评分设为0。使用空间向量间夹角的余弦值表示用户i和用户j的相似度,值越大两个用户间的相似程度越高。设用户i和用户j的评分向量分别是i和,则用户间的相似度为公式(2):

(2)Pearson相似性算法

Pearson相似性算法通过计算Pearson相关系数得到用户间的相似性。设Iij=Ii∩Ij表示用户i和j共同评过分的项目集合,则用户的相似度Sim(i,j)为公式(3):

其中,Ri,k、 Rj,k表示用户i和用户j对项目k的评分,、分别表示用户i和用户j对项目k的平均评分。

计算出用户间的相似性Sim(i,j)后,找出与目标用户具有最高相似性的前k个用户集合U作为其邻居,即U={U1,U2,…,Uk}

3)产生推荐

得到了目标用户的最近邻居集合U,可以预测用户对项目的评分Pu,i如公式(4):

最后,将预测值最高并且用户未评分的N个项目作为推荐集推荐给用户。

1.2基于项目的协同过滤推荐算法

基于项目的协同过滤推荐算法的基本思想是通过分析用户的行为来计算项目之间的相似度,给用户推荐那些和他们之前感兴趣的项目相似的项目。

由此可知,基于项目的协同过滤推荐算法包含3个步骤:①获取用户兴趣;②计算项目之间的相似度;③根据项目的相似度和用户的历史行为给用户生成推荐列表。其中,形成用户-项目评价矩阵与基于用户的协同过滤推荐算法相同。

1)计算项目之间相似度

(1)余弦相似性算法

将项目看作m维用户空间上的向量,项目i和项目j之间的相似性通过向量间余弦夹角来计算,余弦值越大,两个项目的相似度越高。项目的相似性为公式(5):

(2)Pearson相似性算法相似性算法

设对项目i和项目j都评过分的用户集合为Uij=Ui∩Uj,则项目的相似性Sim(i,j)为公式(6):

其中Rk,i表示用户k对项目i的评分,Rk,j表示用户k对项目的j评分,、分别表示用户对项目i和项目j的平均评分。

通过以上计算,得到目标项目与其他项目之间的相似度,然后取相似度最高的k个项目作为其相似项目集。

2)产生推荐

使用权重求和的方法来计算用户对相似项目的预测评分,从而产生推荐。目标用户u对项目i的预测评分为Pu,i如公式(7):

其中,Si,n表示项目i与项目n的相似度,Ru,n表示用户u对相似项目集中项目n的评分。

1.3基于用户的协同过滤与基于项目的协同过滤算法比较

基于用户的协同过滤是将那些和目标用户有共同兴趣爱好的用户喜欢的资源推荐给目标用户,而基于项目的协同过滤是将那些与目标用户之前感兴趣的资源类似的资源推荐给目标用户。由此可知,基于用户的协同过滤的推荐结果着重于反映和用户兴趣相似的小群体的热点,而基于项目的协同过滤的推荐结果着重于维系用户的历史兴趣。

1.4学习者兴趣模型的建立

学习者在使用推荐系统前首先要进行注册,其目的是一对学习者的身份进行验证,从而有利于对学习资源的安全保护;二通过注册信息可以获取学习者的基本兴趣偏好,有利于后续的学习资源的推荐。本系统将通过学习者信息表和学习行为记录表来获取学习者信息。学习者信息表主要记录学习者注册过程中所填写的基本信息,从而得到学习者偏好的显性信息;学习行为记录表主要记录学习者对学习资源的点击、收藏、修改、下载等的行为,从而得到学习者偏好的隐性信息。具体表设计如表1和表2所示:

表1 学习者信息表

表2 学习行为记录表

本系统采用学习者-资源评价矩阵来表示学习者对学习资源的偏好程度。设学习者群体为P={P1,P2,…,Pm}其中,Pi表示在推荐系统中注册过的一般学习者。设学习资源集合为R={R1,R2,…,Rn}其中,Rj表示推荐系统中己有的某个学习资源。矩阵中的Dij表示学习者Pi对学习资源Rj的感兴趣程度。评价矩阵为公式(8):

设Dij满分为10分,当学习者对学习资源没有行为记录时,Dij=0,当有行为记录时,Dij的分值如公式(9):

其中,SCij表示评分的具体分数,满分为5分;CKij表示学习者i对资源j的点击行为;CTij表示收藏行为,DLij表示下载行为,ETij表示编辑行为,CMij表示评论行为,当触发该行为时,其值为1。

1.5向学习者推荐泛在学习资源

1)学习者相似度计算

本系统使用Pearson相似性算法计算学习者相似度。设Rij=Ri∩Rj表示学习者i和j共同评过分的学习资源集合,Dj,k表示学习者i对资源k的评分,和分别表示学习者i和学习者j对资源的平均打分,则学习者的相似度Psim(i,j)为公式(10):

2)学习资源相似度计算

同样使用Pearson相似性算法计算学习资源间的相似度。设Pij=Pi∩Pj表示对资源i和资源j都评过分的学习者集合,Di,k表示学习者i对资源k的评分,和分别表示学习者i和学习者j对资源的平均打分,则学习资源的相似性Rsim(i,j)为公式(11):

1.6产生推荐

对于首次登录的学习者,系统将为他们推荐最热门的资源。对于其他学习者,釆用基于用户的协同过滤与基于项目的协同过滤相结合的方式进行推荐,最后将分别计算出的最高的N/2个学习资源推荐给学习者。

关于基于用户的协同过滤推荐算法:首先利用以上学习者相似度计算得到与目标学习者具有最高相似性的前k个学习者集合U作为其邻居,即U={U1,U2,…Uk},之后预测学习者u对资源i的评分Dui如公式(12):

关于基于项目的协同过滤推荐算法:首先利用以上学习资源相似度计算得到与目标资源具有最高相似性的前k个资源集合I作为其邻居,即I={I1,I2,…Ik},之后预测学习者u对资源i的评分Dui如公式(13):

其中,Rsim(i,j)表示资源i和资源n之间的相似度,Ru,n表示学习者u对资源n的评分。

2 系统的设计与实现

2.1资源库总体框架设计

资源库采用B/S架构,整个系统的框架图如图1所示:

图1 资源库系统框架图

一共分为4层。从下往上分别是:实体层,DAO层,服务层,WEB层。其中DAO层,服务层和WEB层3层之间是有交互,上层可以调用下层的服务,下层可以将数据返回给上层。

实体层主要是用来封装整个资源库系统的数据,包括从前台页面传到WEB服务器的表单数据和WEB服务到数据库映射的数据。从客户端到WEB服务器的数据传递需要在控制器中定义对应的POJO变量,并且为这个变量提供对应的get和set方法,这样Struts2能够将客户端表单中的数据传递给控制器对应POJO对象中对应的属性。从WEB服务器到数据库之间的数据传递,主要是通过为数据库中的每一个表定义一个对应POJO的对象,然后在Hibernate的配置文件中配置一个POJO与数据库表之间的映射关系,这样能够通过POJO在WEB服务器和数据库之间传递数据。这层是整个系统数据交换的基础,所有层的数据交换都是使用实体层封装好的数据。

服务层是整个系统的业务处理层,主要负责处理业务逻辑。控制器每收到一个请求,就会调用服务层的对应的处理方法,Service接收到处理任务后,会调用DAO层的方法,并且完成请求需要的逻辑运算,最后将返回的数据传递给WEB层的控制器。服务层是整个资源库系统的大脑,所有的复杂逻辑都写在这层。

DAO层是服务器和数据库之间的桥梁,经过WEB服务器处理过的数据经过DAO层持久化到数据库,数据库中的数据经过DAO层传到WEB服务器。为了优化资源库对数据库的操作,资源库系统的DAO层釆用了Hibernate框架。该框架提供了一个数据库连接池,系统每次启动时会根据Hibernate的配置文件建立一定数量的数据库连接,这些连接放在连接池中。每次需要建立数据库连接的时候不需要再建立,而是从连接池中取出一个数据库连接,用完后再放回连接池中。这种连接池的模式避免每次都由于连接的建立和释放消耗过多的资源。

2.2教学资源推荐系统平面设计

教学资源推荐系统功能模块设计如图2所示:

图2 系统功能模块图

学习资源推荐系统分为两大模块:资源管理者模块和学习者模块。资源管理者模块包括资源创建、资源维护、资源审核三大部分,资源审核又包括对学习资源的审核及对习题的审核;学习者模块包括获得推荐、资源学习、退出三大部分,而资源学习又包括资源信息、学习内容、进入练习、评论评分、返回五小部分。

3 总结

本系统采用J2EE中主流的SSH2框架设计、实现一个B/S结构的基于web的教学资源推荐系统。通过基于用户的协同过滤算法与基于项目的协同过滤算法将个性化推荐技术引入到了资源库,资源库能够根据用户自身的特征信息和对下载过的资源评分数据给用户推荐可能感兴趣的资源,以便用户在海量的教学资源库中迅速找到自己所需的资源。

[1] 张琳.终身教育视角下开放大学数字化资源建设[J].职教论坛,2014年(24):47-51

[2] 章伟民,徐梅林.全球视阈中的教育技术:应用与创新[M].上海:华东师范大学出版社,2006,8.

[3] 陈世平,周福华,俞海.面向领域的个性化智能检索系统的研究与幵发[J].小型微型计算机系统,2009,11

[4] 刘建国,周涛,汪秉宏.个性化推荐系统的研究进展[J].自然科学进展, 2009, 19(1):4-10.

[5] 杨炎,孙铁利,邱春艳.个性化推荐技术的研究[J].信息工程大学学报.2010,6.

Research and Design of Teaching Resources Recommendation System

Jiang Yilian1, Liu Xiaodan1, Zhang Lutong2
(1. Department of Computer and Information Management, Shanxi Business College, Xian 710119,China;2. Department of Business Administration, Shanxi Business College, Xian 710119,China)

In order to solve the rapid growth of network resources and enhance users' speed of teaching resources in massive information searching, the personalized recommendation technology is introduced into the resource database, which can be recommended by the users according to their own characteristic information and the downloaded resources. Resource library system based on J2EE SSH2 framework of the mainstream WEB system is designed to achieve a B/S structure of the teaching resource recommendation system platform.

Personalized Recommendation Technology; J2EE; B/S Structure; SSH2 Framework

TP311

A

1007-757X(2016)06-0018-04

2016.02.20)

陕西省教育厅2015年研究课题(15JK1060);陕西工商职业学院2013年度科研项目(13G-04-A02);陕西广播电视大学2013年度科研项目(13DJ-B27)

蒋漪涟(1970-),女,西安人,陕西工商职业学院,计算机与信息管理系,副教授,硕士,研究方向:计算机网络技术、信息技术,西安,710119

刘晓丹(1982-),女,汉,西安人,陕西工商职业学院,计算机与信息管理系,讲师,硕士,研究方向:计算机网络技术、信息技术,西安,710119

张路通(1974-),男,汉,徐州人,陕西工商职业学院,工商管理系,副教授,研究方向:信息技术,西安,710119

猜你喜欢

相似性资源库学习者
一类上三角算子矩阵的相似性与酉相似性
健身气功开放课程资源库建设研究
浅析当代中西方绘画的相似性
你是哪种类型的学习者
十二星座是什么类型的学习者
青年干部要当好新思想的学习者、宣讲者、践行者
数控加工专业资源库建设中存在问题及对策
基于共享资源库的混合式教学考核模式研究
高中历史信息化教育资源库应用探索
低渗透黏土中氯离子弥散作用离心模拟相似性