一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多认知因素的学生技能评估方法及系统与流程

2022-03-09 01:51:06 来源:中国专利 TAG:


1.本发明属于教育数据挖掘领域,更具体地,涉及一种基于多认知因素的学生技能评估方法及系统。


背景技术:

2.基于认知因素的技能评估技术在教育领域有着极其重要的应用,在心理测量学理论的基础上,基于认知因素的技能评估技术可以有效对学生的技能掌握情况和潜在能力进行评估,以帮助他们了解当前自身学习情况并及时做出补救或干预措施。
3.在当前众多基于认知因素的技能评估方法中,一方面,大多数技能评估方法利用学生在提前设计好的试卷上的答题结果数据,即作答得分数据作为数据源,辅以试题技能映射矩阵,探究学生的潜在能力或技能掌握情况,但是往往忽略了学生作答试题的过程性数据,如学生作答各道试题的答题时间等,这可能是由于在传统笔试考试中,答题时间数据难以收集的原因导致。另一方面,大多数技能评估方法仅仅考虑了单个认知因素(如能力或技能掌握)对学生作答得分的影响,忽略了多种认知因素如技能掌握因素、潜在能力因素和速度因素对学生作答得分的共同影响。
4.现有的基于认知因素的技能评估方法大都是通过学习假设来构建学生与试题之间的交互函数,并基于一些真实场景进行简化,但是仍然难以捕捉学生与试题之间真实而又复杂的非线性交互关系,面对稀疏数据时也显得力不从心。
5.近年来,深度学习以其极强的拟合能力在众多研究领域展现出了令人惊叹的效果,同时也为技能评估方法的构建提供了新的思路,如有研究者在irt模型的基础上,通过神经网络利用试题文本信息提出了dirt模型;fei wang等人提出智能教育系统中的神经认知评估,从数据中学习交互函数,在一些数据集上展现出了较好的效果。
6.但是目前基于深度学习并融合答题时间的技能评估方法鲜有学者涉足,答题时间与试题和学生之间的关系更加密切和复杂,使用深度学习技术更能有效的挖掘它们之间的关系,提高技能评估方法的有效性和适用性。
7.因此,探索一种基于深度学习的融合学生多个认知因素的技能评估方法,运用时下热门的深度学习技术对学生的答题时间和得分数据进行综合分析和深入挖掘,对学生技能掌握进行精准评估,具有重要的研究意义和应用价值。
8.为了便于理解本发明,以下对有关术语和相关概念进行解释:
9.试题技能映射矩阵g:试题集考察的全部技能组成技能集,试题集与技能集之间的映射矩阵为试题技能映射矩阵g,矩阵中的每一行代表一个试题对全部技能的考察情况;若一个试题对应一个技能的值为1,则表示该试题考察了该技能;若值为0,则表示该试题没有考察该技能;
[0010]10.表示矩阵维度,表示该矩阵的维度为x行y列;
[0011]

:点乘;
[0012]
concαt函数:拼接函数,作用是将输入的多个向量进行拼接;
[0013]
softmax函数:归一化函数,作用是将输入的向量缩放到[0,1]的区间内;
[0014]
flatten函数:平铺函数,作用是将输入的矩阵按行展开并拼接得到一个一维向量;
[0015]
技能掌握因素:代表学生对各个技能的掌握程度或熟练度;技能掌握因素的值越小,学生正确作答试题的概率越低;
[0016]
潜在能力因素:代表学生的综合能力值;潜在能力因素的值越大,学生正确作答试题的概率越高;
[0017]
速度因素:代表学生作答试题快慢程度;速度因素的值越大,学生在同样的时间内完成的答题更多;
[0018]
多头自注意力:注意力机制是模拟人脑实现对重要信息给予更多的关注,注意力机制可以快速提取稀疏数据的重要特征,因而被广泛用于自然语言处理任务,特别是机器翻译。而自注意力机制是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。一般而言,默认的自注意力机制是单头自注意力,而相较于单头自注意力,多头自注意力通过同时利用多个单头自注意力,可以实现从不同的维度捕捉特征,从而更有效的挖掘数据中隐藏的信息;
[0019]
三层全连接神经网络:深度学习里的常用技术,它是指将三个全连接网络层依次首尾连接起来,依靠系统的复杂程度,通过调整内部大量神经元之间相互连接的关系,从而实现极强的拟合能力;
[0020]
可训练嵌入矩阵:深度学习里常用的定义认知属性的矩阵,包括:潜在能力矩阵a、技能掌握矩阵s、速度矩阵v、难度矩阵d和工作量矩阵w;使用三层全连接神经网络进行模型训练时需要使用可训练嵌入矩阵构建输入向量,可训练嵌入矩阵在使用前被随机初始化;模型训练的过程中需要不断更新可训练嵌入矩阵的内容,模型生成之后,可训练嵌入矩阵作为模型参数的一部分,其内容被认为已达到理想标准;
[0021]
权重矩阵:深度学习里常用的定义权重的矩阵,包括:查询权重矩阵、键权重矩阵、值权重矩阵、输出权重矩阵;
[0022]
残差机制:深度学习中常用的特征学习方法;其特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。利用残差机制一方面可以抵消来自多头自注意力的噪声,另一方面也有助于更加充分的挖掘信息。


技术实现要素:

[0023]
针对现有技术的缺陷,本发明的目的在于提供一种基于多认知因素的学生技能评估方法及系统,旨在解决使用基于深度学习并融合答题时间和多个认知因素的技能评估方法对学生技能掌握情况进行精准评估和评估的问题。
[0024]
为实现上述目的,本发明提供了一种基于多认知因素的学生技能评估方法,包括以下步骤:
[0025]
(1)初始化步骤:
[0026]
按设定的比例将学生答题记录集合logs划分为训练集和测试集;其中,logs={si,pj,r
ij
,t
ij
∣1≤i≤n,1≤j≤m};si为学生,i为学生的个数,n为学生的总数;pj为试题,试
题pj的试题类型为客观题;m为试题总数,j为试题的个数;学生si回答试题pj的得分为r
ij
,答题时间为t
ij

[0027]
根据全部试题及其考察的技能,建立试题技能映射矩阵;
[0028]
随机初始化可训练嵌入矩阵的内容;随机初始化权重矩阵的内容;随机初始化三层全连接神经网络中的全部参数;
[0029]
设定模型训练的批输入量和重复次数;对所述训练集中的所有答题记录进行随机分组操作形成多个分组,每个分组的答题记录数量为所述批输入量;
[0030]
(2)认知因素获得步骤:
[0031]
从所述多个分组中抽取一个未参加模型训练的分组,组成批训练数据集;通过所述试题技能映射矩阵、所述可训练嵌入矩阵和所述批训练数据集,计算得到学生的三种认知因素,分别为:技能掌握因素、潜在能力因素和速度因素;
[0032]
(3)认知注意力获得步骤:
[0033]
对所述批训练数据集,根据多头自注意力机制,通过所述权重矩阵和所述三种认知因素,计算得到认知注意力向量;
[0034]
(4)输入向量生成步骤:
[0035]
对所述批训练数据集,根据残差机制,通过所述认知注意力向量和所述三种认知因素,计算得到输入向量;
[0036]
(5)模型更新步骤:
[0037]
将所述输入向量输入三层全连接神经网络,得到预测得分;根据所述得分r
ij
和预测得分,计算交叉熵损失并更新以下数据;三层全连接神经网络中的全部参数、所述权重矩阵的内容、所述可训练嵌入矩阵的内容;
[0038]
(6)模型训练步骤:
[0039]
使用步骤5中更新后的数据重复执行步骤2至步骤5,直到所有的分组都经过模型训练;
[0040]
(7)模型测试步骤:
[0041]
按所述重复次数,重复执行步骤2至步骤6,每次执行结束之后生成一个预测模型,其参数包括所述可训练嵌入矩阵;
[0042]
将所述测试集依次输入所有的预测模型,根据预测精度acc、曲线下面积auc、均方误差rmse、绝对误差mae四项评价指标,从所有的预测模型中确定一个模型为最终的学生技能评估模型;
[0043]
(8)技能评估步骤:
[0044]
从所述学生技能评估模型中提取出所述可训练嵌入矩阵中的技能掌握矩阵。
[0045]
优选地,所述认知因素获得步骤包括以下子步骤:
[0046]
(1)向量计算子步骤:
[0047]
对所述批训练数据集,计算学生的技能掌握程度属性潜在能力属性和速度属性
[0048]
[0049]
其中,是si的二进制向量表示;
[0050]
s,a,v分别为所述可训练嵌入矩阵中的技能掌握矩阵、潜在能力矩阵、速度矩阵;对所述批训练数据集,计算试题的难度属性工作量属性和技能向量属性gj,其中,技能向量属性gj为所述试题技能映射矩阵中试题pj所在的一行:
[0051][0052]
其中,是pj的二进制向量表示;
[0053]
g为所述试题技能映射矩阵,l为所述技能集中的元素总数;
[0054]
d,w分别为所述可训练嵌入矩阵中的难度矩阵、工作量矩阵;
[0055]
(2)认知因素计算子步骤:
[0056]
对所述批训练数据集,计算学生的三种认知因素:
[0057][0058]
其中,α
ij
、θ
ij
和τ
ij
分别为技能掌握因素、潜在能力因素和速度因素。
[0059]
优选地,所述认知注意力获得步骤包括以下子步骤:
[0060]
(1)初始特征矩阵计算子步骤:
[0061]
对所述批训练数据集,对所述三种认知因素进行拼接得到初始特征矩阵c
ij

[0062]cij
=concat(α
ij

ij

ij
);
[0063]
其中,concat为拼接函数;
[0064]
(2)注意力结果矩阵计算子步骤:
[0065]
根据设定的多头自注意力的自注意力头数量h,计算查询矩阵q
ij,h
,键矩阵k
ij,h
和值矩阵v
ij,h

[0066]qij,h
=c
ij
×wq,h
,k
ij,h
=c
ij
×wk,h
,v
ij,h
=c
ij
×wv,h
[0067]
其中,h为多头自注意力中的单头,1≤h≤h;
[0068]wq,h
、w
k,h
、w
v,h
分别为所述权重矩阵中的查询权重矩阵、键权重矩阵、值权重矩阵;
[0069][0070]dk
、dv分别为键矩阵k
ij,h
的维度和值矩阵v
ij,h
的维度;
[0071]
根据所述查询矩阵q
ij,h
,键矩阵k
ij,h
和值矩阵v
ij,h
,计算注意力结果矩阵att
ij,h

[0072][0073]
其中,t表示转置;softmax为归一化函数;
[0074]
(3)认知注意力矩阵计算子步骤:
[0075]
根据所述注意力结果矩阵att
ij,h
和所述权重矩阵中的输出权重矩阵wo,计算得到认知注意力矩阵att
ij

[0076][0077]
其中,do为多头自注意力输出维度,且do=l;
[0078]
(4)认知注意力向量计算子步骤:
[0079]
根据所述认知注意力矩阵att
ij
,计算得到认知注意力向量att_out
ij

[0080]
att_out
ij
=flatten(att
ij
)
[0081]
其中,flatten为平铺函数。
[0082]
优选地,所述输入向量生成步骤的具体过程为:
[0083]
对所述批训练数据集,通过残差机制将所述三种认知因素直接拼接得到认知残差向量;
[0084]
将所述认知注意力向量att_out
ij
和所述认知残差向量进行拼接,得到输入向量。
[0085]
本发明提供了一种基于多认知因素的学生技能评估系统,其特征在于,包括以下八个模块:
[0086]
初始化模块:
[0087]
用于按设定的比例将学生答题记录集合logs划分为训练集和测试集;其中,logs={si,pj,r
ij
,t
ij
∣1≤i≤n,1≤j≤m};si为学生,i为学生的个数,n为学生的总数;pj为试题,试题pj的试题类型为客观题;m为试题总数,j为试题的个数;学生si回答试题pj的得分为r
ij
,答题时间为t
ij

[0088]
根据全部试题及其考察的技能,建立试题技能映射矩阵;
[0089]
随机初始化可训练嵌入矩阵的内容;随机初始化权重矩阵的内容;随机初始化三层全连接神经网络中的全部参数;
[0090]
设定模型训练的批输入量和重复次数;对所述训练集中的所有答题记录进行随机分组操作形成多个分组,每个分组的答题记录数量为所述批输入量;
[0091]
认知因素获得模块:
[0092]
用于从所述多个分组中抽取一个未参加模型训练的分组,组成批训练数据集;通过所述试题技能映射矩阵、所述可训练嵌入矩阵和所述批训练数据集,计算得到学生的三种认知因素,分别为:技能掌握因素、潜在能力因素和速度因素;
[0093]
认知注意力获得模块:
[0094]
用于对所述批训练数据集,根据多头自注意力机制,通过所述权重矩阵和所述三种认知因素,计算得到认知注意力向量;
[0095]
输入向量生成模块:
[0096]
用于对所述批训练数据集,根据残差机制,通过所述认知注意力向量和所述三种认知因素,计算得到输入向量;
[0097]
模型更新模块:
[0098]
用于将所述输入向量输入三层全连接神经网络,得到预测得分;根据所述得分r
ij
和预测得分,计算交叉熵损失并更新以下数据;三层全连接神经网络中的全部参数、所述权重矩阵的内容、所述可训练嵌入矩阵的内容;
[0099]
模型训练模块:
[0100]
用于使用模型更新模块中更新后的数据,重复依次执行认知因素获得模块、认知注意力获得模块、输入向量生成模块和模型更新模块中的操作,直到所有的分组都经过模型训练;
[0101]
模型测试模块:
[0102]
用于按所述重复次数,重复依次执行认知因素获得模块、认知注意力获得模块、输入向量生成模块、模型更新模块和模型训练模块中的操作,每次执行结束之后生成一个预测模型,其参数包括所述可训练嵌入矩阵;
[0103]
将所述测试集依次输入所有的预测模型,根据预测精度acc、曲线下面积auc、均方误差rmse、绝对误差mae四项评价指标,从所有的预测模型中确定一个模型为最终的学生技能评估模型;
[0104]
技能评估模块:
[0105]
用于从所述学生技能评估模型中提取出所述可训练嵌入矩阵中的技能掌握矩阵。
[0106]
优选地,所述认知因素获得模块包括以下两个子模块:
[0107]
向量计算子模块:
[0108]
用于对所述批训练数据集,计算学生的技能掌握程度属性潜在能力属性和速度属性
[0109][0110]
其中,是si的二进制向量表示;
[0111]
s,a,v分别为所述可训练嵌入矩阵中的技能掌握矩阵、潜在能力矩阵、速度矩阵;对所述批训练数据集,计算试题的难度属性工作量属性和技能向量属性gj,其中,技能向量属性gj为所述试题技能映射矩阵中试题pj所在的一行:
[0112][0113]
其中,是pj的二进制向量表示;
[0114]
g为所述试题技能映射矩阵,l为所述技能集中的元素总数;
[0115]
d,w分别为所述可训练嵌入矩阵中的难度矩阵、工作量矩阵;
[0116]
认知因素计算子模块:
[0117]
用于对所述批训练数据集,计算学生的三种认知因素:
[0118][0119]
其中,α
ij
、θ
ij
和τ
ij
分别为技能掌握因素、潜在能力因素和速度因素。
[0120]
优选地,所述认知注意力获得模块包括四个子模块:
[0121]
初始特征矩阵计算子模块:
[0122]
用于对所述批训练数据集,对所述三种认知因素进行拼接得到初始特征矩阵c
ij

[0123]cij
=concat(α
ij

ij

ij
);
[0124]
其中,concat为拼接函数;
[0125]
注意力结果矩阵计算子模块:
[0126]
用于根据设定的多头自注意力的自注意力头数量h,计算查询矩阵q
ij,h
,键矩阵k
ij,h
和值矩阵v
ij,h

[0127]qij,h
=c
ij
×wq,h
,k
ij,h
=c
ij
×wk,h
,v
ij,h
=c
ij
×wv,h
[0128]
其中,h为多头自注意力中的单头,1≤h≤h;
[0129]wq,h
、w
k,h
、w
v,h
分别为所述权重矩阵中的查询权重矩阵、键权重矩阵、值权重矩阵;
[0130][0131]dk
、dv分别为键矩阵k
ij,h
的维度和值矩阵v
ij,h
的维度;
[0132]
根据所述查询矩阵q
ij,h
,键矩阵k
ij,h
和值矩阵v
ij,h
,计算注意力结果矩阵att
ij,h

[0133][0134]
其中,t表示转置;softmax为归一化函数;
[0135]
认知注意力矩阵计算子模块:
[0136]
用于根据所述注意力结果矩阵att
ij,h
和所述权重矩阵中的输出权重矩阵wo,计算得到认知注意力矩阵att
ij

[0137][0138]
其中,do为多头自注意力输出维度,且do=l;
[0139]
认知注意力向量计算子模块:
[0140]
用于根据所述认知注意力矩阵att
ij
,计算得到认知注意力向量att_out
ij

[0141]
att_out
ij
=flatten(att
ij
)
[0142]
其中,flatten为平铺函数。
[0143]
优选地,所述输入向量生成模块包含的具体操作为:
[0144]
对所述批训练数据集,通过残差机制将所述三种认知因素直接拼接得到认知残差向量;
[0145]
将所述认知注意力向量att_out
ij
和所述认知残差向量进行拼接,得到输入向量。
[0146]
本发明提供了一种基于多认知因素的学生技能评估装置,其特征在于,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现如上所述的基于多认知因素的学生技能评估方法。
[0147]
本发明提供了一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的基于多认知因素的学生技能评估方法。
[0148]
通过本发明所构思的以上技术方案,与现有技术相比,由于本发明综合考虑学生的潜在能力因素、技能掌握因素和速度因素之间的相互作用以及它们共同对作答得分的影响,相较于传统方法只考虑单一因素的做法,本方法可以更全面的评估学生的技能掌握。
[0149]
本发明既使用了作答结果数据,同时也使用了作答过程性数据即答题时间数据;
答题时间数据对作答得分有着显著性影响,使用答题时间数据可以更加精准的预测学生的作答得分,从而更好的实现对学生技能掌握情况的评估。
[0150]
本发明使用深度学习方法对三种认知因素进行建模,通过三层神经网络,结合多头自注意力机制,构建出更加贴合现实情况的认知评估方法及系统;本发明充分挖掘出学生与试题之间交互的非线性关系,能取得提高技能评估精准性的有益效果。
附图说明
[0151]
图1是本发明实施例提供的基于多认知因素的学生技能评估方法的流程图;
[0152]
图2是本发明实施例提供的基于多认知因素的学生技能评估方法的认知因素获得步骤的流程图;
[0153]
图3是本发明实施例提供的基于多认知因素的学生技能评估方法的认知注意力获得步骤的流程图。
具体实施方式
[0154]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0155]
本实施例提供了一种基于多认知因素的学生技能评估方法,如图1所示,包括以下八个步骤:
[0156]
1、初始化步骤:
[0157]
设定学生集合为s;试题集合为p,试题类型为客观题;得分集合为r,学生的答题时间集合为t;
[0158]
其中,s=s1,s2…
sn;p=p1,p2…
pm;
[0159]
r={r
ij
∣1≤i≤n,1≤j≤m};t={t
ij
∣1≤i≤n,1≤j≤m};
[0160]
按设定的比例8:2将学生答题记录集合logs划分为训练集和测试集;其中,logs={si,pj,r
ij
,t
ij
∣1≤i≤n,1≤j≤m};si为学生,i为学生的个数,n为学生的总数;pj为试题;m为试题总数,j为试题的个数;学生si回答试题pj的得分为r
ij
,答题时间为t
ij
;其中,n=1476,m=17。
[0161]
根据全部试题及其考察的技能,建立试题技能映射矩阵;
[0162]
随机初始化可训练嵌入矩阵的内容;随机初始化权重矩阵的内容;随机初始化三层全连接神经网络中的全部参数;
[0163]
设定模型训练的批输入量(batch_size)为16,重复次数(epoch)为5;对训练集中的所有答题记录进行随机分组操作形成多个分组,每个分组的答题记录数量为设定的批输入量;
[0164]
2、认知因素获得步骤:
[0165]
从多个分组中抽取一个未参加模型训练的分组,组成批训练数据集;通过试题技能映射矩阵、可训练嵌入矩阵和批训练数据集,计算得到学生的三种认知因素,分别为:技能掌握因素、潜在能力因素和速度因素;
[0166]
如图2所示,认知因素获得步骤包括以下子步骤:
[0167]
(1)向量计算子步骤:
[0168]
对批训练数据集,计算学生的技能掌握程度属性潜在能力属性和速度属性
[0169][0170]
其中,是si的二进制向量表示;
[0171]
s,a,v分别为可训练嵌入矩阵中的技能掌握矩阵、潜在能力矩阵、速度矩阵;
[0172]
对批训练数据集,计算试题的难度属性工作量属性和技能向量属性gj,其中,技能向量属性gj为试题技能映射矩阵中试题pj所在的一行:
[0173][0174]
其中,是pj的二进制向量表示;
[0175]
g为试题技能映射矩阵,l为技能集中的元素总数,l=11;
[0176]
d,w分别为可训练嵌入矩阵中的难度矩阵、工作量矩阵;
[0177]
(2)认知因素计算子步骤:
[0178]
对批训练数据集,计算学生的三种认知因素:
[0179][0180]
其中,α
ij
、θ
ij
和τ
ij
分别为技能掌握因素、潜在能力因素和速度因素。
[0181]
本实施例既使用了作答结果数据,同时也使用了作答过程性数据即答题时间数据;答题时间数据对作答得分有着显著性影响,使用答题时间数据可以更加精准的预测学生的作答得分,从而更好的实现对学生技能掌握情况的评估。
[0182]
由于本实施例综合考虑学生的潜在能力因素、技能掌握因素和速度因素之间的相互作用以及它们共同对作答得分的影响,相较于传统方法只考虑单一因素的做法,本实施例可以更全面的评估学生的技能掌握。
[0183]
3、认知注意力获得步骤:
[0184]
对批训练数据集,根据多头自注意力机制,通过权重矩阵和三种认知因素,计算得到认知注意力向量;
[0185]
如图3所示,认知注意力获得步骤包括以下子步骤:
[0186]
(1)初始特征矩阵计算子步骤:
[0187]
对批训练数据集,对三种认知因素进行拼接得到初始特征矩阵c
ij

[0188]cij
=concat(α
ij

ij

ij
);
[0189]
其中,concat为拼接函数;
[0190]
(2)注意力结果矩阵计算子步骤:
[0191]
根据设定的多头自注意力的自注意力头数量h,计算查询矩阵q
ij,h
,键矩阵k
ij,h
和值矩阵v
ij,h

[0192]qij,h
=c
ij
×wq,h
,k
ij,h
=c
ij
×wk,h
,v
ij,h
=c
ij
×wv,h
[0193]
其中,h为多头自注意力中的单头,1≤h≤h,h为3;
[0194]wq,h
、w
k,h
、w
v,h
分别为权重矩阵中的查询权重矩阵、键权重矩阵、值权重矩阵;
[0195][0196]dk
、dv分别为键矩阵k
ij,h
的维度和值矩阵v
ij,h
的维度;
[0197]
根据查询矩阵q
ij,h
,键矩阵k
ij,h
和值矩阵v
ij,h
,计算注意力结果矩阵att
ij,h

[0198][0199]
其中,t表示转置;softmax为归一化函数;
[0200]
(3)认知注意力矩阵计算子步骤:
[0201]
根据注意力结果矩阵att
ij,h
和权重矩阵中的输出权重矩阵wo,计算得到认知注意力矩阵att
ij

[0202][0203]
其中,do为多头自注意力输出维度,且do=l;
[0204]
(4)认知注意力向量计算子步骤:
[0205]
根据认知注意力矩阵att
ij
,计算得到认知注意力向量att_out
ij

[0206]
att_out
ij
=flatten(att
ij
)
[0207]
其中,flatten为平铺函数。
[0208]
4、输入向量生成步骤:
[0209]
对批训练数据集,通过残差机制将三种认知因素直接拼接得到认知残差向量res_out
ij

[0210][0211]
将认知注意力向量att_out
ij
和认知残差向量res_out
ij
进行拼接,得到输入向量x
ij

[0212][0213]
5、模型更新步骤:
[0214]
使用三层全连接神经网络作为预测器,预测器用于预测学生在试题上的答题得分;将输入向量x
ij
输入三层全连接神经网络,得到预测得分
[0215][0216]
其中,f
fc
为全连接层,σ为激活函数。
[0217]
根据得分r
ij
和预测得分计算交叉熵损失loss:
[0218][0219]
根据交叉熵损失loss,通过反向传播算法更新以下数据;三层全连接神经网络中的全部参数、权重矩阵的内容、可训练嵌入矩阵的内容;
[0220]
6、模型训练步骤:
[0221]
使用步骤5中更新后的数据重复执行步骤2至步骤5,直到所有的分组都经过模型训练;
[0222]
7、模型测试步骤:
[0223]
按设定的重复次数(epoch),重复执行步骤2至步骤6,每次执行结束之后得到一个预测模型,其参数包括可训练嵌入矩阵;
[0224]
将测试集依次输入所有的预测模型,根据预测精度acc、曲线下面积auc、均方误差rmse、绝对误差mae四项评价指标,选取acc和auc最大,同时rmse和mae最小的模型作为最终的学生技能评估模型(tce-sd)。其中,acc和auc的最大值分别为0.707和0.786;rmse和mae的最小值分别为0.436和0.365。
[0225]
为了验证本模型(tce-sd)的有效性和先进性,在相同的实验环境和实验数据下,将本模型与其它几种技能评估模型通过预测精度(acc)、曲线下面积(auc)、绝对误差(mae)和均方误差(rmse)四种指标进行比较,结果如模型对比表所示:
[0226]
模型对比表
[0227][0228]
其中,绝对误差(mae)和均方误差(rmse)的值越小,预测的准确性越高;预测精度(acc)和曲线下面积(auc)的值越大,预测的准确性越高。
[0229]
相较于irt、dina和neural cd、jrt-dina四种模型,tce-sd模型在rmse、acc和auc三种评价指标均有明显优势,说明利用答题时间数据可以有效提升技能评估的准确性,同时也体现了本模型的有效性和先进性。
[0230]
8、技能评估步骤:
[0231]
从学生技能评估模型中提取出可训练嵌入矩阵中的技能掌握矩阵,其内容即为全部学生在各个技能上的掌握程度。
[0232]
本实施例使用深度学习方法对三种认知因素进行建模,通过三层神经网络,结合
多头自注意力机制,构建出更加贴合现实情况的认知评估方法及系统;本实施例充分挖掘出学生与试题之间交互的非线性关系,能取得提高技能评估精准性的有益效果。
[0233]
本实施例提供了一种基于多认知因素的学生技能评估系统,包括以下八个模块:
[0234]
初始化模块:
[0235]
用于按设定的比例将学生答题记录集合logs划分为训练集和测试集;其中,logs={si,pj,r
ij
,t
ij
∣1≤i≤n,1≤j≤m};si为学生,i为学生的个数,n为学生的总数;pj为试题,试题pj的试题类型为客观题;m为试题总数,j为试题的个数;学生si回答试题pj的得分为r
ij
,答题时间为t
ij

[0236]
根据全部试题及其考察的技能,建立试题技能映射矩阵;
[0237]
随机初始化可训练嵌入矩阵的内容;随机初始化权重矩阵的内容;随机初始化三层全连接神经网络中的全部参数;
[0238]
设定模型训练的批输入量和重复次数;对训练集中的所有答题记录进行随机分组操作形成多个分组,每个分组的答题记录数量为批输入量。
[0239]
认知因素获得模块:
[0240]
用于从多个分组中抽取一个未参加模型训练的分组,组成批训练数据集;通过试题技能映射矩阵、可训练嵌入矩阵和批训练数据集,计算得到学生的三种认知因素,分别为:技能掌握因素、潜在能力因素和速度因素。
[0241]
认知因素获得模块包括以下两个子模块:
[0242]
向量计算子模块:
[0243]
用于对批训练数据集,计算学生的技能掌握程度属性潜在能力属性和速度属性
[0244][0245]
其中,是si的二进制向量表示;
[0246]
s,a,v分别为可训练嵌入矩阵中的技能掌握矩阵、潜在能力矩阵、速度矩阵;
[0247][0248]
对批训练数据集,计算试题的难度属性工作量属性和技能向量属性gj,其中,技能向量属性gj为试题技能映射矩阵中试题pj所在的一行:
[0249][0250]
其中,是pj的二进制向量表示;
[0251]
g为试题技能映射矩阵,l为技能集中的元素总数;
[0252]
d,w分别为可训练嵌入矩阵中的难度矩阵、工作量矩阵;
[0253]
认知因素计算子模块:
[0254]
用于对批训练数据集,计算学生的三种认知因素:
[0255]
[0256]
其中,α
ij
、θ
ij
和τ
ij
分别为技能掌握因素、潜在能力因素和速度因素。
[0257]
认知注意力获得模块:
[0258]
用于对批训练数据集,根据多头自注意力机制,通过权重矩阵和三种认知因素,计算得到认知注意力向量。
[0259]
认知注意力获得模块包括以下四个子模块:
[0260]
初始特征矩阵计算子模块:
[0261]
用于对批训练数据集,对三种认知因素进行拼接得到初始特征矩阵c
ij

[0262]cij
=concat(α
ij

ij

ij
);
[0263]
其中,concat为拼接函数。
[0264]
注意力结果矩阵计算子模块:
[0265]
用于根据设定的多头自注意力的自注意力头数量h,计算查询矩阵q
ij,h
,键矩阵k
ij,h
和值矩阵v
ij,h

[0266]qij,h
=c
ij
×wq,h
,k
ij,h
=c
ij
×wk,h
,v
ij,h
=c
ij
×wv,h
[0267]
其中,h为多头自注意力中的单头,1≤h≤h;
[0268]wq,h
、w
k,h
、w
v,h
分别为权重矩阵中的查询权重矩阵、键权重矩阵、值权重矩阵;
[0269][0270]dk
、dv分别为键矩阵k
ij,h
的维度和值矩阵v
ij,h
的维度;
[0271]
根据查询矩阵q
ij,h
,键矩阵k
ij,h
和值矩阵v
ij,h
,计算注意力结果矩阵att
ij,h

[0272][0273]
其中,t表示转置;softmax为归一化函数。
[0274]
认知注意力矩阵计算子模块:
[0275]
用于根据注意力结果矩阵att
ij,h
和权重矩阵中的输出权重矩阵wo,计算得到认知注意力矩阵att
ij

[0276][0277]
其中,do为多头自注意力输出维度,且do=l。
[0278]
认知注意力向量计算子模块:
[0279]
用于根据认知注意力矩阵att
ij
,计算得到认知注意力向量att_out
ij

[0280]
att_out
ij
=flatten(att
ij
)
[0281]
其中,flatten为平铺函数。
[0282]
输入向量生成模块:
[0283]
用于对批训练数据集,根据残差机制,通过认知注意力向量和三种认知因素,计算得到输入向量。
[0284]
输入向量生成模块包含的具体操作为:
[0285]
对批训练数据集,通过残差机制将三种认知因素直接拼接得到认知残差向量;
[0286]
将认知注意力向量att_out
ij
和认知残差向量进行拼接,得到输入向量。
[0287]
模型更新模块:
[0288]
用于将输入向量输入三层全连接神经网络,得到预测得分;根据得分r
ij
和预测得分,计算交叉熵损失并更新以下数据;三层全连接神经网络中的全部参数、权重矩阵的内容、可训练嵌入矩阵的内容。
[0289]
模型训练模块:
[0290]
用于使用模型更新模块中更新后的数据,重复依次执行认知因素获得模块、认知注意力获得模块、输入向量生成模块和模型更新模块中的操作,直到所有的分组都经过模型训练。
[0291]
模型测试模块:
[0292]
用于按设定的重复次数,重复依次执行认知因素获得模块、认知注意力获得模块、输入向量生成模块、模型更新模块和模型训练模块中的操作,每次执行结束之后生成一个预测模型,其参数包括可训练嵌入矩阵。
[0293]
将测试集依次输入所有的预测模型,根据预测精度acc、曲线下面积auc、均方误差rmse、绝对误差mae四项评价指标,从所有的预测模型中确定一个模型为最终的学生技能评估模型。
[0294]
技能评估模块:
[0295]
用于从学生技能评估模型中提取出可训练嵌入矩阵中的技能掌握矩阵。
[0296]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献