本发明属于智能教育领域,具体涉及一种基于认知诊断与知识点间先序关系的习题推荐方法及系统。
背景技术:
1、近年来,随着人工智能技术的快速发展,智能教育愈发受到广泛关注,并展示出迅猛的发展势头。而在智能教育中,习题推荐占据了非常重要的地位。习题作为一种学习资源,在学生的个性化学习中发挥着重要作用,一方面通过解答习题,可以有效检验学习者对目标知识点的掌握程度。另一方面,它可以帮助学习者在课后巩固并加深对课堂知识点的理解。鉴于当前学习者可访问的习题资源量巨大,而他们的课后时间却非常有限,因此如何基于学习者的具体情况向他们推荐有针对性的个性化习题是一个重要的研究课题。
2、目前的个性化习题推荐技术主要分为两大类:第一类源于电商领域的推荐模式,以协同过滤为代表的传统推荐模型;另一类是基于认知诊断和知识追踪的推荐模型。基于协同过滤的个性化习题推荐技术通常侧重于研究用户的兴趣,使推荐的产品符合用户偏好,此种技术虽在电商领域广泛应用并取得了很好的效果,但并不适用于习题推荐领域。习题推荐作为一种教育资源推荐,其目标并不是像电商领域那样简单地预测或迎合用户的潜在偏好,而应该通过学习者的具体知识状态来向其推荐习题,进而弥补学习者的薄弱知识点,提高学习效率。为弥补该不足,有人提出了基于认知诊断和知识追踪的推荐模型,该模型主要通过对学生知识状态进行建模,根据学习者的知识状态向其推荐习题。但目前的研究并没有综合考虑到知识点间先序关系和习题知识点关系对诊断结果的影响,并且目前的研究只是简单地对诊断得到的薄弱知识点进行习题推荐,没有考虑到知识点间先序关系的影响,导致推荐的习题不能完全覆盖学习者的薄弱之处。
技术实现思路
1、为了解决现有技术中存在的问题,本发明提供一种基于认知诊断与知识点间先序关系的习题推荐方法,考虑到知识点间先序关系的影响,并根据学习阶段的不同动态调整抽取比例,构成最终推荐习题集,以保证生成的最终推荐习题集能够最大化提升学习者的学习效率,实现真正的个性化习题推荐。
2、为了实现上述目的,本发明采用的技术方案是:基于认知诊断与知识点间先序关系的习题推荐方法,包括以下步骤:
3、结合学习者的做题行为数据与根据知识点先决关系矩阵修订之后的习题知识点矩阵,考虑学习者猜测和失误因素,获得学习者知识点掌握矩阵;
4、将得到的学习者知识点掌握矩阵作为循环神经网络rnn的输入,得到学习者的认知诊断向量;
5、将得到的学习者认知诊断向量划分为两个等级,并根据等级差异以及知识点先决关系得到学习者的基础薄弱知识点集和综合薄弱知识点集;
6、结合基础薄弱知识点集与综合薄弱知识点集的特性差异,采取不同的策略为基础薄弱知识点集和综合薄弱知识点集构建候选习题集,并根据学习阶段的不同动态调整抽取比例,构成最终推荐习题集。
7、进一步的,结合学习者的做题行为数据与根据知识点先决关系矩阵修订之后的习题知识点矩阵包括:
8、获取初始习题知识点矩阵q和知识点先决关系矩阵dk;
9、结合知识点先决关系矩阵dk与构建初始习题知识点矩阵q构建修正习题知识点矩阵q:
10、
11、q=q(dk)t。
12、进一步的,考虑学习者猜测和失误因素,获得学习者知识点掌握矩阵包括:结合学习者猜测概率矩阵g与学习者失误概率矩阵m构建学习者当前知识点掌握矩阵a:
13、a=(anj)n×j
14、
15、其中rni表示学习者ln当前是否正确回答了习题pi;qij表示习题pi是否包含知识点kj;gi是学习者在习题pi上猜对的概率;mi是学习者在习题pi上由于失误未答对的概率。
16、进一步的,考虑学习者猜测和失误因素,获得学习者知识点掌握矩阵包括:还包括构建学习者历史知识点掌握矩阵b:
17、b=(bnj)n×j
18、
19、其中hni表示学习者ln历史是否正确回答了习题pi。
20、进一步的,学习者当前知识点掌握矩阵b和历史知识点掌握矩阵a输入到循环神经网络中得到学习者认知诊断向量c时:
21、按下式评定学习者的认知水平:
22、ht=u·αt+w·mt-1
23、mt=tanh(ht)
24、ct=σ(v·mt+b)
25、其中,αt是学习者的知识点掌握矩阵,代表当前输入,并且满足ht表示隐藏层在时间t的状态向量,由当前输入和先前状态计算得出,tanh()是激活函数,mt是引入了非线性因素之后的状态向量,σ()表示sigmoid激活函数,ct表示时间t时学习者认知诊断向量,认知水平最终输出为ct,即t取最大值t时,w、u、v都是网络模型中的权重矩阵,b是偏置矩阵。
26、进一步的,循环神经网络训练时的损失函数为:
27、
28、其中,cnj表示模型预测的学习者ln对知识点kj的掌握状态,值越接近1,表示学习者对该知识点的掌握程度越高;值越接近0,则表示掌握程度越低,cnj表示学习者ln对知识点kj的实际掌握状态,nj表示总的观测点数。
29、进一步的,将得到的学习者认知诊断向量划分为两个等级,并根据等级差异以及知识点先决关系得到学习者的基础薄弱知识点集和综合薄弱知识点集包括:
30、获取学习者掌握一般知识点集sk、学习者未掌握知识点集tk以及学习者基础薄弱知识点集weak0;
31、综合薄弱知识点集weak1包括两部分,第一部分通过追踪未掌握知识点集tk中知识点的先序关系得到,追溯深度限制为3层,第二部分通过追踪掌握一般知识点集sk中知识点的先序关系得到,对于该部分只考虑其直接前驱知识点,即追溯深度限制为1层;
32、weak1=tk_p∪sk_p
33、tk_p=(dk+dk2+dk3)×vector(tk)
34、sk_p=dk×vector(sk)
35、其中,tk_p包括tk中知识点的前驱知识点,追溯最多三层,sk_p包括sk中知识点的直接前驱知识点,即追溯一层,dk是知识点先决关系邻接矩阵,表示知识点之间直接的前驱关系,dk2表示两步可以到达的前驱关系,dk3表示三步可以到达的前驱关系,vector()表示特定的知识点集,如果知识点j属于指定集合,则向量中对应的第j个元素是,当(dk+dk2+dk3)与向量vector相乘时,结果向量的非零元素将指示出与原始集合相关的所有知识点的索引。
36、进一步的,候选习题集包括第一候选习题集和第二候选习题集,其中第一候选习题集为针对基础薄弱知识点集weak0而构建的习题集,第二候选习题集为针对综合薄弱知识点集weak1而构建的习题集,构建第一候选习题集时,考虑只包含单个基础薄弱知识点的习题;构建第二候选习题集时,选择覆盖尽可能多综合薄弱知识点的习题;
37、第一候选习题集cs1:
38、
39、第二候选习题集cs2:
40、
41、按照设定比例从第一候选习题集cs1和第二候选习题集cs2抽取构成最终推荐习题集fs:
42、fs=select(cs1,β×n)∪select(cs2,(1-β)×n)
43、其中,select(s,m)表示从集合s中抽取m个习题的操作,n表示最终要抽取的习题总个数,β表示从第一候选习题集cs1中抽取习题的比例,所述比例通过学习阶段进行动态调整。
44、进一步的,在学习的初始阶段,将β调整为0.7;在进阶阶段,将β调整为0.5;在高级阶段,此时学习者的基础非常扎实,将β调整为0.3。
45、本发明同时还提供一种基于认知诊断与知识点间先序关系的个性化习题推荐系统,包括学习者知识点掌握矩阵获取模块、认知诊断向量获取模块、分类模块以及习题推荐模块;
46、学习者知识点掌握矩阵获取模块用于结合学习者的做题行为数据与根据知识点先决关系矩阵修订之后的习题知识点矩阵,考虑学习者猜测和失误因素,获得学习者知识点掌握矩阵;
47、认知诊断向量获取模块用于将得到的学习者知识点掌握矩阵作为循环神经网络rnn的输入,得到学习者的认知诊断向量;
48、分类模块用于将得到的学习者认知诊断向量划分为两个等级,并根据等级差异以及知识点先决关系得到学习者的基础薄弱知识点集和综合薄弱知识点集;
49、习题推荐模块用于结合基础薄弱知识点集与综合薄弱知识点集的特性差异,采取不同的策略为基础薄弱知识点集和综合薄弱知识点集构建候选习题集,并根据学习阶段的不同动态调整抽取比例,构成最终推荐习题集。
50、与现有技术相比,本发明至少具有以下有益效果:相比于现有技术采用的习题推荐方法,本发明综合考虑到知识点间先序关系以及猜测失误因素对学习者答题记录的影响,从而得到更准确的学习者认知诊断结果,并且根据学习者认知诊断结果将其对应的知识点划分为两个等级,为避免在知识点之间有广泛依赖关系的情况下通过知识点间先序关系追溯到的知识点过多,本发明根据等级差异(即掌握程度的不同)来调整追溯深度,最终得到基础薄弱知识点集和综合薄弱知识点集;并考虑到两个知识点集的特性差异,为其构建候选习题集时也采取了不同的策略,为帮助学习者集中精力克服单个知识点的具体难题,避免一开始就处理过于复杂的概念,构建第一候选习题集时只选择包含该单个知识点的习题;同样地,为帮助学习者看到不同知识点之间的联系,促进概念间的整合和深层次理解,构建第二候选习题集时优先选择覆盖尽可能多知识点的习题;并且根据学习阶段的不同,在生成最终推荐习题集时会动态调整从两个习题集中抽选习题的比例,以此达到真正的个性化习题推荐。