Learning Resource Recommendation Method Based on Spatio-Temporal Multi-Granularity Interest Modeling
-
摘要:
个性化学习资源推荐以提取学习者兴趣为基础,为学习者推荐感兴趣的学习资源. 然而,学习者的兴趣不仅受知识点、学习资源、课程等因素影响导致其兴趣难表征,而且其会随时间推移动态变化使得学习兴趣模式难捕获. 针对此,提出基于时空多粒度兴趣建模的学习资源推荐方法,其特点在于:首次设计并实现了一种融合学习空间和时间维度的学习兴趣表征学习架构,其中,提出基于异构图的学习空间及其多粒度兴趣表征,即用节点表示知识点、学习资源、课程、教师和学校等实体,边表示实体间关系,用此异构图表示学习空间,再通过图神经网络表征学习节点嵌入来表达节点上的多粒度兴趣;提出时间维度多粒度兴趣模式表征方法,即结合时间、学习空间和课程偏好等多维度,切分学习者历史行为序列,用于挖掘学习者近期课程内、中期跨课程和长期跨课程等不同粒度的兴趣模式,并设计多粒度兴趣自监督任务,破解时空多粒度兴趣缺少监督信号问题;然后,提出多粒度兴趣自适应融合层,将多粒度兴趣表征和兴趣模式融合,获得最终的学习者兴趣,经预测层为学习者推荐感兴趣的学习资源. 实验结果表明,在MOOCCube数据集上,所提算法较最优对比算法HinCRec,在Recall@20和NDCG@20指标上分别提升了3.13%,7.45%;在MOOPer数据集上,所提算法较最优对比算法HinCRec在Recall@20和NDCG@20指标上分别提升了4.87%,7.03%.
Abstract:Personalized learning resource recommendation is derived from identifying learners' interests and recommending interesting and relevant learning resources accordingly. However, learners’ interests are influenced by various factors such as knowledge points, learning resources, and courses, which makes it a challenging task to accurately represent their interests. Additionally, these interests evolve dynamically over time, complicating the task of identifying learning interest patterns. To address this challenge, we propose a learning resource recommendation method based on spatio-temporal multi-granularity interest modeling, which is characterized as follow: An innovative architecture is designed and implemented for learning interest representation that integrates the learning space and temporal dimension in a heterogeneous graph-based learning space and the multi-granularity interest representation. The nodes in this graph represent entities, such as knowledge points, learning resources, courses, teachers, and schools; and the edges of the graph represent the inter-entity relationships. A graph neural network is utilized to express the multi-granularity interest in these nodes. Moreover, we propose a temporal multi-granularity interest pattern representation method by combining multi-dimensionality of time, learning space, and course preference, and slicing through the sequence of learner's historical behaviors is used to mine the learner's different granularity of interest patterns in the near-term within-course, mid-term across-course, and long-term across-course. Then, a multi-granularity interest adaptive fusion layer is proposed to fuse multi-granularity interest representations and interest patterns. Based on this method a multi-granularity interest self-supervision task is designed to solve the problem of lack of supervised signaling for spatio-temporal multi-granularity interests, and recommend relevant learning resources for learners via prediction layer. Our experimental results show that on MOOCCube dataset the proposed method outperforms the optimal comparison algorithms HinCRec in Recall@20 and NDCG@20 metrics by 3.13% and 7.45%, respectively. On MOOPer dataset, the proposed method outperforms optimal comparison algorithm HinCRec in Recall@20 and NDCG@20 metrics by 4.87% and 7.03%, respectively.
-
教育资源推荐系统是一种典型的数据驱动信息系统服务,根据其对学习者建模的目标可分为面向学习者兴趣、面向学习者学习表现、面向学习者认知水平和面向学习者学习风格的推荐[1]. 文献[2]指出如何从大量的用户历史交互数据中精准发现用户兴趣是个性化学习资源推荐算法的核心,因此,本文主要研究面向学习者兴趣的推荐. 学习者兴趣不仅体现在课程、知识点、资源层面,而且与时间维度信息相关.
传统的学习资源推荐方法[3-6]往往聚焦于学习者对学习资源本身的兴趣,使用单一向量表征学习者的兴趣偏好,易导致兴趣表征不充分问题. 对此,有学者们已开始研究用户多兴趣建模[7-10],通过为每个用户学习多个兴趣向量,每个向量表达用户兴趣的不同方面,更全面地表征用户兴趣. 但现有研究忽略了在知识概念上对知识点、学习资源、课程等多粒度的兴趣表征;且大多仅从时间维度上简单切分用户历史行为序列[9-10]并在此序列内发现兴趣模式(如图1(a),直接根据时间将最后4个资源的序列建模为学习者近期兴趣,整个序列建模为学习者长期兴趣),也忽略了在学习空间和时间2个维度上多粒度之间的关联关系,导致学习者动态多变的学习兴趣模式难捕获.
本文选取学堂在线公开数据集MOOCCube Q&A中学习者关于14门课程的学习日志,对学习者历史行为序列进行分析. 图2统计了学习者所学习的课程数,横坐标是课程数,纵坐标是学习对应课程数的学习者数,由图2可知,大部分学习者在
该平台学习多门课程,且集中在2~5门课程之间. 结合2.3节不同时间维度下用户学习的课程数量统计,本文分析发现:学习者的兴趣随时间动态变化的同时,受学习资源、课程等影响较大. 图1给出了现有学习资源推荐方法和本文所提方法的比对,如图1(b)所示,竖线填充圆圈和横线填充圆圈分别是“操作系统”课程和“数据结构”课程的视频资源,一个学习序列不仅体现了学习资源的先后学习顺序,且蕴含了学习者在不同时期对不同课程的学习偏好. 从图1(b)中可以看出学习者在(t2, t3)时间内集中学习“数据结构”课程内的多个学习资源,在(t1, t3)的时间内同时学习了“数据结构”和“操作系统”2门课程,用户的学习兴趣模式从单一课程学习到跨课程学习发生了改变. 故现有序列建模方法不但无法表征学习空间上的多粒度信息,而且也无法捕获用户在课程上的学习兴趣模式变化,即无法有效捕获多粒度的学习空间和时间2个维度上的兴趣模式变化.
针对此,本文提出基于时空多粒度兴趣建模的学习资源推荐算法,从时间和学习空间进行多粒度的学习兴趣表征和兴趣模式挖掘,进而为学生提供感兴趣的资源推荐.
首先,提出一种基于异构图的图数据构建方法,进行学习空间数据构建,即用节点表示知识点、学习资源、课程、教师和学校等实体,边表示实体间关系;其次,提出图神经网络的多粒度兴趣表示学习,提取学习者在知识点、学习资源、课程上的多粒度兴趣表征;再者,提出时间维度多粒度兴趣模式表征方法,即结合时间、学习空间和课程偏好等多维度,切分学习者历史行为序列,用于挖掘学习者近期课程内、中期跨课程和长期跨课程等不同粒度的兴趣模式;进而,提出时间维度上的多粒度兴趣自监督任务,缓解缺少监督信号的问题,显式区分不同粒度的兴趣向量,增强同一粒度兴趣向量的表达;最后,使用注意力机制,自适应地融合学习空间和时间维度的多粒度兴趣向量,将学习者表征向量、融合后的兴趣向量、学习资源表征向量输入至预测层,为学习者推荐合适的学习资源.
本文所提基于时空多粒度兴趣建模的学习资源推荐方法的主要贡献有3个方面:
1)首次设计并实现融合学习空间和时间维度的学习兴趣表征学习架构,其中,提出异构图的学习空间及其之上兴趣表征学习,解决学习空间上多粒度用户兴趣难表征问题;基于时间维度的多粒度兴趣表征学习方法,不但兼顾课程偏好和时间属性,而且可对学习者近期课程内、中期跨课程和长期跨课程等不同粒度的兴趣表征并学习,有效解决时间维度上用户多粒度兴趣模式的表征问题;
2)使用注意力机制,自适应地融合学习空间和时间维度的多粒度兴趣向量,有效解决多粒度的时间和学习空间2个维度上的兴趣模式捕获难题;
3)在MOOCCube数据集和MOOPer数据集上的实验结果表明所提算法在性能指标上优于对比算法,验证了方法的有效性.
1. 相关工作
本节主要概述与本研究相关的学习资源推荐、推荐中的用户兴趣建模研究现状.
1.1 学习资源推荐
学习资源推荐根据其对学习者建模的目标可以分为面向学习者兴趣、面向学习者学习表现、面向学习者认知水平和面向学习者学习风格的推荐,本文主要关注面向学习者兴趣的学习资源推荐.
在面向学习者学习表现的资源推荐方面,知识追踪方法取得了不错的表现,例如Ai等人[11]对动态键值记忆网络进行了修改,以课程概念表为基础设计其记忆结构,在学习者的知识追踪过程中明确考虑了习题与概念的映射关系,并首次使用强化学习的策略进行学习资源推荐. Huang等人[12]提出了一种新的深度强化学习框架,设计了多个优化目标和新的奖励函数,包括复习与探索、难度平稳性和参与度,达到了更好的推荐效果. Huo等人[13]提出一种基于LSTM的知识追踪方法,该模型嵌入了知识组件的上下文,实现了知识的上下文表示. Wu等人[14]提出了一种新的习题推荐方法,利用循环神经网络(RNN)预测知识概念的覆盖范围,并根据学生的习题答题记录,利用深度知识追踪(DKT)预测学生对知识概念的掌握程度.
在面向学习者认知水平的资源推荐方面,一些研究根据学习者的认知水平为学习者推荐难度合适的学习资源,Hu等人[15]通过分析学习者已学课程和所得的课程成绩,建模学习者与学习资源之间的适配度进行推荐.Ren等人[16]根据学习者多模态反馈(个人信息、评论、收藏和点赞等信息)建模学习者认知水平,选择合适的课程进行推荐. 在面向学习者学习风格的资源推荐方面,Nafea等人[17]使用Felder-Silverman学习风格模型(FSLSM)建模学生的学习风格进行推荐.Wan等人[18]提出了一种基于混合概念映射和免疫算法的推荐算法,为学习者推荐符合学习者学习风格的学习路径.
在面向学习者兴趣的资源推荐方面,Yan等人[19]提出一种基于协同过滤和关联规则挖掘的混合推荐算法,并在算法中融入学习者的学习兴趣. Gong等人[20]将深度协同过滤组件与宽线性组件结合,在利用学习者和学习资源特征的基础上,引入学习资源的其他特征(如难度、类型和知识点)进行混合推荐. 图结构在表征实体概念之间的联系方面具有巨大的优势,一些基于图结构的推荐算法[21-26]也取得了优秀的表现. 如Liu等人[21]提出使用GRU建模学习者的长短期兴趣偏好,并引入图嵌入技术提升推荐效果. Gong等人[22]和Wang等人[23]构建学习者-课程-学习视频-知识点异质信息网络,使用基于元路径的图表征方法建模用户兴趣,将节点表征输入到矩阵分解模块,为学习者个性化推荐知识点. Zhang等人[25]将学习者的行为和课程图谱自然地投射到一个统一的空间中,从而缓解了课程推荐中的交互模糊性、课程相关性和意图多样性等难题,更好地建模了学习者兴趣.
综上,学习资源推荐是在线教育领域持续研究的热点问题,精准建模学习者的兴趣偏好是面向学习者兴趣的学习资源推荐算法的关键. 近年来对学习资源推荐的研究有了较大进展,有效挖掘了学习者的学习兴趣. 但是,现有学习资源推荐算法往往聚焦于学习者对学习资源本身的单粒度兴趣,对学习者的多粒度兴趣建模不足,即大多使用单一向量表征学习者复杂多样的兴趣偏好,易导致兴趣表征不充分问题.
1.2 用户兴趣建模
用户兴趣建模是推荐算法的核心,使用单一向量表征用户兴趣的单粒度兴趣建模最早得到了研究者们的关注. Zhou等人[27]通过将目标物品和用户历史行为序列中的物品做Attention,实现用户历史兴趣的局部激活. Zhou等人[28]设计了兴趣提取层和兴趣演化层来建模用户兴趣的演化,在兴趣提取层,使用GRU建模用户历史行为序列的依赖关系,将GRU的隐层输出作为用户兴趣的表达向量;在兴趣演化层,提出使用AUGRU建模用户兴趣的演化. Chen等人[3]使用Transformer挖掘用户历史行为序列背后的兴趣. Sun等人[4]将NLP中的BERT模型迁移至推荐的用户序列建模中,以提取用户兴趣. 陈碧毅等人[5]在使用加权低秩方法处理用户隐式反馈数据的基础上,结合用户的显示反馈数据,训练用户的兴趣表征. Zheng等人[6]通过构建自监督任务,提取用户历史行为中的长期兴趣和短期兴趣.
用户的兴趣复杂多样,单一向量难以表征用户的全部兴趣,对此,学者们开始研究用户多兴趣建模. Li等人[7]和Cen等人[9]设计了一种基于胶囊路由机制的多兴趣提取层,将用户的历史行为分组到多个兴趣胶囊中,使用动态路由来自适应聚合用户行为、提取多个表示用户兴趣的向量. Cao等人[29]引入知识图谱,并将用户兴趣与知识图谱中的关系一一对应,以此获得用户的多兴趣向量. Wang等人[30]引入多个意图节点,将原始图分解为多个子图,每个子图对应一个意图,代表用户兴趣的某个方面. Wang等人[31]则将用户的每个兴趣都由知识图谱中的所有关系聚合.
随着用户多兴趣建模研究的深入,有学者指出用户的兴趣是多粒度的,忽略用户兴趣的粒度,可能造成学习到的多兴趣表征带有噪声,且可解释性较差[32]. 针对此,区分用户兴趣粒度的推荐算法开始受到学者们的关注. Qi等人[32]通过构建用户分层兴趣树,提取用户对新闻一级类别、二级类别和总体不同粒度的兴趣.Guo等人[33]将用户会话序列划分为不同长短粒度的时序会话片段,提出多粒度意图异构会话图(MIHSG)来捕捉不同粒度意图单元间的交互,以此获取用户兴趣. 该类算法进一步提升了推荐效果.
但是,现有多粒度兴趣建模方法往往仅从时间维度切分并建模用户历史行为序列,忽略了学习者在学习空间对知识点、学习资源、课程等不同粒度实体的兴趣. 此外,在2个公开的网络学习数据集MOOCCube和MOOPer数据集上分析发现,学习者的兴趣随时间推移动态变化的同时,受课程影响较大(详细参见2.2节),仅从时间维度对历史学习行为序列切分,难以捕获用户学习兴趣和课程之间的依赖关系,易造成学习者兴趣表征欠佳,进而影响学习资源推荐效果,因此,现有多粒度兴趣建模方法难以直接应用于学习资源推荐中.
2. 基于时空多粒度兴趣建模的学习资源推荐方法
基于时空多粒度兴趣建模的学习资源推荐方法整体结构如图3所示,主要由学习空间多粒度兴趣表征建模模块、时间维度多粒度兴趣模式发现模块和学习资源推荐模块组成. 本节将详述这3个模块.
2.1 问题定义
在学习资源推荐场景,存在丰富的知识概念实体,如知识点、学习资源、课程、教师等,这些实体以及实体间关系蕴含着丰富的信息. 本文要解决的问题是在已知用户在线学习历史记录和知识概念实体关系的条件下,为用户进行学习资源推荐,以满足用户需求.
问题具体定义为:U表示所有用户,V代表所有的学习资源,R代表已知的知识概念实体关系,对于每一个用户u∈U,根据其在线学习历史记录Hu={v1,v2,…,vn}和知识概念实体关系R,为用户推荐下一个可能学习的资源vn+1,其中,vi∈V,n表示历史记录长度.
2.2 学习空间多粒度兴趣表征建模模块
以异构图来对知识点、学习资源、课程等知识概念实体关系建模的思想为指导,本模块旨在实现基于异构图的学习空间构建及其之上的多粒度兴趣表征学习,包括基于异构图的学习空间构建、边信息感知的图神经网络表征、学习空间多粒度兴趣提取3个步骤.
第1步. 根据知识概念实体关系构建基于异构图的学习空间Gu=⟨Nu,E⟩,用节点表示知识点、学习资源、课程、教师和学校等实体Nu=k∪v∪c∪t∪s,其中v是Hu中所有学习资源构成的集合,k,c,t,s表示所有与v相关联的知识点、课程、教师、学校等节点,满足∀n∈k∪c∪t∪s,(n,v)在R中是连通的;边集合表示实体间关系,根据R对所有节点进行边集合的构建,定义为∀n1,n2∈Nu,若(n1,n2)∈R,则(n1,n2)∈E. 如图4所示,该图是由实体节点、虚拟类型节点以及节点间不同类型边构成的异构图,节点和边信息参见表1和表2. 其中,虚拟类型节点是为了在提取多粒度兴趣时有效利用不同类型节点的信息,且避免直接聚合节点引入噪声的问题,为每种类型实体节点设计的虚拟节点.
表 1 学习空间节点信息Table 1. Node Information for Learning Space节点类型 符号 名称 实体节点 k 知识点节点 v 学习资源节点 c 课程节点 t 教师节点 s 学校节点 虚拟类型节点 k′ 知识点虚拟类型节点 v′ 学习资源虚拟类型节点 c′ 课程虚拟类型节点 t′ 教师虚拟类型节点 s′ 学校虚拟类型节点 表 2 学习空间边信息Table 2. Edge Information for Learning Space符号 名称 含义 ekf 知识点-知识点类别边 知识点所属类别 ek,se 前驱知识点-后继知识点边 知识点间先后序关系 ek,ps 父知识点-子知识点边 知识点间父子关系 ekv 知识点-学习资源边 学习资源与知识点的包含关系 ekc 知识点-课程边 课程与知识点的包含关系 evv 学习资源先后序关系边 学习资源在课程中先后序关系 evc 学习资源-课程边 课程与学习资源间的包含关系 esc 学校-课程边 所开设课程的学校 etc 教师-课程边 课程与任课教师关系 ets 教师-学校边 教师与所任教学校关系 ekk′ 知识点间虚拟类型节点边 知识点间虚拟类型节点关系 evv′ 学习资源间虚拟类型节点边 学习资源间虚拟类型节点关系 ecc′ 课程-课程虚拟类型节点边 课程与课程虚拟类型节点关系 ett′ 教师-教师虚拟类型节点边 教师与教师虚拟类型节点关系 ess′ 学校-学校虚拟类型节点边 学校与学校虚拟类型节点关系 考虑到学习者在选择学习资源时,会考虑学习资源的授课教师以及教师所在学校,如:某学习者喜欢学习某老师的课程,或某学校老师的课程,本文在学习关系异构图中引入了教师和学校节点.
第2步. 边信息感知的图神经网络表征.
兴趣表征建模模块的输入为学习者、学习资源的ID特征,以及知识概念异质图中全部知识概念节点、虚拟类型节点和不同类型边的ID特征. 本文将所有ID特征表示为稀疏向量, {{\boldsymbol x}_{{u_i}}} \in {\mathbb{R}^{1 \times |U|}} 是第i个学习者的独热(one-hot)向量; {{\boldsymbol x}_{{v_j}}} \in {\mathbb{R}^{1 \times |V|}} 是第j个学习资源的独热向量. 知识概念异质图中的知识点、学习资源、课程、教师和学校节点的ID特征分别表示为 {{\boldsymbol x}_k} \in {\mathbb{R}^{|K| \times |K|}} ,{{\boldsymbol x}_v} \in {\mathbb{R}^{|V| \times |V|}},{{\boldsymbol x}_c} \in {\mathbb{R}^{|C| \times |C|}},{{\boldsymbol x}_t} \in {\mathbb{R}^{|T| \times |T|}}和{{\boldsymbol x}_s} \in {\mathbb{R}^{|S| \times |S|}}. 由于ID类别特征的独热向量维度和稀疏性较高,通过引入嵌
入层,得到其低维稠密的嵌入向量可缓解该问题. 本文使用式(1)的方式得到第i个学习者的嵌入向量 {{\boldsymbol{e}}_{{u_i}}} \in {\mathbb{R}^{1 \times d}} .
{{\boldsymbol{e}}_{{u_i}}} = {{\boldsymbol{x}}_{{u_i}}}{{\boldsymbol{E}}_u} , (1) 其中{{\boldsymbol{E}}_u} \in {\mathbb{R}^{|U| \times d}}是学习者的嵌入向量矩阵,同理可获得第j个学习资源的嵌入向量{{\boldsymbol{e}}_{{v_j}}} \in {\mathbb{R}^{1 \times d}}、虚拟类型节点的嵌入向量矩阵 {{\boldsymbol{e}}_{{\mathrm{virtual\_type\_node}}}} \in {\mathbb{R}^{5 \times d}} 、边的嵌入向量矩阵 {{\boldsymbol{e}}_{{\mathrm{edge}}}} \in {\mathbb{R}^{15 \times d}} . 其中虚拟类型节点的嵌入向量矩阵 {{\boldsymbol{e}}_{{\mathrm{virtual\_type\_node}}}} 包括表1中知识点虚拟类型节点的嵌入向量 {{\boldsymbol{e}}_{{k^{'}}}} \in {\mathbb{R}^{1 \times d}} 到学校虚拟类型节点的嵌入向量矩阵 {{\boldsymbol{e}}_{s'}} \in {\mathbb{R}^{1 \times d}} ;边的嵌入向量矩阵 {{\boldsymbol{e}}_{{\mathrm{edge}}}} 包括表2中知识点-知识点类别边嵌入向量 {{\boldsymbol{e}}_{{e_{kf}}}} \in {\mathbb{R}^{1 \times d}} 到学校-学校虚拟类型节点边嵌入向量 {{\boldsymbol{e}}_{{e_{ss'}}}} \in {\mathbb{R}^{1 \times d}} .
由于异构图中边的类型非常丰富,本文在得到所有特征的嵌入向量后,使用边信息感知的图神经网络表征算法[29],进行学习空间图表征学习,见式(2):
{\boldsymbol{e}}_{dst}^{(l + 1)} = \frac{1}{{|\mathcal{N}\left( {dst} \right)|}}\sum\limits_{({{\boldsymbol{e}}_{{\mathrm{src}}}},{{\boldsymbol{e}}_{{\mathrm{edge}}}},{{\boldsymbol{e}}_{dst}}) \in \mathcal{N}(dst)} {\left( {{\boldsymbol{e}}_{src}^{(l)}} \right.} \odot {\boldsymbol{e}}_{{\mathrm{edge}}}^{(l)}) . (2) 第3步. 学习空间多粒度兴趣提取. 本文将学习者在学习空间中的兴趣划分为知识点粒度、学习资源粒度、课程粒度、总体粒度,分别提取学习者在各粒度上的兴趣. 其中,总体粒度兴趣节点和所有虚拟类型节点相连,其他兴趣节点和教师虚拟类型节点、学校虚拟类型节点相连.
以知识点粒度兴趣提取为例,构建由知识点虚拟类型节点和知识点相关边的表征向量组成的集合 {{\boldsymbol{e}}_{{\mathrm{knowledge}}}} ,具体见式(3).
{{\boldsymbol{e}}_{{\mathrm{knowlege}}}} = \{ {{\boldsymbol{e}}_k},{{\boldsymbol{e}}_{{e_{kf}}}},{{\boldsymbol{e}}_{{e_{k,se}}}},{{\boldsymbol{e}}_{{e_{k,ps}}}},{{\boldsymbol{e}}_{{e_{kv}}}},{{\boldsymbol{e}}_{{e_{kc}}}},{{\boldsymbol{e}}_{{e_{kk'}}}}\} . (3) 考虑到集合中不同节点和边对知识点粒度兴趣的贡献程度不同[31],使用注意力机制计算节点和边对知识点粒度兴趣的重要程度分数,按照注意力分数聚合节点和边的表征向量得到学习者在知识点粒度兴趣向量. 知识点粒度兴趣向量计算公式见式(4),注意力机制计算公式见式(5).
{{\boldsymbol{e}}_{u2k}} = \sum\limits_{{e_{k,i}} \in {{\boldsymbol{e}}_{{\mathrm{knowledge}}}}} {\alpha (k,i)} \, {{\boldsymbol{e}}_{k,i}} \text{,} (4) \alpha (k,i) = \dfrac{{\exp ({w_{k,i}})}}{{\displaystyle\sum\limits_{j = 1}^k {\exp ({w_{k,j}})} }} \text{,} (5) 其中 {{\boldsymbol{e}}_{u2k}} \in {\mathbb{R}^{1 \times d}} 是学习者在知识点粒度的兴趣向量, {{\boldsymbol{e}}_{k,i}} \in {\mathbb{R}^{1 \times d}} 是知识点虚拟类型节点或知识点相关边的表征向量,即为集合 {{\boldsymbol{e}}_{{\mathrm{knowledge}}}} 中的第i个元素, \alpha (k,i) 是 {{\boldsymbol{e}}_{k,i}} 对 {{\boldsymbol{e}}_{u2k}} 的重要程度权重, {w_{k,i}} 和 {w_{k,j}} 是可学习参数.
类似地,可分别提取学习者在学习资源粒度的兴趣向量 {{\boldsymbol{e}}_{u2v}} 、学习者在课程粒度的兴趣向量 {{\boldsymbol{e}}_{u2c}} 、学习者在总体粒度的兴趣向量 {{\boldsymbol{e}}_{{\mathrm{overall}}}} 和其他兴趣向量 {{\boldsymbol{e}}_{{\mathrm{other}}}} . 其中,总体粒度的兴趣向量 {{\boldsymbol{e}}_{{\mathrm{overall}}}} 由所有虚拟类型节点(k',v',c',t',s')和所有类型边的表征向量组成的集合构建而来. 其他兴趣向量 {{\boldsymbol{e}}_{{\mathrm{other}}}} 由教师和学校虚拟类型节点(t',s'),及教师和学校相关边的表征向量组成的集合构建而来.
2.3 时间维度多粒度兴趣模式发现模块
该模块旨在兼顾学习空间和时间维度上的多粒度偏好,可对学习者近期课程内、中期跨课程和长期跨课程等不同粒度的兴趣表征并发现其兴趣模式,包括序列建模、学习资源关系增强的学习者兴趣表征、时空多粒度兴趣模式提取和时空多粒度兴趣自监督任务4个步骤. 值的注意的是,该模块的嵌入层和学习空间多粒度兴趣建模模块中嵌入层共享参数.
第1步. 序列建模. 本文在MOOCCube和MOOPer数据集上进行用户学习序列切分及不同区间内学习课程门数的统计与分析. 首先根据时间维度将每个学习者历史行为序列平均分成3个区间,选取最近的区间作为近期区间,最近的2个区间作为中期区间,分别统计区间内的学习者平均学习课程门数. 如表3所示,近期区间上学习的平均课程数在2个数据集上均在[1,2]之间,说明在近期内学习者的兴趣主要集中在一门课程. 中期区间和长期区间上学习的平均课程数呈递增态势,且增幅均大于1,表明学习者的课程偏好随时间推移动态变化. 跨课程序列占比显示大多数学习者均存在跨课程学习的情况.
表 3 课程种类统计信息Table 3. Statistical Information of Course Type数据集 近期平均
课程数中期平均
课程数长期平均
课程数跨课程
序列占比/%MOOCCube 1.29 2.83 5.24 74.34 MOOPer 1.76 3.05 7.36 89.51 根据以上数据分析结果,本文设计结合时间序列和课程偏好的序列切分方式,将学习者的历史行为序列切分为近期课程内、中期跨课程和长期跨课程3个历史行为序列. 图5给出了基于课程偏好的序列切分示意图,其中每个圆圈表示一个学习资源,不同的形状填充表示学习资源属于不同的课程. 在划分学习者近期课程内历史行为序列时,统计近期区间内课程的种类以及数量,选取占比最多的课程作为用户的近期偏好课程,在近期区间内找到学习者第1次学习近期偏好课程下的学习资源,以此作为序列切分的左边界. 同理,在划分学习者中期跨课程历史行为序列时,选取除近期偏好课程外占比最多的课程作为用户的中期偏好课程,在中期区间内找到学习者第1次学习近期偏好课程或中期偏好课程下的学习资源,以此作为序列切分的左边界,这样切分有助于更好地获取用户在知识点、学习资源和课程上的多粒度学习偏好.
在得到近期课程内序列和中期跨课程序列后,结合学习者完整历史行为序列,进行3种序列的建模,建模过程分为嵌入层和GRU层2部分.
1)嵌入层.
将学习者上述各历史行为序列输入至嵌入层,如式(6)所示:
{{\boldsymbol{e}}_{{v_i}}} = {{\boldsymbol{x}}_{{v_i}}}{{\boldsymbol{E}}_v} \text{,} (6) 其中{{\boldsymbol{E}}_v} \in {\mathbb{R}^{|V| \times d}}是学习资源的嵌入向量矩阵,和学习空间多粒度兴趣表征建模模块中相同,即嵌入层参数共享. {{\boldsymbol{x}}_{{v_i}}}表示切分后各序列中的学习资源输入向量.
经过嵌入层后得到学习者近期课程内序列嵌入向量{{\boldsymbol{e}}_{{\mathrm{seq\_l}}'}}、中期跨课程序列嵌入向量{{\boldsymbol{e}}_{{\mathrm{seq\_l}}''}}和长期跨课程序列嵌入向量{{\boldsymbol{e}}_{{\mathrm{seq\_g}}}},如式(7)~(9)所示:
{{\boldsymbol{e}}_{{\mathrm{seq\_l}}'}} = \left[ {{{\boldsymbol{e}}_{{v_p}}},{{\boldsymbol{e}}_{{v_2}}},…,{{\boldsymbol{e}}_{{v_n}}}} \right]\text{,} (7) {{\boldsymbol{e}}_{{\mathrm{seq\_l}}''}} = \left[ {{{\boldsymbol{e}}_{{v_q}}},{{\boldsymbol{e}}_{{v_2}}},…,{{\boldsymbol{e}}_{{v_n}}}} \right]\text{,} (8) {{\boldsymbol{e}}_{{\mathrm{seq\_g}}}} = \left[ {{{\boldsymbol{e}}_{{v_1}}},{{\boldsymbol{e}}_{{v_2}}},…,{{\boldsymbol{e}}_{{v_n}}}} \right]\text{,} (9) 其中 n 是学习者完整历史行为序列的长度, p 是学习者近期课程内历史行为序列的左边界下标,q 是学习者中期跨课程历史行为序列的左边界下标.
2)GRU层.
GRU是用户建模的表征学习中常用关键技术,主要用于挖掘用户历史行为序列中的关联关系,抽取序列数据中的高阶信息.GRU的优势在于,其解决了RNN梯度消失的问题,且模型结构比LSTM更简单,参数更少,训练速度更快,不易过拟合. 因此,本文选用GRU建模学习者的历史行为序列. GRU的主要训练过程如下.
GRU包含更新门和重置门,时刻 t-1 隐藏层状态向量 {{\boldsymbol{h}}_{t - 1}} 和时刻 t 候选隐藏层状态向量{\hat {\boldsymbol{h}}_t}共同影响时刻 t 隐藏层状态向量{{\boldsymbol{h}}_t},具体计算公式如式(10)所示:
{{\boldsymbol{h}}_t} = (1 - {{\boldsymbol{z}}_t}){{\boldsymbol{h}}_{t - 1}} + {{\boldsymbol{z}}_t}{\hat {\boldsymbol{h}}_t} . (10) 由于不同学习者的学习序列长度不一致,我们将经过嵌入层得到的每个学习者近期课程内历史行为序列嵌入向量{{\boldsymbol{e}}_{{\mathrm{seq\_l}}'}}、中期跨课程历史行为序列嵌入向量{{\boldsymbol{e}}_{{\mathrm{seq\_l}}''}}和长期跨课程序列嵌入向量{{\boldsymbol{e}}_{{\mathrm{seq\_g}}}}分别进行填充,填充长度分别为各自个体切分后的最大长度. 将填充之后的近期课程内历史行为序列嵌入向量、中期跨课程历史行为序列嵌入向量和长期跨课程序列嵌入向量分别输入到GRU层,可获得学习者近期课程内兴趣向量 {{\boldsymbol{e}}_{u2{{\mathrm{l}}_1}'}} 、中期跨课程兴趣向量 {{\boldsymbol{e}}_{u2{{\mathrm{l}}_1}''}} 和长期跨课程兴趣向量 {\boldsymbol{e}}_{{u}2{\mathrm{g}}_{1}} .
第2步. 学习资源关系增强的学习者兴趣表征. 在将学习者的历史行为序列切分为近期课程内、中期跨课程序列后,可能存在序列长度较短,导致兴趣提取难度大的问题. 然而,学习资源推荐的特点是学习资源间存在较强的关联性,学习资源间的关联信息可用于辅助描述学习者所交互的学习资源间的关系. 对此,本文提出一种学习资源关系增强的学习者兴趣表征方法. 如图6所示,首先使用学习者历史行为序列,构建学习者学习行为图;其次,利用学习者所学习的学习资源间的关系,构建学习资源图;最后,融合学习者学习行为图和学习资源图,得到学习行为-学习资源图. 下面详细介绍构建学习者学习行为图和学习资源图、学习资源关系增强的学习者兴趣表征方法的过程.
1)构建学习者行为图.
借鉴已有基于图的会话推荐方法[34],通过为学习者历史行为序列中相邻学习资源添加有向边,构建学习者历史行为图. 例如,给定学习者历史行为序列seq = [{v_{11}},{v_{13}},{v_{14}},{v_{13}},{v_{23}},{v_{21}}],其中,{v_{11}},{v_{13}},{v_{14}},{v_{21}},{v_{23}}是学习者历史交互的学习资源,构建的学习行为图如图6所示.
2)构建学习资源图.
根据学习者所学习的相关学习资源间关系{R_v} \subset R,为存在前后序关系的学习资源添加有向边,构建学习资源图. 如{v_i}为{v_j}的前序必修课程,则添加有向边{v_i} \to {v_j}. 给定上述学习者所交互的学习资源序列 ,构建的学习资源图如图6所示.
3)构建学习资源-学习行为图.
如图6所示,将学习资源图和学习者学习行为图融合为学习资源-学习行为图. 学习者近期课程内、中期跨课程和长期跨课程历史行为序列可分别构建其学习资源-学习行为图.
在此基础上,通过学习资源关系增强的学习者兴趣表征层获得学习资源关系增强的学习者各粒度兴趣向量,该层主要包含基于GGNN的表征学习层和Readout层.
1)基于GGNN的表征学习层.
借鉴文献[35]中使用GGNN刻画用户在会话内的迁移关系,本文使用基于GGNN的表征学习刻画学习资源-学习行为图中复杂的关系. 基于GGNN的表征学习层信息聚合方式如式(11),更新方式如式(12)~(15). 经过基于GGNN的表征学习后,可获得学习资源-学习行为图的节点表征 {{\boldsymbol{h}}^{(l + 1)}} ,记作{\boldsymbol{e}}_V^{(l + 1)}.
{\boldsymbol{h}}_{{\mathcal{N}_v}}^{(l + 1)} = \sum\limits_{u \in {\mathcal{N}_v}} {{\boldsymbol{h}}_u^{(l)}} + {\boldsymbol{b}} \text{,} (11) {\boldsymbol{z}}_v^{(l + 1)} = \sigma \left( {{{\boldsymbol{W}}^z}{\boldsymbol{h}}_{{\mathcal{N}_v}}^{(l + 1)} + {{\boldsymbol{U}}^z}{\boldsymbol{h}}_v^{(l)}} \right) \text{,} (12) {\boldsymbol{r}}_v^{(l + 1)} = \sigma \left( {{{\boldsymbol{W}}^r}{\boldsymbol{h}}_{{\mathcal{N}_v}}^{(l + 1)} + {{\boldsymbol{U}}^r}{\boldsymbol{h}}_v^{(l)}} \right) \text{,} (13) \widetilde {\boldsymbol{h}}_v^{(l + 1)} = tanh\left( {{\boldsymbol{Wh}}_{{\mathcal{N}_v}}^{(l + 1)} + {\boldsymbol{U}}\left( {{\boldsymbol{r}}_v^{(l + 1)} \odot {\boldsymbol{h}}_v^{(l)}} \right)} \right) \text{,} (14) {\boldsymbol{h}}_v^{(l + 1)} = \left( {1 - {\boldsymbol{z}}_v^{(l + 1)}} \right) \odot {\boldsymbol{h}}_v^{(l)} + {\boldsymbol{z}}_v^{(l + 1)} \odot \widetilde {\boldsymbol{h}}_v^{(l + 1)}{\text{ }} \text{,} (15) 其中{{\boldsymbol{W}}^z},{{\boldsymbol{U}}^z},{{\boldsymbol{W}}^r},{{\boldsymbol{U}}^r},{\boldsymbol{W}},{\boldsymbol{U}}为可训练参数矩阵, \odot 为Hadamard积,\sigma 是非线性激活函数.
2)Readout层.
Readout层则通过聚合学习资源-学习行为图中所有节点的向量表征,得到学习者的各粒度兴趣向量. 具体聚合公式如式(16)所示:
{{\boldsymbol{h}}_G} = \sum\limits_{i \in V} {{\alpha _i}} {\boldsymbol{e}}_{{v_i}}^{(l)} \text{,} (16) 其中V表示学习资源-学习行为图中的节点集合, {\boldsymbol{e}}_{{v_i}}^{(l)} 是图中第i个节点在第l层的表征向量, {\alpha _i} 为第i个节点的权重,具体计算公式如式(17)所示:
{\alpha _i} = softmax({{\boldsymbol{q}}^T}\sigma ({{\boldsymbol{W}}_1}{\boldsymbol{e}}_i^{(l)} + {{\boldsymbol{W}}_2}{\boldsymbol{e}}_{{\mathrm{last}}}^{(l)} + {\boldsymbol{r}})) , (17) 其中 {\boldsymbol{q}} 和 r \in {\mathbb{R}^d} 是参数矩阵, {{\boldsymbol{W}}_1} 和 {{\boldsymbol{W}}_2} \in {\mathbb{R}^{d \times d}} 是参数矩阵, {\boldsymbol{e}}_{{\mathrm{last}}}^{(l)} 是学习者历史行为序列最后交互的学习资源在第l层的表征向量.
将学习者各粒度的历史行为序列输入至学习资源关系增强的学习者兴趣表征层,可获得学习资源关系增强的学习者近期课程内兴趣向量 {{\boldsymbol{e}}_{u2{{\mathrm{l}}_2}'}} 、中期跨课程兴趣向量 {{\boldsymbol{e}}_{u2{{\mathrm{l}}_2}''}} 和长期跨课程兴趣向量 {{\boldsymbol{e}}_{u2{{\mathrm{g}}_2}}} .
第3步,时空多粒度兴趣模式提取. 通过学习资源关系增强的学习者兴趣表征层获得增强后的学习者近期课程内兴趣向量、中期跨课程兴趣向量和长期跨课程兴趣向量后,通过平均池化层聚合对应粒度兴趣向量,得到最终学习者近期课程内兴趣向量 {{\boldsymbol{e}}_{u2{\mathrm{l}}'}} 、中期跨课程兴趣向量 {{\boldsymbol{e}}_{u2{\mathrm{l}}''}} 和长期跨课程兴趣向量 {{\boldsymbol{e}}_{u2{\mathrm{g}}}} . 以学习者近期课程内的兴趣偏好为例,计算公式如式(18)所示,其他兴趣向量以此类推.
{{\boldsymbol{e}}_{u2{\mathrm{l}}'}} = mean\_pooling({{\boldsymbol{e}}_{u2{{\mathrm{l}}_1}'}},{{\boldsymbol{e}}_{u2{{\mathrm{l}}_2}'}}) . (18) 第4步. 时空多粒度兴趣自监督任务. 由于时空多粒度兴趣缺少可靠的监督信号,本文设计了多粒度兴趣自监督任务,以学习者近期课程内兴趣向量为例,约束条件如式(19)所示,使用BPR损失函数对学习者近期课程内兴趣向量、中期跨课程兴趣向量和长期跨课程兴趣向量均进行自监督约束.
\left\{\begin{aligned} &sim({{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{1}}\text{'}},{{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{2}}\text{'}}) > sim({{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{1}}\text{'}},{{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{1}}\text{''}})\text{,}\\ &sim({{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{1}}\text{'}},{{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{2}}\text{'}}) > sim({{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{1}}\text{'}},{{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{{\text{g}}_{{}_{\text{1}}}}})\text{,}\\ &sim({{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{1}}\text{'}},{{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{2}}\text{'}}) > sim({{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{2}}\text{'}},{{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{2}}\text{''}})\text{,}\\ &sim({{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{1}}\text{'}},{{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{2}}\text{'}}) > sim({{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{\text{2}}\text{'}},{{\boldsymbol{e}}}_{u\text{2}{\text{l}}_{{\text{g}}_{{}_{\text{2}}}}})\text{,}\end{aligned}\right. (19) 其中sim是向量相似度度量函数,本文的实现方式是内积.
2.4 学习资源推荐模块
该模块旨在自适应地融合学习者在学习空间和时间维度的多粒度兴趣向量,在此基础上为学习者推荐学习资源. 学习者在学习空间多粒度兴趣的融合方法如式(20)所示,可获得融合后的兴趣向量 {{\boldsymbol{e}}_{{\mathrm{space}}}} ,同理可得学习者在时间维度的多粒度兴趣融合向量 {{\boldsymbol{e}}_{{\mathrm{time}}}} .
{{\boldsymbol{e}}_{{{\mathrm{space}}}}} = \sum\limits_{i = 1}^5 {{\alpha _i}{{\boldsymbol{e}}_{{{\mathrm{space\_i}}}}}} \text{,} (20) 其中 {{\boldsymbol{e}}_{{{\mathrm{space\_i}}}}} 是学习者在学习空间的第i个兴趣向量, {\alpha _i} 的计算公式如式(21)所示:
{a_i} = \dfrac{{exp({\omega _i})}}{{\displaystyle\sum\limits_{j = 1}^5 {\exp } ({\omega _j})}}, (21) 其中 {\omega _i} 的计算公式如式(22)所示,由式(22)可知, {\omega _i} 可根据学习者和学习者最后交互的学习资源,自适应计算各粒度兴趣的权重.
{\omega }_{i}={\tau }_{1}({{\boldsymbol{e}}}_{u}'\Vert {{\boldsymbol{e}}}_{\text{space\_i}}\Vert ({{\boldsymbol{e}}}_{u}'-{{\boldsymbol{e}}}_{\text{space\_i}})\Vert ({{\boldsymbol{e}}}_{u}'\times {{\boldsymbol{e}}}_{\text{space\_i}})||{{\boldsymbol{e}}}_{\text{las}}{}_{\text{t}}) \text{,} (22) 其中 {\tau _1} 是深度神经网络,如式(23)所示. {{\boldsymbol{e}}_{{\mathrm{las}}}}_t 是学习者最后一次交互的学习资源表征向量,即历史行为序列中最后一个学习资源的嵌入表征,{{\boldsymbol{e}}_u}' 是学习空间多粒度兴趣建模模块中的用户表征,由学习空间各兴趣向量聚合得到, || 是向量拼接操作.
{\boldsymbol{y}} = \sigma ({{\boldsymbol{W}}_2}(LeakyReLU({{\boldsymbol{W}}_1}{\boldsymbol{x}} + {{\boldsymbol{b}}_1})) + {{\boldsymbol{b}}_2}) \text{,} (23) 其中{\boldsymbol{x}},{\boldsymbol{y}}分别为 {\tau _1} 的输入和输出, {{\boldsymbol{W}}_1} ,{{\boldsymbol{W}}_2}为权值矩阵, {{\boldsymbol{b}}_1} , {{\boldsymbol{b}}_2} 为偏置向量, LeakyReLU 是激活函数, \sigma 是sigmoid激活函数.
学习者最终表征向量{{\boldsymbol{e}}_u}的计算公式如式(24)所示:
{{\boldsymbol{e}}_u} = {\tau _2}({\boldsymbol{e}}_u' ||{{\boldsymbol{e}}_{{{\mathrm{space}}}}}||{{\boldsymbol{e}}_{{{\mathrm{time}}}}}||{{\boldsymbol{e}}_{{{\mathrm{last}}}}}) \text{,} (24) 其中 {\tau _2} 是深度神经网络,通过单层全连接层实现.
基于上述步骤得到的学习者表征向量和学习资源表征向量后,计算学习者对候选学习资源的偏好评分,将排名靠前的学习资源推荐给学习者. 偏好评分计算公式如式(25)~(27)所示:
\widehat {\boldsymbol{y}} = [{\widehat y_1},{\widehat y_2},…,{\widehat y_{|V|}}] \text{,} (25) {\widehat y_i} = \dfrac{{\exp ({s_i})}}{{\displaystyle\sum\limits_{j = 1}^{|V|} {\exp ({s_j})} }} \text{,} (26) {s_i} = {{\boldsymbol{e}}_u}{\boldsymbol{e}}_{{v_i}}^T \text{,} (27) 其中 \widehat {\boldsymbol{y}} \in {\mathbb{R}^{1 \times |V|}} 是学习者u对所有候选学习资源的偏好评分向量, {\widehat y_i} 是学习者对第i个学习资源的归一化后偏好得分,{s_i}是学习者对第i个学习资源的归一化前偏好得分, {\boldsymbol{e}}_{{v_i}} 是经过嵌入层后的学习资源表征向量,计算公式如式(6)所示.
最后,选取得分最高的N个学习资源组成推荐列表,具体计算公式如式(28)所示:
rec\_list = TopN(\widehat {\boldsymbol{y}}) . (28) 本文使用的损失函数是交叉熵损失函数,其计算公式如式(29)所示:
L = {L_{{\mathrm{main}}}} + {\lambda _1}{L_{{\mathrm{bpr}}}} + {\lambda _2}||\varTheta ||_2^2 , (29) 其中 {L_{{\mathrm{main}}}} 是交叉熵损失, {L_{{\mathrm{bpr}}}} 是BPR损失函数, \varTheta 是模型参数,{\lambda _1}和{\lambda _2}是权重超参.
3. 实验与结果
3.1 数据集
本文实验所用学堂在线平台MOOCCube数据集的统计信息如表4所示,头歌实践教学平台MOOPer数据集的统计信息如表5所示.
表 4 MOOCCube数据集统计信息Table 4. Statistical Information for the MOOCCube Dataset实体名 数量 关系名 数量 学习者 1713 学习者-学习资源交互 126131 课程 14 课程-学习资源 1548 学习资源 1202 学习资源-知识点 3925 知识点 490 课程-知识点 1259 教师 19 知识点-知识点 730 学校 5 教师-课程 34 表 5 MOOPer数据集统计信息Table 5. Statistical Information for the MOOCCube Dataset实体名 数量 关系名 数量 学习者 44523 学习者-学习资源交互 641744 知识点 1267 二级学科-学习资源 2625 学习资源 1127 学习资源-知识点 1853 二级学科 58 学习资源-教师 1127 一级学科 13 一级学科-二级学科 58 教师 142 教师-学校 142 学校 46 学习者-学校 44523 3.2 评价指标
本文使用推荐中常用的召回率Recall(recall ratio)指标和归一化折损累计增益NDCG(normalized discounted cumulative gain)指标来衡量实验效果.
Recall的计算公式如(30)所示:
Recall@K = \frac{{{N_{hits@K}}}}{N} \text{,} (30) 其中K是从推荐列表中取评分较大学习资源的个数,N是测试集中学习者数量, {N_{hits@K}} 是学习者在测试集中交互的学习资源出现在TopK推荐列表的次数.
NDCG可衡量推荐算法的排序能力,其计算公式如(31)所示:
NDCG@K = \dfrac{{DCG@K}}{{IDCG@K}} = \dfrac{{\displaystyle\sum\limits_{i = 1}^K {\dfrac{{{2^{re{l_i}}} - 1}}{{lb(i + 1)}}} }}{{\displaystyle\sum\limits_{i = 1}^{RE{L_K}} {\dfrac{{{2^{re{l_i}}} - 1}}{{lb(i + 1)}}} }} \text{,} (31) 其中DCG是折损累积增益,相关物品排名越靠前,DCG的值越大, IDCG 是理想状态的DCG,即相关的物品排在最前面,rel是相关性分数.
3.3 参数设置
为保证实验的公平性,本文所有实验使用相同的方式划分训练集和测试集. 本模型的迭代次数设置为1 000个轮次,在模型训练的过程中,引入了早停机制以防止模型过拟合,具体设置为:当评测指标在15个周期连续下降时,模型的训练将停止. 数据训练批次大小(batch size)设置为1 024,优化器为Adam,学习率为0.001.嵌入向量维度为64,GNN网络层数为3,节点采样率为0.9,损失函数中的{\lambda _1}设置为0.2,{\lambda _2}设置为0.02,在MOOCCube数据集上,训练集与测试集比例为0.9,在MOOPer数据集上为0.7.
3.4 对照方法
本文将所提出方法与以下方法进行对比:
GRU4Rec[36]使用多层GRU来捕捉用户历史行为序列中的序列信息,是序列推荐中的经典算法.
Caser[37]使用CNN从用户短期历史行为序列中提取用户的短期兴趣,该算法更注重用户短期兴趣的记忆.
STAMP[38]提出一种短期注意力/记忆优先的会话推荐算法,该算法从会话上下文的长期记忆中捕获用户的一般兴趣,同时从短期记忆中提取用户的当前兴趣. 因此,该算法可同时捕捉用户的长短期兴趣,且对用户兴趣漂移更敏感.
NextItNet[39]算法借鉴了pixelCNN的思想,采用层叠的1维空洞卷积扩大感受野来提取物品序列特征,引入了残差的学习机制来防止梯度消失的问题,且在降维和升维时,使用1 \times 1卷积核,以减少模型参数.
SDAE[20]将深度协同过滤组件与宽线性组件结合,在利用学习者和学习资源特征的基础上,引入学习资源的其他特征(如难度、类型和知识点)进行混合推荐.
SRGNN[35]是基于图神经网络的会话推荐算法,该算法使用用户的历史会话构建会话图,在此基础上,使用GGNN学习会话图中物品的表征向量,然后获得每个会话的表征向量为用户推荐.
BERT4Rec[4]算法将NLP中的BERT模型引入到推荐领域,该算法采用深层双向自注意力机制建模用户的历史行为序列,为避免信息泄漏并有效训练双向模型,提出Cloze目标的方式进行序列推荐,即通过联合物品左右的上下文来预测序列中随机mask的物品.
LSTMCQP[13]是基于LSTM的一种知识追踪算法,该模型嵌入了知识组件的上下文,实现了知识的上下文表示,更准确地预测出学习者的知识状态,从而进行相关知识的练习推荐.
GCSAN[40]提出一种基于图上下文自注意力网络的会话推荐,该算法首先将用户历史会话中的物品序列构建为会话图,在此基础上,使用自注意力网络捕捉用户历史行为序列中的全局依赖关系,使用GGNN捕捉用户历史行为序列中的局部依赖关系.
LightSANs[41]算法指出被广泛应用于序列推荐的自注意力机制,存在复杂度较高且过度参数化的问题,对此,该算法提出将用户历史交互过的物品分类为不超过k类,将每一类视为一个潜在兴趣,将用户历史行为中的物品和k个潜在兴趣做交互,从而避免了物品之间的交互,有效减少了模型参数.
CORE[42]算法指出非线性编码学习得到的每个会话的嵌入向量和物品的嵌入向量不在同一表征空间,影响推荐效果. 该算法提出移除物品嵌入向量上的非线性激活函数,并将会话的嵌入向量编码为物品嵌入向量的线性组合,进而缓解会话和物品表征不一致的问题.
MSGIFS[33]算法是基于多粒度兴趣建模的推荐算法,将用户历史会话所交互的物品序列切分为多个不同长度的序列片段,将这些片段作为用户不同粒度的兴趣单元,结合所构建的会话图,使用注意力机制,聚合不同粒度兴趣单元的表征向量,得到用户不同粒度的兴趣表征向量.
HinCRec[43]算法将学习空间中用户、课程、视频和知识点构建为异构信息网络,并用注意力图神经网络进行建模,从而得到学习者和学习资源的表征向量. 其次,该模型使用强化学习策略根据用户和知识点之间的动态交互,提供多样化推荐.
3.5 实验结果及分析
3.5.1 整体性能及分析
MGIRec算法和所选对照组算法的实验结果如表6所示,其中,加粗数字为本文所提算法性能. 实验结果表明,本文所提MGIRec算法在MOOCCube和MOOPer数据集上的效果均优于所选对照组算法;GRU4Rec作为序列推荐的经典算法,取得了不错的效果;SRGNN效果明显优于STAMP,GRU4Rec算法,表明使用图神经网络刻画学习者复杂的历史行为关系的有效性;LightSANs算法显著优于SRGNN算法,显示出对序列推荐的自注意力机制优化和decoupled位置编码的有效性;HinCRec算法为最优对照算法,验证了学习空间异构信息网络构建的必要性以及知识点强化学习的有效性. 在MOOCCube数据集上,MGIRec算法在Recall@10,Recall@20,NDCG@10,NDCG@20指标上相比最优对照组算法平均提升了4%左右,在MOOPer数据集上平均提升了5%左右,可见MGIRec算法分别从学习空间和时间维度提取学习者多粒度的兴趣表征,更准确建模了学习者的兴趣偏好.
表 6 MOOCCube和MOOPer数据集下MGIRec算法推荐效果Table 6. Recommendation Effectiveness of the MGIRec Algorithm on MOOCCube and MOOPer Datasets方法 MOOCCube MOOPer Recall@10 Recall@20 NDCG@10 NDCG@20 Recall@10 Recall@20 NDCG@10 NDCG@20 NextItNet 0.5674 0.6404 0.4183 0.4367 0.6771 0.7750 0.4668 0.4917 Caser 0.6030 0.6713 0.4699 0.4872 0.6413 0.7692 0.4148 0.4474 GRU4Rec 0.6334 0.6894 0.4916 0.5057 0.7389 0.8266 0.5386 0.5610 STAMP 0.6369 0.6894 0.5157 0.5289 0.7025 0.7908 0.5172 0.5396 SDAE 0.6378 0.7001 0.5267 0.5387 0.7250 0.7975 0.5361 0.5711 SRGNN 0.6515 0.6994 0.5308 0.5429 0.7732 0.8399 0.6146 0.6316 BERT4Rec 0.6643 0.7221 0.5398 0.5544 0.7113 0.8179 0.5124 0.5395 LSTMCQP 0.6587 0.7199 0.5363 0.5496 0.7037 0.8096 0.5035 0.5344 CORE 0.6626 0.7291 0.5249 0.5441 0.6776 0.8130 0.5141 0.5386 GCSAN 0.6743 0.7256 0.5366 0.5497 0.7894 0.8504 0.6266 0.6422 MSGIFSR 0.6809 0.7364 0.5233 0.5395 0.7736 0.8487 0.6173 0.6375 LightSANs 0.6813 0.7367 0.5267 0.5407 0.7469 0.8396 0.5161 0.5398 HinCRec 0.7046 0.7486 0.5421 0.5572 0.7925 0.8620 0.6393 0.6541 MGIRec 0.7178 0.7720 0.5664 0.5987 0.8353 0.9040 0.6627 0.7001 提升/%. 1.61 3.13 4.48 7.45 5.40 4.87 3.66 7.03 加粗部分为本文所提方法的性能,优于所选对比方法. 3.5.2 MGIRec算法的消融实验结果及分析
为了验证本文所提方法的有效性,完成了4个消融实验,分别为时空各粒度兴趣建模消融实验、基于课程偏好的切分方法消融实验、学习资源关系增强的学习者兴趣表征消融实验和时空多粒度兴趣自监督任务消融实验.
1)时空各粒度兴趣建模消融实验.
为验证MGIRec算法中时空各粒度兴趣偏好建模是否有效提升推荐效果,设计了以下消融实验:
{\text{MGIRe}}{{\text{c}}_{{\mathrm{w/o\_s}}}} . 去除学习空间多粒度兴趣表征建模.
{\text{MGIRe}}{{\text{c}}_{{\mathrm{w/o\_l}}'}} . 去除学习者近期课程内的部兴趣偏好建模.
{\text{MGIRe}}{{\text{c}}_{{\mathrm{w/o\_l}}'\& {\mathrm{l}}''}}. 去除学习者近期课程内、中期跨课程兴趣偏好建模.
{\text{MGIRe}}{{\text{c}}_{{\mathrm{w/o\_l}}'\& {\mathrm{l}}''\& {\mathrm{g}}}}. 去除学习者在时空中所有粒度兴趣偏好建模.
如图7所示,时空各粒度兴趣建模消融实验结果表明,MGIRec算法中时空各粒度兴趣偏好建模均有效,其中学习者近期课程内的局部兴趣和长期跨课程兴趣偏好建模的效果最好,学习空间多粒度兴趣表征对算法的提升也有显著促进效果. 分析原因在于学习者习惯集中学习一门课程内的多个学习资源,且学习者在选择学习资源时,受其长期兴趣的影响.
2)基于课程偏好的切分方法消融实验.
为验证MGIRec算法中基于课程偏好的切分方法是否有效提升推荐效果,本文对切分方法中不同步骤进行拆分,设计了以下消融和对照实验:
fix. 直接将近期区间作为近期历史行为序列,中期区间作为中期历史行为序列,即不考虑用户的课程偏好.
origin. 在划分学习者近期课程内历史行为序列时,将用户最后一次点击资源的隶属课程作为近期偏好课程,然后找到学习者第1次学习目标课程下的学习资源,以此作为序列切分的左边界;同理,在切分中期跨课程历史行为序列时,将上述近期课程内序列的前一个学习资源所属课程作为目标课程,找到学习者第1次学习该课程内的学习资源,以此作为左边界.
fix_origin. 在近期区间和中期区间内使用origin方法进行切分,分别得到近期和中期历史行为序列.
如图8所示,实验结果表明,fix切割方式取得最差的表现,origin方法取得的表现要优于fix.由于fix方法直接用时间维度上的固定区间代表用户近期和中期偏好,忽略了序列中的课程信息,因此可以验证origin方法中按课程切分序列的有效性. 然而origin方法存在2个问题:其一是特殊情况问题,若用户最后一次点击的资源隶属课程在序列较早的位置就出现了,将一个时间跨度较大的序列作为用户近期课程内历史行为序列显然是不合理的;其二是用户最后一次点击的课程也不一定能代表用户当前的课程好,用其作为边界切分不合理,可能导致序列偏好获取不准确(例如误触).
可以看到fix_origin方法的表现要优于origin方法,其通过限制切分的左边界解决了origin方法中存在的第1个问题. 本文使用的基于课程偏好的切分方法取得了最好的表现,其通过限制边界以及百分比方法,同时解决了origin方法中存在的2个问题,更好地表达用户的近期和中期偏好.
3)学习资源关系增强的学习者兴趣表征消融实验.
为验证GRU层、学习资源关系增强的学习者兴趣表征方法是否有作用,对MGIRec算法中的GRU层和学习资源关系增强的学习者兴趣表征层进行拆分,设计了以下实验.
{\text{MGIRe}}{{\text{c}}_{{{\mathrm{w/o\_gru}}}}}. 去除GRU层对用户兴趣偏好的建模,即只使用学习资源关系增强的学习者兴趣表征层建模学习者的兴趣.
{\text{MGIRe}}{{\text{c}}_{{{\mathrm{w/o\_enh}}}}}. 去除学习资源关系增强的学习者兴趣表征层 ,即只使用GRU层建模学习者的兴趣.
如图9所示,学习资源关系增强的学习者兴趣表征消融实验结果表明,学习资源关系增强的学习者兴趣表征方法可有效提升推荐效果.
4)时空多粒度兴趣自监督任务消融实验.
为验证多粒度兴趣自监督任务是否有助于提升推荐效果,并对自监督损失函数的超参数{\lambda _1}在[0,1]内进行敏感性探究,进行了以下消融实验,其中,当{\lambda _1} = 0时即为去除了自监督任务:
如图10所示,可以看到多粒度兴趣自监督任务的引入显著提升了模型的推荐效果,且超参数{\lambda _1}对推荐效果影响较大,具体表现为指标上先增加后减小,当{\lambda _1} = 0.2时模型在2个数据集上取得了最好的表现. 在初始随着{\lambda _1}的增大,对于各类表征的约束作用逐渐显著,使得表征更准确,但后续{\lambda _1}持续增大会影响主损失函数{L_{{\mathrm{main}}}}的权重,导致性能下降.
3.5.3 多粒度贡献度可视化与分析
为了直观地展示各粒度在时间和空间维度上的贡献度,本文采用t-SNE[44]技术将各粒度的多维嵌入向量在2维空间中可视化. 本文从MOOPers数据集中随机选取了100位学习者的学习序列作为输入,在空间维度下,提取知识点粒度兴趣向量、学习资源粒度兴趣向量、课程粒度兴趣向量、其他(教师和学校)粒度兴趣向量和学习者在空间维度的多粒度兴趣融合向量;在时间维度下,提取近期课程内兴趣向量、中期跨课程兴趣向量、长期跨课程兴趣向量和学习者在时间维度的多粒度兴趣融合向量. 对所提取的各粒度向量在空间和时间维度下分别绘制了散点图,如图11所示:
其中每个点代表对应粒度兴趣向量在2维空间中的表示,通过比较各粒度兴趣向量和多粒度兴趣融合向量间的距离可以直观地展示各类粒度的贡献度:距离越近,贡献度越高. 在空间维度下,如图11(a)所示,学习资源、知识点和课程对算法贡献度较高,且课程和知识点的贡献度在不同学习者上差异较明显,说明学习者受课程、知识点的影响较大;在时间维度下,如图11(b)所示,各类粒度的贡献度较为平均,说明时间维度下各粒度兴趣均对最终的结果有着正向的贡献.
3.5.4 MGIRec算法超参数敏感性实验与分析
GNN网络层数是影响图表征学习效果的重要因素,它在某种程度上决定了各节点最终向量的信息来源,本文从1~5设置网络层数以探索其影响. 实验结果如表7所示,结果表明GNN网络层数对推荐效果影响较大,具体表现为指标上先增加后减小,在层数为3时达到峰值. 在初始随着层数的增加,图神经网络中节点可以聚合的邻居范围更大,使得节点的表征更准确,但后续的层数继续增加,会使得图中节点的表征过平滑,进而推荐效果下降.
表 7 MOOCCube和MOOPer数据集下GNN网络层数对模型的影响Table 7. Impact of the Number of GNN Network Layers on MOOCCube and MOOPer DatasetsGNN网络层数 MOOCCube MOOPer Recall@20 NDCG@20 Recall@20 NDCG@20 1 0.7414 0.5512 0.8719 0.6753 2 0.7577 0.5686 0.8825 0.6839 3 0.7720 0.5987 0.9040 0.7001 4 0.7481 0.5573 0.8786 0.6821 5 0.7258 0.5305 0.8417 0.6493 4. 总结与展望
本文针对学习者在线学习场景,提出基于时空多粒度兴趣建模的学习资源推荐方法,解决学习资源推荐中的学习兴趣难表征、兴趣模式难发现的问题. 该方法的特色在于首次设计并实现了一种融合学习空间和时间维度的学习兴趣表征学习架构,不但在知识点、学习资源、课程等多个学习空间粒度上表征学习者兴趣表征,并引入虚拟节点防止噪声信息;在时间维度上,表征并挖掘学习者近期课程内、中期跨课程和长期跨课程的多粒度的兴趣模式,进而通过多粒度兴趣自适应融合层将学习者在学习空间和时间2个维度上融合,破解了学习者兴趣复杂多样难表征和兴趣模式动态变化难捕获的问题. 并且在时空多粒度兴趣提取过程中,本文设计多粒度兴趣自监督任务显式区分不同粒度的兴趣向量,进一步提高推荐学习资源的准确性. 本文的研究为充分提取学习者兴趣和挖掘学习兴趣模式,提高学习资源推荐效果提供了参考和借鉴. 下一步将考虑结合学习空间的结构信息,引入因果图挖掘用户交互序列中的因果信息,以提升资源推荐的可解释性.
作者贡献声明:朱海萍、田锋、刘均提出算法思路、实验方案和项目支撑,参与论文撰写和修改;王子瑜、赵成成负责完成实验和改进、实验结果分析及论文撰写;陈妍提出论文修改意见.
-
表 1 学习空间节点信息
Table 1 Node Information for Learning Space
节点类型 符号 名称 实体节点 k 知识点节点 v 学习资源节点 c 课程节点 t 教师节点 s 学校节点 虚拟类型节点 k' 知识点虚拟类型节点 v' 学习资源虚拟类型节点 c' 课程虚拟类型节点 t' 教师虚拟类型节点 s' 学校虚拟类型节点 表 2 学习空间边信息
Table 2 Edge Information for Learning Space
符号 名称 含义 {e_{kf}} 知识点-知识点类别边 知识点所属类别 {e_{k,se}} 前驱知识点-后继知识点边 知识点间先后序关系 {e_{k,ps}} 父知识点-子知识点边 知识点间父子关系 {e_{kv}} 知识点-学习资源边 学习资源与知识点的包含关系 {e_{kc}} 知识点-课程边 课程与知识点的包含关系 {e_{vv}} 学习资源先后序关系边 学习资源在课程中先后序关系 {e_{vc}} 学习资源-课程边 课程与学习资源间的包含关系 {e_{sc}} 学校-课程边 所开设课程的学校 {e_{tc}} 教师-课程边 课程与任课教师关系 {e_{ts}} 教师-学校边 教师与所任教学校关系 {e_{k{k^{'}}}} 知识点间虚拟类型节点边 知识点间虚拟类型节点关系 {e_{v{v^{'}}}} 学习资源间虚拟类型节点边 学习资源间虚拟类型节点关系 {e_{c{c^{'}}}} 课程-课程虚拟类型节点边 课程与课程虚拟类型节点关系 {e_{t{t^{'}}}} 教师-教师虚拟类型节点边 教师与教师虚拟类型节点关系 {e_{s{s^{'}}}} 学校-学校虚拟类型节点边 学校与学校虚拟类型节点关系 表 3 课程种类统计信息
Table 3 Statistical Information of Course Type
数据集 近期平均
课程数中期平均
课程数长期平均
课程数跨课程
序列占比/%MOOCCube 1.29 2.83 5.24 74.34 MOOPer 1.76 3.05 7.36 89.51 表 4 MOOCCube数据集统计信息
Table 4 Statistical Information for the MOOCCube Dataset
实体名 数量 关系名 数量 学习者 1713 学习者-学习资源交互 126131 课程 14 课程-学习资源 1548 学习资源 1202 学习资源-知识点 3925 知识点 490 课程-知识点 1259 教师 19 知识点-知识点 730 学校 5 教师-课程 34 表 5 MOOPer数据集统计信息
Table 5 Statistical Information for the MOOCCube Dataset
实体名 数量 关系名 数量 学习者 44523 学习者-学习资源交互 641744 知识点 1267 二级学科-学习资源 2625 学习资源 1127 学习资源-知识点 1853 二级学科 58 学习资源-教师 1127 一级学科 13 一级学科-二级学科 58 教师 142 教师-学校 142 学校 46 学习者-学校 44523 表 6 MOOCCube和MOOPer数据集下MGIRec算法推荐效果
Table 6 Recommendation Effectiveness of the MGIRec Algorithm on MOOCCube and MOOPer Datasets
方法 MOOCCube MOOPer Recall@10 Recall@20 NDCG@10 NDCG@20 Recall@10 Recall@20 NDCG@10 NDCG@20 NextItNet 0.5674 0.6404 0.4183 0.4367 0.6771 0.7750 0.4668 0.4917 Caser 0.6030 0.6713 0.4699 0.4872 0.6413 0.7692 0.4148 0.4474 GRU4Rec 0.6334 0.6894 0.4916 0.5057 0.7389 0.8266 0.5386 0.5610 STAMP 0.6369 0.6894 0.5157 0.5289 0.7025 0.7908 0.5172 0.5396 SDAE 0.6378 0.7001 0.5267 0.5387 0.7250 0.7975 0.5361 0.5711 SRGNN 0.6515 0.6994 0.5308 0.5429 0.7732 0.8399 0.6146 0.6316 BERT4Rec 0.6643 0.7221 0.5398 0.5544 0.7113 0.8179 0.5124 0.5395 LSTMCQP 0.6587 0.7199 0.5363 0.5496 0.7037 0.8096 0.5035 0.5344 CORE 0.6626 0.7291 0.5249 0.5441 0.6776 0.8130 0.5141 0.5386 GCSAN 0.6743 0.7256 0.5366 0.5497 0.7894 0.8504 0.6266 0.6422 MSGIFSR 0.6809 0.7364 0.5233 0.5395 0.7736 0.8487 0.6173 0.6375 LightSANs 0.6813 0.7367 0.5267 0.5407 0.7469 0.8396 0.5161 0.5398 HinCRec 0.7046 0.7486 0.5421 0.5572 0.7925 0.8620 0.6393 0.6541 MGIRec 0.7178 0.7720 0.5664 0.5987 0.8353 0.9040 0.6627 0.7001 提升/%. 1.61 3.13 4.48 7.45 5.40 4.87 3.66 7.03 加粗部分为本文所提方法的性能,优于所选对比方法. 表 7 MOOCCube和MOOPer数据集下GNN网络层数对模型的影响
Table 7 Impact of the Number of GNN Network Layers on MOOCCube and MOOPer Datasets
GNN网络层数 MOOCCube MOOPer Recall@20 NDCG@20 Recall@20 NDCG@20 1 0.7414 0.5512 0.8719 0.6753 2 0.7577 0.5686 0.8825 0.6839 3 0.7720 0.5987 0.9040 0.7001 4 0.7481 0.5573 0.8786 0.6821 5 0.7258 0.5305 0.8417 0.6493 -
[1] da Silva FL, Slodkowski BK, da Silva KKA, et al. A systematic literature review on educational recommender systems for teaching and learning: research trends, limitations and opportunities[J]. Education and Information Technologies, 2023, 28(3): 3289−3328 doi: 10.1007/s10639-022-11341-9
[2] Lin Yuanguo, Lin Fan, Zeng Wenhua, et al. Hierarchical reinforcement learning with dynamic recurrent mechanism for course recommendation[J]. Knowledge-Based Systems, 2022, 244(5): 1−15
[3] Chen Qiwei, Zhao Huan, Li Wei, et al. Behavior sequence transformer for e-commerce recommendation in alibaba[C/OL]//Proc of the 1st Int Workshop on Deep Learning Practice for High-Dimensional Sparse Data(KDD). New York: ACM, 2019 [2024-09-09]. https://doi.org/10.1145/3326937.3341261
[4] Sun Fei, Liu Jun, Wu Jian, et al. BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer[C]//Proc of the 28th ACM Int Conf on Information and Knowledge Management(CIKM). New York: ACM, 2019: 1441−1450
[5] 陈碧毅,黄玲,王昌栋,等. 融合显式反馈与隐式反馈的协同过滤推荐算法[J]. 软件学报,2020,31(3):794−805 Chen Biyi, Huang Lin, Wang Changdong, et al. Explicit and implicit feedback based collaborative filtering algorithm[J]. Journal of Software, 2020, 31(3): 794−805 (in Chinese)
[6] Zheng Yu, Gao Chen, Chang Jianxin, et al. Disentangling long and short-term interests for recommendation[C]//Proc of the ACM Web Conf 2022(WWW). New York: ACM, 2022: 2256−2267 Zheng Yu,Gao Chen,Chang Jianxin,et al. Disentangling long and short-term interests for recommendation[C]//Proc of the ACM Web Conf 2022(WWW). New York:ACM,2022:2256−2267
[7] Li Chao, Liu Zhiyuan, Wu Mengmeng, et al. Multi-interest network with dynamic routing for recommendation at Tmall[C]//Proc of the 28th ACM Int Conf on Information and Knowledge Management (CIKM). New York: ACM, 2019: 2615−2623
[8] Xiao Zhibo, Yang Luwei, Jiang Wen, et al. Deep multi-interest network for click-through rate prediction[C]//Proc of the 29th ACM Int Conf on Information and Knowledge Management (CIKM). New York: ACM, 2020: 2265−2268
[9] Cen Yukuo, Zhang Jianwei, Zou Xu, et al. Controllable multi-interest framework for recommendation[C]//Proc of the 26th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining (KDD). New York: ACM, 2020: 2942−2951
[10] Guo Wei, Zhang Can, He Zhicheng, et al. Miss: Multi-interest self-supervised learning framework for click-through rate prediction[C]//Proc of the 38th Int Conf on Data Engineering. Piscataway, NJ: IEEE, 2022: 727−740
[11] Ai Fangzhe, Chen Yishuai, Guo Yuchun, et al. Concept-aware deep knowledge tracing and exercise recommendation in an online learning system[J/OL]. International Educational Data Mining Society, 2019[2024-09-09]. https://eric.ed.gov/?id=ED599194
[12] Huang Zhenya, Liu Qi, Zhai Chengxiang, et al. Exploring multi-objective exercise recommendations in online education systems[C]//Proc of the 28th ACM Int Conf on Information and Knowledge Management. New York: ACM, 2019: 1261−1270
[13] Huo Yujia, Wong D F, Ni L M, et al. Knowledge modeling via contextualized representations for LSTM-based personalized exercise recommendation[J]. Information Sciences, 2020, 523:266−278 Huo Yujia,Wong D F,Ni L M,et al. Knowledge modeling via contextualized representations for LSTM-based personalized exercise recommendation[J]. Information Sciences, 2020, 523:266−278
[14] Wu Zhengyang, Li Ming, Tang Yong, et al. Exercise recommendation based on knowledge concept prediction[J]. Knowledge-Based Systems, 2020, 210: 106481 Wu Zhengyang,Li Ming,Tang Yong,et al. Exercise recommendation based on knowledge concept prediction[J]. Knowledge-Based Systems,2020,210:106481
[15] 胡园园,姜文君,任德盛,等. 一种结合用户适合度和课程搭配度的在线课程推荐方法[J]. 计算机研究与发展,2022,59(11):2520−2533 doi: 10.7544/issn1000-1239.20210348 Hu Yuanyuan, Jiang Wenjun, Ren Desheng, et al. Integrating user duitability and course matching degree for online course recommendation method[J]. Journal of Computer Research and Development, 2022, 59(11): 2520−2533 (in Chinese) doi: 10.7544/issn1000-1239.20210348
[16] Ren Xinwei, Yang Wei, Jiang Xianliang, et al. A deep learning framework for multimodal course recommendation based on LSTM+ attention[J]. Sustainability, 2022, 14(5): 2907−2921 doi: 10.3390/su14052907
[17] Nafea SM,Siewe F,He Ying. On recommendation of learning objects using felder-silverman learning style model[J]. IEEE Access,2019,7:163034-163048(只有卷 [18] Wan Shanshan, Niu Zhendong. A learner oriented learning recommendation approach based on mixed concept mapping and immune algorithm[J]. Knowledge-Based Systems, 2016, 103: 28−40 Wan Shanshan,Niu Zhendong. A learner oriented learning recommendation approach based on mixed concept mapping and immune algorithm[J]. Knowledge-Based Systems, 2016, 103: 28−40
[19] Yan Lingyao, Yin Chuantao, Chen Hui, et al. Learning resource recommendation in e-learning systems based on online learning style[C]//Proc of the 14th Int Conf on Knowledge Science, Engineering and Management (KSEM). New York: ACM, 2021: 373−385
[20] Gong Tuanji, Yao Xuanxia. Deep exercise recommendation model[J]. International Journal of Modeling and Optimization, 2019, 9(1): 18−23
[21] 刘雨. 基于图嵌入的学习资源序列推荐研究[D]. 西安:西安交通大学,2020 Liu Yu. A study on sequential recommendation of learning resources based on graph embedding[D]. Xi’an: Xi’an Jiaotong University, 2020 (in Chinese)
[22] Gong Jibing, Wang Shen, Wang Jinlong, et al. Attentional graph convolutional networks for knowledge concept recommendation in moocs in a heterogeneous view[C]//Proc of the 43rd Int ACM SIGIR Conf on Research and Development in Information Retrieval(SIGIR). New York: ACM, 2020: 79−88
[23] Wang Xinhua, Jia Linzhao, Guo Lei, et al. Multi-aspect heterogeneous information network for MOOC knowledge concept recommendation[J]. Applied Intelligence, 2022, 53(9): 1−15
[24] Alatrash R, Chatti M A, Ain Q U, et al. ConceptGCN: Knowledge concept recommendation in MOOCs based on knowledge graph convolutional networks and SBERT[J]. Computers and Education: Artificial Intelligence, 2024, 6: 100193 Alatrash R,Chatti M A,Ain Q U,et al. ConceptGCN:Knowledge concept recommendation in MOOCs based on knowledge graph convolutional networks and SBERT[J]. Computers and Education:Artificial Intelligence, 2024, 6: 100193
[25] Zhang Huanyu, Shen Xiaoxuan, Yi Baolin, et al. KGAN: Knowledge grouping aggregation network for course recommendation in MOOCs[J]. Expert Systems with Applications, 2023, 211: 118344 Zhang Huanyu,Shen Xiaoxuan,Yi Baolin,et al. KGAN:Knowledge grouping aggregation network for course recommendation in MOOCs[J]. Expert Systems with Applications,2023,211:118344
[26] Chen Xin, Sun Yuhong, Zhou Tong, et al. A method on online learning video recommendation method based on knowledge graph[C/OL]//Proc of the 12th Int Conf on Intelligent Information Processing(IIP). 2022: 419−430 [2024-09-09]. https://link.springer.com/chapter/10.1007/978-3-031-03948-5_34#citeas
[27] Zhou Guorui, Zhu Xiaoqiang, Song Chenru, et al. Deep interest network for click-through rate prediction[C]//Proc of the 24th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining(KDD). New York: ACM, 2018: 1059−1068
[28] Zhou Guorui, Mou Na, Fan Ying, et al. Deep interest evolution network for click-through rate prediction[C]//Proc of the 33rd AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2019: 5941−5948
[29] Cao Yixin, Wang Xiang, He Xiangnan, et al. Unifying knowledge graph learning and recommendation: Towards a better understanding of user preferences[C]//Proc of the Web Conf 2019(WWW). New York: ACM, 2019: 151−161 Cao Yixin,Wang Xiang,He Xiangnan,et al. Unifying knowledge graph learning and recommendation:Towards a better understanding of user preferences[C]//Proc of the Web Conf 2019(WWW). New York:ACM,2019:151−161
[30] Wang Xiang, Jin Hongye, Zhang An, et al. Disentangled graph collaborative filtering[C]//Proc of the 43rd Int ACM SIGIR Conf on Research and Development in Information Retrieval(SIGIR). New York: ACM, 2020: 1001−1010
[31] Wang Xiang, Huang Tinglin, Wang Dingxian, et al. Learning intents behind interactions with knowledge graph for recommendation[C]//Proc of the Web Conf 2021(WWW). New York: ACM, 2021: 878−887 Wang Xiang,Huang Tinglin,Wang Dingxian,et al. Learning intents behind interactions with knowledge graph for recommendation[C]//Proc of the Web Conf 2021(WWW). New York:ACM,2021:878−887
[32] Qi Tao, Wu Fangzhao, Wu Chuhan, et al. HieRec: Hierarchical user interest modeling for personalized news recommendation[C/OL]//Proc of the 59th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2021: 5446−5456
[33] Guo Jiayan, Yang Yaming, Song Xiangchen, et al. Learning multi-granularity consecutive user intent unit for session-based recommendation[C]//Proc of the 15th ACM Int Conf on Web Search and Data Mining(WSDM). New York: ACM, 2022: 343−352
[34] Jiang Lu, Liu Kunpeng, Wang Yibin, et al. Reinforced explainable knowledge concept recommendation in MOOCs[J]. ACM Transactions on Intelligent Systems and Technology, 2023, 14(3): 1−20
[35] Wu Shu, Tang Yuyuan, Zhu Yanqiao, et al. Session-based recommendation with graph neural networks[C]//Proc of the 33rd AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2019: 346−353
[36] Hidasi B, Karatzoglou A, Baltrunas L, et al. Session-based recommendations with recurrent neural networks[J]. arXiv preprint, arXiv: 1511.06939, 2016
[37] Tang Jiaxi, Wang Ke. Personalized top-n sequential recommendation via convolutional sequence embedding[C]//Proc of the 11th ACM Int Conf on Web Search and Data Mining. New York: ACM, 2018: 565−573
[38] Liu Qiao, Zeng Yifu, Mokhosi R, et al. STAMP: Short-term attention/memory priority model for session-based recommendation[C]//Proc of the 24th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining(KDD). New York: ACM, 2018: 1831−1839
[39] Yuan Fajie, Karatzoglou A, Arapakis I, et al. A simple convolutional generative network for next item recommendation[C]//Proc of the 12th ACM Int Conf on Web Search and Data Mining. New York: ACM, 2019: 582−590
[40] Xu Chengfeng, Zhao Pengpeng, Liu Yanchi, et al. Graph contextualized self-attention network for session-based recommendation[C/OL]//Proc of the 28th Int Joint Conf on Artificial Intelligence. 2019: 3940−3946 [2024-09-09] . https://www.ijcai.org/proceedings/2019/0547.pdf
[41] Fan Xinyan, Liu Zheng, Lian Jianxun, et al. Lighter and better: low-rank decomposed self-attention networks for next-item recommendation[C]//Proc of the 44th int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2021: 1733−1737
[42] Hou Yupeng, Hu Binbin, Zhang Zhiqiang, et al. Core: Simple and effective session-based recommendation within consistent representation space[C]//Proc of the 45th Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2022: 1796−1801
[43] Gong Jibing, Wan Yao, Liu Ye, et al. Reinforced moocs concept recommendation in heterogeneous information networks[J]. ACM Transactions on the Web, 2023, 17(3): 1−27
[44] Van der Maaten L, Hinton G. Visualizing data using t-SNE[J/OL]. Journal of Machine Learning Research, 2008, 9(11) [2024-09-09]. https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbcl