知识追踪数据集

2009-2010 协助数据

数据说明
这是 2009~2010 学年收集的 ASSISTment 数据。完整的数据集分为两个不同的文件,一个是所有技能构建者数据,一个是所有非技能构建者数据。
技能构建者数据也称为掌握学习数据。该数据集来自技能构建(掌握学习)问题集,其中学生在满足一定标准(通常设置为连续正确回答 3 个问题)时被认为掌握了一项技能,掌握后将不再给出任何问题。
该数据集可免费使用。
资料下载

您可以获得三个单独的文件。如果你用这些写论文,请给他们一个指向数据页面的链接。这些数据集包括提示的数量和尝试的数量,但不包含操作级别的数据(即提示和尝试的确切顺序)。在 Ryan Bakers Affect 检测器的工作中,这个确切的顺序通常很重要。

这是备受关注的数据集。点击下方

2009-2010 年技能培养数据

非技能建设者数据 2009-10

ASSISTments 2009-2010 完整数据集

该文件包含来自上述两个数据集的数据,此外,它还包含没有关联问题集类型的数据。

您可以尝试将这些数据用于的可能研究问题。

RQ1:预测学生表现

多年来,教育数据挖掘领域一直在构建学生模型以拟合学生数据并预测学生表现。许多研究已经使用 ASSISTment 数据来预测学生的表现。他们中的一些人正在预测学生的下一个表现,例如在论文中:“协助”模型:利用学生需要多少提示和尝试;其中一些是在时间间隔后预测学生的表现,例如在论文中:使用学生建模来估计学生知识保留

RQ2:个性化

在个性化学生模型方面已经做出了努力。研究表明,通过个性化学生参数可以改善模型拟合。

以下是该领域使用 ASSISTment 数据的一些工作示例:

学生技能模型

在知识追踪的贝叶斯网络实现中建模个性化

RQ3:车轮旋转

Wheel-Spinning 是指学生可能发现很难从问题集中学习技能的情况。如何检测车轮旋转在智能辅导系统中很有用。

更多详情请看论文:转轮:没有掌握一门技能的学生

RQ4:聚类

以前的工作已经显示出聚类学生在预测学生表现方面的一些好处。可以探索不同的聚类特征和不同的聚类方法,以更好地改进学生模型。

以下是使用 ASSISTment 数据完成的聚类工作的一些示例:

对学生进行聚类以生成整体以改进标准考试成绩预测

列标题(这个列表很旧,我们在这里对其中一些字段有更完整的描述)
  • order_id

    • 这些 id 是按时间顺序排列的,并且是指原始问题日志的 id。

  • assignment_id

    • 两个不同的分配可以具有相同的序列 ID。每项作业都特定于一位教师/班级。

  • 用户身份

    • 解决问题的学生的 ID。

  • 辅助ID

    • ASSISTment 的 ID。ASSISTment 包含一个或多个问题。

  • 问题编号

    • 问题的 ID。

  • 原来的

    • 1 = 主要问题

    • 0 = 脚手架问题

  • 正确的

    • 1 = 第一次尝试正确

    • 0 = 第一次尝试不正确,或寻求帮助。

  • 尝试计数

    • 学生尝试解决此问题的次数。

  • ms_first_response

    • 学生第一次响应的时间(以毫秒为单位)。

  • 导师模式

    • 导师、测试模式、前测或后测

  • answer_type

    • choose_1:多项选择(单选按钮)

    • 代数:数学计算字符串(文本框)

    • fill_in:简单的字符串比较答案(文本框)

    • open_response:记录学生的回答,但他们的回答总是被标记为正确

  • 序列号

    • 问题集的内容 ID。分配相同问题集的不同分配将具有相同的序列 ID。

  • student_class_id

    • 类 ID。

  • 位置

    • 课堂作业页面上的作业位置。

  • 问题集类型

    • 线性 - 学生按预定顺序完成所有问题。

    • 随机 - 学生完成所有问题,但每个学生都以不同的随机顺序出现问题。

    • 精通 - 随机顺序;学生必须通过连续答对一定数量的问题(默认为 3 个)来“掌握”问题集,然后才能继续学习。

  • base_sequence_id

    • 这是为了说明是否已复制序列。这将指向原始副本,如果尚未复制,则与 sequence_id 相同。

  • 技能ID

    • 与问题关联的技能的 ID。

    • 对于技能构建器数据集,同一数据记录的不同技能位于不同的行中。这意味着,如果学生回答了一个多技能问题,则该记录会被重复多次,并且每个重复项都标记有一项多技能。

    • 对于非技能构建者数据集,同一数据记录的不同技能位于同一行,用逗号分隔。

  • 技能名称

    • 与问题相关的技能名称。

    • 对于技能构建器数据集,同一数据记录的不同技能位于不同的行中。这意味着,如果学生回答了一个多技能问题,则该记录会被重复多次,并且每个重复项都标记有一项多技能。

    • 对于非技能构建者数据集,同一数据记录的不同技能位于同一行,用逗号分隔。

  • 教师编号

    • 分配问题的老师的 ID。

  • school_id

  • 分配问题的学校的 ID。

  • 提示计数

  • 学生尝试解决此问题的次数。

  • 提示总数

  • 关于这个问题的可能提示的数量。

  • 重叠时间

  • 学生重叠时间的时间(以毫秒为单位)。

  • 模板编号

  • ASSISTment 的模板 ID。具有相同模板 ID 的 ASSISTments 有类似的问题。

  • answer_id

  • 多项选择题的答案 ID。

  • answer_text

  • 填写问题的答案文本。

  • 第一动作

  • 第一个动作的类型:尝试或请求提示。

  • 底部提示

    • 学生是否要求所有提示。

  • 机会

  • 学生必须练习此技能的机会数量。

  • 对于技能构建者数据集,同一数据记录的不同技能的机会位于不同的行中。这意味着,如果学生回答多技能问题,则此记录会重复多次,并且每次重复都标记有多技能之一和相应的机会计数。

  • 对于非技能构建者数据集,同一数据记录的不同技能的机会在同一行,用逗号分隔。

  • 机会_原始

  • 学生必须练习此技能的机会数量,仅计算原始问题。

    • 对于技能构建者数据集,同一数据记录的不同技能的原始机会位于不同的行中。这意味着,如果学生回答多技能问题,则此记录会重复多次,并且每次重复都标记有多技能之一和相应的原始机会计数。

    • 对于非技能构建者数据集,同一数据记录的不同技能的原始机会在同一行,用逗号分隔。

  • 3.1.1 ASSISTments2009
    这个数据集【11】 2009 年期间在教育平台 ASSIST MENTS 上收集的。这个平台提供了高中的数学习题。 当这个数据集第一次发布时,它包含重复的记录,因为 一些使用这个数据集的论文有不可靠的结果【12】 。从那 时起,一个更新的版本已经发布,没有错误的重复,本文 的实验中使用了更新的版本。数据集包含两种不同的 交互模式的数据集:skill- builder 和 non- skill- builder 。 在实验中使用 skill-builder 数据集,因为在这个数据集 中,每个互动都被标记为一个独特的技能 ID ,这使得预 处理更加简单。就像在DKVMN 论文中一样,丢弃没有 技能名称的记录,更新后的数据集包含 4 151 名学生, 110个练习标签, 325 637 个互动。
    3.1.2 ASSISTments2015
    该数据集也收集自 2015 年的 ASSISTMENTS 教育 平台,与 2009 年的数据集不同,它来自一个交互模式的 记录,所有这些记录都被使用。在预处理工程中,删除 了正确的值不是1 0 的记录,剩下的数据集包含 19 840 名学生、100 个练习标记和 683 801 个交互。
    3.1.3 STATICS 2011
    这个数据集【13】 是从大学的工程力学课程中收集 的。在力学系统中,每个练习都包含多个步骤。由于此 数据集包含相对较少的不同练习,因此将练习题的每个 步骤作为模型的单独输入。也就是说,练习 ID 和步骤 ID 一起充当输入,因此相同练习的不同步骤将被视为 单独的输入 ID 。该数据集包含 333 名学生、 1 223 个练 习标签和189 297 个交互。
    3.1.4 JUNYI Academy 2015
    该数据集【14】 取自 2015 JUNYI 学院的交互日志, 完整的数据集包含 25 万名学生的日志,以及超过 2 500 万的交互。为了减少所需的计算时间,在实验中,从这 个数据集中随机选择了10 000 名学生来使用,在选择的 子样本中有720 个练习和 2 122 314 个交互。
  • 参考文献
    [11] FENG M HEFFERNAN N KOEDINGER K.Addressing the assessment challenge with an online system that tutors as it assesses[J].User Modeling and UserAdapted Interaction, 2009 19 (3): 243-266.
    [12] XIONG X ZHAO S VAN INWEGEN E G et al.Going deeper with deep knowledge tracing[C]//Proceedings of the 9th International Conference on Educational Data Mining, 2016.
    [13] KOEDINGER K R BAKER R S J CUNNINGHAM K , et al.A data repository for the EDM community: the PSLC datashop[J].Handbook of Educational Data Mining, 2010 43 43-56.
    [14] CHANG H S HSU H J CHEN K T.Modeling exercise relationships in e-learning: a unified approach[C]// Proceedings of EDM, 2015 532-535.
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
知识追踪模型代码的具体实现因应用场景不同而有所区别,以下是一个基于深度学习的知识追踪模型的示例代码: ```python import torch import torch.nn as nn import torch.optim as optim class KnowledgeTrackingModel(nn.Module): def __init__(self, input_size, hidden_size, output_size): super(KnowledgeTrackingModel, self).__init__() self.hidden_size = hidden_size self.lstm = nn.LSTM(input_size, hidden_size) self.linear = nn.Linear(hidden_size, output_size) self.softmax = nn.LogSoftmax(dim=1) def forward(self, input, hidden): output, hidden = self.lstm(input.view(1, 1, -1), hidden) output = self.linear(output.view(1, -1)) output = self.softmax(output) return output, hidden def init_hidden(self): return (torch.zeros(1, 1, self.hidden_size), torch.zeros(1, 1, self.hidden_size)) # example usage input_size = # 输入向量的维数 hidden_size = # LSTM隐藏层的维数 output_size = # 输出向量的维数 model = KnowledgeTrackingModel(input_size, hidden_size, output_size) criterion = nn.NLLLoss() optimizer = optim.SGD(model.parameters(), lr=0.1) # 训练 inputs = # 训练数据集的输入向量 labels = # 训练数据集的标签 hidden = model.init_hidden() for i in range(len(inputs)): model.zero_grad() output, hidden = model(inputs[i], hidden) loss = criterion(output, labels[i]) loss.backward() optimizer.step() # 预测 inputs = # 测试数据集的输入向量 hidden = model.init_hidden() for i in range(len(inputs)): output, hidden = model(inputs[i], hidden) print(output) ``` 该模型使用了一个单层LSTM神经网络,输入向量经过LSTM网络进行处理后,再通过一个线性层输出结果。在训练过程中,使用交叉熵作为损失函数,随机梯度下降作为优化算法。在预测过程中,输入一个新的向量,即可得到该向量所代表的类别。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值