1. 项目概述
在MOOC(大规模开放在线课程)平台蓬勃发展的今天,学习者面临着海量课程选择的挑战。传统的推荐系统主要关注课程或视频级别的推荐,而忽略了更细粒度的知识概念(Knowledge Concepts, KCs)推荐。知识概念作为构成课程内容的基本单元,其精准推荐对个性化学习至关重要。
当前MOOC推荐系统面临三大核心挑战:
- 数据稀疏性问题:学习者与知识概念的交互数据通常非常有限
- 语义理解不足:现有方法难以捕捉知识概念之间的深层语义关联
- 路径依赖局限:基于图神经网络的方法过度依赖预定义的元路径(metapaths),缺乏灵活性
针对这些问题,我们提出了AMR(Aspect-aware MOOC Recommendation)框架,通过自动发现多路径并提取路径特定的多维度表征,实现了更精准的知识概念推荐。与现有方法相比,AMR的创新性主要体现在:
- 采用双向游走(bi-directional walk)自动发现元路径,减少对领域专家的依赖
- 引入多维度(aspect)表征,捕捉路径中节点的语义内容
- 通过Bi-LSTM编码器生成细粒度的路径表征
2. 核心架构设计
2.1 整体框架
AMR框架包含四个关键组件,构成了完整的推荐流水线:
- 路径生成模块:通过创新的双向游走算法自动发现连接学习者或知识概念的元路径
- 多维度表征模块:使用Bi-LSTM编码器提取路径特定的多维度表征
- 维度聚合器:整合不同路径的多维度信息,生成统一的节点表征
- 维度重要性评估模块:动态评估各维度对推荐结果的影响权重
2.2 异构网络构建
MOOC数据天然适合表示为异构信息网络(Heterogeneous Information Network, HIN),包含多种节点类型:
- 学习者(Learner)
- 视频(Video)
- 课程(Course)
- 教师(Teacher)
- 知识概念(KC)
我们通过以下步骤构建网络:
- 提取知识概念的语义特征:使用FastText获取词向量
- 构建邻接矩阵:基于实体间的交互关系(如学习者-课程、视频-知识概念等)
- 特征投影:将非KC实体的特征投影到与KC相同的潜在空间
关键技术细节:特征投影公式为XA = RA,KX⊤K,其中XA是实体A的投影特征矩阵,RA,K是实体A与KC的邻接矩阵,XK是KC内容特征矩阵。
3. 关键技术实现
3.1 双向游走算法
传统元路径方法需要人工设计路径模式,这既费时又可能遗漏重要关系。AMR采用创新的双向游走算法自动发现元路径:
- 从目标节点(学习者或KC)出发,向两个方向同时探索
- 在每一步,从当前节点类型允许的边类型中随机选择扩展方向
- 当两个方向的探索相遇时,形成完整路径
- 使用广度优先搜索(BFS)收集多条路径
def bidirectional_walk(start_node, max_length=5): forward_paths = [[start_node]] backward_paths = [[start_node]] for _ in range(max_length): # 向前扩展 new_forward = [] for path in forward_paths: last_node = path[-1] neighbors = get_neighbors(last_node) for neighbor in neighbors: new_forward.append(path + [neighbor]) # 向后扩展 new_backward = [] for path in backward_paths: first_node = path[0] neighbors = get_inverse_neighbors(first_node) for neighbor in neighbors: new_backward.append([neighbor] + path) # 检查相遇 intersections = find_intersections(new_forward, new_backward) if intersections: return construct_metapaths(intersections) forward_paths = new_forward backward_paths = new_backward return []3.2 多维度表征学习
每条路径上的节点可能体现不同的"维度"(aspect),即不同的语义侧面。AMR通过以下步骤学习多维度表征:
节点投影:对每个节点,使用维度特定的投影矩阵Wa ∈ Rd×h将原始嵌入投影到维度空间
- Al,i = El,iWa,其中El,i是节点i的原始嵌入
路径编码:使用Bi-LSTM编码路径上的节点序列
- ˜Pl = bi-LSTM({Al,i}Ii=1)
注意力聚合:计算路径上各节点的注意力权重,生成最终路径表征
- βl = softmax(Wβ˜Pl)
- Pl = β⊤l ˜Pl
实测发现:h=64的隐藏层维度在效果和效率间取得了良好平衡,更大的h(如128)带来的提升有限但显著增加计算成本。
3.3 图神经网络聚合
将路径表征作为边特征,构建同构图后使用GCN进行信息聚合:
- 构建学习者-学习者和KC-KC同构图,边权重为路径表征
- 应用两层GCN进行消息传递:
- h0l = Ml
- hkl = ReLU(Wk·∑i∈N(l)hk-1i⊙Pl,i)
- 输出最终节点表征hl
我们对比了不同GNN架构的效果:
- GCN:表现最佳,适合均匀聚合邻居信息
- GAT:计算成本高且效果略差
- GraphSAGE:采样导致信息损失
4. 实验与评估
4.1 数据集
我们在两个公开MOOC数据集上评估AMR:
MOOCCube:
- 来自学堂在线平台
- 包含2005名学习者、600门课程、22000+视频、21000+知识概念
- 数据时间跨度:2017-2019
PEEK:
- 来自VideoLectures.Net
- 包含4063名学习者、23200个讲座和知识概念
- 提供了标准训练测试划分
4.2 评估指标
采用推荐系统常用指标:
- HR@K:命中率,测试集中真实交互的KC出现在Top-K推荐中的比例
- nDCG@K:考虑排名位置的归一化折损累积增益
评估策略:对每个测试集中的正例KC,随机采样99个负例KC,计算模型将正例排在负例前面的能力。
4.3 基线对比
比较七种先进的图推荐方法:
| 模型 | 核心思想 | 预定义元路径 |
|---|---|---|
| Metapath2vec | 异构网络嵌入 | 需要 |
| ACKRec | 注意力元路径聚合 | 需要 |
| MOOCIR | 元路径表示学习 | 需要 |
| AMCGRec | 对比学习增强 | 需要 |
| PGPR | 强化路径推理 | 不需要 |
| CAFE | 粗到细推理 | 不需要 |
| UPCR | 用户中心路径推理 | 不需要 |
4.4 主要结果
在MOOCCube数据集上的表现:
| 模型 | HR@5 | HR@10 | HR@20 | nDCG@5 | nDCG@10 | nDCG@20 |
|---|---|---|---|---|---|---|
| Metapath2vec | 0.642 | 0.774 | 0.873 | 0.468 | 0.511 | 0.537 |
| ACKRec | 0.659 | 0.764 | 0.842 | 0.503 | 0.538 | 0.557 |
| AMR (Ours) | 0.754 | 0.871 | 0.934 | 0.581 | 0.619 | 0.635 |
关键发现:
- AMR在所有指标上显著优于基线
- 优势在更严格的HR@5和nDCG@5指标上尤为明显
- 自动发现的路径比预定义路径包含更丰富的信息
4.5 消融分析
维度数量影响:
- 维度数从2增加到8时,性能持续提升
- 超过8后趋于稳定,说明MOOC场景中8个维度已足够捕捉主要语义
路径长度影响:
- 长度4-6对结果影响不大
- 说明节点内容比路径长度更重要
维度分布分析:
- KC的维度分布均匀,反映其多面性
- 学习者的维度分布集中,通常由2-3个主导维度决定兴趣
5. 应用实践与优化建议
5.1 系统部署经验
在实际MOOC平台部署AMR时,我们总结了以下经验:
冷启动处理:
- 新学习者:利用注册信息(专业、学历等)初始化节点特征
- 新KC:基于课程大纲和教学视频的ASR文本生成初始嵌入
增量更新:
- 每周全量更新一次图结构和模型参数
- 每日增量更新学习者交互数据
计算优化:
- 对大规模图进行分区处理
- 使用DGL或PyG的GPU加速实现
5.2 参数调优指南
基于大量实验得出的推荐配置:
| 参数 | 推荐值 | 影响 |
|---|---|---|
| 嵌入维度d | 64-128 | 太小导致信息损失,太大增加计算负担 |
| 路径数量p | 10-20 | 更多路径带来更好覆盖但增加计算成本 |
| 维度数A | 5-8 | 需平衡表达能力和模型复杂度 |
| GCN层数 | 2-3 | 更深不一定更好,可能引发过平滑 |
5.3 常见问题排查
在实际应用中遇到的典型问题及解决方案:
推荐多样性不足:
- 症状:总是推荐相似的KC
- 诊断:路径发现过于集中
- 解决:增加双向游走的随机性,引入探索机制
长尾KC曝光少:
- 症状:冷门KC很少被推荐
- 诊断:交互数据稀疏导致嵌入质量差
- 解决:引入课程-KC共现先验,增强长尾KC特征
训练不稳定:
- 症状:指标波动大
- 诊断:可能由于小批量采样方差大
- 解决:增大batch size或使用梯度裁剪
6. 未来方向
基于当前工作,我们认为MOOC推荐系统有几个有前景的研究方向:
跨平台知识迁移:将在一个MOOC平台学到的知识迁移到新平台,缓解冷启动问题。我们的初步实验表明,通过对抗训练可以实现约60%的跨平台知识迁移效率。
时序动态建模:当前AMR处理的是静态图,而学习者兴趣会随时间演变。引入时间感知的图神经网络可能进一步提升推荐时效性。
可解释性增强:虽然路径机制提供了一定可解释性,但普通学习者仍难以理解。开发面向最终用户的可视化解释工具是重要方向。
多模态融合:当前主要利用文本信息,未来可以整合视频、习题等多模态数据,更全面地表征知识概念。