一种基于DKT的信息处理方法及装置
技术领域
本发明实施例涉及信息处理技术领域,尤其涉及一种基于DKT的信息处理方法及装置。
背景技术
随着计算机技术在教育领域的广泛应用,自适应测试及自适应学习等日益得到人们的关注。自适应学习系统旨在提供一种学生自主学习平台,其对学生的解题信息进行收录,并通过技术手段对学生的做题能力进行实时评估,分析最适合学生掌握所学科目的学习路径,并与此同时对题库数据进行整合更新。自适应学习系统有合理优化学生学习日程、调动学生的学习积极性、辅助教师提高教学效率及解决教育资源分配不均等功能。
自适应学习的核心在于如何通过计算机有效的评估学生的解题信息并安排相应的学习路径。关于学生测试评估问题的研究,可追溯到二十世纪30年代提出的经典测试理论(Classical test Theory,CTT),该理论将学生解题结果看成是学生能力加随机噪声的某种线性拟合,其对心理与教育测量的理论和实践都有巨大的贡献。然而,随着时代发展,学生所学知识内容逐渐丰富和多样化,而CCT理论对测试题组的标准化要求以及随机化技术难以重复性实施等因素限制了CCT理论的应用与发展,该理论已不能满足日益多样化的教学方式和日常学习评估。因此,新的理论脱颖而出,例如贝叶斯知识跟踪(Bayesianknowledge tracing,BKT)模型、项目反映理论(Item response theory,IRT)及深度学习知识追踪(DeepKnowledge Tracing,DKT)等。
DKT网络模型是2015年斯坦福(Stanford)大学的学者提出的一种基于神经网络的模型,能够对学生的做题情况(如做对或做错)进行预测,可适用于自适应学习系统,但该模型理论及实践并不成熟,预测精度及准确度有待提高。
发明内容
本发明实施例的目的是提供一种基于DKT的信息处理方法及装置,以对现有的基于DKT网络模型预测答题者做题情况的方案进行优化。
一方面,本发明实施例提供了一种基于DKT的信息处理方法,包括:
获取预设数量的答题者关于目标题库的答题信息样本;
基于答题者的做题数量对所述答题信息样本进行聚类,得到多个训练样本子集;
采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型;
利用所述目标DKT网络模型对当前答题者的做题情况进行预测。
另一方面,本发明实施例提供了一种基于DKT的信息处理装置,包括:
答题样本获取模块,用于获取预设数量的答题者关于目标题库的答题信息样本;
聚类模块,用于基于答题者的做题数量对所述答题信息样本进行聚类,得到多个训练样本子集;
训练模块,用于采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型;
预测模块,用于利用所述目标DKT网络模型对当前答题者的做题情况进行预测。
本发明实施例中提供的基于DKT的信息处理方案,获取预设数量的答题者关于目标题库的答题信息样本,基于答题者的做题数量对答题信息样本进行聚类,得到多个训练样本子集,采用迭代方式依次利用多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型,最后利用目标DKT网络模型对当前答题者的做题情况进行预测。通过采用上述技术方案,对不定长的答题者做题数据根据做题数量征进行聚类,随后采用迭代的方式利用聚类后的多个训练样本子集对DKT网络进行训练,得到用于预测做题情况的目标DKT网络模型,可减少不同答题者做题量波动剧烈给DKT网络模型带来的过拟合误差,进而提高DKT网络模型的预测精度及准确度。
附图说明
图1为本发明实施例一提供的一种基于DKT的信息处理方法的流程示意图;
图2为本发明实施例一提供的一种DKT网络示意图;
图3为本发明实施例二提供的一种基于DKT的信息处理方法的流程示意图;
图4为本发明实施例三提供的一种基于DKT的信息处理装置的结构框图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种基于DKT的信息处理方法的流程示意图,该方法可以由基于DKT的信息处理装置执行,其中该装置可由软件和/或硬件实现,一般可集成在自适应学习系统内的终端中,该终端可以是个人电脑或服务器等终端,也可以是平板电脑或智能手机等移动终端,本发明实施例不作具体限定。如图1所示,该方法包括:
步骤110、获取预设数量的答题者关于目标题库的答题信息样本。
本实施例中,可根据实际需求选取目标题库以及答题者的预设数量。例如,可以获取一个班级的学生关于初中一年级英语科目题库的答题信息样本;也可以获取A市12-15岁年龄段的学生关于奥林匹克数学题库的答题信息样本;当然,答题者并不限于学生,还可应用于其他领域中,如可获取B地区驾照考取人员关于科目一的答题信息样本等。示例性的,答题信息样本可包括答题数量、作答题目及答题情况(如做对或做错)等信息。
步骤120、基于答题者的做题数量对所述答题信息样本进行聚类,得到多个训练样本子集。
其中,聚类的方式可以有很多种,本实施例不做具体限定。例如,可以为层式聚类、谱聚类、ward聚类以及具有噪声的基于密度的聚类法(Density-Based SpatialClustering of Applications with Noise,DBSCAN)等方法,优选为K-means聚类方法。
在经过聚类后,可将答题信息样本分为多个部分,每个部分包含的答题信息可作为一个训练样本子集,用于训练DKT网络。DKT网络包含输入层、中间层和输出层。其中,输入层为答题信息,输出层为预测结果,中间层可为循环神经网络(Recurrent NeuralNetworks,RNN)、长短期记忆(Long Short Term Gated Memory,LSTM)网络和门限递归单元(Gated Recurrent Unit,GRU)网络中的任意一种。本实施例中,以优选的RNN为例进行说明。
图2为本发明实施例一提供的一种DKT网络示意图,下方为输入层,中部为基于RNN的中间层,上方为输出层。在DKT网络中,输入数据一般可由向量表示,如独热(one-hot)向量,因此,本实施例中可将答题信息样本转化为独热向量。示例性的,本步骤可具体包括:基于答题者的做题数量对所述答题信息样本进行聚类,得到多个答题信息样本子集;对于每个答题信息样本子集,将当前答题信息样本子集中每个答题者对应的答题信息转化为基于题目和知识点的独热向量,得到当前答题信息样本子集对应的训练样本子集。
进一步的,将当前答题信息样本子集中每个答题者对应的答题信息转化为基于题目和知识点的独热向量,得到当前答题信息样本子集对应的训练样本子集,可包括:根据当前答题信息样本子集中每个答题者对应的答题信息分别生成当前答题者的基于题目答题情况的第一独热向量和基于知识点答题情况的第二独热向量;对所述第一独热向量和所述第二独热向量进行直和操作,得到当前答题者的基于题目和知识点的独热向量;将当前答题信息样本子集中包含的所有答题者对应的基于题目和知识点的独热向量汇总为当前答题信息样本子集对应的训练样本子集。
例如,设
其中M为题库中题目总数,N是题库中知识点个数,
表示直和操作。这里
意思是
是一个长度为2M的向量,而且每个分量只能取0或1。将所有题目进行从1到M的编号,比如时刻t时第m道题目被做对了,则
中第m分量为1,其余分量为0;如果第m道题目做错了,则
中第M+m分量为1,其余为0。
为该题目所属的知识点的0、1化向量,每个时刻学生只会做一道题目,这里的
是该道题目知识点层面的表示。本发明实施例在现有DKT网络模型基础上加入了知识点信息,这样设置的好处在于:在做向量化的时候,能够获知更多的关于每道题目的信息,可进一步提升模型预测准确度。输出数据y
t∈[0,1]
M表示该学生现阶段做每一道题得分的预测结果,以颜色(图2中以灰度的不同深浅程度代表不同的颜色)表示做题对错的概率。
可以理解的是,当目标题库中题目数量较大时,根据压缩感知原理,可对所得独热向量进行压缩重构。例如,可利用所得独热向量的稀疏性对所述所得独热向量进行压缩重构:
其中C是其中元素满足
的logM×2M随机矩阵,将当前答题信息样本子集中包含的所有答题者对应的压缩重构后的向量汇总为当前答题信息样本子集对应的训练样本子集。此外,也可利用Autoencoder或限制波尔兹曼机(RestrictedBoltzmann Machines,RBM)进行主要特征提取的方式来代替压缩重构。此处优化的好处在于,可避免因向量长度过大而影响训练效率以及造成机器内存不足等情况的发生。
步骤130、采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型。
具体的,本步骤可包括:采用第一个训练样本子集对初始DKT网络进行训练,得到所述第一个训练样本子集对应的DKT网络中间模型;对于第二个训练样本子集至倒数第二个训练样本子集中的每个训练样本子集,采用当前训练样本子集对上一个训练样本子集对应的DKT网络中间模型进行训练,得到所述当前训练样本子集对应的DKT网络中间模型;采用最后一个训练样本子集对所述倒数第二个训练样本子集对应的DKT网络中间模型进行训练,得到目标DKT网络模型。
因为现有方案中在对DKT网络进行训练时,对变长的输入都需要进行加Mask进行固定长度处理,而不同答题者的做题数量变化非常大,因此输入的向量的长度变化也非常大,对于做题数量较少的答题者对应的输入向量会比较短,若经过加Mask进行固定长度处理后,数据量大幅增加,会影响训练效率。因此,本发明实施例中,采用迭代方式依次利用多个训练样本子集中的每个训练样本子集对DKT网络进行训练,可有效解决上述问题。
步骤140、利用所述目标DKT网络模型对当前答题者的做题情况进行预测。
示例性的,本步骤可具体包括:获取当前答题者的历史答题信息,将所述历史答题信息输入至所述目标DKT网络模型中,以对当前答题者的关于目标题库中未做题目的做题情况进行预测。在目标DKT网络模型训练完毕后,将当前答题者的历史答题信息进行与训练阶段一致的转换操作,如转化为基于题目和知识点的独热向量,将该独热向量输入至目标DKT网络模型,即可得到答题者关于目标题库中未做题目的做题情况进行预测。
本发明实施例一提供的基于DKT的信息处理方法,获取预设数量的答题者关于目标题库的答题信息样本,基于答题者的做题数量对答题信息样本进行聚类,得到多个训练样本子集,采用迭代方式依次利用多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型,最后利用目标DKT网络模型对当前答题者的做题情况进行预测。通过采用上述技术方案,对不定长的答题者做题数据根据做题数量征进行聚类,随后采用迭代的方式利用聚类后的多个训练样本子集对DKT网络进行训练,得到用于预测做题情况的目标DKT网络模型,可减少不同答题者做题量波动剧烈给DKT网络模型带来的过拟合误差,进而提高DKT网络模型的预测精度及准确度。
实施例二
图3为本发明实施例二提供的一种基于DKT的信息处理方法的流程示意图,本实施例以上述实施例为基础进行优化,在本实施例中,在对DKT网络进行训练之前,还对DKT网络进行了调优操作。
进一步的,还可基于Bucket机制或动态神经网络机制对DKT网络进行改进。
相应的,本实施例的方法包括如下步骤:
步骤310、对DKT网络进行调优处理。
其中,所述调优处理对应的调节内容包括网络层数、网络间的耦合关系、每层网络类型、激活函数层的选择、目标函数的选取、梯度的截断阈值、自适应优化的学习系数和网络权值的随机初始化方案中的至少一个。
步骤320、基于Bucket机制或动态神经网络机制改进调优后的DKT网络。
示例性的,当中间层为RNN时,此处的动态神经网络机制为动态RNN机制。本步骤中利用Tensorflow/Torch/Theano等深度学习框架中RNN的Bucket机制或动态神经网络机制对调优后的DKT网络进行改进,可实现根据答题者做题的不同数量流转至不同的训练子集(Batch)中进行训练,从而避免了做题长度波动大给训练带来的过拟合问题。
步骤330、获取预设数量的答题者关于目标题库的答题信息样本。
步骤340、基于答题者的做题数量对所述答题信息样本进行聚类,得到多个答题信息样本子集。
步骤350、对于每个答题信息样本子集,将当前答题信息样本子集中每个答题者对应的答题信息转化为基于题目和知识点的独热向量,利用所得独热向量的稀疏性对所述所得独热向量进行压缩重构,将当前答题信息样本子集中包含的所有答题者对应的压缩重构后的向量汇总为当前答题信息样本子集对应的训练样本子集。
步骤360、采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型。
步骤370、获取当前答题者的历史答题信息,将所述历史答题信息输入至所述目标DKT网络模型中,以对当前答题者的关于目标题库中未做题目的做题情况进行预测。
本发明实施例二提供的基于DKT的信息处理方法,在训练DKT网络之前,对其进行了调优,还基于Bucket机制或动态神经网络机制对调优后的DKT网络进行进一步的改进,能够进一步提高DKT网络模型的预测精度及准确度。
实施例三
图4为本发明实施例三提供的一种基于DKT的信息处理装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在自适应学习系统内的终端中,该终端可以是个人电脑或服务器等终端,也可以是平板电脑或智能手机等移动终端,本发明实施例不作具体限定。如图4所示,该装置包括答题样本获取模块41、聚类模块42、训练模块43和预测模块44。
其中,答题样本获取模块41,用于获取预设数量的答题者关于目标题库的答题信息样本;聚类模块42,用于基于答题者的做题数量对所述答题信息样本进行聚类,得到多个训练样本子集;训练模块43,用于采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型;预测模块44,用于利用所述目标DKT网络模型对当前答题者的做题情况进行预测。
本发明实施例提供的基于DKT的信息处理装置,可减少不同答题者做题量波动剧烈给DKT网络模型带来的过拟合误差,进而提高DKT网络模型的预测精度及准确度。
在上述实施例的基础上,所述训练模块用于:
采用第一个训练样本子集对初始DKT网络进行训练,得到所述第一个训练样本子集对应的DKT网络中间模型;
对于第二个训练样本子集至倒数第二个训练样本子集中的每个训练样本子集,采用当前训练样本子集对上一个训练样本子集对应的DKT网络中间模型进行训练,得到所述当前训练样本子集对应的DKT网络中间模型;
采用最后一个训练样本子集对所述倒数第二个训练样本子集对应的DKT网络中间模型进行训练,得到目标DKT网络模型。
在上述实施例的基础上,所述聚类模块用于:
基于答题者的做题数量对所述答题信息样本进行聚类,得到多个答题信息样本子集;
对于每个答题信息样本子集,将当前答题信息样本子集中每个答题者对应的答题信息转化为基于题目和知识点的独热向量,得到当前答题信息样本子集对应的训练样本子集。
在上述实施例的基础上,所述将当前答题信息样本子集中每个答题者对应的答题信息转化为基于题目和知识点的独热向量,得到当前答题信息样本子集对应的训练样本子集,包括:
根据当前答题信息样本子集中每个答题者对应的答题信息分别生成当前答题者的基于题目答题情况的第一独热向量和基于知识点答题情况的第二独热向量;
对所述第一独热向量和所述第二独热向量进行直和操作,得到当前答题者的基于题目和知识点的独热向量;
将当前答题信息样本子集中包含的所有答题者对应的基于题目和知识点的独热向量汇总为当前答题信息样本子集对应的训练样本子集。
在上述实施例的基础上,所述将当前答题信息样本子集中包含的所有答题者对应的基于题目和知识点的独热向量汇总为当前答题信息样本子集对应的训练样本子集,包括:
利用所得独热向量的稀疏性对所述所得独热向量进行压缩重构;
将当前答题信息样本子集中包含的所有答题者对应的压缩重构后的向量汇总为当前答题信息样本子集对应的训练样本子集。
在上述实施例的基础上,该装置还包括:
调优模块,用于在所述采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型之前,对DKT网络进行调优处理,所述调优处理对应的调节内容包括网络层数、网络间的耦合关系、每层网络类型、激活函数层的选择、目标函数的选取、梯度的截断阈值、自适应优化的学习系数和网络权值的随机初始化方案中的至少一个;
所述训练模块用于:
采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对经过调优处理后的DKT网络进行训练,得到目标DKT网络模型。
在上述实施例的基础上,该装置还包括:
改进模块,用于在所述采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型之前,基于Bucket机制或动态神经网络机制改进DKT网络;
所述训练模块用于:
采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对DKT网络进行训练,得到目标DKT网络模型,包括:
采用迭代方式依次利用所述多个训练样本子集中的每个训练样本子集对经过改进后的DKT网络进行训练,得到目标DKT网络模型。
在上述实施例的基础上,所述DKT网络中的中间层为循环神经网络RNN、长短期记忆LSTM网络和门限递归单元GRU网络中的任意一种。
上述实施例中提供的一种基于DKT的信息处理装置可执行本发明任意实施例所提供的基于DKT的信息处理方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于DKT的信息处理方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。