一种基于知识图谱与个体能力的认知诊断状态机实现方法

文档序号:36497045发布日期:2023-12-27 18:57阅读:118来源:国知局
一种基于知识图谱与个体能力的认知诊断状态机实现方法

本发明属于认知诊断,具体涉及一种基于知识图谱与个体能力触发的认知诊断状态机的实现方法。


背景技术:

1、认知诊断cd(cognitive diagnosis)是指对被诊断对象的知识结构、加工技能或者认知过程的诊断,尤其在现代智慧教育应用场景中,对于评估教学成效,诊断被测试对象对知识与概念的掌握程度的方面发挥着重要的作用。

2、认知诊断的研究发展主要分二个阶段,早期的研究主要基于统计学习理论模型,主流的有: irt(item response theory项目反映理论)和dina(deterministic input,noisy and gate)模型。irt模型主要是分析被诊断对象在试题上的答题记录,将被诊断对象的认知状态建模为一个单维连续的能力值,并用这个单一的能力值表示被诊断对象的综合认知状态。irt模型仅能笼统地估计被诊断对象的能力水平,尚不能评估被诊断对象细粒度的认知属性掌握状态;dina模型主要是利用测评数据对被诊断对象的认知模式进行分类,以概率统计为基础,事先确定模型的具体形式,采用最大似然估计、最大后验概率估计或蒙特卡洛算法对模型参数进行求解,容易导致预测精度低、拟合效果差的问题。

3、近期,基于深度学习框架来实现认知诊断成为认知诊断研究中的热点。

4、在现有技术中,基于深度学习的认知诊断方法主要有:通用的neuralcd (神经认知诊断)框架,该框架结合了神经网络来捕捉被诊断对象与练习之间的复杂关系,即将被诊断对象和练习投射到因子向量上,并利用多个神经层为它们的交互建模,其中应用单调性假设以确保两个因子的可解释性;dirt (deep item response theory, 深度项目响应理论),使用熟练度向量来表示被诊断对象对知识概念的熟练度,并通过密集嵌入来表示问题文本和知识概念,利用问题文本以及问题文本与知识概念之间的关系,使用深度学习增强被诊断对象和问题参数的诊断过程。还有综合了多种特征的neuralncd (神经网络认知诊断)模型,运用项目反应理论和神经网络来表征被诊断对象与练习之间的交互,同时在神经网络中引入了单调性假设和数据预处理机制,提高了诊断结果的准确性。

5、以上基于深度学习框架的认识诊断模型虽然在诊断效果上取得了一定的进步,但是在复杂知识领域下应用,仍然存在很多问题。一方面这些模型基于深度学习框架,通过复杂的神经元架构与参数训练过程来实现对被测试者能力的评估,整个评估过程缺乏可解释性;另一方面上述模型对于被测试者的能力、知识结构的表述过于简单,采用一维的知识点集合 kn = {k1,k2,…,kn}来表示,没有体现出知识点之间的相互的关联关系,以及知识点关联关系对测试结果的影响,从而造成诊断结果偏差。


技术实现思路

1、本发明所要解决的问题是:提出一种基于知识图谱与个体能力触发的认知诊断状态机实现方法,用于细致精确的反映出认知诊断的测试过程,使得认知诊断评估分析结果的更为准确且具有可解释性。

2、为了解决上述问题,本发明采用如下技术方案:

3、一种基于知识图谱与个体能力的认知诊断状态机实现方法,包括如下步骤:

4、步骤s1、状态机建模:构建认知诊断状态机模型,将认知诊断过程建模为基于知识图谱与个体能力触发的认知诊断状态机,认知诊断过程中解题的每一个步骤作为状态机的每一个状态;被诊断对象借助自身能力触发状态机的状态转移;

5、步骤s2、生成样本:基于步骤s1构建的认知诊断状态机模型,将认知诊断过程中解题步骤所需知识点和对能力的要求作为状态变迁条件,生成第一状态机样本;使用知识图谱,用于表述知识点前导和后续的关联关系的特性,对状态机样本中路径进行扩展补充,生成第二状态机样本;

6、步骤s3、状态机路径分解:利用状态机路径分解算法对所述第二状态机样本进行改造,使得各知识点在多个变迁条件中只出现一次,生成改造后的第三状态机样本,以状态变迁时间顺序组成状态转移矩阵;

7、步骤s4、训练模型:引入长短期记忆lstm模型,对认知诊断状态机模型进行训练,通过被测试对象的测试结果,训练状态转移矩阵;

8、步骤s5、进行认知诊断分析:获得被诊断对象对知识点的掌握程度及自身能力。

9、具体的,步骤s1中,在认知诊断过程中,所述状态机起始点为问题解答过程初始状态;被诊断对象借助自身能力,包括解题能力和对知识点掌握程度,触发状态机的状态转移,若被诊断对象成功完成解题,则状态机正确到达下一状态,否则被诊断对象无法正确回答问题,则状态机无法正确到达下一状态;经过若干个认知诊断问题解答步骤,认知诊断解答过程结束,状态机终止。

10、所述状态机模型输出公式如下式:

11、

12、其中,表示被诊断对象使用序号为i的知识点k,α表示被诊断对象自身的计算能力,β表示被诊断对象自身的判断能力,γ表示被诊断对象自身的推理能力;函数计算被诊断对象对该知识点的掌握程度以及自身能力值的高低,y判断被诊断对象能否正确达到下一状态,y由α、β、γ及决定。

13、具体的,步骤s2生成样本,包括如下子步骤:

14、步骤s2.1、根据问题文本以及知识图谱,将所需的所有知识点以前导和后续的关联关系存放在kp map数组中,形式为kp[key][value],key表示单个知识点,value表示与key具有关系的所有知识点;选取kp map数组中若干个key并添加至first数组中,被选取的若干个知识点作为第一状态机样本的初始路径变迁条件;

15、步骤s2.2、根据所述第一状态机样本的初始路径变迁条件,生成第一状态机样本的其他变迁路径,方法如下:

16、s2.2.1、判断first数组长度,如果len(first)==1则选取kp map数组中kp[first[0]]对应的知识点数组中若干个元素值,添加至second数组中;如果len(first)>1,则遍历first数组元素,查找kp map数组中与first数组所有元素一一对应的value值,并随机选取某个知识点继续添加到second当中;

17、s2.2.2、构建second1 map数组,形式为second1[key1][value1],key1为first数组中元素值,value1值为first数组元素一一对应的value值,以此存储第一状态机样本的路径变迁顺序;

18、s2.2.3、遍历second数组元素,在kp map数组中查找与second数组元素一一对应的value值,添加到third数组中;并构建third1 map数组,与步骤s2.2.2中second1 map数组同理,以此存储第一状态机样本的变迁路径;

19、s2.2.4、所述数组third与first、second求差集,以避免重复出现s2.1和s2.2中的知识点影响认知诊断状态机模型训练。

20、步骤s2.3、重复步骤s2.2,根据问题文本数量生成若干个第一状态机样本;利用知识图谱表述知识点前导和后续的关联关系的特性,对第一状态机样本中路径进行扩展补充,生成扩展后的第二状态机样本。

21、具体的,步骤s3中,所述状态机路径分解,算法包括如下子步骤:

22、步骤s3.1、拆分第二状态机样本:若第二状态机样本一条变迁的边{si, sj}上存在有多个知识点{ k1, k2, ..., kn },为变迁的边新增n-1个过渡状态{s1', s2', ...,sn-1' }, 删除变迁的边{si, sj},同时新增n条边,依次为{si, s1'}, {s1', s2'}, ..., {sn-1', sj}, 设置每条边的变迁条件{k1},{k1},…… ,{kn},生成全状态机样本;

23、步骤s3.2、遍历第二状态机样本:经过步骤s3.1折分后,所述全状态机样本的每条边的变迁条件只涉及到一个知识点,遍历全状态机样本,如果发现全状态机样本中有知识点重复出现的边,则执行如下子步骤s3.2.1至s3.2.4:

24、 s3.2.1、为全状态机样本新增一个状态s';

25、 s3.2.2、设全状态机样本中,有变迁条件为{k'}的边,且 k' 为重复出现的知识点;

26、 s3.2.3、从全状态机样本起始状态s0开始,建一条边,{s0, s'},设置条件为k';

27、 s3.2.4、假设有边{si, sj},其变迁条件为{k'}, 增加一条边,{s', sj},设置条件为空白知识点k0,k0是初始知识点, 同时将{si, sj}变迁条件修改成{k0},以维持状态机结构;

28、步骤s3.3、遍历整个全状态机样本:重复执行步骤s3.2,直到整个全状态机样本中,除了k0有重复的边之外,不存在有变迁条件设置的知识点重复,生成改造后的第三状态机样本。

29、然后,基于被诊断对象对于知识点的掌握程度还与知识点之间的联系有关,根据步骤s2至步骤s3的状态变迁过程,将每一次状态变迁过程中涉及的知识点记为1,未涉及的知识点记为0,以状态变迁时间顺序构建状态转移矩阵。

30、进一步的,步骤s4中,引入lstm模型,训练状态转移矩阵,步骤包括:

31、s4.1、将状态转移矩阵数据进行归一化处理,采用最大值最小值归一化处理方式,映射范围在[0,1]上;

32、s4.2、将归一化处理后的状态转移矩阵数据转换成有监督数据,包括当前数据前一时刻和下一时刻的数据;

33、s4.3、建立lstm网络模型,经过训练输出被诊断对象的测试结果,正确为1,错误为0,将多个测试结果构成预测向量,其中,损失函数选择为mae,优化器算法选择adam。

34、进一步的,步骤s5进行认知诊断分析,通过不同标准的认知诊断问题知识结构,利用步骤s4中lstm模型训练出的状态转移矩阵得到预测向量,以被诊断对象和不同标准的认知诊断问题知识结构做对比,利用相似度来分析被诊断对象对知识点的掌握程度及自身能力。

35、本发明采用以上技术方案与现有技术相比,具有以下技术效果:

36、1、具有可解释性,在本发明的状态机模型中,状态变迁条件精细刻划了被诊断对象在测试过程中对于个体能力的发挥与应用。测试过程中,状态机的每一次变迁都解释了被诊断对象的能力,及其能否使被测试状态机从起始状态到达最终状态。因此,本发明方法诊断结果具有可解释性。

37、2、分析结果更为准确,为了更好地适应状态机模型,本发明使用知识图谱,能更准确地表述诊断涉及的知识体系、知识点的关联关系,同时,对长短期记忆(lstm)模型进行改造,通过被测试对象的测试结果,训练状态转移矩阵,将最终被测试对象的训练结果与标准认知结构对象做对比,利用相似度对被测试对象自身能力及各个知识点的掌握程度进行诊断分析。因此,本发明状态机模型的变迁条件能更细致精确的反映出认知诊断的测试过程。

38、3、促进智慧教育的发展,认知诊断的出现弥补了只能提供单一总分结果的测验的缺陷,提供更加丰富的测验信息。本发明在认知诊断模型的解释性和准确性进行了提高,更利于采用计算机辅导和线上教学等方式,使教学更高效、智能化,被诊断对象学习自主化、个性化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1