基于集成算法的知识追踪智能导学系统的设计与实现
作者: 张凯 秦心怡 覃正楚 刘月
摘要:为了更准确地判断学生的知识掌握状态,设计开发了一个基于集成算法的知识追踪智能导学系统。该系统从学生的学习行为数据出发,提出了一种新的基于集成算法的知识追踪模型,将当前主流的知识追踪模型的结果进行集成,达到更加准确地判断学生知识掌握状态的目的。实验表明,该系统可以较为准确地判断学生的知识掌握状态,预测学生未来的学习表现,便于教师了解学生的知识掌握状态,从而进行有针对性地教学;也便于学生了解自身的知识掌握状态,从而进行自适应性学习。
关键词: 知识追踪; 智能导学系统; 集成算法; 教学; 设计
中图分类号:TP302 文献标识码:A
文章编号:1009-3044(2023)13-0010-05
开放科学(资源服务)标识码(OSID) :
0 引言
知识追踪以学生的答题时间、答题次数等学习行为数据为输入,建模学生的知识掌握状态,输出对学生未来学习表现的预测。目前,知识追踪模型已广泛应用于各智能导学系统中,并取得了较好的效果。
1 知识追踪
1.1 知识追踪介绍
知识追踪根据学生的历史答题记录来表征不同时刻学生对于知识的掌握状态,预测学生未来的学习表现,其典型的应用场景如图1所示。
在学生答题的过程中,系统持续记录学生的学习行为数据,包括题目、题目中包含的知识概念(例如,等式、不等式、平面向量和概率)、学生的答案(正确或错误的回答)、答题时间等。图中假设学生对四个知识概念的初始掌握程度为0.2、0.2、0.2和0.2。每一次完成答题,知识追踪模型都会根据上述数据计算一次学生当前的知识掌握状态。最后一次完成答题后,计算出学生的知识掌握程度达到了0.8、0.6、0.8和0.8,说明学生经过学习之后,其知识掌握状态得到了提升。
1.2 知识追踪模型
知识追踪模型是构建本智能导学系统的核心和关键。知识追踪最早于1972年由Atkinson首次提出[1],1995年Corbett和Anderson将知识追踪引入智能教学领域[2],提出贝叶斯知识追踪(Bayesian Knowledge Tracing,BKT) 。如今,知识追踪已被应用到越来越多的智能导学系统中,如edX,VIPKID,学堂在线。
本系统选取了五个主流的知识追踪模型动态追踪学生的知识掌握状态。其中,BKT[2]模型和TLS-BKT[4]模型是概率模型,DKT[5]模型、DKVMN[6]模型和HMN[7]模型是深度模型。TLS-BKT模型和HMN模型是本组前期的科研成果。进一步地,本系统还提出了一个集成模型EnKT,获取更加符合实际的学生知识掌握状态。
BKT模型的输入是当前时刻学生对给定知识点的题目的正确或错误的回答,使用[P(L0)]、[P(T)]、[P(S)]和[P(G)] 等参数计算并输出当前时刻“已学会”给定知识点的概率[P(Lt)]。BKT模型如图2所示。
其中,[K∈{0,1}]表示知识点,0表示“未学会”,1表示“已学会”。[Q∈{0,1}]表示问题的回答状态,0表示回答错误,1表示回答正确。[P(L0)]表示学生在初始状态下掌握知识点的概率,[P(T)]表示学生由“未学会”状态到“已学会”状态的转移概率,[P(S)]表示学生“已学会”某个知识点后失误的概率,[P(G)]表示学生“未学会”某个知识点而猜对的概率。
TLS-BKT模型在BKT模型的基础上添加了“正在学习”状态。TLS-BKT模型的输入是当前时刻学生对给定知识点的题目的正确或错误的回答,使用[P(uu)]、[P(ue)]、[P(ee)]、[P(el)]等参数计算并输出当前时刻“已学会”给定知识点的概率[P(Lt)]。TLS-BKT模型如图3所示。
其中,[c]和[i]标记的圆角矩形分别表示回答正确和回答错误,[u]、[e]和[l]标记的圆形分别表示知识点的“未学会”状态、“正在学习”状态和“已学会”状态。[P(uu)]表示从“未学会”状态到其本身的转移概率,[P(ue)]表示从“未学会”状态到“正在学习”状态的转移概率。[P(ee)]表示从“正在学习”状态到其本身的转移概率,[P(el)]表示从“正在学习”状态到“已学会”状态的转移概率。[P(ll)]表示从“已学会”状态到其本身的转移概率。[P(uc)]和[P(ui)]分别表示从“未学会”状态到回答正确或回答错误的发射概率。[P(ec)]和[P(ei)]分别表示从“正在学习”状态到回答正确或回答错误的发射概率。[P(lc)]和[P(li)]表示从“已学会”状态到回答正确或回答错误的发射概率。
DKT模型分为输入层,隐藏层和输出层。学生在[t]时刻回答的题目及得到的结果[xt]作为输入,[xt]和上一时刻隐藏层单元[ht-1]共同影响着当前时刻隐藏层单元[ht]的更新,[t]时刻学生答对各个题目的概率[yt]作为输出。最后使用[t]时刻的[t]预测[t+1]时刻学生的知识掌握状态。DKT模型如图4所示。
DKVMN模型用一个静态键矩阵[Mk]存储知识点,一个动态值矩阵[Mvt]存储和更新学生对知识点的掌握状态。题目[qt]作为输入,与嵌入矩阵[A]相乘得到嵌入向量[kt],[kt]与[Mk]通过softmax激活函数得到题目与知识点之间的相关权重[Wt],根据学生的答题情况[(qt,rt)]更新[Mvt]中相关知识点的掌握状态。DKVMN模型如图5所示。
HMN模型在DKVMN模型的基础上,将记忆矩阵分为工作记忆和长期记忆。HMN模型如图6所示。
控制器处理输入并产生输出,编码技能向量[et]和强化答案[ct]组成输入[xt][xt],通过LSTM处理后产生两个输出,输出(1) 通过多层感知器(MLP) 转移到知识状态向量[KSt]中,[KSt]与 [et+1]点积,得到学生正确回答下一个练习的概率[ct+1],输出(2) 用于更新外部存储器矩阵。
2 知识追踪智能导学系统的设计与开发
2.1 系统总体设计
本智能导学系统包括学生端和教师端。学生端面向学生,教师端面向教师和教育管理者。知识追踪智能导学系统的总体架构如图7所示。
2.2 系统的主要功能
2.2.1 学生端
学生端包括学习分析模块、自学模块、互动学习模块、学习奖励兑换模块和学习情境设置模块。总体设计如图8所示。
学习分析模块完成对学生的知识掌握状态分析功能。知识掌握状态分析的流程是:首先,由教师端收集学生的学习行为和答题记录等数据。然后将这些数据输入到集成模型EnKT中,得到的学生知识掌握状态由百分比来表示。最后,将学生的知识掌握状态与学习行为数据简要显示于学生端的个人中心界面。此类数据涉及隐私问题,只能由学生本人或学生加入班级的教师可以查看。学习分析模块的个人中心界面如图9所示。
自学模块包括学习资源自学功能和答题功能。学习资源包括视频学习资源和文本学习资源。学习资源自学功能中,学生在观看学习资源时为方便下次观看,可对不擅长的知识点片段进行标记。平台会动态记录观看次数、学习时长和标记的个数等学习行为数据。自学模块中的学习资源如图10所示。
答题功能中,可选择是否给予提示,若给予提示则答题结果将被标记。答对可获得积分并继续答题,答错无积分且有一次重试的机会,可选择重新答题或返回学习资源学习。若再次答错,会跳转到学习资源界面。系统会动态记录提示的次数、答错的次数等学习行为数据。
互动学习模块包括PK答题功能和交流功能。PK答题时双方在相同的限制时间内答题,答对获得积分,答错则退出,若有复活卡可使用复活卡继续答题。PK答题过程中学生答错的次数、答题时间等答题信息会被平台记录在学习行为数据内。
交流功能中若系统检测出某学生三次还未正确作答某题,则会向其推荐经常正确回答该题的学生,添加后即可交流学习经验或组队答题获得积分。互动学习模块中的交流功能如图11所示。
学习奖励兑换模块包括高级虚拟场景兑换功能和复活卡兑换功能,学生使用积分即可兑换。学习情境设置模块包括虚拟场景搭建功能。
2.2.2 教师端
教师端包括知识追踪模型管理模块、学习行为数据管理模块、教学资源管理模块和系统管理模块,总体设计如图12所示。
知识追踪模型管理模块包括模型替换功能和模型集成功能。系统选取了五个基准模型分析学生的知识掌握状态:BKT模型、TLS-BKT模型、DKT模型、DKVMN模型和HMN模型。模型替换功能可添加其他知识追踪模型,也可删除已加入的知识追踪模型。
模型集成功能中,管理员可先调整五个基准模型的超参数,包括学习率、丢弃率、卷积核尺寸等,在设置时会标明建议范围。调整完成之后,将五个基准模型得到的训练结果通过Boosting集成算法分配不同的权重,得到集成模型EnKT,以获取更符合实际的学生知识掌握状态。知识追踪模型管理模块如图13所示。
学习行为数据管理模块包括学习记录管理功能和答题记录管理功能。学习记录管理包括题目ID、学生ID、观看学习资源次数、标记的个数等记录的管理。此类数据并不直接对应学生本人的真实信息,不涉及隐私问题。答题记录管理功能包括学生的答题时间、答题时使用的提示次数、答错的次数等记录的管理。学习行为数据管理模块如图14所示。
教学资源管理模块包括学习资源管理功能和题目资源管理功能。管理员可添加、删除和修改学习资源及题目。随着新的知识点和题型不断涌现,管理员需要动态更新学习资源和试题库。由于系统仍处于试运行阶段,暂时加入了人工智能基础等课程,后续随着系统的开发会加入其他课程。教学资源管理模块如图15所示。
系统管理模块包括登录信息管理功能和账号权限管理功能。登录信息管理包括对登录账号、密码等信息的添加、修改和删除。账号权限管理包括教师权限和学生权限的管理。其中,教师权限可以查看班级学生的学习情况和知识掌握状态,方便后续制定教学计划。
2.3 系统关键技术及其实现
本智能导学系统的关键技术是,使用Boosting集成算法将五个基准模型所得的数据分配不同的权重后得到集成模型EnKT,获得新的知识掌握状态。
2.3.1 EnKT模型
EnKT模型使用Boosting算法集成五个基准知识追踪模型。具体是将五个基准模型得到的学生知识掌握状态的数据作为五个训练样本输入,初始时每个训练样本的概率均相同,经过多次迭代,每次迭代之后,对分类错误的样本重采样(即增加权重),在下一次迭代时会对这些样本投入更多的注意力,以此通过不断地使用一个弱模型补充前一个弱模型的缺陷来串行地构造一个较强的模型,使每个样本根据自身的准确性来确定各自的权重之后再融合。EnKT算法流程如图16所示。
3 系统的实现与验证
3.1 实验
本智能导学系统的开发采用BS架构,学生端部分在Visual Studio Code上用JavaScript语言开发,教师端部分由Eclipse开发,模型的训练使用PyTorch框架,数据的存储使用MySQL数据库。为了对系统模型性能进行对比验证,采用了三个数据集进行对比分析,这三个数据集分别是:Asistments2009(Asist09) ,Asistments2015(Asist15) 和Statics2011(Static11) 。
3.2 评价指标
AUC(Area Under ROC Curve)是知识追踪模型常用的评价指标,表示为ROC曲线下的面积,知识追踪领域通常使用AUC在不同数据集上的表现来判断模型的效果,实验部分采用了五个基准模型在三个数据集上的AUC与EnKT模型在三个数据集上的AUC进行对比,实验结果如表1所示。