1.一种基于图卷积神经网络的个性化学习路径推荐方法,其特征在于,包括如下步骤:步骤1、获取学习者、课程、视频、知识点信息,将所有的学习者、课程、视频、知识点记为一个实体集合,建立实体之间的关系,根据实体及实体之间的关系构建知识图谱;
步骤2、获取所有的实体表示向量和关系表示向量;
步骤3、进行学习者特征表示和课程特征表示,获得学习者表示向量和课程表示向量,设计第二损失函数进行迭代更新,获得每个学习者对每个课程的兴趣得分;
步骤4、为需要进行个性化学习路径推荐的学习者推荐个性化学习路径;
所述步骤1中,根据学习者、课程、视频、知识点信息构建知识图谱G=(E,R,S),其中E是实体集合,R是关系集合,S是三元组(h,r,t)的集合,h∈E和t∈E分别称为头实体向量和尾实体向量,r∈R是h和t的关系;
关系集合中包括:一门课程与课程所对应的视频之间建立的关系、一个学习者与学习者所学习的课程之间建立的关系;一个学习者与学习者所观看的视频之间建立的关系;一门课程与课程所对应的前置课程之间建立的关系;一门课程与课程所对应的知识点之间建立的关系;
所述步骤2的具体过程为:
步骤2.1、对实体和关系进行向量表示,并对每个表示向量进行归一化处理;
对实体集合E中每个实体设置一个m维的表示向量;设第i个实体的表示向量Ei=(ei,1,Tei,2,…,ei,j,…,ei,m) ,T表示向量的转置,ei,j为第i个实体第j维的实体分量;对每个实体的表示向量进行归一化处理:其中, 为第i个实体归一化后的表示向量; 采用公式(2)的方式进行计算,计算时a=1,b=2,x=Ei;
其中,x为给定的向量;a、b为不同的参数; 为向量x的第 个分量; 为分量总数;
对关系集合R中每个关系设置一个m维的表示向量;设第 个关系的表示向量为第 个关系第j维的关系分量;对每个关系的表示向量进行归一化处理:
其中, 为第 个关系归一化后的表示向量;
设关系法向量集合 |R|是关系个数;其中第 个关系对应的关系法向量 为第 个关系对应的关系法向量第j维的分量;对每个关系对应的关系法向量进行归一化处理:其中, 为第 个关系对应的归一化后的关系法向量;
步骤2.2、对于三元组(h,r,t),计算更新头实体和尾实体的表示向量:其中, 和 分别为更新后的头实体和尾实体的表示向量;Eh和Et分别为更新前的头实体和尾实体的表示向量; 为关系r的关系法向量;
步骤2.3、对实体表示向量和关系表示向量进行迭代更新,获取最终所有的实体表示向量和关系表示向量;
所述步骤2.3的具体过程为:
步骤2.3.1、初始化第一集合S′为空集;
步骤2.3.2、设tph是所有头实体的尾实体个数的平均值,hpt是所有尾实体的头实体个数的平均值;对于每个三元组(h,r,t)∈S,在(0,1)内取一个随机数α,如果则随机选择一个新头实体向量h′∈E替换头实体向量h,使得 将(h′,r,t)放入第一集合S′中;如果 则随机选择一个新尾实体向量t′∈E替换尾实体向量t,使得 将(h,r,t′)放入第一集合S′中;
步骤2.3.3、对于每个三元组(h,r,t)∈S∪S′,计算得分函数,公式如下:其中,f(h,r,t)为三元组(h,r,t)的得分函数; 为关系r的表示向量; 采用公式(2)中的方式进行计算,计算时a、b均取2;
步骤2.3.4、计算第一损失函数值
其中,β是边界超参数;
步骤2.3.5、第i个实体归一化后的表示向量 更新为:其中,Ei′为更新后的第i个实体归一化后的表示向量;γ是梯度下降步长;
步骤2.3.6、第 个关系归一化后的表示向量 更新为:其中, 为更新后的第 个关系归一化后的表示向量;
步骤2.3.7、第 个关系对应的归一化后的关系法向量 更新为:其中, 为更新后的第 个关系对应的归一化后的关系法向量;
步骤2.3.8、将更新后的Ei′赋值给 将更新后的 赋值给 将更新后的 赋值给 并重复执行步骤2.3.3至步骤2.3.7,直至 收敛,获取最终所有的实体表示向量和关系表示向量;
所述步骤3的具体过程为:
步骤3.1、根据课程之间的关系构建课程知识图谱Gcourse=(C,Rc,Sc);其中 是课程实体集合, 是课程之间的关系集合, 是课程三元组(hc,rc,tc)的集合,hc∈C是头课程实体,tc∈C是尾课程实体,rc∈Rc是课程关系, 和 分别为hc和tc的表示向量, 为rc的表示向量;
步骤3.2、取一个学习者u,计算学习者u的表示向量;
步骤3.3、取学习者u学习过的一门课程c,计算课程c的表示向量;
步骤3.4、重复步骤3.2至步骤3.3,获得所有学习者表示向量和课程表示向量;
步骤3.5、计算第二损失函数
步骤3.6、重复步骤3.4至步骤3.5,直到 收敛,获得每个学习者对每个课程的兴趣得分;
所述步骤3.2的具体过程为:
步骤3.2.1、根据学习者学习课程历史记录,构建学习者u学习过的课程集合步骤3.2.2、对k=1,2,…,K,K是一个预先给定的常数,为总跳数;计算三元组集合:其中, 为课程知识图谱中,从 中的课程开始,分别经过k‑1跳、k跳关联到的课程的集合; 为 对应的三元组集合,表示用户u对课程k阶邻居聚合;
步骤3.2.3、对于每个课程三元组 计算权重系数和表示向量,如下:其中,p(hc,rc,tc)为课程三元组(hc,rc,tc)在 的权重系数;e为自然常数; 为学习者u在 中的表示向量; 是课程关系rc的表示向量, 是头课程实体hc的表示向量;
步骤3.2.4、构造交叉特征矩阵J:其中, 和 分别表示 和 中第M个元素的值;
步骤3.2.5、计算更新后的表示向量 和其中, 为更新后的学习者u在 中的表示向量; 为更新后的头课程实体hc的表示向量;ω1、ω2和ω3为三个权重矩阵;bc为偏置向量;
步骤3.2.6、将 和 分别赋值给 和步骤3.2.7、计算学习者表示向量
其中, 为学习者u在 中的表示向量; 表示用户u对课程K阶邻居聚合;
所述步骤3.3的具体过程为:
c
步骤3.3.1、取c在课程知识图谱Gcourse中的若干个一阶邻居课程放入N集合中;
c
步骤3.3.2、对于每一个一阶邻居课程c′∈N ,设它与c构成的三元组(c,rc,c′,c′)∈Sc,计算学习者u对每一个一阶邻居课程和课程c关系的偏好程度:其中, 为学习者u对rc,c′的偏好程度;rc,c′为一阶邻居课程c′和课程c的关系;
是关系rc,c′的表示向量;
步骤3.3.3、对学习者u每一个一阶邻居课程和课程c关系的偏好程度进行归一化处理:其中, 为归一化后的学习者u对rc,c′的偏好程度; 是学习者u对 的偏好c
程度,为N中任意一个一阶邻居课程, 为 和c的关系;
步骤3.3.4、使用由L个卷积层串联组成的图卷积神经网络更新课程表示,将课程c的表示向量Ec作为图卷积神经网络第l=1层的输入,并记为 对l=1,2,…,L,计算:其中, 分别为第l‑1个卷积层的输入和更新后的中间结果; 为归一化后的学习者u对 的偏好程度; 是第l‑1个卷积层的输出,也是第l个卷积层的输入;
W和bc′分别是权重矩阵和偏置向量;ReLU(·)是非线性变换函数;
最后一个卷积层的输出为最终该课程的表示向量所述步骤3.5的具体过程为:
步骤3.5.1、对于一个学习者u、一门课程c,计算第一兴趣得分yu,c和第二兴趣得分其中,Eu为学习者u的表示向量,Ec为课程c的表示向量;
步骤3.5.2、计算学习者u、课程c的损失函数其中,σ(·)为激活函数;
步骤3.5.3、重复步骤3.5.1至步骤3.5.2,获得所有学习者、课程的损失函数后,将所有学习者、课程的损失函数进行求和计算,得到第二损失函数步骤3.5.4、利用随机梯度下降方法更新ω1、ω2、ω3、bc、W和bc′。
2.根据权利要求1所述基于图卷积神经网络的个性化学习路径推荐方法,其特征在于,所述步骤4的具体过程为:步骤4.1、设 为需要进行个性化学习路径推荐的学习者,取 观看视频的历史记录集合 表示 时刻 观看的课程视频的表示向量,为总时刻数;从学习者观看视频历史记录中提取视频隐藏信息,得到Q
视频表示向量,拼接所有的视频表示向量为一个初始视频历史矩阵M;
步骤4.2、将观看过的视频表示向量建模为一个有向加权图GQ=(VQ,EQ);顶点集中的顶点是 观看过的视频;
是边集合, 为两个不同的顶点,
表示 在观看 对应的视频后接着观看了 对应的视频;
I I
步骤4.3、构建入边矩阵M,M 中第 行对应第 个顶点 第 列对应第 个顶点,第 行、第 列的元素对应 的权重,如果 则第 行、第 列的元素值O
为0;构建出边矩阵M ,其中第 行、第 列的元素为 的权重,如果则第 行、第 列的元素值为0;
步骤4.4、取一个观看过的视频表示向量,计算拼接矩阵:I O
其中, 为 时刻拼接矩阵;contact(·)是拼接函数; 和 分别对应M和M的第I O
行; 和 是不同的参数矩阵,b和b是不同的偏置向量;
步骤4.5、计算视频的最终表示向量:其中, 为 时刻更新门; 为 时刻重置门; 为 时刻隐状态的课程信息; 为时刻 观看的课程视频的表示向量;tanh(·)为tanh激活函数;⊙为Hadamard积运算符,表示两个矩阵对应位置元素进行乘积;Wz、Wr、Wh、Pz、Pr、Ph分别为不同的权重矩阵; 为时刻视频的最终表示向量;
步骤4.6、重复步骤4.4至步骤4.5,得到所有观看过的视频的最终表示向量;将所有观看过的视频的最终表示向量拼接为一次更新的全局视频矩阵MQ′;
步骤4.7、计算函数值F:
Q K V
其中,softmax(·)为softmax激活函数;W、W、W为不同的权重矩阵;
步骤4.8、再次进行计算,得到二次更新后的全局视频矩阵MQ″:MQ″=ReLU(FW1)W2+F (33);
其中,W1、W2为不同的权重矩阵;
步骤4.9、重复步骤4.7至步骤4.8,计算得到最终的全局视频矩阵步骤4.10、计算 对视频的长期偏好表示向量Seqf:其中,ω4为自定义权重; 为 观看的最后一个视频 的表示向量;
步骤4.11、预测 点击候选视频qc的得分计算 点击候选视频qc的初始得分
其中, 为 的初始表示向量;
步骤4.12、计算第三损失函数
其中,λ为边界超参数;θ是(0,1)区间内的一个随机数;
步骤4.13、利用随机梯度下降更新各个权重矩阵、偏置向量;
步骤4.14、重复执行步骤4.4至步骤4.13,直至 收敛;
步骤4.15、对每一门课程,取其涵盖的所有视频的得分的平均值作为该课程的辅助分数;课程c的辅助分数记为 将 映射为(0,1)区间的值步骤4.16、计算 对课程c的偏好分数其中, 为 对课程c的兴趣得分;ρ为自定义权重;
步骤4.17、根据课程知识图谱Gcourse,从 当前学习的课程出发,沿有向边方向,获得若干个学习路径;对于每条路径上,取其路径上的所有课程的偏好分数的平均值作为该路径的偏好分数;
步骤4.18、将偏好分数最高的学习路径作为个性化学习路径推荐给