基于云平台的慕课资源协同过滤推荐算法
2020-06-29徐福江
徐福江
摘 要:针对当前慕课资源协同过滤推荐算法存在推荐误差大、无法实现在线推荐的难题,为了提高慕课资源协同过滤推荐精度,设计了基于云平台的慕课资源协同过滤推荐算法。首先分析慕课资源协同过滤推荐的原理,提取慕课资源相似度特征,然后引入k-最近邻对慕课资源相似度进行评价,实现慕课资源分类和协同过滤推荐,最后在云平台分布式、并行实现慕课资源协同过滤推荐算法,并与传统算法进行了仿真对比实验。结果表明,相对于传统算法,提出的算法使得慕课资源协同过滤推荐精度得到较高提升,能够解决当前慕课資源协同过滤推荐算法存在的一些缺陷,而且可以实现慕课资源协同过滤在线推荐,实际应用价值也得到了改善。
关键词:慕课资源;k-最近邻算法;协同过滤;资源分类;推荐精度
Abstract:The design of collaborative filtering and recommendation algorithm for MOOC resources is of great significance. In order to improve the accuracy of collaborative filtering and recommendation of MOOC resources, a collaborative filtering and recommendation algorithm based on cloud platform is designed. Firstly, the principle of collaborative filtering and recommendation of MOOC resources is analyzed, and the similarity features of MOOC resources are extracted. Then the k-nearest neighbor is introduced to evaluate the similarity of MOOC resources and realize the classification and collaborative filtering recommendation of MOOC resources. Finally, the collaborative filtering and recommendation algorithm of MOOC resources is implemented in the cloud platform in a distributed and parallel way. The simulation experiment is carried out for the proposed algorithm and traditional algorithms. The results show that, compared with the traditional algorithm, the accuracy of collaborative filtering and recommendation of MOOC resources in this algorithm has been improved greatly. It can solve some defects of current collaborative filtering and recommendation algorithm of MOOC resources, and realize online recommendation of collaborative filtering of MOOC resources. The actual application value has also been improved.
Key words:MOOC resources;algorithm of k-nearest neighbor;collaborative filtering;resource classification;recommendation accuracy
0 引言
随着国家对高校教育质量的不断重视,高校面临前所未有的发展机遇,为了提高高校教育质量,教育部提出建立海量的教学资源库。各所高校顺应教育部的指标,利用互联网、人工智能、大数据分析技术的优势,提出智慧教育。在智慧教育实施过程中,慕课资源是最重要的组成部分[1-2]。自从2012年以来,慕课资源得到蓬勃的发展,出现许多慕课平台,其成为各高校混合式教学资源的共享平台。在慕课资源共享实际应用中,如何为学生推荐最需要的慕课资源,实现个性化教学,是当前慕课平台需要解决的问题,因慕课资源协同过滤推荐算法设计具有十分重要研究意义[3]。
随着大数据技术不断发展,出现了慕课资源推荐算法,该系统根据学生学习的历史记录以及相关资料,分析学生的学习兴趣,国外对慕课资源推荐的研究比较重视,它们借助于电子商务、旅游线路、社交网络等领域的推荐技术,提出许多优秀慕课资源推荐算法[4-5],当国内对于慕课资源推荐算法的研究比较少,有学者提出了基于内容的慕课资源推荐算法,运用本体论建立慕课资源模型,利用学生兴趣模型对慕课资源进行分类,最后根据慕课资源特征和学生兴趣特征之间的相似度实现慕课资源推荐,该类算法存在慕课资源推荐精度大,学生难以获得真正需要的慕课资源[6-7]。随后有学者提出慕课资源推荐的协同推荐算法,首先建立学生学习的慕课资源库和学习浏览历史记录,通过慕课资源和学学习记录的多属性评估,根据一定的关联技术为每一位学生推荐最适合的慕课资源,是一类个性的推荐技术,获得比基于内容的慕课资源推荐效果[8-10]。由于当前慕课资源推荐算法均基于单机平台,而慕课资源推荐不断直线上升,而且学生在线学习的人数成千上万,当前慕课资源推荐算法均存在工作效率低,难以实现在线学习的要求[11]。
云平台是在互联网、分布式处理技术的基础上发展起来一种数据处理技术,可以加快问题求解的速度,为了解决当前慕课资源协同过滤推荐过程中存在的问题,设计了基于云平台的慕课资源协同过滤推荐算法,并与其它慕课资源推荐算法、单机平台相比,云平台的慕课资源协同过滤推荐精度、效率均更优。
1 云平台的慕课资源协同过滤推荐算法
1.1 云平台
随着数据朝大规模、海量的发展,以及问题处理的速度要求越来越高,云平台的产生,其将软硬件资源按需提供给需求者,所需的软件和数据则存储在云端,用户在不同地方随时可以提问和使用,是分布式计算、虚拟化、海量存储等技术的集成产物[12]。Hadoop系统是近年来比较热门的云平台,本文采用其构建慕课资源协同过滤推荐算法的运行平台。Hadoop系统的关键模块为:HDFS和MapReduce,其中HDFS负责对文件的分布式存储和管理,MapReduce负责对文件进行并行处理,如读和写作操作,结构如图1所示。
1.2 云平台的慕课资源协同过滤推荐思路
基于云平台的慕课资源协同过滤推荐算法的工作思路:首先将慕课资源划分为不同的类,提取描述慕课资源类型的特征,建立慕课资源特征库;然后计算学生的学习行为数据特征,并基于云平台,采用k-最近邻计算每一类慕课资源特征和学生学习行为数据特征之间的相似度,最后根据相似度值生成慕课资源协同过滤推荐结果,云平台每一个节点的工作流程具体如图2所示。
1.3 云平台的慕课资源协同过滤推荐算法的具体设计
1.3.1 学生和慕课资源之间的评分矩阵
设m个学生,慕课资源数量为:n,rij表示学生i对慕课资源j的评分,所有学生对慕课资源的评分组成一个学生和慕课资源之间的评分矩阵R={rij}m×n,具体如表1所示。
1.3.2 慕课资源评分预测
计算全部慕课资源间的相似性,从而产生一个“邻居”群,然后计算目标慕课资源与其它全部慕课资源之间的预测评分值,找出k个最相似慕课资源集—“最近邻居”, 产生了一个慕课资源推荐列表,实现了慕课资源的精准推荐,因此在慕课资源协同过滤推荐中,慕课资源评分预测十分关键,直接决定了慕课资源协同过滤推荐结果的好坏,设r-u为慕课资源的平均评分,sim(i,j)是慕课资源i和慕课资源j之间的相似度,如式(1)所示。
1.3.3 相似度计算
当前慕课资源i和慕课资源j之间的相似度sim(i,j)的计算公式主要有:余弦相似度、皮尔逊相关系数和约束的皮尔逊相关系数,它们的计算公式分别为式(2)—式(4)。
云平台的慕课资源协同过滤推荐算法选择式(4)计算慕课资源i和慕课资源j之间的相似度。
2 仿真实验
2.1 实验环境搭建
为了测试云平台的慕课资源协同过滤推荐效果,通过具体仿真实验进行验证性分析。云平台包含10个节点,全部节点根据功能划分两类:一类主节点,数量为1个,一类为从节点,数量为9个,每一类节点的配置情况,如表2所示。
采用Java语言编程实现慕课资源协同过滤推荐算法。
2.2 实验数据及实验结果的评价标准
选择大量的慕课资源实验对象,共获得10 000个慕课资源,它们被划分为10类,每一类的慕課资源数量,如表3所示。
当前慕课资源协同过滤推荐算法性能的评价标准很多,本文选择推荐准确度作为评价标准,其定义如式(5)。
2.3 慕课资源推荐准确度对比与分析
选择文献[9]和文献[10]的资源协同过滤推荐算法进行对比实验,对于相同的数据集,它们的慕课资源推荐准确度如图3所示。
对图3的慕课资源推荐准确度进行对比分析可以发现,本文算法的慕课资源推荐准确度要远远高于文献[9]和文献[10]的慕课资源推荐准确度,减少了慕课资源推荐误差。
2.4 慕课资源推荐准时间对比与分析
为了分析云平台的慕课资源协同过滤推荐算法的优越性,选择单机平台进行对比测试,不同数据的慕课资源下,云平台的慕课资源协同过滤推荐算法和单机的慕课资源协同过滤推荐算法的运行时间如表4所示。
从表4可以看出,当慕课资源数量比较少时,单机的慕课资源协同过滤推荐时间更少,这是因为云计算需要对节点调度,当慕课资源不断增加时,云平台的慕课资源协同过滤推荐时间就相对更少,尤其当慕课资源数量较大时,云平台的优越性更加明显,可以实现大规模慕课资源在线推荐,具有更高的实际应用范围。
3 总结
由于慕课资源的数量大,在线要求的实时性高,当前单机工作模式无法满足慕课资源协同过滤推荐的要求,为了提高慕课资源协同过滤推荐效果,提出了一种基于云平台的慕课资源协同过滤推荐算法,通过引入云平台分布式、并行处理技术,在多个节点同时运行慕课资源协同过滤推荐算法,加快了慕课资源协同过滤推荐算法的工作效率,同时改善了慕课资源协同过滤推荐结果,相对其它算法,云平台的慕课资源协同过滤推荐误差更低,为大规模的慕课资源协同过滤推荐提供了一种新的研究思路。
参考文献
[1] 柏建岭,陈峰,赵杨,等.以慕课为基础的生物统计学翻转课堂教学[J].中国卫生统计, 2017, 34(5):829-831.
[2] 郭冰,孙小荣,吴杰. “慕课”背景下的工程测量教学改革思考[J].测绘通报,2017(3):145-148.
[3] 严三九,钟睿. 教育资源的公平共享与可持续发展:慕课[J].中国人口·资源与环境, 2015,25(2):176-178.
[4] 石博,何楚,卓桐,等.慕课教学中基于局部社区发现的主题交互模型[J].计算机应用研究,2015,32(6):1724-1727.
[5] 蒋卓轩,张岩,李晓明.基于MOOC数据的学习行为分析与预测[J].计算机研究与发展,2015,52(3):614-628.
[6] 刘国丽,白晓霞,廉孟杰,等. 基于专家信任的协同过滤推荐算法改进研究[J].计算机工程与科学,2019,41(10):1846-1853.
[7] 郑鹏,王应明,梁薇.基于信任和矩阵分解的协同过滤推荐算法[J].计算机工程与应用, 2018, 54(13):34-40.
[8] 黄贤英,龙姝言,谢晋. 基于用户非对称相似性的协同过滤推荐算法[J].四川大学学报(自然科学版), 2018,55(3):489-493.
[9] 王永贵,宋真真,肖成龙. 基于改进聚类和矩阵分解的协同过滤推荐算法[J].计算机应用, 2018, 38(4):1001-1006.
[10] 李昆仑,万品哲,张德智. 基于改进用户相似性度量和评分预测的协同过滤推荐算法[J].小型微型计算机系统,2018,39(3):567-571.
[11] 汪军,朱建军,覃朗. 基于云模型熟悉相似度的协同过滤推荐算法[J]. 计算机工程与科学, 2017, 39(11):2102-2108.
[12] 田保军,杜晓娟,杨浒昀, 等. 云计算环境下混合协同过滤优化技术研究[J]. 计算机应用研究,2018,35(7):2079-2083.
(收稿日期:2019.07.26)