HE Bugui,DONG Yongquan,JIA Rui,et al.Knowledge tracing model based on multiple behavior features embedded memory networks[J].Journal of Taiyuan University of Technology,2024,55(1):184-194.
随着在线教育的蓬勃发展,智能辅导系统(ITS)和大规模开放式网络课程(MOOC)等在线教育系统的出现,大大丰富了用户的学习选择。相比线下传统教育方式,在线教育的最大优势便是其能保存学习者的学习轨迹,并提供调查不同轨迹下学习者行为效能的条件[1]。然而,在线教育平台产生的大量学习数据却难以得到有效利用,如何利用在线学习系统的优势,从学生的学习轨迹中挖掘出潜在规律,运用到对学生的个性化指导中,是一个亟待解决的问题[2]。
知识追踪(knowledge tracing,KT)是实现智能教育的一项重要技术,目前已被广泛运用到各个教育系统上,用于实现对学生知识状态的精准追踪。知识追踪任务主要包括:1) 通过学生的历史做题记录追踪其知识掌握程度的变化;2) 根据学生的知识掌握程度预估其在未来学习中的表现。
传统的知识追踪技术主要有贝叶斯知识追踪模型(BKT)[3]和基于项目反应理论的方法[4]。其中,BKT是早期的知识追踪方法,利用隐马尔可夫模型对每一个知识点单独建模,以此来预测学生对特定知识点的掌握情况。近年来,深度学习被引入到知识追踪领域,大量的基于深度学习的知识追踪模型涌现。主要有基于循环神经网络的深度知识追踪(DKT)[5]和基于记忆网络的深度知识追踪(DKVMN)[6]等。DKT克服了BKT的缺点,所有的知识点可以自动标注,不需要使用专家,大大节省了人力成本。DKT将所有的知识点掌握程度用一个连续的隐向量表示。受记忆增强网络(MANN)[7]的启发,动态键值记忆网络(DKVMN)用值矩阵存储学生对各个知识点的掌握程度,用键矩阵存储各个知识点的嵌入表示。然而,DKVMN忽略了对学习特征和遗忘特征的建模,DKVMN的输入较为单一,没有使用数据集丰富的原始特征。
根据DKVMN模型的局限性,本文提出了一种基于多行为嵌入记忆网络的知识追踪模型(MFKT).主要贡献如下:
1) 结合教育心理学,本文提出的知识追踪模型MFKT综合考虑了学生答题时间和学习能力两个行为特征,用于学生学习行为的建模。
2) 根据艾宾浩斯遗忘曲线理论[8],MFKT考虑了学生重复相同知识点的时间间隔、重复学习知识点的次数、顺序学习时间间隔以及学生对于知识点的掌握程度4个遗忘特征,用于建模学生学习的遗忘行为。
3) MFKT模型考虑到了学生回答完成后的知识增长差异,在原先网络结构的基础上增加了一个知识增长层,用于计算学生答题得到的知识增长。
4) 通过在真实在线教育数据集上的实验,表明MFKT可以对学生的学习行为与遗忘行为进行有效的建模,实时追踪学生的知识状态。由于嵌入了学习特征与遗忘特征,并且考虑到了不同学生在学习过程中的知识增长差异,MFKT优于现有模型。
常见的知识追踪模型可以分为两类,一类是以贝叶斯知识追踪(BKT)[3]为代表的传统方法,另外一类是基于深度学习的知识追踪方法(DLKT)[2].
BKT是早期的知识追踪方法,利用马尔可夫模型对每一个知识点单独建模,来预测学生对特定知识点的掌握情况。但是BKT存在一些缺点,比如无法对知识点进行自动挖掘,需要专家进行标注。此外,BKT对一个知识点的掌握状态只有掌握和未掌握两种,无法体现掌握程度。在BKT的基础之上,研究者们也提出了许多拓展方案。例如,BAKER et al[9]的研究考虑了学生猜测和失误对预测学生表现的影响。PARDOS et al[10]的研究考虑了习题难度对预测学生表现的影响。KHAJAH et al[11]的研究将人类的认知因素引入到BKT中,从而提高预测精度。
深度知识追踪模型(DKT)是深度学习在知识追踪领域的首次应用,DKT存在许多变体。YEUNG et al[12]的研究引入正则化项和正则化参数解决了DKT存在的两个问题,即无法重构观察到的输入和预测状态存在波动。LIU et al[13]的研究针对现有研究忽略对习题文本的利用,通过双向词嵌入将文本信息融入知识追踪,提出了文本感知的知识追踪模型。SHEN et al[14]的研究引入分层卷积层,并通过在滑动窗口内同时处理多个连续学习交互来提取学习率特征。近些年来,也有大量针对DKVMN的改进模型,宗晓萍等[15]研究解决了DKVMN模型没有考虑学生掌握知识点快慢问题。李晓光等[16]的研究解决了现有模型忽略对学习和遗忘行为的建模。SUN et al[17]的研究通过引入决策树提取特征提升DKVMN模型的性能,但忽略了对遗忘行为的研究。ABDELRAHMAN et al[18]的研究通过引入Hop-LSTM从而增强了模型在练习序列中捕获长期依赖关系的能力。
近年来,图神经网络也开始被引入到知识追踪领域。NAKAGAWA et al[19]的研究将知识结构转化为图,并将这种图结构的性质作为一种辅助信息融入知识追踪模型。YANG et al[20]的研究针对以往的模型难以捕捉到学生练习历史的长期依赖性、无法对学生-习题和学生-知识点之间的交互进行一致性建模,提出了一种基于图的知识追踪交互模型(GIKT).SONG et al[21]的研究针对基于图的知识追踪模型缺乏可解释性这一问题,提出了一种基于联合图卷积的深度知识追踪模型(JKT).YANG et al[22]的研究针对大多数模型忽略知识点与学生之间的关系,提出了一种基于门控异构图卷积网络的知识追踪模型(GHGCN).
总的来说,基于深度学习的知识追踪研究角度较为丰富。但是大多没有对学习和遗忘两大特征的统一建模。LFKT模型[16]缺乏对学习特征的有效利用,DKVMN-DT模型[17]缺乏对遗忘的研究,所以都不够全面。本文提出的MFKT模型综合考虑了学生学习过程中存在的学习行为与遗忘行为,通过将交互记录中的学习特征输入到模型中,并在DKVMN的知识读取层中嵌入包含遗忘特征的遗忘矩阵,从而实现了对学生知识状态的更精准追踪,同时也能提升对于学生未来表现的预测性能。
知识追踪可以视为一个有监督的序列标注任务,给出学生的历史交互序列Xt={x1,x2,…,xt},通过模型从中提取出学生的知识状态,并追踪其随时间的变化[2]。学习交互通常用习题答案元组xt=(qt,rt)来表示,意为学生在时刻t回答了问题q,r则表示回答的情况,通常用1表示正确,用0表示错误。本文定义矩阵Mk(dk×|K|)为整个知识空间中|K|个知识点的嵌入表示,其中,知识点嵌入表示为dk维向量。矩阵表示学生在t时刻的对于|K|个知识点的掌握程度,其中,单个知识点的掌握程度表示为dv维向量。此外,为了建模遗忘行为,本文用Ft表示t时刻包含4个遗忘特征的矩阵,由遗忘特征通过向量组合方式得到。
经过对已有数据集的充分调研,本文筛选出答题时间作为一个重要的学习因素,其他一些因素看似可行,比如要求提示次数和尝试次数,但实际上不够严谨。当要求提示次数大于1时,答题结果correct必然为0,这是因为Assistments2009数据集统计的仅仅是学生第一次作答的结果,而在学生要求提示后答题结果被判定为错误。此外,为了丰富学习因素,从数据集中提炼出了学生的学习能力作为学习因素。因此,MFKT考虑了答题时间和学习能力这两个学习因素:
1) 答题时间。这是交互记录中直接包含的一项信息,可以在一定程度上反映学生的学习效率。因此,本文把它加到模型中,用于弥补现有的知识追踪模型的缺陷。
2) 学习能力。不同学生的学习能力存在差异,学习能力强的学生学习知识点容易且快速,而学习能力薄弱的学生学习相对困难且缓慢。学习能力能够影响到学生的学习行为,因此,本文把它作为一个学习特征嵌入模型。本文用学生答题正确率和错误率的差值来表示学生的学习能力[23],公式如下:
(1)
(2)
AS=CS-IS.
(3)
式中:∑pS= =1表示学生S回答正确的习题数量;∑pS= =0表示学生S回答错误的习题数量;∑pS表示学生S回答的习题总数;CS表示该学生的做题正确率;IS表示该学生的做题错误率;AS表示该学生的学习能力,表现为学生答题的正确率与错误率的差值。
根据艾宾浩斯遗忘曲线理论[8],学生对于所学知识的保留率主要受两个方面的影响:学生重复学习次数和距离上次学习的时间间隔。时间间隔按知识点相同或者不同可以分为顺序学习知识点时间间隔和重复学习知识点时间间隔。学生重复学习同一个知识点的次数会影响对该知识点的掌握。此外,学生原本的掌握水平也会影响遗忘,一般来说,掌握程度越高,越不容易产生遗忘。综合上面,本文考虑了4个方面的遗忘因素:
RT:距离上次学习相同知识点的时间间隔;
ST:距离上次学习的时间间隔;
LT:重复学习知识点的次数;
EL:学生对于知识点的掌握程度。
图1展示了一位学生的历史答题记录,学生正在回答习题q6,这道题涉及知识点k1.在此之前,该学生已经依次做了q1到q5共计5道题。其中,q1、q2、q4回答正确,q3、q5回答错误。练习间隔时间分别为t1到t5.知识点k1、k2、k3的当前知识状态分别为s1、s2、s3.在这个例子中,RT=t4+t5,ST=t5,LT=3,EL=S1.
图1 学生历史答题记录
Fig.1 A student’s exercise interaction record
RT,ST,LT这3个标量可以组合成遗忘向量Ft(i)=[RTt(i),STt(i),LTt(i)],表示t时刻影响知识点i遗忘的前3个因素。每个知识点对应的遗忘向量Ft(i)组成遗忘矩阵Ft(df×|K|).其中,df是遗忘因素的个数,同时也是遗忘向量的维数。本文用表示学生对知识点i的掌握程度,即第4个影响遗忘的因素EL.
本文提出了一种基于多行为特征嵌入记忆网络的知识追踪模型MFKT,如图2所示。其中,黄色部分表示注意力层,青色部分表示学习特征提取层,绿色部分表示知识写入层,红色部分表示知识读取层,紫色部分表示知识预测层,橙色部分表示知识水平输出层。
图2 MFKT模型框架图
Fig.2 Framework of proposed MFKT model
MFKT模型包含6个模块:学习特征提取层、注意力层、知识读取层、知识写入层、知识预测层、知识水平输出层。其中,学习特征提取层从3.1节介绍的两个学习因素中提取出合成特征bt.注意力层将融合了学习特征的习题嵌入kt与知识点嵌入矩阵Mk作向量内积,得到知识点习题相关权重向量wt.知识读取层将知识点习题相关权重向量与融合了遗忘特征的知识点掌握程度矩阵作向量内积,得到知识点总结向量st.然后,知识点总结向量和习题嵌入kt输入到知识预测层,得到预测结果向量pt,该向量的每一维度值对应下一时刻每个知识点对应习题的答题正确率。知识写入层将知识点答案嵌入vt通过LSTM中的门控机制得到添加向量at和擦除向量et.然后,与知识点掌握程度矩阵进行相关操作,最后结合全连接层提取到的学习增长向量gt得到作答完成后的掌握水平知识水平输出层可以输出学生的知识掌握水平,并动态追踪学生的知识水平变化。
3.3.1学习特征提取层
学习特征提取层的作用是运用决策树分类器从学生答题时间和学习能力两个影响学习的因素中提取出预分类标签bt,然后将bt与习题标签qt进行特征交叉,得到交叉特征ct,作为动态键值记忆网络的输入。
决策树是一种可用于分类任务的机器学习算法。决策树算法是通过选取特征设定阈值对样本进行划分,层层递进,直至样本不可再分,得到一个树状结构的分类器。在分类时,从根节点开始,判断满足条件的分支,直至不可再分的叶子节点,叶子节点的标签就是分类标签。分类与回归树(classification and regression tree,CART)算法是决策树算法的一种,它具有运算开销小的优点,因此选取它作为模型的预分类方法。CART算法是使用表示样本集合不确定性的Gini指数作为特征选取的依据。Gini指数的具体计算过程如下:
假设有一确定数据集D,其中某特征列有N个不同的类别,第i个类别的概率为pi,则其Gini系数的计算公式为:
(4)
假设根据特征F的某一取值,把数据集D分成D1和D2两部分,则数据集D的Gini系数计算如下:
(5)
交叉特征是一种将两个或更多的特征编码成一个合成特征以表示这些特征的并发特性的方法,主要有将多个不同的特征相互相乘或相加进行组合以及将单一特征进行次方运算两种组合形式。在这里将习题标签和预分类结果进行特征交叉,这样做相比单独将习题标签或者预分类结果作为输入考虑的因素更加全面,可以显著提升算法的性能。其中,特征交叉公式如下:
ct=qt+max(q+1)×bt.
(6)
其中,qt是习题标签,bt是利用决策树进行预分类的结果,ct是编码后的交叉特征。
3.3.2注意力层
注意力层的作用是计算当前习题与潜在知识点之间的相关权重,注意力层的输入是当前习题的交叉特征ct,接着将ct乘以习题嵌入矩阵A,得到dk维度的习题嵌入向量kt.这种嵌入方式得到的是低维的连续向量,相比独热向量更稠密,同时也占用更少的内存。接下来,注意力层将嵌入向量kt与键矩阵中的每个独立的记忆单元做向量内积,最后应用一个Softmax函数。其相关权重的计算公式如下:
wt(i)=Softmax(Mk(i)kt) .
(7)
其中,Softmax函数作为全连接层的激活函数,具有激活和归一化的作用,可以将相关权重按相关性分配到各个潜在知识点,表示习题与各个潜在知识点的关联性。
3.3.3知识读取层
知识读取层主要是读取学生知识点掌握矩阵中存储的内容,形成总结向量用于预测学生下一道习题的表现。输入是遗忘矩阵和知识点掌握程度矩阵,输出学生对于习题考察知识点的加权掌握程度向量。
由于学生在两次答题间隔内的遗忘行为会对答题结果产生影响,本文考虑了学生的遗忘因素,根据第3.2节中介绍的影响知识遗忘的遗忘矩阵Ft与学生知识点掌握程度矩阵进行组合,得到本次答题开始时的知识掌握程度矩阵
具体公式如下:
(8)
将知识相关权重wt与当前时刻学生知识掌握矩阵加权求和,得到学生对于习题考察知识点的加权掌握程度向量st,是一个总结向量:
(9)
3.3.4知识写入层
学生作答练习题qt后,根据学生作答练习题的正确性rt和融合学习特征的交叉特征ct来更新记忆值矩阵。相比于动态键值记忆网络,本文在更新知识状态时考虑了学生的知识增长。在DKVMN擦除添加门的基础之上,本模型增加了一个知识增长门,用带ReLU激活函数的全连接层来获取学生答题获得的知识增长。
首先,将ct与rt的嵌入向量vt输入到带Sigmoid激活函数的全连接层,得到知识擦除向量et:
et=Sigmoid(ETvt+be) .
(10)
其次,将答案嵌入vt输入到带Tanh激活函数的全连接层,得到知识添加向量at:
at=Tanh(DTvt+ba)T.
(11)
然后,将答案嵌入vt输入到带ReLU激活函数的全连接层,得到知识增长向量gt:
gt=ReLU(ITvt+bi).
(12)
最后,et、at和vt结合知识点习题相关权重wt,与当前知识掌握程度矩阵计算得到下次答题前的知识状态
(13)
(14)
3.3.5知识预测层
预测层的主要目的是预测学生在下一道候选习题qt+1上的表现。学生能否正确解答题目,不仅与学生的知识点掌握程度有关,还与习题本身的难度有关。因此,本文将学生对于习题考察知识点的加权掌握程度向量st和习题嵌入kt的组合向量输入到带有Tanh激活函数的全连接层,输出向量ft包含了学生对习题考察知识点的综合掌握程度和习题本身难度特点。矩阵W1和b1分别表示全连接层的权重和偏置:
(15)
最后,将上一步得到的结果向量ft输入到一个带有sigmoid激活函数的全连接层,得到表示学生正确作答习题的概率pt:
(16)
其中,矩阵W2和b2分别表示全连接层的权重与偏置。
3.3.6知识水平输出层
知识水平输出层的输入为学生本次学习开始前的知识掌握矩阵输出为表示学生所有知识点水平的|K|维向量,向量的每一维介于0到1之间,表示学生对于该知识点的掌握程度。知识水平输出层如图3所示。
图3 知识水平输出层
Fig.3 Knowledge points level output layer
其设计思想与预测层类似,但预测层预测学生在特定习题上的作答正确率时不仅用到了该习题考察知识点的总结向量st,也用到了习题嵌入kt.因此,预测在没有习题输入的情况下学生对于第i个知识点的掌握程度,使用零向量代替习题嵌入。
首先,将独热向量βi=(0,…,1,…,0)与知识点掌握程度矩阵相乘,得到矩阵的第i列向量,为第i个知识点的掌握程度向量。
(17)
其次,将知识点i的掌握向量与零矩阵拼接,得到的向量输入到带Tanh激活函数的全连接层。
(18)
(19)
最后,将上一个全连接层得到的结果输入到带Sigmoid激活函数的全连接层,得到的向量lt(i)表示t时刻学生对知识点i的掌握水平。
3.3.7损失函数
模型需要训练的参数主要是习题嵌入矩阵A、答案嵌入矩阵B、各神经网络层的权重与偏置以及知识点嵌入矩阵Mk.本文通过最小化学生答题结果的预测值pt和学生答题的真实结果rt之间的交叉熵损失函数来优化各个参数。损失函数如公式(20)所示,使用Adam方法优化参数:
(20)
本文基于在线教育系统收集的数据集进行实验,通过对比MFKT和其他几个基线模型在知识追踪任务上的预测性能,证明了本文模型的有效性。
本文实验在以下工作环境进行:Windows 11操作系统,主机使用3.20 GHz AMD 76800H CPU和 6GB NVIDIA RTX 3060 GPU.本文模型MFKT运行时GPU显存利用率较高,约为95%.在小规模数据集(如Assistments2009)上,训练100个Epoch的平均用时约为20 min.在稍大规模数据集(如Assistments2015)上,训练300个Epoch的平均用时约为5 h.
本实验使用在线教育数据集Assistments2009和Assistments2015,如表1所示,这两个数据集来自于Assistment在线教育平台。
表1 数据集统计与分析
Table 1 Dataset statistics and analysis
指标Assistments2009Assistments2015学生数S4 16319 840知识点K123100练习记录I338 001683 801稠密度D0.660.34
表1中的稠密度是一个作者自定义的指标,其计算公式为表示数据集中学生与所有习题的平均交互次数。
4.2.1Assistments2009
在该数据集中,练习记录用order_id来唯一标识。user_id表示学生编号,problem_id表示题目编号,skill_id表示题目对应的知识点编号,correct表示作答结果,1表示正确,0表示错误,ms_first_response表示答题时间。本文删除知识点编号缺失的记录,经过预处理,如表1所示,该数据集包含4 163名学生、123个知识点和338 001条练习记录。
4.2.2Assistments2015
在该数据集中,user_id表示学生编号,sequence_id表示习题集编号,也就是习题对应的知识点编号。order_id是唯一标识一条记录的ID,correct表示作答结果。在预处理中,删除了correct字段不是0或1的记录。如表1所示,剩下的数据集包含19 840名学生、100个知识点和683 801条练习记录。
本文使用AUC和ACC两个指标对知识追踪模型进行评估。AUC是ROC曲线与横坐标轴所围成的面积,AUC值为50%时表示随机猜测的性能。一般来说,AUC值越高,模型的预测性能越好。ACC为准确率,即正确预测结果占全部结果的比例,较高的ACC值说明模型具有较好的预测性能。本文对每个模型都进行了5次重复实验,并取评价指标的平均值作为最终实验结果。
为了评价MFKT的性能指标,本文选择贝叶斯知识追踪[3]、深度知识追踪[5]、动态键-值对记忆网络[6]、基于掌握速度的知识追踪[15]、基于图神经网络的知识追踪[21,22]这6个经典的知识追踪模型作为对比方法,对比方法的参数设置如下。
1) BKT[3]:实验设置4个主要参数,L0表示学生未开始答题时对习题考察知识点的初始掌握程度,T为学生回答完成后对知识点掌握程度由不会到会的概率,G表示学生未掌握该知识点但是答对题目的猜测概率,S表示学生掌握知识点但是答错题目的失误概率。BKT利用以上参数构造一个隐马尔可夫模型,并使用EM算法求解参数。
2) DKT[5]:循环神经网络RNN的隐藏层大小为200,批处理大小为64,使用Adam作为优化器,学习率为0.002.
3) DKVMN[6]:记忆矩阵列数为20,键矩阵隐藏向量的大小为50,值矩阵隐藏向量的大小为200.批处理大小为128,使用Adam作为优化器,学习率为0.01,序列长度为200.
4) MSKT[15]:实验使用宗晓萍等的方法设置超参数。记忆矩阵列数为20,隐藏向量的大小为200,批处理大小为64,使用Adam作为优化器,学习率为0.005.
5) JKT[21]:实验使用SONG et al的方法设置超参数。
6) GHGCN[22]:实验使用YANG et al论文中的结果。
MFKT模型:键矩阵列数为20,隐藏向量的大小为50,值矩阵列数为20,隐藏向量的大小为200,序列长度为200.批处理大小为64,使用Adam作为优化器,学习率为0.01.
知识追踪的基本任务之一是预测学生对于下一道练习题的答题表现。通过比较模型在数据集上的预测结果与学生的真实答题结果,以此来评估模型的性能。
本文随机地选取70%的数据作为训练集,20%的数据作为测试集,剩余10%的数据作为验证集,用于调整参数。每轮训练结束后,都会在验证集上对模型进行评估,然后选择验证集上最大的AUC对应的模型参数在测试集上进行评估。
表2中给出了本文提出的方法与6种对比方法在两个数据集上的平均AUC值的对比结果。可以看出,基于深度神经网络的方法都要好于非神经网络的方法,并且都有较大幅度的提升。值得注意的是,基于记忆增强网络的方法要好于基于循环神经网络和基于图神经网络的方法。其中,本文提出的MFKT模型在两个数据集上的AUC平均表现要优于其他模型,说明MFKT模型相比其他模型更加适合知识追踪任务。
表2 不同模型预测性能的对比(AUC)
Table 2 Prediction results of different models on knowledge tracing task (AUC)
类别模型Assistments2009Assistments2015非神经网络BKT0.6300.645循环神经网络DKT0.8040.723记忆增强网络DKVMN0.8150.727MSKT0.8240.730图神经网络JKT0.7980.718GHGCN0.8190.736本文方法MFKT0.8330.733
从对比实验结果可以看出,BKT的预测性能在两个数据集上都是最低的,说明BKT仅用二元变量对知识掌握程度进行表示是不合理的。DKT利用循环神经网络得到的单个潜在向量表示整体知识的状态,无法建模学生对于各个知识点的掌握情况,因此,预测性能低于其他3个记忆增强网络模型。DKVMN、MSKT以及MFKT都可以建模学生对于各个知识点的掌握程度,但是DKVMN忽略了学生的学习和遗忘特征,因此存在一定局限性。MSKT模型对DKVMN模型过程进行了改进,考虑了不同学生的知识点掌握快慢存在差异,因此相比DKVMN有所提升,但是与DKVMN一样,没有考虑学习和遗忘特征,因此,MSKT的预测性能不如MFKT。值得注意的是,本文提出的MFKT在Assistments2009数据集上有着比基于图的模型JKT和GHGCN更好的预测性能,并且有着更好的时间和空间效率。
从表1中可以观察到,数据集Assistments2015比Assistments2009的稠密度更小,数据更为稀疏。因此,在Assistments2015数据集上,所有基于深度学习的方法的预测AUC都有所下降。然而,由于图结构能够在一定程度上增强数据集的稠密度,因此基于图神经网络的方法能够在一定程度上克服数据集的稀疏性,减小因数据集稀疏导致的预测效果下降幅度。
图4显示了本文提出的模型与其他模型在AUC上的比较,以进一步比较它们在知识追踪方面的表现。从图中可以看出,MFKT模型在训练集和验证集上的AUC均高于DKVMN和DKT模型,这表明本文提出的MFKT模型在知识追踪方面具有更出色的表现。
图4 不同模型的AUC对比
Fig.4 AUC comparison of different models
为了研究本文提出的MFKT模型中不同模块的作用,在Assistments2009数据集上进行了几项消融实验,将原模型与几种变体进行比较,如表3所示。对比的模型都使用相同的超参数,以消除超参数不同带来的影响。
表3 MFKT变体
Table 3 Differences bettween MFKT model and its variants
模型学习因素遗忘因素知识增长MFKT√√√MFKT-F√×√MFKT-L×√√MFKT-M√√×
为了验证嵌入学习特征的有效性,本文设计了MFKT-L,该变体模型只考虑遗忘因素和知识增长,而不考虑学习因素,通过与原模型的比较来验证学习因素的有效性。
为了验证嵌入遗忘特征的有效性,本文设计了MFKT-F,该变体模型只考虑学习因素和知识增长,而不考虑遗忘因素,通过与原模型的比较来验证遗忘因素的有效性。
为了验证知识增长层的有效性,本文设计了MFKT-M,该变体模型只考虑学习因素和遗忘因素,而不考虑知识增长,通过与原模型的比较来验证知识增长层的有效性。
如表4所示,消融实验结果验证了MFKT各模块的有效性。不考虑学习因素的MFKT-L相较原模型性能有所下降,验证了嵌入丰富的学习特征,能帮助模型更好建模学生的学习过程。同样地,不考虑遗忘因素的MFKT-F相较原模型性能也有所下降,验证了在模型中嵌入丰富的遗忘特征,能更好地符合学生的真实情况。不考虑知识增长的MFKT-M相较原模型性能有所下降,验证了不同学生的知识增长存在差异,也验证了本文提出的知识增长层是有效的。
表4 原模型与各种变体模型的预测结果的对比
Table 4 Prediction results of MFKT model and its variants on knowledge tracing task
模型AUC/%ACC/%MFKT83.2977.37MFKT-F83.0877.24MFKT-L82.4277.02MFKT-M82.5577.08
在Assistments2009数据集上,可以训练一个MFKT模型,该模型包含K=5个记忆片段。通过提取每个练习题的相关权重向量,可以得到习题知识点关联情况。根据第3.3.5小节中介绍的知识点掌握水平提取方法,可以输出得到学生在每一个时间步完成特定练习后的知识水平。将所有时间步输出的知识点水平按时间顺序绘制成热力图,可以实现知识追踪的可视化。知识追踪可视化不仅可以用于个性化指导学生,还可以在一定程度上用于验证知识追踪模型的实际效果。
本文截取了Assistments2009数据集中一位学生的交互记录,观察该学生在学习过程中部分知识点的掌握程度变化。图5中横坐标为每个时刻的交互(t,kq,a),分别代表时刻、习题q对应的知识点及其回答情况,纵坐标代表了5种不同的知识点。实验结果显示,在学生第25时刻和第30时刻回答了涉及知识点3的题目并回答正确后,该学生在下一时刻对该知识点的掌握水平都有所提升。而在学生第12时刻和32时刻回答涉及知识点1的题目并回答错误后,该学生在下一时刻对该知识点的掌握水平都有所降低。这说明MFKT能从学生回答情况中捕捉到对应知识点掌握水平的变化。如图所示,在第6时刻到第12时刻,该学生依次回答了涉及知识点5和1的共计7道题,知识点3的掌握水平逐渐下降,这说明MFKT考虑了学生在学习期间的遗忘行为。
图5 一位学生随时间变化的知识点水平热力图
Fig.5 Heat map of a student’s level of knowledge points over time
记忆增强模型可以在训练的过程中自动学习每个练习题的相关权重,由于具有相关性的的练习题将共享相同的记忆片段,因此模型将相似的练习题放在同一个记忆片段中。这意味着相关权重可以用来识别相似练习题的集合,因为相似的练习题具有相似的知识权重向量。为了验证这一点,本文使用Assistments2009数据集来实现这一任务。该数据集共有110道带名称的练习题,本文设定记忆片段数量K=5,并且用MFKT提取每一个练习题的相关权重向量。使用t-SNE[24]将向量投影到二维空间,并且保持代表练习题的点相对距离不变。知识点挖掘实验结果如图6所示,相似的练习题用相同的颜色进行标注,并且按照图6把相同颜色的练习题放到同一区块中。
图6 根据相关权重对练习题进行聚类
Fig.6 Clustering of exercises according to correlation weights
由图6可知,MFKT模型可以自动地发现相似的练习题。例如,橙色的练习题具有相关的数学运算,它包括整数的乘法、整数的加减法以及分数的加减法等。绿色的练习题也具有相关的数学运算,它包括直方图表、散点图以及茎叶图等。从图6可知,绿色习题聚类效果并不理想,聚类出来的点分布不够集中。可能的原因是缺少习题文本等高级信息,导致特征提取不够全面,从而出现了非完美聚类。
本文提出了一种基于多行为特征嵌入记忆网络的知识追踪模型MFKT,该模型综合考虑了答题过程中学习因素和遗忘因素的影响,通过提取学习特征和遗忘特征,并将其嵌入到记忆网络中。此外,还考虑到了学生回答完成后的知识增长差异,在原网络结构的基础上增加了一个知识增长层,用于计算学生答题得到的知识增长。实验表明,MFKT在预测学生答题表现方面优于现有的DKVMN、JKT、GHGCN等模型。MFKT模型在追踪学生知识水平变化方面,不仅能够考虑到学生的学习因素,还考虑到了遗忘因素,并且能够动态追踪学生由于遗忘导致的知识水平变化。
结合当前工作,将在现有工作基础上进一步深入研究,以改进模型。未来将从以下两个角度入手:
1) 研究多知识点习题。本文所采用的数据集习题涉及到的知识点较少,导致习题难度相对较低。然而,现实世界中的练习题往往涉及多个知识点,而且知识点之间的关系复杂,这是本文工作需要进一步解决的问题。
2) 增强模型的可解释性。本文模型采用注意力机制计算知识点与习题之间的相关性,从某种程度上具有可解释性。但由于神经网络的不可解释性,模型在可解释性方面还有所欠缺。未来将考虑借鉴机器学习中的可解释性指标,对预测结果做更进一步的解释。
[1] 李菲茗,叶艳伟,李晓菲,等.知识追踪模型在教育领域的应用:2008—2017年相关研究的综述[J].中国远程教育,2019(7):86-91.
[2] 刘铁园,陈威,常亮,等.基于深度学习的知识追踪研究进展[J].计算机研究与发展,2022,59(1):81-104.
LIU T Y,CHEN W,CHANG L,et al.Research advances in the knowledge tracing based on deep learning[J].Journal of Computer Research and Development,2022,59(1):81-104.
[3] CORBETT A T,ANDERSON J R.Knowledge tracing:modeling the acquisition of procedural knowledge[J].User Modeling and User-Adapted Interaction,1994,4(4):253-278.
[4] YEUNG C K.Deep-IRT:make deep learning based knowledge tracing explainable using item response theory[EB/OL].[2019-04-26].https:∥arxiv.org/abs/1904.11738.
[5] PIECH C,SPENCER J,HUANG J,et al.DKT:deep knowledge tracing[EB/OL].[2015-06-19].https:∥arxiv.org/abs/1506.05908.
[6] ZHANG J,SHI X,KING I,et al.DKVMN:dynamic key-value memory networks for knowledge tracing[EB/OL].[2017-02-17].https:∥arxiv.org/abs/1611.08108.
[7] WESTON J,CHOPRA S,BORDES A.Memory Networks[EB/OL].[2015-11-29].https:∥arxiv.org/abs/1410.3916.
[8] MURRE J M J,DROS J.Replication and analysis of ebbinghaus’ forgetting curve[J].PLoS One,2015,10(7):e0120644.
[9] BAKER R S J D,CORBETT A T,ALEVEN V.More accurate student modeling through contextual estimation of slip and guess probabilities in bayesian knowledge tracing[M]∥WOOLF B P,AÏMEUR E,NKAMBOU R,et al.Intelligent Tutoring Systems.Heidelberg:Springer Berlin Heidelberg,2008(5091):406-415.
[10] PARDOS Z A,HEFFERNAN N T.KT-IDEM:Introducing item difficulty to the knowledge tracing model[C]∥User Modeling,Adaption and Personalization:19th International Conference,UMAP 2011,Girona,Spain,2011:243-254.
[11] KHAJAH M,WING R,LINDSEY R V,et al.Integrating latent-factor and knowledge-tracing models to predict individual differences in learning[C]∥EDM,2014:99-106.
[12] YEUNG C K,YEUNG D Y.Addressing two problems in deep knowledge tracing via prediction-consistent regularization[EB/OL].[2018-06-06].https:∥arxiv.org/pdf/1806.02180.pdf.
[13] LIU Q,HUANG Z,YIN Y,et al.EKT:exercise-aware knowledge tracing for student performance prediction[J].IEEE Transactions on Knowledge and Data Engineering,2021,33(1):100-115.
[14] SHEN S,LIU Q,CHEN E,et al.CKT:convolutional knowledge tracing:modeling individualization in student learning process[C]∥Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval.Virtual Event China:ACM,2020:1857-1860.
[15] 宗晓萍,陶泽泽.基于掌握速度的知识追踪模型[J].计算机工程与应用,2021,57(6):117-123.
ZONG X P,TAO Z Z.Knowledge tracing model based on mastery speed[J].Computer Engineering and Applications,2021,57(6):117-123.
[16] 李晓光,魏思齐,张昕,等.LFKT:学习与遗忘融合的深度知识追踪模型[J].软件学报,2021,32(3):818-830.
LI X G,WEI S Q,ZHANG X,et al.LFKT:deep knowledge tracing model with learning and forgetting behavior merging[J].Journal of Software,2021,32(3):818-830.
[17] SUN X,ZHAO X,MA Y,et al.Muti-behavior features based knowledge tracking using decision tree improved DKVMN[C]∥Proceedings of the ACM Turing Celebration Conference,Chengdu,China,New York:ACM,2019:1-6.
[18] ABDELRAHMAN G,WANG Q.SKVMN:Knowledge tracing with sequential key-value memory networks[C]∥Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM,2019:175-184.
[19] NAKAGAWA H,IWASAWA Y,MATSUO Y.GKT:Graph-based knowledge tracing:modeling student proficiency using graph neural network[C]∥IEEE/WIC/ACM International Conference on Web Intelligence,Thessaloniki Greece.New York:ACM,2019:156-163.
[20] YANG Y,SHEN J,QU Y,et al.GIKT:a graph-based interaction model for knowledge tracing[EB/OL].[2020-09-13].https:∥arxiv.org/abs/2009.05991.
[21] SONG X,LI J,TANG Y,et al.JKT:a joint graph convolutional network based Deep Knowledge Tracing[J].Information Sciences,2021,580:510-523.
[22] YANG Z,WANG Z,YU T,et al.GHGCN:knowledge tracing based on gated heterogeneous graph convolutional networks[C]∥2022 IEEE International Conference on Big Data (Big Data),Osaka,Japan.New York:IEEE,2022:6847-6849.
[23] MINN S,DESMARAIS M C,ZHU F,et al.DSCMN:dynamic student classiffication on memory networks for knowledge tracing[C]∥YANG Q,ZHOU Z H,GONG Z,et al.Advances in Knowledge Discovery and Data Mining Cham,Springer International Publishing,2019:163-174.
[24] MAATEN L V D,HINTON G.Visualizing data using t-SNE[J].Journal of Machine Learning Research,2008,9(11):2579-2605.