基于GRU和课程关联关系的推荐模型

2020-08-13 07:17卜祥鹏
软件 2020年6期

摘  要: 如今以MOOC平台为主的在线学习网站课程资源丰富,数据量庞大,存在明显的信息过载问题。用户如何在海量数据中快速找到合适的课程是一个难题,而个性化的课程推荐是解决这一问题的有效方式。考虑到用户学习的课程存在先后顺序,具有明显的时序性,所有我们使用门控循环单元(GRU)从用户学习的课程序列中挖掘其存在的规律和特点。另外,为使推荐的结果更加准确,我们考虑结合课程之间的关联关系,提出了基于GRU与课程关联关系的推荐模型。最后,我们在真实的MOOC数据集上进行大量实验,实验结果表明,与传统的协同过滤算法以及仅考虑课程关联关系的算法相比,我们提出的算法性能更好,推荐的准确度更高。

关键词: 课程推荐;门控循环单元(GRU);课程关联关系;MOOC

中图分类号: TP183    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.06.029

本文著录格式:卜祥鹏. 基于GRU和课程关联关系的推荐模型[J]. 软件,2020,41(06):137142

【Abstract】: Nowadays, the online learning websites mainly based on MOOC platform are rich in course resources and large in data volume, so there are obvious problems of information overload. How to find the right course quickly in the mass data is a difficult problem. One of the most effective ways to solve this problem is to use personalized course recommendation. Considering that the courses learned by users are in order and have obvious timing, we use Gated recurrent unit (GRU) to mine the existing rules and characteristics of the courses learned by users. In addition, in order to make the recommended results more accurate, we consider the correlation between courses and then propose a recommendation model based on the GRU and course association relationship. Finally, we conduct a lot of experiments on real MOOC dataset, experimental results show that the proposed algorithm has better performance and higher recommendation accuracy than the traditional collaborative filtering algorithm and the algorithm that only consider the course association relationship.

【Key words】: Course recommendation; Gate Recurrent Unit(GRU); Course association relationship; MOOC

0  引言

隨着科学技术和在线服务业的发展,出现了以慕课(MOOC)平台为代表的在线学习网站。与传统的教学方式相比,在线网站学习具有课程资源丰富和灵活度大等优点,能够满足各种不同类型的用户对学习资源的需求,得到了人们的广泛认可。然而随着在线学习网站的普及,信息过载的问题日益突出,海量的学习资源使用户感到困扰,如何快速找到适合自己的学习资源成为一个巨大的挑战。为解决这一问题,人们提出了个性化课程推荐方法,即根据每个用户自身的特点,为其推荐适合的课程,这也成为当前教育数据挖掘领域主要的研究问题之一。

目前,国内外有关推荐系统的研究非常多,最常用的推荐算法有基于内容的推荐算法和协同过滤算法。例如,像亚马逊和淘宝等著名的电子商务平台根据用户的浏览记录和购买历史向用户推荐商品;使用协同过滤的方式帮助用户找到感兴趣的电影和视频;Youtube根据用户历史播放记录向用户推荐视频。

近年来,深度学习取得良好的表现,在各个领域都得到了广泛应用,推动了推荐系统的发展[1]。与传统的推荐算法相比,使用神经网络可以更好地解决数据稀疏性的问题。GRU[2](Gate Recurrent Unit)是循环神经网络(Recurrent Neural Network,RNN)的一种,和LSTM(Long-Short Term Memory)一样,是为了解决传统RNN存在的梯度消失和梯度爆炸的问题而提出的。GRU和LSTM的原理非常相似,且都擅长处理时间序列数据,因此可以视为LSTM的变体。但是相比于LSTM,GRU更易于训练,能够保持性能的同时提高训练效率,降低时间复杂度。用户的选课行为具有明显的时序性特点,用户在选择新的课程时,往往会考虑学过的课程。根据这一特性,本文利用GRU模型挖掘用户潜在的学习特征,根据用户已学习的课程序列预测其将要学习的课程。同时,还考虑到课程之间存在一定的关联关系,只有学习了基础课程才能选修高级课程。因此,我们提出了一种将GRU与课程关联关系结合的方法,用于向用户推荐合适的课程。

本文剩余部分的结构如下,第2章介绍相关的前期研究工作;第3章介绍我们提出的课程推荐模型;第4章给出实验结果和分析,第5章对本文的工作进行总结并讨论未来的研究方向。

1  相关工作

1.1  基于内容的推荐算法及其应用

基于内容的推荐算法的原理是从用户过去关注的物品中提取物品的属性特征,用物品的特征表示对用户的喜好进行建模,然后向用户推荐与其喜好相似的物品。江周峰等人[3]以图书馆为背景,提出了一种结合社会化标签的推荐算法,利用图书的社会化标签信息对图书的特征项进行补充,进而向用户推荐可能喜欢的图书。实验结果表明,结合社会化标签的推荐方法具有良好的性能。Van等人[4]设计了一个基于内容的推荐系统—PRES,旨在向用户推荐有关房屋改造的文章,其原理是从用户的历史记录中学习用户的兴趣,根据用户的兴趣生成推荐结果。再根据某些条件(如相似性,新颖性,邻近性等)对推荐结果进行排序,最后将名次最靠前的文章推荐给用户。Ghauth等人[5]提出了一种新颖的电子学习推荐系统框架,向用户推荐内容相似的学习材料。文献[6]和文献[7]是使用基于内容的推荐算法向用户推荐可能喜欢的项目。

1.2  协同过滤算法及其应用

协同过滤算法是推荐系统应用最广泛的算法,主要分基于用户的协同过滤和基于项目的协同过滤。基于用户的协同过滤原理是将和目标用户有共同兴趣爱好的用户所喜欢的物品且目标用户没有购买的物品推荐给目标用户,基于项目的协同过滤原理是将与目标用户喜欢的物品相似的物品推荐给目标用户。李玲等人[8]提出了一种基于随机森林的加权二部图推荐算法,利用随机森林算法对用户的偏好构建分类模型。最后在MovieLen数据集上的实验结果证明该方法能够提高推荐的准确性和推荐精度。王志虎等人[9]提出了基于用户历史行为的协同过滤推荐算法,其原理是根据用户的历史行为预测用户对每一个项目的偏好程度,建立相应的特征向量,再根据特征向量计算项目相似度从而实现个性化推荐。实验结果表明该方法不仅能提高推荐的准确率,而且加快了推荐速度。安政磊等人[10]研究了用户的行为对其购买意向的影响,如购买行为、评价行为等,依据用户行为对用户兴趣进行建模,进而向用户推荐喜爱的商品。作者在真实数据集上与传统的基于用户的协同过滤算法进行比较,证明提出的方法具有有效性。符饶等人[11]利用用户的位置信息,如签到地点、签到时间、签到次数等根据用户之间的相似度向用户推荐潜在好友。胡健等人[12]根据学生的专业、爱好、选课记录、学习程度等信息构建学生选课评价矩阵,然后根据学生间的相似度大小推荐相应的课程。但是该算法存在冷启动的问题,即在没有学生的历史数据作为参考析的情况下无法进行课程推荐。文献[13]利用协同过滤推荐算法,挖掘用户的行为信息,为读者推荐个性书籍。

1.3  基于深度学习的推荐算法及其应用

深度学习技术能将数据的属性或者特征进行提取,通过构建多层表示学习结构,组合原始数据中的简单特征,从而得到更高层、更抽象的分布式表示。自2016年YouTube发表论文将深度学习应用于视频推荐取得非常好的效果之后,深度学习技术在推荐系统上得到广泛的应用。王素琴等人[1]提出了基于LSTM网络的在线课程推荐模型,同时按照课程之间关系的紧密程度对课程先进行分类,提高推荐的准确率。实验结果证明,提出的方法与传统的推荐算法相比,推荐准确度高。Oord等人[14]提出使用卷积神经网络提取音频信号中的潜在特征,然后根据潜在特征向用户推荐音乐,有效地解决了协同过滤算法存在的冷启动问题。作者在含有百万首歌曲的数据集上进行实验,结果表明提出的基于深度学习的音乐推荐方法具有良好的性能,优于传统的推荐算法。Bansal[15]提出了一种利用深度递归神经网络将文本序列编码成潜在向量的方法,并利用多任务学习解决数据稀疏的问题。作者将其应用于论文推荐,通过大量实验证明该方法不僅能提高推荐的准确率,而且能很好的解决冷启动的问题。邹峰[16]提出了一种基于深度神经网络和改进相似性度量的推荐算法,同时考虑显示和隐式两种反馈数据对用户的偏好建模,有效的解决了由于数据稀疏造成的推荐精度较低的问题。邓存彬等人[17]提出了一种将协同过滤与深度学习融合的推荐算法,首先利用深度学习挖掘用户和电影的特征信息,然后将学习到的特征与协同过滤算法结合,最后在MovieLens数据集上的实验结果表明该方法有效地提高了推荐的准确率。

2  基于GRU和课程关联关系的课程推荐模型

2.1  问题定义及符号表示

令 表示包含m个用户的用户集合, 表示包含n个课程的课程集合。 表示所有用户的历史选课数据, 表示用户 的课程学习序列 ,其中 表示用户 在时间 学习的课程。课程推荐的目的是向目标用户 推荐在 时刻可能感兴趣的课程。

2.2  GRU

GRU(Gate Recurrent Unit)是循环神经网络(Recurrent Neural Network,RNN)的一种,它能够解决传统RNN无法解决的长依赖问题,且相比于LSTM网络具有参数少、结构简单和运行效率高等优点。其网络结构如图1所示。

GRU模型只有两个门:分别是重置门(reset gate)和更新门(update gate)。重置门决定了如何将新的输入信息与前面的记忆相结合,更新门决定了当前时刻保存多少前面的记忆。

首先根据上一时刻的输出向量 和t时刻的输入向量 得到两个门控单元的状态。

3.3  对比方法

我们选择另外三种方法作为实验的对比方法,包括传统的推荐算法、基于关联规则的推荐算法和基于深度学习的推荐算法,具体内容如下。

Apriori:首先从用户的历史记录中挖掘项目存在的关联关系,然后依据项目间的关联关系进行推荐。

CF:协同过滤是最常用的推荐算法之一,其原理是根据用户间的相似性和项目间的相似性进行推荐。

LSTM:长短记忆网络是递归神经网络(RNN)的一种,适合用于处理时间序列数据。

3.4  模型性能分析

由表1可以看出,我们提出的方法的性能优于所有的对比方法,当K分别取5和10时,我们提出的算法的 值分别达到0.432、和0.572,比Apriori算法提高了5.1%和8.3%,比CF算法提高了3.9%和5.3%,比LSTM算法提高了2.2%和3.4%。并且基于深度学习的算法的性能要优于传统的推荐算法,这是因为深度学习的方法能够更好的挖掘数据潜在的特征,从而获得数据更好的表示。

3.5  参数敏感性分析

本节我们探讨了潜在向量维度n和推荐课程数K对模型性能的影响,结果如图3、图4所示。

由图3可以看出,随着特征向量维度的增加,模型的性能先是增强,这是因为较高的维度能够捕获更多的信息,但是当向量维度超过64以后,模型的性能反而逐渐下降,这是由于过高的维度造成了模型的过拟合,因此,当特征向量的维度为64时,模型的性能是最好的。然后我们分析了推荐课程得数目K对模型性能的影响。我们将推荐的课程数目K设置为1-10。从图4可以观察到,随着课程数的增多,模型的性能是一直在提高的,这是因为推荐的课程数量越多,包含用户喜欢的课程的概率就越大。

4  总结

本文基于在线课程学习的特点,提出了一种基于GRU与课程关联关系的个性化课程推荐算法。该方法能够捕捉用户长期和短期的兴趣,从用户学习的课程序列中挖掘出用户潜在的学习特征,从而向用户推荐合适的课程。另外,该方法还考虑到课程之间具有关联关系,从用户的选课记录中挖掘课程之间的先决关系,用于提高推荐的准确性。最后,使用MOOC平台的真实数据进行实验,结果表明,本文提出的方法能够提高课程推荐的准确性。

但是,该模型还具有一定的局限性,例如对于新用户和新课程,其推荐的准确率就比较低。未来我们的研究工作将考虑融合用户和课程的特征信息来解决该问题。

参考文献

[1] 王素琴, 吳子锐. 利用LSTM网络和课程关联分类的推荐模型[J]. 计算机科学与探索, 2019, 13(8): 1380-1389.

[2] Cho K, Van Merri?nboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv: 1406.1078, 2014.

[3] 江周峰, 杨俊, 鄂海红. 结合社会化标签的基于内容的推荐算法[J]. 软件, 2015, 36(1): 1-5.

[4] Van Meteren R, Van Someren M. Using content-based filtering for recommendation[C]. Proceedings of the Machine Learning in the New Information Age: MLnet/ECML2000 Workshop, 2000: 47-56.

[5] Ghauth K I, Abdullah N A. Learning materials recommenda-

tion using good learnersratings and content-based filtering [J]. Educational technology research and development, 2010, 58(6): 711-727.

[6] Almalis N D, Tsihrintzis G A, Karagiannis N, et al. FoDRA—A new content-based job recommendation algorithm for job see?king and recruiting[C]. 2015 6th International Conference on Information, Intelligence, Systems and Applications (IISA). IEEE, 2015: 1-7.

[7] Xing Z, Parandehgheibi M, Xiao F, et al. Content-based rec?o-mmendation for podcast audio-items using natural lang?uage processing techniques[C]. 2016 IEEE International Co?n?fer-ence on Big Data (Big Data). IEEE, 2016: 2378-2383.

[8] 李玲, 李晋宏. 基于随机森林修正的加权二部图推荐算法[J]. 软件, 2018, 39(1): 110-115.

[9] 王志虎, 黄曼莹. 基于用户历史行为的协同过滤推荐算法[J]. 微电子学与计算机, 2017, 34(5): 132-136.

[10] 安政磊, 姚文斌. 一种基于用户购买意向的个性化推荐模型[J]. 软件, 2015, 36(12): 80-82.

[11] 符饶. 基于位置服务的潜在好友推荐方法[J]. 软件, 2015, 36(1): 62-66.

[12] 胡健, 王理江. 数据挖掘在选课推荐中的研究[J]. 软件, 2016, 37(4): 119-121.

[13] 李大伟, 杜洪波, 周孝林, 等. 基于“用户画像”挖掘的图书推荐App设计[J]. 软件, 2018, 39(5): 35-37.

[14] Van den Oord A, Dieleman S, Schrauwen B. Deep content- based music recommendation[C]. Advances in neural inform?ation processing systems, 2013: 2643-2651.

[15] Bansal T, Belanger D, McCallum A. Ask the gru: Multi-task learning for deep text recommendations. Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 2016: 107-114.

[16] 邹锋. 基于深度神经网络和改进相似性度量的推荐算法[J]. 计算机应用与软件, 2019(11): 47.

[17] 邓存彬, 虞慧群, 范贵生. 融合动态协同过滤和深度学习的推荐算法[J]. 计算机科学, 2019, 46(8): 28-34.