利索能及
我要发布
收藏
专利号: 2023115027010
申请人: 南京信息工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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

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

所述个体能力,包括被诊断对象自身的计算能力、判断能力和推理能力;

步骤S2、生成样本:基于步骤S1构建的认知诊断状态机模型,将认知诊断过程中解题步骤所需知识点和对能力的要求作为状态变迁条件,生成第一状态机样本;使用知识图谱表述知识点前导和后续的关联关系的特性,对所述第一状态机样本中路径进行扩展补充,生成第二状态机样本,包括如下子步骤:步骤S2.1、根据问题文本以及知识图谱,将所需的所有知识点以前导和后续的关联关系存放在KP map数组中,形式为KP[key][value],key表示单个知识点,value表示与key具有关系的所有知识点;选取KP map数组中若干个key并添加至First数组中,被选取的若干个知识点作为第一状态机样本的初始路径变迁条件;

步骤S2.2、根据所述第一状态机样本的初始路径变迁条件,生成第一状态机样本的其他变迁路径;

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

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

所述状态机路径分解算法,包括如下子步骤:

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

步骤S3.2、遍历第二状态机样本:经过步骤S3.1拆分后,全状态机样本的每条边的变迁条件只涉及到一个知识点,遍历全状态机样本,如果发现全状态机样本中有知识点重复出现的边,则执行如下子步骤: S3.2.1、为全状态机样本新增一个状态s';

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

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

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

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

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

步骤S5、进行认知诊断分析:获得被诊断对象对知识点的掌握程度。

2.根据权利要求1所述的基于知识图谱与个体能力的认知诊断状态机实现方法,其特征在于,步骤S1中,所述认知诊断状态机起始点为认知诊断过程中问题解答过程的初始状态;被诊断对象借助自身能力,触发状态机的状态转移,所述自身能力包括解题能力和对知识点掌握程度;若被诊断对象成功完成解题,则状态机正确到达下一状态,否则被诊断对象无法正确回答问题,则状态机无法正确到达下一状态;经过若干个认知诊断问题解答步骤,认知诊断解答过程结束,所述认知诊断状态机终止。

3.根据权利要求2所述的基于知识图谱与个体能力的认知诊断状态机实现方法,其特征在于,步骤S1中,所述认知诊断状态机模型输出公式如下式:其中, 表示被诊断对象使用序号为i的知识点k,α表示被诊断对象自身的计算能力,β表示被诊断对象自身的判断能力,γ表示被诊断对象自身的推理能力; 函数计算被诊断对象对知识点k的掌握程度以及自身能力值的高低,y判断被诊断对象能否正确达到下一状态,y由α、β、γ及 共同决定。

4.根据权利要求3所述的基于知识图谱与个体能力的认知诊断状态机实现方法,其特征在于,步骤S2.2生成第一状态机样本的其他变迁路径,方法如下:S2.2.1、判断First数组长度,如果len(First)==1则选取KP map数组中KP[First[0]]对应的知识点数组中若干个元素值,添加至Second数组中;如果len(First)>1,则遍历First数组元素,查找KP map数组中与First数组所有元素一一对应的value值,并随机选取某个知识点继续添加到Second数组中;

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

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

S2.2.4、将数组Third与First、Second求差集,以避免重复出现S2.1和S2.2中的知识点影响认知诊断状态机模型训练。

5.根据权利要求4所述的基于知识图谱与个体能力的认知诊断状态机实现方法,其特征在于,步骤S3中,基于被诊断对象对于知识点的掌握程度还与知识点之间的联系有关,根据步骤S2至步骤S3的状态变迁过程,将每一次状态变迁过程中涉及的知识点记为1,未涉及的知识点记为0,以状态变迁时间顺序构建状态转移矩阵。

6.根据权利要求5所述的基于知识图谱与个体能力的认知诊断状态机实现方法,其特征在于步骤S4中,引入LSTM模型,训练所述状态转移矩阵,步骤包括:S4.1、将状态转移矩阵数据进行归一化处理,采用最大值最小值归一化处理方式,映射范围在[0,1]上;

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

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

7.根据权利要求1至6任一项所述的基于知识图谱与个体能力的认知诊断状态机实现方法,其特征在于,步骤S5进行认知诊断分析,通过不同标准的认知诊断问题知识结构,利用步骤S4中LSTM模型训练出的状态转移矩阵得到预测向量,以被诊断对象和不同标准的认知诊断问题知识结构做对比,利用相似度来分析被诊断对象对知识点的掌握程度及自身能力。