[发明专利]一种基于知识图的智能教学诊断方法有效
申请号: | 201710793320.0 | 申请日: | 2017-09-06 |
公开(公告)号: | CN110019185B | 公开(公告)日: | 2023-09-15 |
发明(设计)人: | 段琢华;李文生;马慧;周艳明;邹昆;梁瑞仕 | 申请(专利权)人: | 电子科技大学中山学院 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/28;G06Q50/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 528400 广东省中山市石岐区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于知识图的智能教学诊断方法,利用知识图提供的知识点依赖关系以及测试题库对于知识点的依赖关系,从知识图中搜索学习者没有掌握的知识点集,同时给出表示其未掌握程度的权重。其主要特点为:在测试题没有覆盖所有知识点的情形下可以为学习者提供未掌握的知识点集合以及知识点未掌握程度的权重。 | ||
搜索关键词: | 一种 基于 知识 智能 教学 诊断 方法 | ||
【主权项】:
1.一种基于知识图的智能教学诊断方法,其特征在于,首先设计关系数据库表KnowLedge、KLT、Question、QKT、Test、DiagRst、Master,其中表KnowLedge记录知识点,表KLT记录知识图中知识之间的直接依赖关系,表Question记录试题库,表QKT记录试题库中每个试题测试的知识点,表Test记录某次测试的结果,表DiagRst记录诊断结果、表Master记录已掌握的知识点,表KnowLedge包含字段Kno、KName:Kno的类型为Int,表示知识点编号;KName的类型为Char(100),表示知识点名称;表KLT包含字段PKno、CKno:PKno的类型为Int,表示先决知识点编号;CKno的类型为Int,表示后继知识点编号;PKno与CKno之间存在PKno→CKno;表Question包含字段Qno、Qquestion、Qans:Qno的类型为Int,表示试题编号;Qquestion的类型为Char(200),表示试题题面;Qans的类型为Char(100),表示试题答案;表QKT包含字段Qno、Kno:Qno的类型为Int,表示试题编号;Kno的类型为Int,表示知识点编号;表Test包含字段Qno、Pass:Qno的类型为Int,表示试题编号;Pass的类型为Tinyint,表示试题是否答对,1表示答对,0表示答错;表DiagRst包含字段Kno、Degree:Kno的类型为Int,表示知识点编号;Degree的类型为Int,表示未掌握程度;表Master包含字段Kno、MDegree:Kno的类型为Int,表示知识点编号;MDegree的类型为Int,表示掌握程度;智能教学诊断的具体过程如下:步骤1:declare @C integer; declare @A float; declare @MasterNum integer;步骤2:初始化:清空表DiagRst和表Master;步骤3:处理回答正确的测试题,FOR TestTrue IN (select Qno from Test where Pass=True)LOOPFOR Mst IN (select Kno from QKT where Qno= TestTrue.Qno) LOOP Set @C=(select count(*) from Master where Kno= Mst.Kno) if @C=0 begin insert into Master values (Mst.Kno,1) end else begin update Master set MDegree=MDegree+1 where Kno= Mst.Kno end END LOOP;END LOOP;步骤4:获得掌握程度的平均值,Set @A=(select avg(MDegree) from Master)步骤5:根据答错的试题进行诊断,FOR TestFalse IN (select Qno from Test where Pass=False)LOOPSet @MasterNum = select count(*) from QKT where Qno= TestFalse.Qno and Kno not in (select Kno from Master))if @MasterNum>0 beginFOR NotMst IN (select Kno from QKT where Qno= TestFalse.Qno and Kno not in (select Kno from Master)) LOOP Set @C=(select count(*) from DiagRst where Kno= NotMst.Kno) if @C=0 begin insert into DiagRst values (NotMst.Kno,1) end else begin update DiagRst set Degree=Degree+1 where Kno= NotMst.Kno end END LOOP; end else beginFOR NotMstBs IN select PKno from KLT,QKT,Master where KLT.CKno=QKT.Kno and QKT.Kno=Master.Kno and Qno= TestFalse.Qno and and Master.Degree<@A and PKno not in (select Kno from Master)LOOP Set @C=(select count(*) from DiagRst where Kno= NotMstBs.PKno) if @C=0 begin insert into DiagRst values (NotMstBs.PKno,1) end else begin update DiagRst set Degree=Degree+1 where Kno= NotMstBs.PKno end END LOOP; endEND LOOP;步骤6:按未掌握程度输出结果,Select KName,Degree from KnowLedge,DiagRst where KnowLedge.Kno= DiagRst.Kno order by Degree DESC。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学中山学院,未经电子科技大学中山学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710793320.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种压缩和解压缩有序整数数组的方法
- 下一篇:数据存储的方法及装置