基于协同过滤技术的在线学习个性化推荐系统研究

2018-03-21 09:27谢修娟朱林郑英李旭
电脑知识与技术 2018年3期

谢修娟 朱林 郑英 李旭

摘要:为促进高校信息技术与教育教学的深度融合,提出通过构建在线学习系统开展网络学习,将传统的线下课堂学习与线上学习结合起来,实现混合式学习。以MyEclipse作为开发平台,Sql Server作为数据库,采用基于SSH框架(struts2+spring+hibernate)的三层架构思想,结合协同过滤算法,实现了在线学习个性化推荐系统。实践证明,该系统能提高学习者个性化自主学习的兴趣,提升学习效果。

关键词:在线学习系统;协同过滤;个性化推荐;自主学习

中国分类号:TP301 文献标志码:A 文章编号:1009-3044(2018)03-0173-02

Abstract: In order to promote the deep integration of information technology and education in Colleges and universities, we propose to build online learning system to carry out online learning, and combine traditional offline classroom learning with online learning to achieve blended learning. Taking MyEclipse as the development platform, Sql Server as database, and adopting the three tier architecture Based on SSH framework (struts2+spring+hibernate), the online learning personalized recommendation system is implemented combining with collaborative filtering algorithm. The practice has proved that the system can improve the learner's interest in individualized self-study and improve the learning effect.

Key words: online learning system; collaborative filtering; personalized recommendation; autonomous learning

1 背景

随着计算机网络通信技术的发展,高校的传统课堂教学方式面临着前所未有的挑战,在线学习作为教育信息化的一种产物,可以最大限度地利用网络教学资源,学习者在学习过程中不受时空限制,能随时随地根据自身需要进行自主学习[1]。这种新型学习形式越来越受到各大高校的青睐,将其与传统课堂学习有效融合,实现混合式教学[2]。但与此同时存在一个问题,在线学习平台提供了大量的学习资源,不仅资源种类多,同一种类的相似资源数量也很多,学习者无法辨别资源的优劣,无法准确找到适合自己的资源。

目前的在线学习系统中,采用比较多的推荐技术有[3]:第一,TOP推荐,将点击率最高的前N各资源推荐给学习者;第二,关键词检索技术,将与关键词匹配度最高的资源推荐给学习者;第三,最新资源推荐技术,将最新的资源第一时间推荐给学习者。这三种传统方法均属于被动式推荐,无法根据学习者偏好特征主动推送其感兴趣的学习资源,且推荐的资源质量无法得到保证。鉴于此,本文将协同过滤技术引入在线学习系统的资源个性化推荐中,从学习者自主学习的角度构建满足学习者个性化需要的在线学习个性化推荐系统。

2 协同过滤推荐技术

协同过滤技术,在1992年由Goldberg,Oki,Nichols提出[4],是个性化推荐系统中广泛使用的一种推荐技术,基本原理是:根据用户对项目的评分数据,计算目标用户/项目与全体用户/项目的相似度,建立近邻用户/项目,再由近邻集预测目标用户对未知项目的评分从而产生推荐集。根据聚焦点的不同(用户或者项目),协同过滤技术分为基于用户的协同过滤和基于项目的协同过滤[5],本文采用的是前者。基于用户的协同过滤方法的算法过程如图1所示, 首先通过计算用户间的相似度,找到当前用户的近邻集,然后根据近邻对项目的评价,预测当前用户对未知项目的评分,筛选出评分最高的前N项,即产生Top-N 推荐集。

用户相似度的计算多采用余弦相似度方法,将用户u和v看作是项目空间上的向量,通过计算两个向量间的夹角余弦来度量用户间的相似性,计算公式如下:

式(1)中,u和v代表兩个用户,sim(u,v)表示用户间的相似性,表示用户u和v共同评分过的项目集,和 分别表示用户u和用户v对项目i的评分, 和 分别表示用户u和v对所有已评分项目的平均评分。

用户u 对项目i的预测评分记为Pu,i,计算公式如下:

其中,Neighbor为近邻集,分别表示用户u和用户v对所有已评分,用户v对项目i的评分,sim(u,v)表示用户u和v间的相似性。

3 基于协同过滤技术的在线学习个性化推荐系统

3.1 系统功能模块设计

基于协同过滤技术的在线学习个性化推荐系统,主要有五个功能模块,分别为用户管理、课程动态管理、课程资源管理、互动交流和个性化推荐,如图2所示。“用户管理”模块主要负责用户的注册、登录、权限设置、个人账号维护等 ;“课程动态管理”模块主要包括管理员动态地新建一门课程、删除一门课程、课程资源的上传和修改等;“在线学习”模块包括在线观看视频、资源下载、在线测试、资源评价等;“互动交流”模块实现了学习者之间,以及学习者与教师之间,通过论坛的方式互动交流;“个性化推荐”模块主要负责为学习者个性化地推荐学习资源。

3.1 系统功能实现

系统所使用的开发工具为MyEclipse,开发语言为Java,数据库为Sql Server。系统采用基于SSH框架(struts2+spring+hibernate)的三层架构思想。View(视图层)对应系统的一些交互界面,包括reg.jsp(注册界面)、index.jsp(系统主界面)、resourceMa.jsp(课程资源管理页面)、courseMa.jsp(课程管理页面)、courseCom.jsp(课程学习评价界面)、topic.jsp(互动交流界面)等。Dao(数据处理层)对应HibernateSupportDao.java类,该类依赖于Hibernate的对象化映射和数据库交互,包括保存数据、更新数据、删除数据、根据ID查询单条数据、查询所有数据、查询规定数目的数据、执行sql查询等操作。Service(业务逻辑层)对应系统的一些业务处理类,有UserSer.java(用户管理类)、ResourceSer.java(课程资源管理类)、CourseSer.java(课程管理类)、CourseComSer.java(课程学习评价类)、TopicSer.java(互动交流类)等。

3.2 协同过滤算法应用

学习者开始课程学习后,系统会根据学习者的学习行为特征,采用基于用户的协同过滤算法,根据相似学习者的兴趣爱好一致性,为当前学习者提供个性化的推荐。算法的应用过程主要分为四步进行。

第一步数据采集,应用于挖掘的基础数据来源于数据库,主要有4张数据表:学习者信息表、课程信息表、课程学习资源表、资源评价表和学习行为记录表。

l 学习者信息表:存放学习者的个人信息,字段包括学习者ID、姓名、密码、角色等。

l 课程信息表:存放课程的相关信息,字段包括课程ID、课程名称、发布时间、课程负责人等;

l 课程学习资源表:存放课程的学习资源信息,字段包括资源ID、资源名称、上传者、上传时间、资源类型、课程ID等;

l 学习行为记录表:存放学习者在学习过程中产生的学习行为数据,字段包括ID,资源ID,是否下载、是否收藏、评价内容、分数、学习者ID等;

第二步构建学习者-学习资源评分矩阵,其是一个m行n列的矩阵,代表m个学习者,n个学习资源,矩阵的每一个行列值是学习者对学习资源的评分,考虑到学习者在线学习时较少对学习资源主动打分,会造成矩阵数据稀疏性问题,从而制约推荐质量。本文采用主动评分和被动评分相结合的综合评分机制,主动评分是指学习者直接给资源的打分,被动评分是根据学习者的学习行为数据,转换而得的隐式评分。主动评分可以从学习行为记录表获得,缺省值为0,被动评分是依据学习行为记录表中的是否收藏、是否下载、评价三个行为,对照表1所得到的分数。最后将主动评分和被动评分求平均值,得到最终评分。

第三步形成近邻集,根据公式(1)计算每个学习者与当前学习者的相似度,并从中选出相似度最大的前K个学习者,作为当前学习者的近邻集。

第四步产生推荐集,通过近邻集对学习资源的评分,使用公式(2)预测当前学习者对未知学习资源的评分,并选取评分较大的前若干项资源推荐给当前学习者。

3.3 系统运行效果

学习者进入系统后的主页效果如图3所示,通过页面上方的导航栏,可以检索系统中的课程信息,查看并使用课程资源信息、进入互动交流区等,页面的右方有一个性化学习资源推荐版面,如果当前学习者有历史学习记录,该版面将会依据其学习兴趣爱好,为其推荐适合的学习资源;如果当前学习者是新用户,还没有历史学习记录,则为其推荐热度最高(综合收藏率、评价率和下载率)的资源。

4 结束语

在线学习系统的构建,对于学校的课程资源建设、教育教学改革具有重要意义。基于协同过滤技术的个性化资源推荐服务可以提高个性化学习支持服务的水平,提高系统资源的利用率,目前该系统已在东南大学成贤学院进行小范围试点,从反馈结果来看,能提高学习者个性化自主学习的兴趣,提升学习效果。

参考文献:

[1] 黃海. 高校数字化学习建设和应用推广研究——以中山大学数字化学习“115”模式为例[J]. 现代教育技术, 2013, 23(4):56-63.

[2] 陈瑞增. 信息化环境下高校混合式学习探索与实践[D]. 武汉: 华中师范大学, 2014.

[3] 王永固, 邱飞岳, 赵建龙, 等. 基于协同过滤技术的学习资源个性化推荐研究[J]. 远程教育杂志, 2011(3):66-71.

[4] Goldberg D, Nichols D,Oki.Using collaboration filtering to weave and informaiton tapestry[J]. Communicaitions of the ACM, 1992, 35(12):51-76.

[5] 冯勇, 李军平, 徐红艳, 等. 基于社会网络分析的协同推荐方法改进[J]. 计算机应用, 2013, 33(3):841-844.