【论文解读ICCE2021】MKT - Improving Knowledge Tracing through Embedding based on Metapath

在这里插入图片描述
相关论文:KSGKT

将问题和技能之间的关系看做异构图
嵌入方法:Metapath2vec

摘要

知识追踪(knowledge tracing, KT)的目标是根据学生的学习日志,跟踪学生的知识状态,预测学生未来的学习表现。虽然很多研究都致力于挖掘输入信息,但在将学习日志作为输入时,并没有严格区分问题和所涉及的技能,从而没有充分利用技能和问题之间的内在关系,导致了性能的下降。为了解决这一问题,我们提出了一种基于元路径的内嵌预训练方法,明确考虑了领域内技能与问题之间的关系。具体来说,我们构建了一个由技能和问题组成的异构图,并利用metapath2vec方法获得了节点的有意义嵌入,从而可以将显式关系信息嵌入到技能和问题的密集表示中,同时又保持了各自的特征。将这些预训练嵌入到现有模型中,在三个公共真实数据集上的实验表明,我们的方法实现了新的最先进的性能,至少有1%的绝对AUC改进。

1 引言

知识追踪是智能辅导系统为学习者提供适应性服务的基础任务。KT的主要目的是根据学生长期的学习记录来跟踪他们的知识状态,并据此预测他们未来的表现。

目前,由于网络教育的普及,这一任务已经取得了相当大的进展。现有的模型可以分为两类:传统方法和基于深度学习的方法。贝叶斯知识追踪(Bayesian Knowledge Tracing, BKT, Corbett & Anderson, 1994)是传统方法中的一个典型模型,它利用马尔可夫模型来推断学生技能掌握的演化过程。深度知识追踪(Deep Knowledge Tracing, DKT) (Piech, Spencer, & Sohl-Dickstein, 2015)是第一个将深度学习方法应用于KT任务的模型,并取得了突破。

对于KT任务,辅导系统中的问题数量通常远远超过技能的数量。一项技能可能涉及到很多问题,而一个问题也可能涉及到不止一项技能。为了简化建模过程,提高预测效率,KT任务对模型输入进行了统一处理:传统和深度学习类别的KT模型都进行KT过程,根据技能而不是问题本身进行预测。

他们假设技能掌握可以潜在地反映学生在某种程度上能够正确地解决结合该技能的问题的可能性,因此KT模型的输入实际上是技能标签。此外,假定每个问题只与一种技能相关。对于包含多个技能的问题,生成一个新的技能来表示多个技能的组合。

因此,忽视了技能与问题之间的关系,忽视了技能与问题本身的特点,会造成两个重要的问题:一是对学生知识状态的跟踪只停留在技能层面,不能真实反映学生正确解决相关问题的实际能力;二是被忽视的关系和特征信息是预测学生成绩的关键,如果不考虑这些信息,追踪学生的知识状态可能会导致成绩下降。

虽然现有模型在技能水平预测方面表现良好,但如何在KT模型中结合技能与问题之间的关系以及自身的特点,引入更有信息量的嵌入表示,从而实现更精确的学生成绩预测,这一问题仍有待进一步研究。
在这里插入图片描述


在本文中,我们进一步挖掘了技能与问题之间的关系,并获得了问题与技能的有意义嵌入。受PEBG方法(Liu, Y., Yang, Y & Yu, 2020)的启发,PEBG方法在边信息上学习每个问题的低维嵌入,边信息包括问题难度和问题与技能二部图中包含的三种关系,考虑到一项技能可能涉及多个问题,一个问题可能对应多个技能,我们将问题与技能之间的关系抽象为异构二部图,并构造一系列元路径对整个图进行采样。然后,利用图中技能-问题的关系,将相关技能和问题的信息聚合在一起,得到图中每个节点的深度嵌入表示。最后,我们将预训练嵌入与现有的深度KT模型结合起来测试其性能。

本文的贡献可以概括为:

  • 通过训练问题和技能的嵌入,我们可以跟踪学生在技能和问题层面的知识状态。
  • 我们提出了一种预训练方法,通过利用异构二部图中技能和问题之间的显式关系来学习技能和问题的预训练嵌入,并将嵌入纳入KT过程。
  • 在三个基准数据集上的大量实验表明,我们的模型优于现有的最先进模型,至少有1%的绝对AUC提高。

2 相关工作

2.1 知识追踪

现有的KT模型可以分为传统模型和深度模型两类,深度模型表现出压倒性的优于传统模型的性能。在本文中,我们只关注深度KT模型。深度知识跟踪(Deep knowledge tracking, DKT)模型(Piech, Spencer, & SohlDickstein, 2015)是将深度学习模型应用于KT任务的里程碑式工作,它采用循环神经网络(recurrent neural network, RNN)对学习者的学习过程进行建模,采用练习和交互的单热嵌入表示。其他研究者随后提出了各种模型来改进DKT,改进主要体现在两个方面。

第一类通过设计不同类型的神经网络结构来模拟学生的学习过程,改进了DKT模型。动态关键值记忆网络(Dynamic Key Value Memory Networks, DKVMN) (Zhang & Yeung, 2017)引入记忆增强神经网络(Memory- augmented Neural Networks, MANN)来解决KT任务,并抽象提取学生的知识状态。基于图的知识追踪(GKT) (Nakagawa & Matsuo, 2019)引入了图神经网络(GNN)来解决KT任务,该任务将KT任务重新定义为GNN中的时间序列节点级分类问题。

第二类改进了DKT模型,采用不同的嵌入表示作为输入。DKT的单热嵌入表示只包含极其稀疏的技能信息,忽略了问题的特殊性。此外,这种表达方式不能反映技能与问题之间的关系。为了解决这些问题,运动感知知识追踪(exercise - aware Knowledge Tracing, EKT) (Liu, Q & Hu, 2019)将学生的运动记录和相应的文本内容训练成新的嵌入作为网络的输入。Context-Aware attention Knowledge Tracing (AKT) (Ghosh & Lan, 2020)使用转换器来训练基于先验知识的问题和技能嵌入。Deep Knowledge with Convolutions (CKT) (Yang & Lu, 2020)利用三维卷积聚合学生在一段时间内的答案信息,然后训练相应的嵌入作为LSTM网络的输入。KTM-DLF (Gan & Sun, 2020)通过考虑学生的记忆衰退和当一个项目可能涉及多个kc时尝试的好处,为学生的学习和遗忘行为建模。

除了上述进展外,图神经网络和密集嵌入在KT任务中的应用也取得了良好的效果。GIKT (Yang & Yu, 2020)使用图卷积网络来聚合问题和技能之间的关系,并获得技能嵌入作为RNN模型的最终输入。根据这一思路,PEBG提出了一个预训练框架来得到问题的嵌入。本文也在KT任务中应用了图神经网络和预训练的密集嵌入,但与这些模型不同的是,它将技能和问题之间的关系看作是一个异构信息图,并使用基于元路径的方法学习技能和问题的密集嵌入,因此可以同时跟踪学生在技能和问题层面的知识状态,并获得更好的性能。

2.2 网络嵌入

网络嵌入(Chen & Skiena, 2018)旨在学习网络中节点的低维潜在表示。所学习到的特征表示可以作为各种基于图的任务的特征,如分类、聚类、链接预测和可视化。DeepWalk (Perozzi & Skiena, 2014)被提出作为第一个使用深度学习的网络嵌入方法。DeepWalk将图中的节点视为单词,生成简短的随机行走作为句子。然后,在这些随机游走上应用Skip-gram (Mikolov & Dean, 2013)等神经语言模型来获得网络嵌入。node2vec (Grover & Leskovec, 2016)在DeepWalk的基础上,采用了包含DFS和BFS的偏置漫游策略。上述网络嵌入方法主要应用于同构图。对于异构图,具有不同的节点类型和边类型。Metapath2vec (Dong, Chawla & Swami, 2017)使用基于元路径的随机游走构建每个节点的异构邻域,然后使用skip-gram模型完成节点嵌入。

3 定义

在这里插入图片描述

4 方法

在这里插入图片描述

5 实验

5.1 数据集

我们在三个公共数据集上进行了实验:ASSISTments2009,ASSISTments2012和EdNet。
在这里插入图片描述
ASSISTments2009是2009-2010学年从ASSISTments在线教育平台收集的。对于这个数据集,我们删除没有技能和脚手架问题的记录。与其他知识跟踪方法类似,我们也从原始数据集中删除记录少于3条的用户。在ASSISTments2009数据集中,它有3852名学生,167项技能,17,737个问题和282,619个练习。

ASSISTments2012是2012-2013学年在ASSISTments在线教育平台上收集的。ASSISTments2012不同于ASSISTments2009,因为它有一个需要特别强调的特征。在ASSISTments2012数据集中,每个问题只与一个技能相关,但一个技能仍然对应几个问题。经过与ASSIST09相同的数据处理,它有2,709,436个练习,27,485名学生,265个技能和53,065个问题。

EdNet由(Choi, Lee & Heo,2020)收集。在EdNet数据集中,我们只选择其中的一部分。我们选择了EdNet-KT1,在与其他数据集一致处理后,它有676,974个练习,5000名学生,1774个技能和12,150个问题。

5.3 实验细节

我们使用Pytorch实现了所有比较的方法。在Metapath2vec中,我们使用异构跳过图模型来获得嵌入,并设置窗口大小为5,批为128,epoch数为10,学习率为0.01。训练前的技能嵌入和问题嵌入都是10个维度。

在RNN的实现中,使用只有一个隐藏层的RNN,并将RNN的最大长度设置为50。批处理大小设置为64,最大epoch为50,学习率设置为0.001。
在这里插入图片描述

我们使用曲线下面积(AUC)作为评估指标来评估性能。AUC越高,模型性能越好。结果如表2所示。

从结果中我们观察到,我们的MKT模型在三个数据集上获得了最高的性能,这验证了我们模型的有效性。具体来说,我们的MKT模型比ASSIST09上的其他基线至少高2%的结果。我们的模型表现良好的主要原因是,与之前的模型相比,输入嵌入包含了更多的信息,并且ASSIST09数据集是一个典型的节点相互作用的二部图。如图5所示,通过t-sne对问题嵌入进行可视化后,我们发现虽然问题较多,但可以发现具有相同技能标签的问题嵌入在可视化图中更为密集,这在一定程度上反映了特定元路径提取信息的有效性。

因此,即使在EdNet中,我们的模型也得到了最好的结果。对于ASSIST12,它的问题只涉及到一个技能,我们的模型可能无法完全捕捉到技能和技能之间的关系,这在接下来的烧蚀研究中也得到了证明,但我们的模型仍然比其他模型表现得更好。

与同样在KT任务中使用预训练嵌入的PEBG相比,我们的模型在嵌入过程中获得了更好的结果,而且嵌入的维度显著减少(我们只使用10个维度,而PEBG使用128个维度)。此外,PEBG还增加了技能与技能之间的相似度,以及问题与问题之间的相似度,将PEBG中的相似度计算集成到我们的模型中,可能会得到更好的结果。与利用注意力机制获取历史数据与当前状态的相关性的AKTHE模型相比,我们的模型通过可解释元路径获取技能与问题之间的信息,获得了更好的性能。

在这里插入图片描述

5.5 消融研究

在本节中,我们进行了一些消融研究,以调查我们提出的模型的有效性。

我们用单一的技能嵌入或问题嵌入来代替技能嵌入和问题嵌入的组合。我们的实验表明,技能和问题的结合提高了我们的模型的性能。

结果表明,单问题嵌入在ASSIST12数据集上的性能最好,但与技能问题嵌入的差距很小。在分析了这个数据集之后,我们发现这与数据集的特性有关。数据集ASSIST12与其他两个数据集不同,因为它的问题只与一项技能有关。因此在我们的模型中,问题嵌入可以完全包含元路径中其他具有相同技能的问题的信息。

MKT-question模型在其他数据集中的表现不如MKT-skill,其中问题通常包含多个技能,但在ASSIST12中表现优于MKT-skill。

6 结论

本文提出了一种基于元路径的交互模型MKT,该模型通过将问题-技能关系表示为二部图,并引入Metapath2vec来学习问题和技能的低维嵌入以进行知识跟踪,从而改进了MKT模型。在三个数据集上的实验表明,MKT在技能水平和问题水平上都显著提高了现有深度KT模型的性能。此外,消融研究显示了技能与问题相结合对KT任务的有效性,这为其高绩效提供了解释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值