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

一种基于认知诊断的学习能力评估方法及系统

2022-05-18 02:25:41 来源:中国专利 TAG:


1.本发明涉及认知诊断领域,更具体地,涉及一种基于认知诊断的学习能力评估方法及系统。


背景技术:

2.传统的考试测验使用单一的分数来对用户的学习能力进行评估,既不能获知用户掌握或未掌握具体哪方面的知识,也不能得到用户做错试题的原因,以进行补救。对于相同分数的用户,更无法得到他们之间可能存在的认知状态和知识结构的差异。传统考试提供的信息已不太适合个体发展的需要。认知诊断测验是对传统考试测验与评价的一种改进与完善,其旨在发现用户在学习过程中的状态,例如他们对特定知识概念的熟练程度,以对用户的学习能力作出准确的评估。如今认知诊断已成为人工智能教育的基础性问题。
3.现有一种学生认知诊断方法,其通过获取学生的历史答题信息,并提取出试题文本和所包含的预定义知识点,计算每道试题的知识点相关度向量;将设定的学生参数、以及包含试题的知识点相关度向量的试题参数输入认知诊断模型,对答题结果进行拟合,通过训练得到学生的知识点掌握度向量,完成学生认知诊断。然而,上述方法利用传统的认知诊断模型,对于题目的答题记录只考虑了正确和错误的答题结果或某一题目的最后得分,对于某些题目,比如编程试题,其答题记录不仅包括答题结果,还包括提交次数、间隔时间、编程状态和用例通过数等信息,若不将这些答题记录考虑在内,会造成认真诊断以及学习能力评估准确率低的缺陷。


技术实现要素:

4.本发明为克服现有认知诊断模型应用在某些答题记录包含多种不同类型信息的题目时,存在评估准确率低的缺陷,提供一种基于认知诊断的学习能力评估方法及系统。
5.为解决上述技术问题,本发明的技术方案如下:
6.第一个方面,本发明提出一种基于认知诊断的学习能力评估方法,包括以下步骤:
7.s1:获取用户的答题记录,对用户的答题记录进行标签化预处理,得到带标签的答题记录和无标签的答题记录。
8.s2:根据带标签的答题记录,对无标签的答题记录进行聚类,得到所有答题记录的标签。
9.s3:建立认知诊断模型,将所有答题记录及其标签输入所述认知诊断模型中,所述认知诊断模型输出用户的答题正确概率,并根据用户的答题正确概率,对用户的学习能力进行评估。
10.作为优选方案,s1中,所述答题记录包括答题状态、用例通过率、答题间隔时间和答题次数。
11.作为优选方案,s1具体包括以下步骤:
12.s1.1:对用户的答题记录进行统计,获取用户在每个题目中每种答题状态的用例
通过率,并根据每种答题状态的用例通过率,计算用户在每个题目中每种答题状态的得分率g
ih
,其计算公式如下所述:
[0013][0014]
其中,s
ih
表示用户在第i个题目中答题状态为h的所有答题记录集合,h表示答题状态,m表示总答题状态数,h表示题目总数,xi表示第i个题目的得分用例数;
[0015]
s1.2:针对用户对同一题目的每一次答题记录按时序进行排列,根据排列结果和得分率,计算出该题目在每种答题状态下的得分,其计算公式如下所述:
[0016][0017]
其中,β为预设的衰减率,表示用户对第i个为答题状态h下第n次答题的得分率;
[0018]
s1.3:设定第一分数阈值和第二分数阈值,根据每种答题状态下的得分对答题记录进行标注,将得分低于第一分数阈值的答题记录标注生疏标签,将得分高于第二分数阈值的答题记录标注熟练标签,得到带熟练标签的答题记录、带生疏标签的答题记录和得分高于第一分数阈值且低于第二分数阈值的无标签的答题记录。
[0019]
作为优选方案,使用k-means算法,根据带熟练标签的答题状态和带生疏标签的答题状态,对无标签的答题状态进行聚类;具体包括以下步骤:分别以带熟练标签的答题状态和带生疏标签的答题状态作为初始类簇,计算每一类簇的中心点集
[0020]
其中,b表示簇的类数,ub表示所有在簇b中的无标签的答题状态的集合,yi表示第i个无标签的答题状态;
[0021]
将无标签的答题状态分配到类簇b

,直至b

满足下列条件:
[0022][0023]
其中,v表示迭代次数;
[0024]
然后重新计算每个簇的中心点,更新迭代次数,将所有无标签的答题状态分配到类b

中,直至所有答题状态到每一类簇的中心点的距离之和收敛,k-means聚类的目标函数的表达式如下所示:
[0025][0026][0027]
yi=(fi,ti)
[0028]
其中,k表示无标签的答题状态类别数,fi表示第i个题目的答题次数,ti表示第i个题目的答题间隔时间,yi和的欧氏距离。
[0029]
作为优选方案,所述编程答题状态包括编程答题状态,包括编程通过、编程错误、运行时错误和答题错误。
[0030]
作为优选方案,根据用户的答题记录,提取出题目及其所包含的知识点,并利用所述题目及其所包含的知识点构建题目-知识点矩阵;将所有答题记录及其标签和所述题目-知识点矩阵输入认知诊断模型,认知诊断模型输出用户的答题正确概率。
[0031]
作为优选方案,所述认知诊断模型包括irt模型和ncd模型。
[0032]
第二个方面,本发明提出一种基于认知诊断的学习能力评估系统,应用于上述任一方案所述的基于认知诊断的学习能力评估方法,包括:
[0033]
预处理模块,用于获取用户的答题记录,对用户的答题记录进行标签化预处理,得到带标签的答题记录和无标签的答题记录;
[0034]
聚类模块,用于根据带标签的答题记录,对无标签的答题记录进行聚类,得到所有答题记录的标签;
[0035]
认知诊断模型,用于根据输入的所有答题记录及其标签,输出用户的答题正确概率,并根据用户的答题正确概率,对用户的学习能力进行评估。
[0036]
作为优选方案,所述认知诊断模型包括irt模型和ncd模型。
[0037]
第三个方面,本发明还提出一种计算机系统,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行存储器中的计算机程序时实现如基于认知诊断的学习能力评估方法中任一方案的步骤。
[0038]
与现有技术相比,本发明技术方案的有益效果是:本发明考虑到某些答题记录中包含的多种不同类型的答题信息,根据答题信息,对用户部分不同的答题记录进行标注,并基于半监督学习的思想,通过将无标签的答题记录与带标签的答题记录进行聚类,将聚类结果输入到传统的认真诊断模型中,完成对用户的学习能力的评估,充分利用了用户的答题记录中包含的大量的不同类型的数据信息,最后,有效地提高了认知诊断模型的准确率。
附图说明
[0039]
图1为基于认知诊断的学习能力评估方法的流程图。
[0040]
图2为ncd模型的原理图。
[0041]
图3为基于认知诊断的学习能力评估系统的架构图。
具体实施方式
[0042]
附图仅用于示例性说明,不能理解为对本专利的限制;
[0043]
下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0044]
实施例1
[0045]
请参阅图1,本实施例提出一种基于认知诊断的学习能力评估方法,包括以下步骤:
[0046]
s1:获取用户的答题记录,对用户的答题记录进行标签化预处理,得到带标签的答题记录和无标签的答题记录。
[0047]
本实施例中,首先对用户的答题记录进行统计,获取每种答题状态中的用例通过率,根据每种答题状态中的用例通过率,计算每种答题状态的得分率;针对用户对同一题目的每一次答题记录按时序进行排列,根据排列结果和得分率,计算出该题目在每种答题状态下的得分;设定第一分数阈值和第二分数阈值,根据每种答题状态下的得分对答题记录
进行标注,将得分低于第一分数阈值的答题记录标注生疏标签,将得分高于第二分数阈值的答题记录标注熟练标签,得到带熟练标签的答题记录、带生疏标签的答题记录和得分高于第一分数阈值且低于第二分数阈值的无标签的答题记录。
[0048]
s2:根据带标签的答题记录,对无标签的答题记录进行聚类,得到所有答题记录的标签。
[0049]
本实施例将所有无标签的答题状态分配到带熟练标签的答题记录和带生疏标签的答题记录两个类簇中,直至所有答题状态到每一类簇的中心点的距离之和收敛。
[0050]
s3:建立认知诊断模型,将所有答题记录及其标签输入所述认知诊断模型中,所述认知诊断模型输出用户的答题正确概率,并根据用户的答题正确概率,对用户的学习能力进行评估。
[0051]
本实施例中,根据用户的答题记录,提取出题目和题目所包含的知识点,并利用所述题目和所述知识点构建题目-知识点矩阵;将所有答题记录及其标签和所述题目-知识点矩阵输入认知诊断模型,认知诊断模型根据带有不同标签的答题记录,分别输出不同的用户的答题正确概率,根据用户的答题正确概率的高低,对用户的学习能力进行分析评估;当用户的答题正确概率较高时,则认为该用户的学习能力较高;当用户的答题正确概率较低时,则认为该用户的学习能力相对较低。
[0052]
本发明考虑到某些答题记录中包含的多种不同类型的答题信息,根据答题信息,对用户部分不同的答题记录进行标注,并基于半监督学习的思想,通过将无标签的答题记录与带标签的答题记录进行聚类,将聚类结果输入到传统的认真诊断模型中,完成对用户的学习能力的评估,充分利用了用户的答题记录中包含的大量的不同类型的数据信息,最后,有效地提高了认知诊断模型的准确率。
[0053]
实施例2
[0054]
本实施例以对用户的编程学习能力评估为例,在实施例1的基础上,提出一种基于认知诊断的学习能力评估方法,包括以下步骤:
[0055]
s1:获取用户的答题记录,对用户的答题记录进行标签化预处理,得到带标签的答题记录和无标签的答题记录。
[0056]
编程答题记录除了包括最终的答题状态,还包含了答题次数、答题间隔时间和用例通过率等信息。另外,与传统的认知诊断题目只有正确和错误两种答题状态的情况不同,但是编程题目的返回结果往往是更加多样的,即使是最少的情况,编程的答题状态也会包括ac(通过)、ce(编程错误)、rte(运行时错误)和wa(答题错误)。对于编程题目,大多数情况下用户会一直做题直至题目通过为止,若以题目最终是否通过为预测数据,会导致用户的知识掌握程度预测偏高。因此,如果仅仅将正确或错误作为最终的答题状态,输入到认知诊断模型中,往往会得到高于用户实际编程能力水平的预测结果。
[0057]
本实施例中,根据编程题目的答题状态、用例通过率、答题间隔时间和答题次数对用户的编程答题记录进行标签化的预处理,得到带标签的答题记录和无标签的答题记录,具体包括以下步骤:
[0058]
s1.1:对用户的答题记录进行统计,获取用户在每个题目中每种答题状态的用例通过率,并根据每种答题状态的用例通过率,计算用户在每个题目中每种答题状态的得分率g
ih
,其计算公式如下所述:
[0059][0060]
其中,s
ih
表示用户在第i个题目中答题状态为h的所有答题记录集合,h表示答题状态,m表示总答题状态数,h表示题目总数,xi表示第i个题目的得分用例数;
[0061]
s1.2:针对用户对同一题目的每一次答题记录按时序进行排列,根据排列结果和得分率,计算出该题目在每种答题状态下的得分,其计算公式如下所述:
[0062][0063]
其中,β为预设的衰减率,表示用户对第i个为答题状态h下第n次答题的得分率;
[0064]
s1.3:设定第一分数阈值和第二分数阈值,根据每种答题状态下的得分对答题记录进行标注,将得分低于第一分数阈值的答题记录标注生疏标签,将得分高于第二分数阈值的答题记录标注熟练标签,得到带熟练标签的答题记录、带生疏标签的答题记录和得分高于第一分数阈值且低于第二分数阈值的无标签的答题记录。
[0065]
s2:根据带标签的答题记录,对无标签的答题记录进行聚类,得到所有答题记录的标签。
[0066]
使用k-means算法,根据带熟练标签的答题状态和带生疏标签的答题状态,对无标签的答题状态进行聚类;具体包括以下步骤:分别以带熟练标签的答题状态和带生疏标签的答题状态作为初始类簇,计算每一类簇的中心点集
[0067]
其中,b表示簇的类数,ub表示所有在簇b中的无标签的答题状态的集合,yi表示第i个无标签的答题状态;
[0068]
将无标签的答题状态分配到类簇b

,直至b

满足下列条件:
[0069][0070]
其中,v表示迭代次数;
[0071]
然后重新计算每个簇的中心点,更新迭代次数,将所有无标签的答题状态分配到类b

中,直至所有答题状态到每一类簇的中心点的距离之和收敛,k-means聚类的目标函数的表达式如下所示:
[0072][0073][0074]
yi=(fi,t;)
[0075]
其中,k表示无标签的答题状态类别数,fi表示第i个题目的答题次数,ti表示第i个题目的答题间隔时间,yi和的欧氏距离。
[0076]
s3:建立认知诊断模型,将所有答题记录及其标签输入所述认知诊断模型中,所述认知诊断模型输出用户的答题正确概率,并根据用户的答题正确概率,对用户的学习能力
进行评估。
[0077]
本实施例应用传统的认知诊断模型来评估用户的学习能力。用户的学习能力评估受用户因素、题目因素和知识点因素共同影响。认知诊断模型需要根据输入的用户的答题记录、知识点和题目的联系,来进行学习,对认知诊断模型的参数进行更新,最后输出评估结果。
[0078]
假设认知诊断模型包括用户集o={o1,o2,...,on}、题目集p={p1,p2,...,pn}和知识点集d={d1,d2,...,dn};编程答题记录r(o,p,r,f,t),编程答题记录包括了用户编号o,题目编号p,答题得分r,答题次数f,答题间隔时间t。
[0079]
根据用户的答题记录,提取出题目和题目所包含的知识点,并利用所述题目和所述知识点构建题目-知识点矩阵q,q={q
ij
}
p
×d,当q
ij
=1时,表示题目pi与知识点dj相关,当q
ij
=0时,表示题目pi与知识点dj无关;
[0080]
将所有答题记录及其标签和所述题目-知识点矩阵q输入认知诊断模型,认知诊断模型输出用户的答题正确概率,最后基于用户的答题正确概率,对用户的学习能力进行分析评估。
[0081]
本实施例中,所述认知诊断模型根据带有不同标签的答题记录,设置相应的权重参数。将带熟练标签的答题记录输入认知诊断模型,认知诊断模型输出相对较高的用户的答题正确概率;将带生疏标签的答题记录输入认知诊断模型,认知诊断模型输出相对较低的用户的答题正确概率。当用户的答题正确概率较高时,则认为该用户的学习能力较高;当用户的答题正确概率较低时,则认为该用户的学习能力相对较低。
[0082]
实施例3
[0083]
本实施例在实施例2提出的基于认知诊断的学习能力评估方法的基础上作出改进。
[0084]
在实际应用中,若需要简单和布置方便的认知诊断模型,可采用irt模型。irt模型的表达式如下:
[0085][0086]
其中,e表示自然对数的底,d表示常数1.7,a
p
表示第p题的区分度参数,b
p
表示第p题难度参数,o为用户编号;θo表示用户o的能力值;p表示题目编号,p
po
(θo)表示用户o答对题目i的概率。
[0087]
本实施例中,θo根据编程答题记录信息,通过em(expectation maximization,期望最大化)算法迭代获得。a
p
和b
p
为可设定的参数。
[0088]
将所有答题记录及其标签输入到irt模型后,irt模型输出用户o答对题目i的概率。
[0089]
实施例4
[0090]
本实施例在实施例3提出的基于认知诊断的学习能力评估方法的基础上作出改进。
[0091]
本实施例中,所述认知诊断模型采用与神经网络相结合的ncd模型,如图2所示,图2为ncd模型的原理图;ncd模型是在irt模型的基础上结合了神经网络的技术,在具体实施过程中,将编程答题记录输入ncd模型,首先对编程答题记录进行矩阵分解,将编程答题记
录分解成知识熟练度、知识难度和题目区分度三个维度,再将知识熟练度、知识难度和题目区分度作指数上的向量相乘和相减初步运算,随后将运算结果输入至神经网络中,分别经过神经网络的输入层、隐藏层和输出层,最后输出用户的答题正确概率。ncd模型结合了具有强大的拟合能力神经网络,从而能够获得比irt模型精确的效果。
[0092]
实施例5
[0093]
请参阅图3,本实施例提出一种基于认知诊断的学习能力评估系统,包括预处理模块、聚类模块和认知诊断模型。
[0094]
在具体实施过程中,预处理模块对用户的答题记录进行统计,获取每种答题状态中的用例通过率,根据每种答题状态中的用例通过率,计算每种答题状态的得分率;针对用户对同一题目的每一次答题记录按时序进行排列,根据排列结果和得分率,计算出该题目在每种答题状态下的得分;设定第一分数阈值和第二分数阈值,根据每种答题状态下的得分对答题记录进行标注,将得分低于第一分数阈值的答题记录标注生疏标签,将得分高于第二分数阈值的答题记录标注熟练标签,得到带熟练标签的答题记录、带生疏标签的答题记录和得分高于第一分数阈值且低于第二分数阈值的无标签的答题记录。
[0095]
聚类模块根据带熟练标签的答题记录和带生疏标签的答题记录对无标签的答题记录进行半监督的k-means聚类,并将聚类后的结果输入到认知诊断模型中。
[0096]
根据用户的答题记录,提取出题目和题目所包含的知识点以构建题目-知识点矩阵;将所有答题记录及其标签和所述题目-知识点矩阵输入认知诊断模型中,认知诊断模型根据答题记录所带有的不同类型的标签,输出不同的用户的答题正确概率,根据不同的用户的答题正确概率,对用户的学习能力进行评估。
[0097]
本实施例中,将带熟练标签的答题记录输入认知诊断模型,认知诊断模型输出相对较高的用户的答题正确概率;将带生疏标签的答题记录输入认知诊断模型,认知诊断模型输出相对较低的用户的答题正确概率。当用户的答题正确概率较高时,则认为该用户的学习能力较高;当用户的答题正确概率较低时,则认为该用户的学习能力相对较低。
[0098]
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
[0099]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
再多了解一些

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

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

相关文献