基于参与度神经网络的个性化课程推荐方法

文档序号:35403713发布日期:2023-09-09 18:53阅读:46来源:国知局
基于参与度神经网络的个性化课程推荐方法

本发明属于计算机,具体涉及到基于参与度的个性化课程推荐方法。


背景技术:

1、近年来,互联网与教育的融合逐渐紧密,各种在线教育平台应运而生并迅速发展,这些平台凭借其优质、海量的学习资源积累了大量的用户。其中,学堂在线作为中国最大的mooc平台之一,提供数以万计的课程,并吸引了数亿用户学习。然而,mooc平台上在线课程的爆炸性增长给学生带来了信息过载,导致他们的效率低下,辍学率急剧上升,同时,进一步导致平台资源的浪费。因此,一个好的推荐系统就显得尤为重要。

2、目前关于课程推荐的工作层出不穷,传统的推荐方法主要包含两类:基于用户的推荐方法以及基于内容的推荐方法。但是由于mooc平台课程数量多、学习模式碎片化,甚至大量用户仅仅注册2门课程左右,交互数据具有较大的稀疏性,这使得分析学习者的学习兴趣有一定的困难。数据增强可以解决这一局限,作为一种的扩充数据量有效方法,已经在许多实验与研究成果中得以验证。另外如今的推荐方法,例如基于传统矩阵分解以及基于图神经网络的推荐方法,都没有对学习者的行为进行深入的探讨。


技术实现思路

1、本发明所要解决技术问题在于克服上述现有技术的缺点,提供一种基于参与度神经网络的个性化课程推荐方法。

2、解决上述技术问题所采用的技术方案是由下述步骤组成:

3、(1)选取数据集

4、数据集来源于学堂在线中28988个学习者,39门课程的学习记录数据,数据包括学习者、课程、学习行为,学习者集合l如下:

5、l={l1,l2,...,li}

6、其中,li表示第i个学习者,1≤i≤i,i表示所有的学习者数量、为有限的正整数。

7、课程集合c如下:

8、c={c1,c2,...,cj}

9、其中,cj表示第j门课程,1≤j≤j,j表示所有的课程数量、为有限的正整数。

10、学习行为集合b如下:

11、b={b1,b2,...,bv}

12、其中,bv表示第v个学习行为,1≤v≤v,v表示所有的学习行为的数量、为有限的正整数。

13、(2)数据预处理

14、将数据集按照8:2划分为训练集ctrain、测试集ctest。

15、(3)确定学习者参与度矩阵

16、1)统计学习行为点击次数

17、统计第i个学习者li在第j门课程cj上每个学习行为的点击次数,得到对应的点击次数集合n如下:

18、

19、其中表示第i个学习者li在第j门的课程cj上第v个学习行为的点击次数。

20、2)构建活跃度矩阵

21、按下式确定活跃度矩阵m:

22、m=(mjv)j×v

23、

24、其中,j×v表示活跃度矩阵m的维度,mjv表示学习者在第j门课程cj上第v个学习行为的活跃程度,表示所有注册第j门课程cj的学习者第v个学习行为点击次数的最大值。

25、3)构建权重矩阵

26、按下式构建权重矩阵z:

27、z=(zjv)j×v

28、

29、其中zjv表示学习者在第j门课程cj上第v个学习行为的权重值。

30、4)构建行为认知水平矩阵

31、按下式构建行为认知水平矩阵g:

32、g=(gjv)j×v

33、gjv=zjv×mjv

34、其中,gjv表示学习者在第j门课程cj上第v个学习行为的认知水平。

35、5)确定学习者参与度矩阵

36、按下式确定学习者参与度矩阵e:

37、e=(eij)i×j

38、

39、其中,i×j表示参与度矩阵e的维度,eij表示第i个学习者li在第j门课程cj上的参与度,若第i个学习者li在第j门课程cj上有参与度,则0≤eij≤1,否则eij为-1。

40、(4)构建学习者选课矩阵

41、按下式确定学习者选课矩阵w:

42、w=(wij)i×j

43、其中,wij表示第i个学习者li是否注册了第j门课程cj,如果注册了第j门课程cj则wij为1、否则wij为0。

44、(5)构建平均聚合矩阵

45、按下式构建学习者平均聚合矩阵a:

46、a=(aiv)i×v

47、

48、其中,i×v表示平均聚合矩阵a的维度,aiv表示第i个学习者li注册的所有课程c(li)+上第v个行为点击次数的平均值,|c(li)+|表示学习者li注册的总课程数;

49、按下式构建课程平均聚合矩阵q:

50、q=(qjv)j×v

51、

52、其中,qjv表示所有注册第j门课程cj的学习者l(cj)+在第v个学习行为上点击次数的平均值,|l(cj)+|表示所有注册第j门课程cj的学习者个数。

53、(6)确定相似度

54、按下式确定学习者参与度与课程辍学率的相似度关系

55、

56、其中,dij表示第i个学习者li在第j门课程cj上的辍学率,表示第i个学习者li在注册的表示课程c(li)+上参与度的平均值,表示第i个学习者li在注册的所有课程c(li)+上辍学率的平均值。

57、(7)构建参与度神经网络

58、参与度神经网络由注意力机制层1与信息聚合模块1、归一化层1、注意力机制层2依次串联,数据增强模块与归一化层2、注意力机制层3依次串联,注意力机制层2和注意力机制层3的输出端通过信息聚合模块2与归一化层3串联构成。

59、(8)训练参与度神经网络

60、1)构建损失函数

61、按下式构建损失函数loss:

62、

63、其中,eij表示第i个学习者li在第j门课程cj上参与度的真实值,表示第i个学习者li在第j门课程cj上参与度的预测值,ki表示进行k-折划分后,每个学习者数量i扩大k倍。

64、2)训练参与度神经网络

65、训练参与度神经网络的方法如下:

66、将构建的学习者选课矩阵w和学习者平均聚合矩阵a送入注意力机制层1,提取学习者选课矩阵以及学习者平均聚合矩阵中的特征矩阵w'和特征矩阵a':

67、w'=(w'ij)i×j

68、a'=(a'iv)i×v

69、将特征矩阵w'和特征矩阵a'经过信息聚合模块1得到学习者在每个行为上的活跃程度矩阵α如下:

70、α=(αjv)j×v

71、将活跃程度矩阵α输入归一化层1中进行数据的归一化,得到归一化结果α'如下:

72、α'=(α'jv)j×v

73、将归一化层结果α'输入到注意力机制层2中,提取课程中的学习行为信息矩阵θ如下:

74、

75、将构建的第i个学习者li的参与度矩阵ei与课程平均聚合矩阵a送入数据增强模块,得到数据增强模块的输出β如下:

76、ei=(eij)1×j

77、β=(ρiv)1×v

78、其中1×j和1×v分别表示参与度矩阵ei和β矩阵的维度,将β送入到归一化层2进行数据的归一化,得到β的归一化结果β'如下:

79、β'=(ρ'iv)1×v

80、将归一化层2中的输出到注意力机制层3中提取学习者中的学习行为信息矩阵λ如下:

81、λ=(λiv)1×v

82、将注意力机制层2中提取的θ与注意力机制层3中提取的λ输入到信息聚合模块2,得到信息聚合模块2的输出ω,将ω输入到归一化层3中,得到第i个学习者li在课程上参与度的预测值ei。

83、训练时分别使用批量大小为{8,16,32,64,128}的集合进行训练,训练的学习率η按下式进行自动调整:

84、

85、其中,η0表示初始学习率、取值为[0.0001,0.01]的小数,epoch表示训练轮次,取值为[8,128]的整数,训练至损失函数收敛;

86、(9)测试参与度神经网络

87、将测试集ctest输入参与度神经网络进行测试,得到学习者在测试集ctest上的参与度。

88、(10)参与度神经网络性能评估

89、用均方根误差r和平均绝对误差f评价指标评估网络在测试集ctest上的效果,按下式确定均方根误差r:

90、

91、按下式确定平均绝对误差f:

92、

93、(11)个性化课程推荐结果评估

94、使用命中率h、召回率g、以及精密度p评估利用参与度进行课程推荐的效果,按下式确定命中率h:

95、

96、其中,pcr@k(li)表示向第i个学习者li推荐k门课程,l(li)+表示第i个学习者li注册的所有课程,d(li)表示第i个学习者li辍学的所有课程,l(li)+-d(li)表示第i个学习者li注册课程后未辍学的所有课程,|l(li)+|表示学习者li注册的课程总数。

97、按下式确定召回率g:

98、

99、其中,|l(li)+-d(li)|表示第i个学习者li注册课程后未辍学的所有课程总数;

100、按下式确定精密度p:

101、

102、在本发明的步骤(7)构建参与度神经网络中,所述的数据增强模块由并联的信息聚合模块3、k-折划分数据模块与课程提取模块串联构成。

103、在本发明的步骤(7)构建参与度神经网络中,所述的数据增强模块的构建方法如下:

104、将构建的第i个学习者li的参与度矩阵ei送入到数据增强模块中的k-折划分数据模块,按下式拆分成子矩阵ex和子矩阵ey:

105、

106、其中ex和ey分别表示第i个学习者li在不同课程上的参与度,并且ex和ey中包含至少一门课程的参与度,经过k-折划分后,产生k份不同的ex和ey,k取值为2~10;

107、将课程平均聚合矩阵q送入课程提取模块,得到课程平均聚合子矩阵q',课程平均聚合子矩阵q'中包含的课程信息与子矩阵ex中的课程相一致:

108、

109、其中q'∈q,|ex|×v表示课程平均聚合子矩阵的维度;

110、将子矩阵ex与课程平均聚合子矩阵q'一起送入信息聚合模块3,由下式得到数据增强模块的输出β:

111、

112、在本发明的步骤(7)和步骤(8)中,所述的信息聚合模块2的构建如下:

113、

114、其中ω表示未进行归一化处理的第i个学习者li在课程上参与度的预测值。

115、在本发明的步骤(8)训练参与度神经网络的2)步骤中,所述的活跃程度矩阵α由下式确定:

116、

117、其中t表示矩阵的转置,表示矩阵乘法运算。

118、本发明与现有技术相比具有以下优点:

119、由于本发明采用了参与度的量化,通过捕获学习者的行为数据并将其量化成参与度,体现了学习者是否有意愿学习该门课程以及是否有可能完成该课程,反映了学习者的兴趣;进行了参与度的预测,构建了k-折划分的数据增强方法,作为对原始数据的补充,提高了网络的预测能力;分析了参与度与辍学率的关系,利用该关系进行课程推荐使得推荐效果更好;在构建神经网络时,考虑了学习者参与度矩阵、平均聚合矩阵、课程平均聚合矩阵以及学习者选课矩阵,综合分析了学习者的信息,有利于向学习者推荐更合适的课程。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1