张节兰,李小兰
(鹰潭职业技术学院,鹰潭 335000)
基于协同过滤的高校推荐选课系统的设计与实现
张节兰,李小兰
(鹰潭职业技术学院,鹰潭 335000)
为了克服学生在选课过程中的盲目性,高校在考虑学生专业、偏好以及学习程度等方面的基础上,普通使用选课系统为学生推荐适用课程.但目前的高校选课系统中缺乏个性化课程、选课效率过低,本文提出了一种基于协同过滤的高校推荐选课系统的设计与实现.经过实验表明,该系统完全能够解决选课系统的个性化推荐问题,在增强课程资源利用率的基础上,极大的调动了学生的学习兴趣,并进一步提高了高校学生的选课质量.
协同过滤; 高校选课推荐系统; 数据挖掘
随着教育改革的不断深入,高校在学生专业化课程的选择上开始逐步考虑学生的实际需求,课程自由选择扩大了学生的学习空间,同时提高了学生学习兴趣.选课制度在高校改革中的重要性也引起了高校师生的广泛关注,高校选课制度的设计与实现需要结合学生教育理念进行.自从高校打破传统教育模式,实行学分制与选课制后,学生的学习兴趣也有了明显的提高,由此可见,选课模式的建立将有利于高校教育的发展.因此,高校应当着重提高选课系统的质量,根据学生的专业需求与兴趣偏好为学生提供个性化的选课推荐,从而提高学生选课的适用性,并进一步完善选课质量和课程资源利用率[1].但就目前高校的推荐选课系统发展技术而言还存在着诸多的问题,如数据不全面、推荐课程不合理等.这些都极大的制约了高校课程教育的改革与发展,如何构造一套适用于高校的推荐选课系统也是当前教育工作者亟待解决的一大问题.
在计算机技术不断发展的今天,协同过滤技术已广泛用于计算机领域当中.协同过滤技术主要根据邻近用户的偏好信息来为目标用户推荐项目,如果某类项目的评分在一些用户群体中较为接近,则该用户群体对于其他类项目的评分也会较为相似.协同过滤技术采用的是统计计算方式来为目标用户搜索相似用户,并通过最近邻居对项目的打分相似度来预测目标用户可能感兴趣的项目评分,最终选择相似度最高的项目来作为目标用户推荐项目,并及时反馈给用户[2].协同过滤技术操作简单,数据精确度较高,并在现有协同过滤推荐系统中得到了广泛的应用.
协同过滤推荐系统是目前较受人们喜爱的一项信息过滤技术,其不仅能对过滤内容进行分析,推选出用户的兴趣偏好,还能为用户推荐可能感兴趣的资源,即时提高系统信息服务质量[3].协同过滤技术的核心思想在于利用偏好相似群体的评分为用户推荐项目资源.协同过滤技术主要分为三步进行,即构建用户、搭建项目矩阵寻找最近邻居以及产生TOP-N 推荐数据.当前技术形式下,协同过滤技术的类型主要有基于用户的协同过滤推荐、基于项目的协同过滤推荐以及基于模型的协同过滤推荐三种[4].
基于用户的协同过滤技术算法主要根据相似度进行计算,即通过对用户访问行为的相似性进行数据分析,并为目标用户推荐可能感兴趣的项目资源.基于用户的协同过滤推荐过程流程如图1所示.
图1 基于用户的协同过滤推荐过程流程图
该技术中对用户访问行为的相似度进行计算的方式主要采用了修正余弦相似性函数两种.假设用户a和用户b之间存在相似性,如以下公式所示[5]:
基于协同过滤的高校选课系统分为学生模块、推荐算法模块以及课程模块三部分,选课系统模型如图2所示,选课系统通过收集学生学习状态、选课记录、兴趣爱好等个人信息,将其进行分类并编号,再将学生模型中所包含的与课程模型中的特征属性进行相关匹配,并使用推荐算法对数据进行筛选,从而为学生提供个性化推荐的课程.
图2 推荐系统模型
高校推荐选课系统为了进一步提高学生的学习兴趣,扩展学生的学习视野,将针对学生特征进行选课系统推荐,并分为三大模块,分别为新型课程推荐、个性化课程推荐以及热门课程推荐.
(1)新型课程推荐模块
新型课程推荐模块能够将新课程推荐给学生,让学生在原本基础上选择适合自己的课程,在扩展自身视野的基础上提高对课程的兴趣度.该模块的算法首先需要生成学生属性值偏好矩阵,再将新课程的属性值进行提取并保存在课程表格中,并把学生属性值与新课程属性值进行匹配,找出相似度高的Top-N个学生,在学生选择过该课程后,将从新课程表中删除该课程记录.该算法主要采取离线方式进行.
(2)个性化推荐模块
个性化推荐模块基于属性值偏好矩阵中的最近邻居推荐之上进行计算,主要分两大部分,一是根据目标用户,通过SVD矩阵进行初始用户集中获取,以此收集学生的选课记录与评价记录,并将记录实时映射至该项目属性值当中,从而生成基础用户属性值偏好矩阵.二是针对该矩阵进行相似度计算,以此得出目标用户最近邻居集合,并通过最近邻用户选课记录进行个性化的课程推荐[6].
(3)排行榜课程推荐模块
在热门课程推荐模块中所推荐的课程分为两大类,一类是利用数理统计法进行计算,得出各课程的评价值,并对评价值众数进行排序,选择前M门课程为推荐依据来进行选课系统推荐,该推荐为M+N门课程.另一类则是根据学生在一定时间内所选课程的选择次数为依据进行课程排行,并为学生做出热门课程推荐.
推荐选课系统模块作为高校选课推荐系统中最为重要的部分,是推荐系统的核心,其基于协同过滤的推荐选课算法流程如下:
①利用数据库中的学生基本信息以及选课系统,进行学生模型搭建.
②结合学生模型以及课程信息表,搭建课程模型.
③通过系统判断学生是否有过选课记录来判定其为新用户或旧用户.
④针对已有选课记录的旧用户,若其选课记录大于三次则基于用户的协同过滤算法进行推荐,此外都采用基于项目的协同过滤推荐算法进行选课推荐.
⑤新用户的选课推荐统一采用基于属性值偏好矩阵的最近邻推荐方法.
⑥在推荐系统中采用统计算法添加热门课程与新型课程推荐两大模块.
该系统主要采用ASP.NET应用程序中的三层架构模式,通过统一接口发送数据访问请求.这三层分别是业务逻辑层、数据封装层和表现层,业务逻辑层主要完成数据处理并传到至数据封装层,数据封装层将数据封装并以对象的形式传回到表现层.本推荐选课系统共有三个子系统,分别为教师子系统、学生子系统、管理子系统.该系统的数据库包括教师表、学生表以及课程表三大基本表.
为了向学生推荐更精确的课程,本系统先建立评价矩阵,该评价矩阵能够对学生在选课过程中产生的影响因素进行分析,如学生专业水平、学习程度、兴趣爱好以及选课记录等,通过对该类信息进行分析并建立起相对应的学生项,使其与评价矩阵中的项进行对比,找出用户相似度最高的选课记录,从而完成对学生的课程推荐.高校选课推荐系统的设计主要包括建立评价矩阵、搜索最近邻居以及产生推存三部分[6].
4.1 建立评价矩阵
评价矩阵通过对学生的专业选择、兴趣爱好、学习程度以及选课记录等信息进行学生历史选课数据的收集.若需从教务系统中提取,则要注意对数据进行相应处理,使数据能够满足学生选课评价矩阵的结构,该系统评价矩阵如表1所示.
表1 协同过滤算法学生选课评价矩阵
在矩阵中Rij中,R表示评价,i表示学生,j表示选课项目.Rij的取值范围一般保持在[0,5]的区间范围内,分值大小与评价高低成正比关系.
4.2 搜索最近邻居[7]
将评价矩阵中的学生与目标学生进行相似度对比,找出相似度最高的一组学生,并建立最近邻居集合.相似度算法如下列公式所示.
4.3 产生推荐
依照以上两个步骤产生课程推荐,具体算法如下面公式所示.
本实验对象包含50位学生,分别来自计算机科学与技术、教育技术学两大专业.实验要求每个学生至少对7项课程进行评价.在实验过程中,系统共收集到3428条评分数据,120条选课记录.该数据将作为实验集进行使用.实验中还将从每个学生的评分数据中随机抽取5条数据记录作为测试集,其余数据则作为训练集.
本实验主要采用改进算法,并与其他推荐算法相结合进行分析比较.实验结果如表2所示.
表2 不同算法的对比分析
实验结果表明,采用基于协同过滤算法所得出的MAE值较小.其原因主要在于预测值根据最近邻居预测,极大降低了实际评价值与预测值的误差,MAE值越小,其所得出的评分预测就越精确,采用该方式所推荐的选课项目质量也会更高.将课程评价总数修改为9和11进行推荐时,发现了未被选修的课程以及未被评分的课程,由此可知,基于协同过滤算法的高校推荐选课系统完全实现了课程推荐要求.
[1] 克 鹏.基于数据挖掘的个性化高校选课推荐算法研究[J].数字技术与应用,2012(8):63-64.
[2] 袁春花.基于协同过滤算法的个性化高校选课推荐系统研究[J].计算机光盘软件与应用,2012(20):117-118.
[3] 王 艳,刘双红,李玲玲.基于加权关联规则的选课推荐系统的构建[J].郑州轻工业学院学报(自然科学版),2009,24(5):44-47.
[4] 肖建琼,宋国琴.基于兴趣度-相关性规则挖掘的研究及在推荐选课系统的应用[J].智能计算机与应用,2012(5):73-77.
[5] Dong Kun.Research of Personalized Book Recommender System of University Library Based on Collaborative Filter[J].New Technology of Library and Information Service,2011(11):44-47.
[6] WU Yue-ping,WANG Na,MA Liang.Research of Collaboration Filtering Recommendation System Based on Ant Algorithm[J].Microcomputer Development,2011(10):73-76.
[7] Shen Qian.Coordination Based on the Average Differential Filter Algorithm Analysis and Research[J].Microcomputer Applications,2011,27(12):33-35,70.
Design and Implementation of College Course Recommendation Selection System Based on Collaborative Filtering
ZHANG Jie-lan,LI Xiao-lan
(Yingtan Vocational and Technical College, Yingtan 335000, China)
To overcome the blindness in the selection course,the unviversity uses the course selection system to recommend the application course based on the majors,preferences and learning degrees.Now the course elctection system lacks personalized course with low efficiency.This paper presents the design and implementation of college course recommendation selection system based on collaborative filtering. The experiment shows that the system can completely solve the recommendation problem of course selection system, enhance the utilization of curriculum resources, greatly stimulate students' learning interest, and further improve the quality of college student enrollment.
collaborative filtering; college course recommendation selection system; data mining
2014-12-08
张节兰(1977-),女,硕士,讲师,研究方向:计算机应用技术.
TP37
A
1671-119X(2015)02-0039-04