1. 引言
随着在线学习的快速发展,越来越多的人通过在线学习平台获取知识以满足其知识需求。海量的在线学习资源为学习者提供了良好的学习机会,但也带来了严重的知识过载问题。此类问题引发研究者越来越关注如何通过在线学习平台利用学习者的历史行为数据向其推荐符合个性化需求的课程资源 [1] [2]。
以往的研究将上述过程视为序列推荐问题。早期的一些工作利用马尔可夫链来预测用户偏好 [3],近年来越来越多的工作将深度神经网络融入到序列推荐任务中,如利用RNN [4]、注意力机制 [5] 等。为了建模更复杂的转换模式,图形神经网络(GNN)逐渐被应用于序列推荐任务中 [6] [7] [8]。这些模型通常利用序列中的邻接信息将序列转换成一个无向图,然后利用项目的表示进行序列推荐。
虽然基于图结构的方法能够有效地捕捉序列中的结构信息,但仍存在一些不足。
第一,传统的推荐方法通常将行为建模为单向行为序列,并且大多停留在项目间成对关系的特征捕捉上。这造成噪声关系干扰、高阶信息难以表达的问题。严格按照单向建模行为的相对顺序,忽略行为的一致性可能会使推荐模型过拟合 [9],其关于序列中的项目应该与时间相关而不是与序列相关的观点已经在没有严格顺序要求的数据集上得到验证(如在线购物或音乐推荐),但不适用于在线学习行为序列的建模。在真实的学习环境中,学习者的在线学习行为必须遵循从易到难的过程,学习者的学习行为也应该是严格的顺序关联,行为转移不是由单个行为触发的,而是之前的多个行为在短时间内的联合触发。因此,多项之间也存在多对多的高阶关系 [10],传统的简单图结构只能描述实体之间的二元关系是不适用的。
第二,传统的行为序列推荐问题虽然会考虑项目之间的弱相关性,但实际上在这类场景中,项目之间没有严格的逻辑顺序限制,因此项目序列可以呈现为无向图 [9]。而在线学习中,无论是课程学习资源还是知识点,都有一个严格的逻辑顺序,学习者只有先学习了先修的课程资源和知识点,才能继续学习下一项。因此,传统的通过将项目建模为无向图的方法难以有效地表达项目序列。
此外,已有的序列推荐研究大多捕捉到学习者对学习资源的短期偏好,进而为其提供个性化服务 [11]。然而学习者的偏好是随时间呈现动态变化的,有研究证明时间模式有助于理解在线学习行为 [12]。以往的研究方法往往通过固定权重,对用户的历史行为进行平均来分析用户偏好 [13] [14]。这种方法难以捕捉学习者的动态学习偏好。例如,学习者在学习知识点“排序算法”之后,可能还会学习知识点“冒泡排序”,因为后者是前者的深入知识点。在以往的研究中,很少研究学习者行为数据中隐含的动态学习偏好。
为了解决上述问题,本文提出了一种基于学习事件超图的课程资源推荐方法来实现序列推荐任务。首先定义学习事件,对学习行为进行建模。然后将学习事件作为超边,构建事件超图来表示项目之间的高阶信息。最后,利用超图神经网络和带有时间位置信号的自注意力机制嵌入节点特征,为学习者推荐下一步学习的课程资源。
2. 相关工作
基于行为数据的推荐通常被认为是一个序列推荐问题。最早的探索工作可以追溯到频繁项集挖掘技术 [15],该技术学习用户行为背后的序列模式,但很难正确定义合适的阈值。为了更好地发现用户行为数据中的序列模式,研究者进一步将序列模式挖掘与传统方法相结合。这些方法大多基于马尔可夫链 [16]。其主要思想是使用序列化数据和给定用户的最后点击行为来预测用户下一步可能点击哪些项。如Rendle等 [3] 提出了一种面向下一项推荐的因式分解个性化马尔可夫链(FPMC)模型,该模型将MCS和矩阵因式分解(MF)相结合,对电子商务平台上的顺序行为进行建模。该方法的主要问题是它严重依赖于简单融合历史行为的常规推荐方法。
随着研究的深入,基于深度学习 [17] 的非线性方法赋予模型更强的表征能力。其中,以RNN (Recurrent Neural Network) [4] 为主要代表,引起了众多研究者的关注。例如Hidasi等 [18] 提出的GRU4Rec方法,首次将RNN网络用于序列推荐。在此基础上,Tan等 [19] 通过引入数据扩充技术来改进GRU4Rec。Donkers等 [20] 提出了一种序列推荐方法,该方法引入了GRU来建模消费序列的时间动态。同样,Wei等 [21] 提出了一种称为LANCR的序列推荐系统,其中LSTM捕获了用户的长期兴趣。然而,这些基于RNN的推荐通常被建模为从左到右的单向模型,每个项目只能获得先前项目的信息。但实际研究场景中的用户行为数据并不总是如此 [22]。因此,基于RNN的推荐对于学习用户行为序列后最有代表性的时间偏好表示并不有用。为了解决上诉问题,注意力机制 [5] 被应用于推荐系统。如Li等 [4] 提出的NARM方法,将注意力机制融入到堆栈GRU编码器中,捕捉更有代表性的项目转换信息。
在用户行为中,相距较近的两个项目之间的联系可能会更紧密,而随着距离的变化,项目之间的联系则会减弱。为了捕捉序列中复杂的转移关系,研究人员将图神经网络(Graph Neural Networks, GNN) [23] 应用于序列推荐任务中。与基于RNN的方法不同,基于GNN的方法学习图结构上项目之间的转换。SR-GNN [6] 模型将序列中的项目作为图上的节点,根据序列中项目的邻接关系在图上增加边,将序列转换成图后,采用门控GNN方法,通过聚合邻居节点表示来更新节点。最后,序列中的项目被合成为用户当前感兴趣的项目。在此基础上,GCSAN模型 [7] 增加了自注意力机制,进一步捕捉序列中的长期依赖关系。FGNN [24] 也是一个基于GNN的模型,与前两个模型不同的是,它不再使用固定的入度和出度值作为节点权重聚合信息,而是使用注意力机制计算当前节点与邻居节点之间的相似度作为权重。该方法不仅具有较强的表现力,而且具有较好的可解释性。
虽然这些研究表明,基于GNN的建模方法能够对序列中复杂的转移关系进行建模,并且优于其他基于RNN的方法,但它们无法捕捉复杂的高阶项目依赖关系。为了捕获复杂的高阶关系,超图(Hypergraph) [25]、超图神经网络(HGNN) [26] 被引入到序列推荐中。HGNN和HyperGCN [27] 首次将图卷积应用于超图。Wang等 [28] 提出了HyperREC模型,利用超图对用户对下一个推荐的短期偏好进行建模,但模型的高复杂度使得无法在真实场景中部署。
综上所述,在本文的在线学习场景中的序列推荐问题,仍存在如噪声关系干扰、缺乏隐含信息、忽略动态学习偏好等难题。
3. 方法
本节详细描述了所提出的基于学习事件超图的序列推荐(Learning Event Hypergraph Sequence Recommendation, LEHSR)模型,其框架如图1所示。首先利用时间属性将每个学习者的学习行为序列划分为若干个学习事件,然后以学习事件为超边构造个体事件超图;最后引入超图神经网络和带有时间位置信号的自注意力机制捕捉学习者的动态学习偏好,实现为学习者推荐其下一步要学习的课程资源。
Figure 1. Curriculum resource recommendation model based on learning event hypergraph
图1. 基于学习事件超图的课程资源推荐模型
3.1. 相关定义
在本节中,首先给出模型中研究对象的相关定义。
定义1:学习事件。一个学习者在知识需求的驱动下从进入在线学习平台,到学习相关学习资源及知识点,再到退出学习平台这一过程可以描述为一次学习事件,而每个学习者的学习过程都由多个学习
事件按时序组成。用
表示学习者集合,
表示课程中的学习资源集合,对于学习者u,定义其学习事件集合为
,则对于每个学习事件表示为
,
代表学习者在事件
中,按照
的顺序先后学习了n个学习资源。
定义2:事件超图。基于定义1中对于学习事件的定义,设
表示超图,以学习者的每个学习事件
作为超边,则在整个学习课程资源的过程中产生的所有学习事件S构成了学习者的学习事件有向超图,如图2所示,该学习者的事件超图理论模型可表示如下:
(1)
其中,V表示学习事件
中的学习资源
构成的节点集合,E表示学习事件
构成的超边集合,每条超边包含多个节点。超图的关联矩阵可以表示为
,顶点度矩阵和超边度矩阵分别表示为
和
。此外,每条超边中的节点通过有向边连接,表明其在行为序列中被该学习者连续学习。
基于上述定义,本文研究的序列推荐问题可以描述为:在某一课程的学习过程中,给定目标学习者对该课程的历史学习事件集合
以及所有学习者的历史学习事件S,预测目标学习者u接下来要学习的课程资源r。构建概率函数f计算学习者u与所有学习者的学习事件构成的事件超图
中未进行学习的课程资源r发生交互的可能性
,定义为:
(2)
其中
表示函数f的参数。
3.2. 学习事件超图构建
首先将每个学习者学习行为数据转化为图结构。以学习者u为例,如图3所示,学习者在学习课程时产生的学习行为数据表示为
,其中两个相邻的学习资源表示其学习顺序。
Figure 3. (a) Traditional graph structure; (b) learning event hypergraph
图3. 普通图和学习事件超图
以往的研究在对行为数据建模时 [7],通常将序列直接构造成图3(a)所示的邻接图G。该方法虽然表示序列中的顺序模式,但忽略了在线学习场景下学习者的学习过程不是连续的。对于学习者u来说,在产生学习事件集
时,实际上是在三个不同的时间进入在线学习平台。根据其学习时间可将其原始行为数据分为三个学习序列
,分别表示为
,
,
。可见,实际学习情境中的学习资源
和
之间没有直接联系,因此传统的行为建模方法会产生噪声依赖关系。此外,本文认为学习者在短时间内的学习活动必须有针对性,无关材料之间不能跳跃。例如,学习者在学习“排序算法”时,必须学习与“排序算法”相关的知识,而不是突然学习“二叉树”或“栈”。因此,对于每一个学习事件,学习资源之间存在着隐含的高阶关系,传统的行为建模方法难以表达高阶信息,造成信息的丢失。
考虑到在实际学习过程中,学习者在短时间内的学习行为之间存在一定的隐含关系,本文采用时间属性作为划分学习事件的依据。如果学习行为数据中两个独立的学习资源之间的交互时间间隔大于时间阈值,则将学习行为序列划分为多个单独的学习事件。然后利用超图结构对学习行为间的隐含高阶关系进行建模。为了减少噪声关系的出现,避免学习行为建模过程中高阶信息的丢失,本文提出了如图3(b)所示的学习事件超图构造方法。根据定义2,图3(b)的超图可以表示为:
(3)
因此,图3(b)中学习者u的关联矩阵
表示为:
(4)
顶点度矩阵
为:
(5)
超边度矩阵
为:
(6)
3.3. 学习事件超图嵌入
为了确定公式2中函数f的参数
,本文在通用超图神经网络框架(HGNN) [26] 中引入了一种带有时间和位置信号的自注意力机制,通过考虑历史行为数据中的学习时间和对学习资源的不同关注程度,捕捉学习事件背后的动态学习偏好。
在本文的模型中,超图中的节点是有向的。为了表示有向事件超图,本文利用图的出入度权重矩阵表示节点特征。假设对于超图中的每个学习事件包含的n个节点
,它们的特征矩阵表示为
,则其输入信息
可表示为:
(7)
其中,
代表出入度矩阵的第i行,
和
为可学习参数,
。
基于上述对超图节点的初始特征表示,其初始嵌入为
,卷积层可以定义为:
(8)
其中,
表示非线性激活函数(ReLu),
代表第
层的可训练权重矩阵。上述卷积过程可以写成矩阵形式,通过添加对称归一化:
(9)
其中,
和
分别是L层和
层的超图嵌入向量,
是超边权重的对角矩阵,
是第
层的可训练权重矩阵,通过模型的训练来不断地更新该矩阵,最终提取出超图的节点特征。
通过对L层卷积得到的节点嵌入进行平均,可以最终得到节点的嵌入表示:
(10)
基于上述学习训练过程,可以得到学习者u的学习事件超图中节点的嵌入矩阵
,其中
表示每条超边中的节点的特征表示。
3.4. 时间位置自注意力机制
为了从学习事件中捕捉学习者的动态学习偏好,本文在自注意力模型中加入时间位置信号,利用时间感知的位置编码模块捕捉学习事件中的位置顺序和学习时间。
假设学习者u在整个学习过程中交互的课程资源序列集合表示为
,对于每个学习事件
,为了表达第
个交互的学习资源,其时间感知位置值表示为:
(11)
其中,
表示学习事件
中课程资源
与
的学习时间之间的间隔。
根据Vaswani等人 [29] 的研究,为了将时间感知位置编码到嵌入向量
中,需要将
扩展为一个N维的位置嵌入向量
,对于给定维度
,计算
每个维度的值为:
(12)
因此,对于给定的课程资源
,通过将其在事件超图中的嵌入特征表示
与时间感知位置嵌入向量
相加,得到最终的输入表示
,即:
(13)
基于上述过程,可以得到学习事件超图中节点的嵌入矩阵
,利用自注意力机制,根据各项目对目标课程资源
的注意力分数生成最终嵌入。首先
对
的注意力分数表示为:
(14)
其中,
和
表示可学习矩阵,d表示嵌入的维度。最终基于注意力机制的信息传播可以表述为:
(15)
其中,
表示可学习矩阵,最后
表示嵌入在学习事件
中的学习者当前学习偏好。
基于上述学习训练过程,可以得到每个学习事件中学习者学习偏好的嵌入表示
,进而得到整个事件超图中学习者学习偏好的嵌入矩阵
。
3.5. 课程资源预测
通过上述章节得到的基于时间注意力机制的学习者动态学习偏好表示,可以为事件超图中学习者没有交互的每个候选学习资源
计算出相应的分数,表示如下:
(16)
然后使用softmax函数计算每个课程资源为下一项的概率:
(17)
最后利用交叉熵损失函数预测:
(18)
4. 实验
4.1. 数据集
本文以公开数据集MOOCCube为实验数据,选取其中的《Java程序设计》课程的学习行为数据。该课程数据集包含6167名学习者与104个学习资源交互产生的113059条学习行为数据。
对于所有的学习者数据,我们随机选取80%的学习者数据作为训练集,其余的作为测试集。在对训练数据中的每个序列的训练过程中,最后一个学习项作为目标,其余的作为过去的行为。将测试集中的每个学习资源作为目标学习源,将训练集中同一用户对应的学习资源作为表示该学习资源的学习历史序列。表1给出了上述实验数据集的具体统计信息。
4.2. 评估指标
针对本文提出的基于事件超图的学习行为序列推荐模型,本文设计了预测接下来K个学习资源的实验,即根据下一个学习资源的概率选择TOP-K个资源。因此,本文用P@K (Precision) [30] 和MRR@K (Mean Reciprocal Rank) [31] 来评价模型的推荐性能。
(19)
其中,
为真正被点击的项目出现在推荐列表的前k位中的次数。
(20)
其中,K表示推荐总数,
表示实际项目存在于推荐列表中的排名,若不存在,则
。
实验采用P@5、P@10、MRR@5和MRR@10进行详细比较。实验结果为5次实验的平均结果。
4.3. 基线方法
为了评估本文提出的LEHSR模型的有效性,考虑了以下几种基线方法进行比较:
GRU4Rec [18]:将RNN成功应用于序列推荐的深度序列模型;
NARM [4]:将注意力机制与循环神经网络相结合,区分不同交互项的重要性;
SRGNN [6]:首先将序列构成图,通过在图上进行信息传播来学习物品表示;
DHCN [32]:基于自监督超图卷积网络的序列推荐。
为了公平性,本文将所有模型的向量长度设为100,所有模型的batch size为100,L2正则化为10-5。初始学习率为0.001。对于基于GNN的方法,搜索{1, 2, 3, 4}层。
4.4. 实验结果及分析
实验结果如表2所示。最佳结果以粗体显示,次优结果以下划线显示。
Table 2. Compare experimental results with baseline methods
表2. 与基线方法对比实验结果
从表2的实验结果可以看出,在基于RNN的方法中,NARM模型的结果明显优于早期的GRU4Rec方法,因为NARM模型利用注意力机制来捕捉用户的长期兴趣偏好,这说明用户的长期偏好在序列推荐任务中是非常重要的。与基于RNN的方法相比,SRGNN模型表现出更好的性能。这是因为基于GNN的方法不仅使用了交互序列,而且利用了图的拓扑信息,因此能够更全面地表示项目和事件的特征。此外,DHCN模型作为次优结果,在建模用户行为序列时构造了无向序列超图结构,并使用超图卷积网络来表示超图的特征。从结果可以看出,DHCN模型明显优于其他方法,说明有必要构造超图结构来表示行为数据之间隐藏的高阶信息。与基线方法相比,本文提出的LEHSR模型表现出更好的推荐性能。主要原因是该方法构造的事件超图能够准确捕捉项目间的高阶相关性,并通过引入注意力机制捕捉学习者的动态偏好,使得项目的特征表示更加充分和准确,从而提高模型的推荐性能。
5. 结论与未来工作
5.1. 结论
本文提出了一种新的学习事件超图序列推荐模型(LEHSR)用于课程资源推荐。与以往基于图结构的行为建模方法将项目间的迁移关系看作简单的两两关系不同,本文的LEHSR模型考虑了项目间的隐含高阶信息关联,采用事件超图结构对学习者的行为进行建模。为了更好地描述超图中的节点特征,我们将传统的无向图结构转化为有向图结构,并且为了进一步提高模型的性能,我们设计了一种带有时间位置信号的自注意力机制来捕捉学习者的动态学习偏好。实验结果表明,LEHSR比基准模型具有更高的推荐精度。
5.2. 未来工作
今后,本文计划扩大现有的研究工作,主要包括:
1) 考虑融合群体学习事件超图,引入课程知识结构对超图进行改进,以应对冷启动和数据稀疏的挑战;
2) 目前,本文的方法只使用超图神经网络提取节点和图的特征,而没有改进超图神经网络的结构,可以设计更有效的超图神经网络来增强节点和图的特征表示以进一步提高推荐性能;
3) 该方法主要考虑推荐的准确性,而没有考虑推荐的效率。未来应改进现有模型训练过程,以完成高效的在线推理,提高推荐的实时效率。
基金项目
中央高校基本科研业务费专项资金资助项目(2232018H-07)。
参考文献