编程知识追踪总结(进行中)

编程知识追踪存在的问题

1。 数据稀疏

与代数等定义明确的领域的大量学生建模工作相比,由于开放式编程练习的无界解空间造成的数据稀缺,对编程中的学生建模的研究很少。(8,19)

(19)无代码

大多数知识追踪方法在实际训练中使用概念而不是问题来解决数据的稀疏性,因为概念的数量比问题要少得多,尽管这些方法很有效,但它们忽略了同一概念下问题之间的差异

  • 使用概念:

利用相关概念来加强每个概念表示的效果,以更好地解决数据稀疏性问题。

输入的是通过嵌入层获得的概念的原始嵌入,模型计算所有概念嵌入的余弦相似度作为概念之间的关联程度。根据计算出的余弦相似度大小,选择与概念ci最相关的两个概念ci n1和ci n2,并将其连接到全连接层,作为当前概念的最终表示。ci .

  • 同一概念下的问题:

受AKT [14]的启发,我们使用Rasch模型在同一概念下建模不同的问题。因此,在步骤i中嵌入的问题xi是:(dk表示概念k的难度,)

其中µpi是问题对对应概念的变化,dqi是衡量问题与它所涵盖的概念的偏离程度的困难参数。问题-响应yi与编码相同,西+ cri和µpi是问题-响应嵌入和变异向量,dri是一个难度参数。

2。没考虑编程领域的特性

【1】把学生对问题的回答视为二元价值,正确/不正确。但它忽略了有关掌握的重要信息,特别是对于开放式问题(3,4,5,16无)(3,4是编程题;5,16是多项选择题)

问题:二元价值能和什么问题相联结呢?

总结:问题文本嵌入+代码嵌入放入lstm,生成的h_(t+1)和下一个问题文本

嵌入产生下一个问题的代码

(3)不是预测答对答错,而是预测学生的作答代码和实际作答代码的差别。有差别又怎么样?

【2】这些先前的工作大多是为了处理具有离散时间步长的事件序列,而不是考虑时间的连续方面。鉴于学生轨迹中的连续元素之间的时间可以从几秒到几天不等,(11)

【3】考虑问题的难度(14,22有)

【4】同一个问题下的知识概念们的相关性(15)

【5】考虑编程技能,将编程技能分为编程知识和编码能力(20无)

3。模型缺乏可解释性

4。学生的学习能力是变化的(9)

当学生学习如何编程时,他们的编程代码和对它的理解都会随着时间的推移而演变。

5。通用

多技能问题(18无,)

协作信息,相似的学生群体,类似于聚类(19)

编程知识追踪图谱

Programming Knowledge Tracing: A Comprehensive Dataset and A New Model | Connected Papers

摘要总结

  1. 编程知识追踪:一个全面的数据集和一个新的模型

Programming Knowledge Tracing: A Comprehensive Dataset and A New Model

在本文中,我们研究了编程教育领域的知识追踪,并做出了两个重要贡献。首先,我们收获并发布了迄今为止最全面的数据集,即BePKT,它涵盖了在线法官(OJ)系统的各种在线行为,包括编程文本问题、知识注释、用户提交的代码和系统记录的事件。其次,我们提出了一个新的模型PDKT,以利用丰富的上下文进行准确的学生行为预测。更具体地说, ,并设计了一个用于代码嵌入的改进的预训练模型PLCodeBERT,以及一个具有指数衰减注意力的双序列RNN模型,用于有效的特征融合。在新数据集BePKT上的实验结果表明,我们提出的模型在编程知识追踪方面建立了最先进的性能。此外,我们验证了我们基于PLCodeBERT的代码嵌入策略是对现有知识追踪模型的补充,以进一步提高其准确性。作为一个附带产品,PLCodeBERT还能在其他与编程相关的任务中获得更好的性能,如代码克隆检测。

  • 贡献点:1)发布一个数据集 2)使用代码嵌入 3)利用上下文信息?4)双子图5)指数衰减注意力

有代码

2.受人类行为启发的用于程序理解的神经网络架构

A Neural Network Architecture for Program Understanding Inspired by Human Behaviors

  • 和1是同一个人写的

Our codes and data are publicly available at https://github.com/RecklessRonan/PGNN-EK.

程序理解是程序语言处理中的一项基本任务。尽管取得了成功,但现有的工作未能将人类行为作为理解程序的参考。在本文中,我们考虑了人类的行为并提出了PGNN-EK模型,该模型由两个主要部分组成。一方面,受人类 "分而治之 "的阅读行为的启发,我们提出了一个基于分区的图神经网络模型PGNN对代码的升级AST。另一方面,为了描述人类求助于其他资源来帮助代码理解的行为,我们用外部知识来转换原始代码,并应用预训练技术进行信息提取。最后,我们将这两个部分产生的嵌入结合起来,输出代码嵌入。我们进行了广泛的实验,以显示PGNN-EK在代码总结和代码克隆检测任务上的卓越性能。特别是,为了展示我们模型的泛化能力,我们发布了一个新的数据集,这个数据集对于代码克隆检测来说更具挑战性,可以推动社区的发展。我们的代码和数据可在https://github.com/RecklessRonan/PGNN-EK

  • 提出问题:未能将人类行为作为理解程序的参考

3.计算机科学教育中的开放式知识追踪

Open-ended Knowledge Tracing for Computer Science Education

在教育应用中,知识追踪是指从学生过去对问题的回答中估计他们的时间变化的概念/技能的掌握程度,并预测他们未来的表现。大多数现有的知识追踪方法的一个关键限制是,他们把学生对问题的回答视为二元价值,即他们是正确还是不正确。响应的正确性分析/预测是直接的,但它忽略了有关掌握的重要信息,特别是对于开放式问题。我们为OKT问题开发了一个初步的解决方案,即学生知识引导的代码生成方法,它结合了使用语言模型的程序合成方法和学生知识追踪方法。我们还在一个真实世界的学生代码数据集上进行了一系列定量和定性的实验,以验证和展示OKT的前景。

  • 贡献:提出了一个问题,把学生的回答视为非零即1,这样的做法忽略了有关掌握的重要信息

提出学生知识引导的代码生成方法【?】,使用语言模型的程序合成方法和知识追踪

4. 开放式的知识追踪

Open-Ended Knowledge Tracing

Naiming Liu+ 2 authorsAndrew S. Lan

2022, ArXiv...

0 Citations

在教育应用中,知识追踪是指从学生过去对问题的回答中估计他们的时间变化的概念/技能的掌握程度,并预测他们未来的表现。大多数现有的知识追踪方法的一个关键限制是,它们将学生对问题的回答视为二元价值,即它们是正确的还是错误的。响应的正确性分析/预测忽略了响应的确切内容中包含的关于学生知识的重要信息,特别是对于开放式问题。在本文中,我们通过研究预测学生对问题的确切开放式回答的新任务,对开放式知识追踪(OKT)进行了首次探索。我们的工作是以计算机科学教育领域的编程问题为基础的。我们为OKT问题开发了一个初步的解决方案,即学生知识引导的代码生成方法,它结合了使用语言模型的程序合成方法和学生知识追踪方法。我们还在一个真实世界的学生代码数据集上进行了一系列定量和定性的实验,以验证OKT,并证明其在教育应用中的前景。

  • 有代码

  • 和上一个论文是一个作者,提出的问题是同样的

5.选项追踪:在知识追踪中超越正确性分析

Option Tracing: Beyond Correctness Analysis in Knowledge Tracing

S2 TL;DR: This paper quantitatively evaluates the performance of the option tracing methods on two large-scale student response datasets and qualitatively evaluates their ability in identifying common student errors in the form of clusters of incorrect options across different questions that correspond to the same error.

S2 TL;DR:本文定量地评估了选项追踪方法在两个大规模的学生回答数据集上的表现,并定性地评估了它们在识别学生常见错误方面的能力,这些错误的形式是不同问题中对应于同一错误的不正确选项集群。

在多项选择题目中,预测学生可能出现的错误

  • 有代码

Aritra Ghosh, Jay Raspat, Andrew S. Lan

2021, International Conference on Artificial Intelligence in Education...

8 Citations

6.语境感知的关注性知识追踪

Context-Aware Attentive Knowledge Tracing

知识追踪(KT)是指在教育应用中,根据学习者过去的表现来预测他们未来的表现的问题。最近使用灵活的基于深度神经网络的模型的知识追踪的发展在这项任务中表现出色。然而,这些模型往往提供有限的可解释性,从而使它们不足以用于个性化学习,而个性化学习需要使用可解释的反馈和可操作的建议来帮助学习者取得更好的学习成果。在本文中,我们提出了注意力知识追踪(AKT),它将灵活的基于注意力的神经网络模型与一系列受认知和心理测量模型启发的新型可解释模型组件结合起来。AKT使用一种新的单调的注意力机制,将学习者未来对评估问题的反应与他们过去的反应联系起来;除了问题之间的相似性之外,还使用指数衰减和上下文感知的相对距离措施来计算注意力权重。此外,我们使用Rasch模型来规范概念和问题的嵌入;这些嵌入能够捕捉同一概念的问题之间的个体差异,而不使用过多的参数。我们在几个真实世界的基准数据集上进行了实验,结果表明AKT在预测未来学习者的反应方面优于现有的KT方法(在某些情况下AUC高达6%$)。我们还进行了几个案例研究,并表明AKT表现出良好的可解释性,因此在现实世界的教育环境中具有自动反馈和个性化的潜力。

  • 提出问题:可解释性,个性化学习

  • 有代码

Aritra Ghosh, N. Heffernan, Andrew S. Lan

2020, Knowledge Discovery and Data Mining...

113 Citations

7. 以少胜多。探索如何通过半监督学习有效地使用深度学习来自动检测学生代码中的错误

More With Less: Exploring How to Use Deep Learning Effectively through Semi-supervised Learning for Automatic Bug Detection in Student Code

自动检测学生程序代码中的错误对于实现形成性反馈以帮助学生找出错误并解决它们至关重要。深度学习模型,特别是code2vec和ASTNN,在大规模的代码分类中显示出巨大的成功。然而 通过改变标记数据量从1%到100%。除了少数例外,这两个深度学习模型的表现超过了经典模型。更有趣的是,我们的结果显示,当标注数据量较少时,code2vec更有效,而ASTNN在训练数据较多时更有效;对于code2vec和ASTNN,标注数据越多越好。为了进一步提高它们的e(cid:11)ectiveness,我们研究了半监督学习的潜力,它可以利用大量的未标记的数据来提高它们的性能。我们的结果表明,半监督学习确实是有益的,特别是对ASTNN。

无代码

8.针对新手编程的跨语言对抗性领域适应性分析

Cross-Lingual Adversarial Domain Adaptation for Novice Programming

学生建模是适应性学习技术的核心。与代数等定义明确的领域的大量学生建模工作相比,由于开放式编程练习的无界解空间造成的数据稀缺,对编程中的学生建模的研究很少。在这项工作中,我们专注于两个基本的SMP任务:程序分类和学生成功的早期预测,并提出了一个跨语言对抗性领域适应(CrossLing)框架,该框架可以利用大型编程数据集来学习特征,从而改善SMP的构建,使用不同编程语言的更小的数据集。我们的框架通过对抗性学习过程在两个数据集上保持一个全局不变的潜在表征,同时为每个数据集分配特定领域的模型,以提取不能也不应该被联合的局部潜在表征。通过将全局共享的表征与特定领域的表征分开,我们的框架在这两项SMP任务中都优于现有的最先进方法。

  • 解决数据稀缺的问题,跨语言模型,求同存异?

  • 没有数据集

Ye Mao+ 3 authorsMin Chi

2022, AAAI Conference on Artificial Intelligence...

1 Citations

9.知道何时何地:学生在编程新手任务中学习进展的时间-ASTNN

Knowing When and Where : Temporal-ASTNN for Student Learning Progression in Novice Programming Tasks

当学生学习如何编程时,他们的编程代码和对它的理解都会随着时间的推移而演变。在这项工作中,我们提出了一个通用的数据驱动的方法,名为Temporal-ASTNN,用于在开放式编程领域为学生的学习进展建模。Temporal-ASTNN结合了一个基于抽象句法树(AST)的新型神经网络模型,名为ASTNN,和长短时记忆(LSTM)模型。ASTNN处理学生编程代码的语言性质,而LSTM处理学生学习进展的时间性质。ASTNN的e(cid:11)ectiveness是(cid:12)首先与其他模型包括最先进的算法Code2Vec在两个编程领域:iSnap和Java的程序分类(正确或不正确)的任务进行比较。然后,在学生成功的早期预测这一具有挑战性的任务上,将提出的时间-ASTNN与原始ASTNN和其他时间模型进行了比较。我们的结果显示,Temporal-ASTNN只需用(cid:12)rst 4分钟的时间数据就能达到最好的性能,而且它在更长的轨迹上继续优于所有其他模型。

10.一分钟就够了:早期预测学生在初级编程任务中的成功和事件级难度

One minute is enough : Early Prediction of Student Success and Event-level Difficulty during a Novice Programming Task

在长时间的学习活动中,对学生困难的早期预测使辅导系统能够通过提供所需的支持(如提示)或提醒教师来进行干预。为了有效,这些预测必须及早出现并且高度准确,但这种预测对于开放式的编程问题来说是很困难的。在这项工作中,最近的时间模式(RTPs)与支持向量机和逻辑回归结合使用,为早期预测建立稳健但可解释的模型。我们执行了两项任务:预测学生在一个开放式的新手编程任务中的成功和困难,即绘制一个方形的螺旋。我们将RTP与几个机器学习模型进行了比较,从经典的到最近的深度学习模型,如长短时记忆,以预测学生是否能够完成编程任务。我们的结果显示,基于RTP的模型优于其他所有模型,并且可以在20分钟的练习中只用一分钟就成功地对学生进行分类(学生可以在上面花费1个多小时)。为了确定系统何时可以进行干预,以防止不完整或最终辍学,我们定期应用RTP来预测学生是否会在接下来的5分钟内取得进展,反映出他们可能有困难。RTP在85%以上的时间里成功地对这些需要干预的学生进行了分类,使用数据驱动的程序功能提高了准确性。这些结果极大地促进了建立一个完全数据驱动的新手编程辅导系统的潜力。

无代码

Ye Mao

...

10 Citations

11.现在是什么时间?学生建模需要知道

What Time is It? Student Modeling Needs to Know

对学生的学习过程进行建模是非常复杂的,因为它受到许多因素的影响,如动机和学习习惯。基于计算机的学习环境所提供的大量功能和工具,使追踪学生知识的任务更加混乱。长短时记忆(LSTM)等深度学习模型和贝叶斯知识追踪(BKT)等经典的马尔科夫模型已被成功应用于学生建模。然而,这些先前的工作大多是为了处理具有离散时间步长的事件序列,而不是考虑时间的连续方面。鉴于学生轨迹中的连续元素之间的时间可以从几秒到几天不等,我们应用了Timeaware LSTM(T-LSTM)来对学生知识状态的动态进行连续建模。我们研究了T-LSTM在两个具有非常不同特点的领域的有效性。其中一个涉及到一个开放式的编程环境,在这个环境中,学生可以自我规划他们的进度,我们将T-LSTM与LSTM、最近的时间模式挖掘和经典的Logistic回归(LR)在学生成功的早期预测方面进行了比较;另一个涉及到一个经典的导师驱动的智能辅导系统,导师一步一步地指导学生学习,T-LSTM与LSTM、LR和BKT在学生学习成果的早期预测方面进行了比较。我们的结果显示,在自学的开放式编程环境中,TLSTM明显优于其他方法;而在导师驱动的ITS中,它与LSTM并列,并且优于LR和BKT。换句话说,虽然两个数据集都存在时间不规则性,但当节奏由学生驱动时,T-LSTM的效果明显优于其他学生模型。另一方面,当这种不规则性来自导师时,T-LSTM并不优于其他模型,但其性能也没有受到伤害。

问题:处理的是离散的时间,可以考虑处理连续的时间。鉴于学生轨迹中的连续元素之间的时间可以从几秒到几天不等,我们应用了Timeaware LSTM(T-LSTM)来对学生知识状态的动态进行连续建模。

Ye Mao+ 3 authorsMin Chi

2020, Educational Data Mining...

6 Citations

无代码

12.深度学习与贝叶斯知识追踪。干预措施的学生模型

Deep Learning vs. Bayesian Knowledge Tracing: Student Models for Interventions

贝叶斯知识追踪(BKT)是一种常用的学生建模方法,而长短时记忆(LSTM)是一种通用的模型,可以应用于广泛的任务,如语言翻译。在这项工作中,我们直接比较了三种模型。BKT、其变体Intervention-BKT(IBKT)和LSTM,在两类学生建模任务上进行了比较:测试后分数预测和学习收益预测。此外,虽然以前关于学生学习的工作经常使用由领域专家确定的技能/知识成分,但我们将自动技能发现方法(SK)纳入所有三个模型,其中包括对练习-技能分配的非参数先验。因此,我们总共探索了六个模型。BKT、BKT+SK、IBKT、IBKT+SK、LSTM和LSTM+SK。我们采用了两个训练数据集,一个是从一个名为Cordillera的自然语言物理学智能辅导系统中收集的,另一个是从一个名为Pyrenees的标准概率智能辅导系统中收集的。总的来说,我们的研究结果表明,BKT和BKT+SK在预测测试后的分数方面优于其他的方法,而LSTM和LSTM+SK在预测学习收益方面取得了最高的准确性、F1测量值和ROC曲线下面积(AUC)。此外,我们证明了通过将SK与BKT模型相结合,BKT+SK可以只使用整个训练序列中最早的50%来可靠地预测测试后的分数。对于学习成绩的早期预测,使用整个序列中最早的70%,LSTM可以提供与使用整个训练序列相当的预测结果。这些研究结果产生了一个学习环境,它可以早期预测学生的表现和学习收益,并可以提供相应的适应性教学策略。

Ye Mao, Chen Lin, Min Chi

2018...

39 Citations

无代码

13.从{解决方案的合成}到{学生尝试的合成}的基于块的可视化编程任务

From {Solution Synthesis} to {Student Attempt Synthesis} for Block-Based Visual Programming Tasks

基于块的可视化编程环境越来越多地被用来向初学者介绍计算机概念。鉴于编程任务是开放式的和概念性的,新手学生在这些环境中学习时经常会遇到困难。人工智能驱动的编程导师在自动帮助有困难的学生方面有很大的希望,但需要几个组成部分来实现这一潜力。我们研究了学生建模的关键部分,特别是自动推断学生的错误概念以预测(综合)其行为的能力。我们引入了一个新的基准,StudentSyn,围绕以下挑战。

对于一个给定的学生,在观察了该学生在一个固定的参考任务上的尝试后,对该学生在一个新的目标任务上的尝试进行综合。这个挑战类似于程序合成;然而,不是合成一个{解决方案},而是合成一个{解决方案}。(即专家编写的程序),这里的目标是合成一个{学生的尝试}。(也就是说,一个特定的学生会写的程序)。我们首先表明,人类专家(TutorSS)可以在基准上取得很高的性能,而简单的基线表现不佳。然后,我们开发了两种神经/符号技术(NeurSS和SymSS),以寻求缩小与TutorSS的差距。

编程问题:

自动推断学生的错误概念以预测(综合)其行为的能力

A. Singla, Nikitas Theodoropoulos

2022, ArXiv...

2 Citations

有代码

14.多因素感知的双注意知识追踪

Multi-Factors Aware Dual-Attentional Knowledge Tracing

随着个性化学习要求的提高,知识追踪变得非常重要,它可以根据学生的历史实践来追踪学生的知识状态。因素分析方法主要使用与学生和问题分别相关的两种因素来模拟学生的知识状态。这些方法用学生的总尝试次数来模拟学生的学习进度,很难突出最近的相关实践的影响。此外,目前的因子分析方法忽略了问题中包含的丰富信息。在本文中,我们提出了多因素感知双注意力模型(MF-DAKT),它丰富了问题的表征,并利用多因素来模拟学生的学习进度,基于双注意力的机制。更具体地说,我们提出了一个新的与学生有关的因素,它记录了学生最近对相关概念的尝试,以突出最近练习的影响。为了丰富问题的表征,我们使用了一种预训练的方法来纳入两种问题信息,包括问题的关系和难度。我们还添加了一个关于问题难度的正则化项,以限制预训练的问题表征在预测学生成绩的过程中进行微调。此外,我们还应用了一种双注意机制来区分不同练习记录中的因素和因素的相互作用对最终预测的贡献。最后,我们在几个真实世界的数据集上进行了实验,结果表明MF-DAKT可以超越现有的知识追踪方法。我们还进行了几项研究,以验证MF-DAKT的每个组成部分的效果。

问题:

忽略了问题中包含的丰富信息

有代码

Moyu Zhang+ 4 authorsChangchuan Yin

2021, International Conference on Information and Knowledge Management...

10 Citations

15.基于NTM的技能感知的连带技能的知识追踪

NTM-Based Skill-Aware Knowledge Tracing for Conjunctive Skills

知识追踪(KT)是根据学生在智能辅导系统上的历史互动来模拟学生的知识状态的任务。现有的知识追踪模型忽略了一个问题的多个知识概念之间的关联性和在线辅导系统的特点。本文提出了一种基于神经图灵机的技能感知知识追踪(NSKT),它可以捕捉到一个问题的知识概念之间的相关性,从而更准确地模拟学生的知识状态,并有效地发现知识概念之间更多潜在的相关性。我们深入分析了三个真实世界KT数据集的特点。对真实世界数据集的实验表明,NSKT在预测的AUC上优于最先进的深度KT模型。本文探讨了NSKT在模拟学生知识状态时的预测过程细节,以及知识概念的相关性和练习之间的条件性影响。

论文:CIN9153697 1..16 (hindawi.com)

问题:

现有的模型忽略了一个问题的多个知识概念之间的关联性。本文提出方法捕捉一个问题的知识概念之间的相关性

无代码

Q. Huang+ 3 authorsJuntai Shi

2022, Computational Intelligence and Neuroscience...

2 Citations

16.不落下任何任务。知识追踪和选项追踪的多任务学习,更好地评价学生

No Task Left Behind: Multi-Task Learning of Knowledge Tracing and Option Tracing for Better Student Assessment

学生评估是人工智能教育(AIEd)领域中最基本的任务之一。最常见的学生评估方法之一是知识追踪(KT),它通过预测学生是否会正确回答某个问题来评估学生的知识状态。然而,在多选题(polytomous)的背景下,传统的KT方法是有限的,因为它们只考虑二元(dichotomous)的正确性标签(即正确或不正确),而忽略了学生选择的具体选项。同时,"选项追踪"(OT)试图通过预测学生对给定的问题会选择哪个选项来建立模型,但忽略了正确性信息。在本文中,我们提出了二分法-多任务学习(DP-MTL),这是一个多任务学习框架,它结合了KT和OT,以更精确地评估学生。特别是,我们表明,在DP-MTL框架中,KT目标作为OT的正则化项,并提出了一个适当的架构,在现有的基于深度学习的KT模型之上应用我们的方法。我们通过实验证实,DP-MTL极大地提高了KT和OT的性能,同时也有利于下游的任务,如分数预测(SP)。

问题:

本文考虑的是在多选型选择题的情况下,会选择一些正确的答案,不能判别全错。同样的编程知识追踪也不能判为全错,或许会有相通之处。

无代码

Suyeong An+ 2 authorsJuneyoung Park

2022, AAAI Conference on Artificial Intelligence...

3 Citations

17.利用协作信息改进知识追踪

Improving Knowledge Tracing with Collaborative Information

知识追踪,即通过预测学生正确回答问题的概率来估计他们的知识状态,是在线学习平台的一项基本任务。由于其对学习材料安排等下游任务的重要性,几十年来它获得了很多关注。以往基于深度学习的方法都是以明确的学生内部信息来追踪学生的知识状态,也就是说,他们只考虑个人的历史信息来进行预测。然而,他们忽略了学生间的信息,而学生间的信息包含有类似答题经验的其他学生的回答正确率,可能会提供一些有价值的线索。基于这种考虑,我们在本文中提出了一种叫做协作知识追踪(CoKT)的方法,它充分地利用了知识追踪中的学生间信息。它通过检索有类似答题经验的同学的序列来获得学生间的信息,并将学生间的信息与学生内的信息结合起来,追踪学生的知识状态,预测他们答题的正确性。我们在四个真实世界的数据集上验证了我们方法的有效性,并与11个基线进行比较。实验结果显示,CoKT取得了最好的性能。

问题:

没有考虑有类似答题经验的学生间的答题信息。初始判断成聚类

无代码

Ting Long+ 6 authorsYong Yu

2022, Web Search and Data Mining...

6 Citations

18.一个基于XGBoost的知识追踪模型

An XGBoost-Based Knowledge Tracing Model

S2 TL;DR: 与之前使用的深度学习的知识追踪模型相比,XGBoost算法对知识追踪模型节省了更多的训练时间,并通过加入问题和知识技能的特征,有效地处理了知识追踪模型中的多技能问题。

问题:

处理了问题包含多技能的现象

无代码

Wei Su+ 6 authorsJuntai Shi

2023, International Journal of Computational Intelligence Systems...

0 Citations

19.基于学习者档案的知识追踪

Learner Profile based Knowledge Tracing

近年来,知识追踪逐渐成为在线教育的核心技术,它可以评估学习者的知识状态并提供个性化的学习路径。现有的大部分知识追踪方法主要考虑学习者的交互顺序,但通常忽略了学习者之间的个体差异。例如,具有不同理解能力的学习者在面对新问题时,会有不同的表现,这表明个体差异会影响预测的准确性。此外,大多数学习者只学习了部分概念,这导致了数据的稀缺性。然而,现有的方法并不能很好地解决数据稀少的问题。在本文中,我们提出了一个基于学习者特征的知识追踪(LPKT)模型,该模型使用学习者的唯一ID和从历史交互序列中提取的特征作为学习者的表征,来模拟学习者之间的个体差异。此外,我们建立了概念之间的关系,并利用相关的概念来增强概念的表示,以解决数据稀少的问题。我们在几个基准数据集上进行了实验,结果表明,我们提出的LPKT模型优于现有的KT方法(最高AUC提高了8%)。

问题:

现有方法没有考虑学习者之间的个体差异。具有不同理解能力的学习者在面对新问题时,会有不同的表现,这表明个体差异会影响预测的准确性。【该模型使用学习者的唯一ID和从历史交互序列中提取的特征作为学习者的表征,来模拟学习者之间的个体差异。?】

数据稀少。大多数学习者只学习了部分概念,这导致了数据的稀缺性。【此外,我们建立了概念之间的关系,并利用相关的概念来增强概念的表示,以解决数据稀少的问题。】

论文:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9892574

Xinghai Zheng+ 6 authorsLiang He

2022, IEEE International Joint Conference on Neural Network...

0 Citations

无代码

20. PST:通过编程技能追踪来衡量编程练习过程中的技能熟练程度

PST: Measuring Skill Proficiency in Programming Exercise Process via Programming Skill Tracing

如今,编程已成为个人的一项重要技能。对于提高个人编程技能的需求,跟踪编程技能的熟练程度变得越来越重要。然而,很少有研究者关注测量学习者的编程技能。现有的关于学习者能力的研究大多只利用了练习结果,而编程练习过程中所包含的丰富的行为信息仍未被利用。因此,我们提出了一个测量编程练习过程中技能熟练程度的模型,名为编程技能追踪(PST)。我们设计了代码信息图(CIG)来表示学习者解决方案代码的特征,并设计了代码追踪图(CTG)来测量相邻的提交之间的变化。此外,我们将编程技能分为编程知识和编码能力,以获得更细化的评估。最后,我们进行了各种实验来验证我们的PST模型的有效性和可解释性。

无代码

编程问题:

很少有研究者关注测量学习者的编程技能,现有的关于学习者能力的研究大多只利用了练习结果,而编程练习过程中所包含的丰富的行为信息仍未被利用。代码相关

Ruixin Li+ 5 authorsEnhong Chen

2022, Annual International ACM SIGIR Conference on Research and Development in Information Retrieval...

0 Citations

21. CodeXGLUE:一个用于代码理解和生成的机器学习基准数据集

CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation

基准数据集对加速编程语言任务的研究有重大影响。在本文中,我们介绍了CodeXGLUE,一个用于促进程序理解和生成的机器学习研究的基准数据集。CodeXGLUE包括一个跨越14个数据集的10个任务集合和一个用于模型评估和比较的平台。CodeXGLUE还具有三个基线系统,包括BERT式、GPT式和编码器-解码器模型,以使研究人员能够轻松使用该平台。这种数据和基线的可用性可以帮助开发和验证新的方法,这些方法可以应用于各种程序理解和生成问题。2

编程问题:

有代码

Shuai Lu+ 20 authorsShujie Liu

2021, NeurIPS Datasets and Benchmarks...

268 Citations

22.通过探索问题难度效应来评估学生的动态知识状态

知识追踪(KT)旨在评估学生在练习各种问题时的动态知识状态,是在线学习系统中提供智能服务的基础研究任务。研究人员投入了大量精力来开发具有令人印象深刻的性能的KT模型。然而,在现有的知识转移方法中,直接影响学生学习知识状态的相关题题难度水平尚未得到有效探索和运用。本文重点探讨了问题难度对学习的影响,以提高学生的知识状态评估,并提出了DIfficulty匹配知识追踪(DIMKT)模型。具体来说,我们首先明确地将难度级别纳入问题表示中。然后,为了建立学生在练习过程中的知识状态与题难程度的关系,我们相应地设计了一个自适应顺序神经网络,分三个阶段:(1)在练习前测量学生对题难的主观感受;(2)在回答不同难度层次的问题时,评估学生的个性化知识获取;(3)经过练习,不同程度地更新学生的知识状态,以匹配题的难度水平。最后,我们在真实世界数据集上进行了广泛的实验,结果表明 DIMKT 优于最先进的 KT 模型。此外,DIMKT通过在预测时探索问题难度效应表现出优异的可解释性。我们的代码可在 https://github.com/shshen-closer/DIMKT 获得。

问题难度

ACM SIGIR

23 通过交互编程技能和学生代码来增强编程知识跟踪

朱梦霞韩思琪,+1 作者 卢雪松

已发布21三月2022

计算机科学

LAK22: 第12届国际学习分析与知识会议

Enhancing Programming Knowledge Tracing by Interacting Programming Skills and Student Code

近年来,由于几乎所有行业对编程能力的需求不断增加,编程教育受到了广泛的关注。教育机构广泛采用在线评委进行编程培训,通过测试用例执行学生的代码,可以帮助教师自动评估编程作业。然而,在线评委更重要的教学过程应该是评估学生如何掌握每个编程技能,如字符串或指针,以便教师可以提供个性化的反馈,并帮助他们更有效地取得成功。以前的研究采用了知识追踪的深度模型来评估学生在与编程练习互动期间的技能掌握水平。然而,现有的模型通常遵循知识追踪的传统假设,即每个编程练习只需要一种技能,而在实践中,编程练习通常检查多种技能的综合使用。此外,学生代码的特征通常只是与其他输入特征连接起来,而不考虑它与所检查的编程技能的关系。为了弥合差距,我们提出了一种简单的基于注意力的方法,从学生代码中学习反映每个编程练习所检查的多种编程技能的特征。特别是,我们首先使用程序嵌入方法来获取学生代码的表示。然后,我们使用每个编程练习的技能嵌入来查询学生代码的嵌入,并形成一个聚合的隐藏状态,表示如何在学生代码中使用检查的技能。我们将学习的隐藏状态与DKT(深度知识追踪)相结合,DKT(一种基于LSTM(长短期记忆)的知识追踪模型,并展示了对基线模型的改进。我们指出了一些改进当前工作的可能方向。

24. 自由形式的学生代码进展的深度知识追踪

Deep Knowledge Tracing for Free-Form Student Code Progression

知识追踪及其最近的深度学习变体在通过与课程作业的交互对学生知识获取进行建模方面取得了实质性进展。在本文中,我们提出了对深度知识追踪的修改,以模拟学生在大型计算机科学课程中编码作业的进展。该模型利用计算机科学教育环境,对学生对同一问题的迭代尝试进行编码,并允许自由格式的代码输入。我们实现了从Jupyter Notebooks收集数据的工作流程,并提出了实时干预的未来研究可能性。

25. 编程练习中的深度知识追踪

L. WangAngela SyLarry LiuC. Piech

计算机科学、教育

L@S

2017

TLDR

这项工作将嵌入式程序提交输入到递归神经网络中,并训练它预测学生在随后的编程练习中的成功,并可靠地预测未来的学生表现。在学生解决练习时对学生的知识状态进行建模是大规模提供更好的个性化学习体验的关键垫脚石。这项任务,也称为“知识追踪”,已经在学生提交的有限离散解决方案空间(例如多项选择答案)的练习中得到了广泛的探索。但是,我们相信,有关学生学习的丰富信息是在他们对具有无限解决方案空间的开放式问题的响应中捕获的,例如编程练习。此外,学生在解决单个练习时进度的顺序快照可以为她的学习行为提供有价值的见解。在这种情况下,为学生的知识状态创建表示是一项具有挑战性的任务,但随着机器学习的最新进展,有更有前途的技术可以学习复杂实体的表示。在我们的工作中,我们将嵌入式程序提交输入到递归神经网络中,并训练它预测学生在随后的编程练习中的成功。通过对这项任务进行训练,该模型可以学习学生知识的细微表示,并可靠地预测未来的学生表现。

26 .通过可区分的交互式序列实现个性化的深度知识追踪 - 有代码的论文

在教育应用中,知识追踪(KT),即通过总结学生的知识状态来准确预测他们对未来问题的回答,已经被广泛研究了几十年,因为它被认为是适应性在线学习的基本任务。在所有提出的KT方法中,由于神经网络的高度灵活性,深度知识追踪(DKT)及其变体是迄今为止最有效的方法。然而,DKT往往忽略了学生之间的内在差异(如记忆能力、推理能力......),将所有学生的表现平均化,导致缺乏个性化,因此被认为不足以用于自适应学习。为了缓解这个问题,在本文中,我们提出了Leveled Attentive KNowledge TrAcing(LANA),它首先使用一个新颖的学生相关特征提取器(SRFE),从学生各自的互动序列中提炼出他们独特的内在属性。其次,利用枢轴模块动态地重构神经网络的解码器,关注提取的特征,成功地区分了不同时间段的学生表现。此外,受项目反应理论(IRT)的启发,可解释的Rasch模型被用来按学生的能力水平进行分组,从而利用分级学习为不同的学生组分配不同的编码器。通过枢轴模块为个别学生重建解码器,并为小组分配水平化学习的专门编码器,实现了个性化的DKT。在两个真实世界的大规模数据集上进行的广泛实验表明,我们提出的LANA将AUC得分提高了至少1.00%(即EdNet ↑ 1.46%和RAIEd2020 ↑ 1.00%),大大超过了其他的State-Of-The-Art KT方法。图1:一个知识追踪(KT)过程的样本。鉴于每个学生过去的练习活动,KT的目的是准确预测每个学生是否有能力正确回答下一个问题的概率。

代码:LANA: Towards Personalized Deep Knowledge Tracing Through Distinguishable Interactive Sequences | Papers With Code

27. 利用协作信息

Improving Knowledge Tracing with Collaborative Information

知识追踪,即通过预测学生正确回答问题的概率来估计他们的知识状态,是在线学习平台的一项基本任务。由于其对学习材料安排等下游任务的重要性,几十年来它获得了很多关注。以往基于深度学习的方法都是以明确的学生内部信息来追踪学生的知识状态,也就是说,他们只考虑个人的历史信息来进行预测。然而,他们忽略了学生间的信息,而学生间的信息包含有类似答题经验的其他学生的回答正确率,可能会提供一些有价值的线索。基于这种考虑,我们在本文中提出了一种叫做协作知识追踪(CoKT)的方法,它充分地利用了知识追踪中的学生间信息。它通过检索有类似答题经验的同学的序列来获得学生间的信息,并将学生间的信息与学生内的信息结合起来,追踪学生的知识状态,预测他们答题的正确性。我们在四个真实世界的数据集上验证了我们方法的有效性,并与11个基线进行比较。实验结果显示,CoKT取得了最好的性能。

https://github.com/githubg0/CoKT

28 IEKT

通过个体认知和习得估计追踪知识状态

知识追踪通过预测学生在回答问题时的表现来动态估计学生的学习状态,是在线教育中的一项基本任务。知识追踪的一个典型解决方案是基于递归神经网络(RNN),它用RNN的隐藏状态来表示学生的知识状态。这种类型的方法通常假设学生对同一问题具有相同的认知水平和知识获取敏感性。因此,他们(i)通过参考学生的知识状态和问题表征来预测学生的回答,以及(ii)根据问题表征和学生的回答更新知识状态。在上述两个过程中,不考虑明确的认知水平知识获取敏感性。然而,在现实世界的场景中,学生对一个问题有不同的理解,并且在完成同一个问题后获得了不同的知识。在本文中,我们提出了一种名为个体估计知识追踪(IEKT)的新模型,该模型在回答预测之前估计学生对问题的认知,并在更新知识状态之前评估他们对问题的知识获取敏感性。在实验中,我们将IEKT与四个基准数据集上的11个知识追踪基线进行了比较,结果表明IEKT实现了最先进的性能。

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 软件工程实践过程针对具体问题,开发或选用满足特定需求的现代工具,运用所学知识对其进行模拟和预测,可以分析其局限性并优化。下面是一些可能适用的具体步骤: 1. 确定具体的问题或需求:在软件开发,需要明确具体的问题或需求,包括用户需要解决什么问题,哪些功能需要实现等。 2. 确定合适的工具:根据问题或需求,选择合适的工具进行开发或使用。例如,选择特定的编程语言、框架、开发工具、版本控制系统等。 3. 学习并掌握相关知识:在使用特定工具之前,需要学习和掌握相关知识。例如,学习编程语言、了解常用算法和数据结构、学习使用开发工具等。 4. 进行模拟和预测:使用所学知识对工具进行模拟和预测。例如,模拟不同算法的运行时间、使用预测模型预测软件的性能等。 5. 分析局限性并进行优化:在模拟和预测的过程,发现工具的局限性或不足之处,需要进行优化。例如,通过改进算法、优化代码实现等方式,提高软件的性能和可靠性。 以上是软件工程实践过程可能适用的具体步骤,但实践需要针对具体问题和需求灵活应用。 ### 回答2: 在软件工程实训,我们通常会面临具体问题,为了满足特定的需求,我们需要选择或开发现代工具来解决这些问题。这些工具可以是软件框架、开发工具、测试工具等。 首先,我们可以根据问题的需求选择合适的软件框架。比如,在开发一个网站时,我们可以选择使用开源的Web框架,如Django、Spring等,来快速搭建网站的基础架构。这样我们可以节省时间和精力,并且可以利用框架提供的功能和扩展来满足我们的需求。 其次,我们可以利用所学知识对具体问题进行模拟和预测。例如,在软件开发,我们可以使用UML图来建模和预测软件系统的结构和行为。通过绘制类图、时序图等,我们可以更好地理解软件系统的设计和功能,并做出相应的调整和改进。 然而,我们也必须认识到这些现代工具和模拟方法的局限性。例如,某些现代工具可能只适用于特定类型的问题,而无法满足其他类型的需求。此外,尽管我们通过模拟和预测可以预先发现问题,但实际问题往往非常复杂,仅凭模拟和预测很难完全准确地反映实际情况。 为了进一步分析其局限性,我们需要持续学习和了解最新的工具和技术。我们可以参与相关的学术研究和技术交流,了解行业趋势和最佳实践。此外,我们还可以通过实践和反思,不断总结和提升我们的经验和技能,以更好地面对和应对具体问题。 总而言之,在软件工程实训,我们可以选择或开发现代工具来满足特定需求,并运用所学知识对问题进行模拟和预测。然而,我们也需要认识到这些工具和方法的局限性,并且不断学习和进步,以适应不断变化的软件开发环境。 ### 回答3: 在软件工程实训过程,我们经常会面临具体问题,需要选择或开发与特定需求相适应的现代工具来解决这些问题。这些工具可以涉及项目管理、版本控制、测试、代码开发等方面。 首先,对于项目管理,我们可以选择使用项目管理工具,如Trello、JIRA等。这些工具可以帮助我们对项目进行规划、追踪进度、分配任务,并能够与团队成员进行协作和沟通。 其次,对于版本控制,我们可以选择使用Git来管理代码的版本。Git具有分布式的特点,可以方便地进行代码的版本控制、团队协作和代码的回滚等操作。 对于测试,我们可以使用自动化测试工具,如Selenium、JUnit等。这些工具可以帮助我们编写自动化测试用例,提高测试效率和覆盖率,减少人工测试的工作量。 在代码开发方面,我们可以选择使用现代化的集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。这些IDE提供了丰富的功能,例如代码自动补全、调试功能、代码重构等,能够提高开发效率和代码质量。 在使用这些工具进行模拟和预测时,我们可以根据所学知识,结合特定需求和问题的背景进行分析和选择合适的工具。通过模拟和预测,我们可以评估系统的性能、可靠性和资源利用率等方面,并做出相关的优化和改进。 然而,这些现代工具也存在一定的局限性。例如,项目管理工具的使用需要团队成员的主动参与和沟通,否则可能导致计划不准确、进度拖延等问题。自动化测试工具可能需要花费一定的时间和资源来编写和维护测试用例,而且无法完全取代人工测试的经验和洞察力。集成开发环境可能会对机器性能有一定的要求,不适合于某些低配置的设备。 综上所述,软件工程实训过程,我们可以根据具体问题和特定需求选择合适的现代工具,并运用所学知识对其进行模拟和预测。然而,我们也需要认识到这些工具的局限性,并灵活运用其优势和不足来解决问题和提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值