1 知识跟踪Knowledge Tracing的概念
知识跟踪可以用来解决自适应学习问题。如何通过与教学材料的在线互动来有效地跟踪学生的学习进展?知识跟踪可用于量化学生的知识状态,即对教材所涉及的技能掌握水平。用于评估和模拟学生随着时间推移对技能的认知掌握程度。
问题描述:鉴于学生以前在各种技能方面的问题解决序列,与知识追踪相关的预测任务是根据学生过去与在线辅导系统的互动反馈,预测未来反应的正确性(即学生正确解决问题的可能性有多大)。知识跟踪可以表述为一个有监督的学习问题:给定学生在特定学习任务上截至时间 t 的过去交互 XT=(x1,x2,...,xt) ,预测学生在下一次交互 xt+1中的表现。交互 xt=(qt,at) 被定义为一个元组,其中包含学生在时间步长 t 所尝试问题的 KC id qt,而标签 at是一个二进制变量,代表学生是否回答正确。知识跟踪通常试图预测学生在下一个时间步中正确回答问题的概率,即 p( at+1=1|qt+1,XT) 。
知识追踪的改进可以更好地为学生量身定制技能学习建议,从而实现更有效和高效的学习。
2 数据集说明
ASSISTments 2009-10 SkillBuilder https://github.com/CAHLR/pyBKT-examples/blob/master/data/as.csv
其中包含 124 项技能(例如,构建饼图)和大约 525,000 个总二元正确性响应(跨技能汇总正确和错误的比例约为 70/30%)。
该文件包含每个学生-问题的一条记录(例如,如果学生 S 回答了具有两种技能的问题 P,则这两种技能将被折叠成技能 1_ 技能 2 的格式,并在一条记录中表示):
技能构建问题集具有以下特点:
问题基于一种特定技能,一个问题可以有多个技能标记。
学生必须连续答对三个问题才能完成作业;
如果学生使用了辅导("提示 "或 "将问题分解为步骤"),问题将被标记为不正确;
学生将立即知道自己是否答对了问题;
如果学生无法独立解决问题,最后一个提示会给出答案;
目前,该功能仅适用于数学问题集。
3 表达技能图
创建一个明确的图结构来描述学生解决问题序列中技能之间的相互作用,利用图神经网络来构建直接建模这种相互依赖关系的技能嵌入。可以利用类似的“邻近”技能提供的背景来更准确、更有效地评估学生的知识。
构建技能图需要保留学生序列中技能共现和通常访问技能的顺序的信息。可以将有序共现定义为一对两个技能 A 和 B,使得 A 出现在同一学生序列中,并且先于 B 出现。技能图中的节点对应于数据集中的每个技能,存在两个节点之间的有向边(如果它们之间存在非平凡的有序共现率)。程序逻辑包括:计算每个学生序列中有序共现的次数,通过前向共现连接有向图中的节点。
4 GraphKT
GraphKT是一种基于图的响应正确性预测模型,通过序列建模(Transformer架构)解决学生问题序列。GraphKT 利用图神经网络(GNN)构建的每个技能的节点嵌入来表示技能图。可选择 图神经网络模型GCN、GraphSAGE 和 GAT 作为构建节点嵌入的方法。
GraphKT的架构 节点嵌入图来源:https://web.stanford.edu/class/cs224w/slides/05-GNN3.pdf
其中 c_t 表示时间 t 的正确性值,s_t 表示应用于技能图的 GNN 输出的节点嵌入。如图所示将学生序列中 t 时刻的技能指数 sₜ 作为 GNN 的输入,通过固定大小的初始技能嵌入字典进行转换。虽然这一过程依赖于技能指数,因此本质上是转导式的,这并不影响该方法的实际应用,因为 KT 本质上仅限于转导式设置(即我们无法对未知技能进行预测)。
GNN 的输出是学生所尝试的技能的节点嵌入,该节点嵌入与之前的教师强制正确率值(即时间 t - 1)相连接,形成 GraphKT 的输入特征。利用这些输入特征,通过因果转换器进行前向传递,在屏蔽未来值的情况下(即以因果方式)执行多头注意。在每个时间步,对转换器输出应用线性层将其转换为标量,并应用Sigmoid激活将其转换为二进制概率值。
GraphKT 是一种基于图神经网络的知识追踪方法,它利用节点嵌入来模拟技能之间的相互依存关系。
GraphKT 的核心组件包括创建技能图、实现各种图神经网络和训练模型(包括基线模型)。
辅助和实用程序代码的其余部分可访问https://github.com/abadrinath947/GraphKT。
5 参考文献
- Corbett, Albert T. 和 Anderson, John R. http://act-r.psy.cmu.edu/wordpress/wp-content/uploads/2012/12/893CorbettAnderson1995.pdf
- https://github.com/abadrinath947/GraphKT
- https://web.stanford.edu/class/cs224w/ CS224W: Machine Learning with Graphs Stanford / Fall 2023
- https://paperswithcode.com/task/knowledge-tracing
- https://mp.weixin.qq.com/s/UoWZfz_qgOI17wvNL3cQow 近期知识追踪论文分享
- https://mp.weixin.qq.com/s/NzsFkxrG8mYAC_gYNJVbgg【JETDE】 导读 | 知识追踪技术综述