基于LSTM的解题模型及其在认知诊断过程中的应用

2023-10-26 00:50史意意倪晟峰
无线互联科技 2023年15期
关键词:诊断模型测试题典型

史意意,程 嘉,倪晟峰

(江苏金盾检测技术股份有限公司,江苏 南京 210042)

0 引言

认知诊断研究是研究被观察者对某类事物或领域的了解掌握程度。该领域研究源属于心理学研究领域,因为学习过程本质上是一种心理活动过程。目前,认知诊断被广泛地研究和应用在学习测试中,主要是通过认知诊断判断学生对于知识点的掌握情况,形成教学上的反馈,这对于提高教学的质量具有重要意义。

此类研究的基本流程是使用题目来测试学生,根据学生的做题结果来判断学生对知识点的掌握情况,即观察被测试者对测试题目的反应(观察反应模式,ORP)来推知该测试者不可观察的知识状态,即期望反应模式(ERP)。认知诊断研究的目标是尽可能地使ORP与ERP一致。当前,认知诊断研究可以分为两个方面:一方面是知识点结构的表达,以Q矩阵为主流;另一方面是认知诊断模型,这方面模型众多目前已超过百种,主流的模型有使用概率模型的线型逻辑斯蒂克特质模型(LLTM)及基于模式识别和分类技术的规则空间模型(RSM)。

随着计算机技术在各领域应用中的发展,使用算法实现认知诊断成为这方面研究的重点。认知诊断已成为计算机研究领域与心理学研究领域的一个交叉学科。同时,计算机领域中一些方法也开始与认知诊断领域的模型与方法融合,产生了大量新的模型。特别是人工智能神经网络的兴起,在认知诊断领域的应用中取得了长足的发展。神经网络以及深度学习等模型虽然对于学习过程的仿真比传统认知诊断模型更能体现学生的学习过程,但由于神经网络及深度学习模型缺乏解释性,因此不能直接用于认知诊断结论的生成。

为了能在认知诊断中引入神经网络及深度学习模型,生成最终的诊断结论,本文提出一种新的基于LSTM的神经网络模型,通过多层网络架构和调整认知诊断的学习方法,形成可解释的分析结果。本文的主要结构安排如下:首先,介绍目前主流的LLTM和RSM模型以及用于认知诊断的神经网络模型;其次,给出本文的神经网络模型以及认知诊断的训练算法和相应的训练数据与过程;最后,给出基于LSTM的解题过程模型及其在认知诊断中的应用方案。

1 认知诊断与认知诊断模型

1.1 认知诊断概述

认知诊断早期是一种认知科学与心理测量学相结合的研究领域[1]。从20世纪80年代起,认知识诊断已为众多学者所关注,并开展了大量的研究工作,特别是认知科学与心理测量学在教育领域的应用。认知诊断理论研究主要包括两个方面:表达知识点之间的层次与关联关系的Q矩阵理论[2]和认知诊断模型。目前,学者们提出了近百种认知诊断模型。

1.2 典型的认知诊断模型

认知诊断模型中影响力比较深远的模型有LLTM[3]和规则空间模型(RSM)[4],其中:LLTM模型是基于公式(1)完成的。

P(Xij|θi)=exp(θi-bj)/(1+exp(θi-bj)),

(1)

其中,θi是学生的能力参数,bj是题目的难度参数,qjk是知识点k在题目j上的复杂度计分,K为认知诊断过程中的知识点个数,ηk是知识点k的复杂度权重,d是标准化常数。显然,LLTM模型是基于统计与概率的机器学习模型,而该模型面临的问题主要是相关参数的确定。

RSM模型则采用另一种方式来实现对学生认知能力的诊断。首先,RSM模型基于知识点的关联关系建立缩略事件Q矩阵、可达矩阵以及典型项目反应模式。其中,典型项目反应模式是按照诊断的知识点典型属性矩阵建立的,即按照知识点层次组织和关联关系构建不同的知识点掌握分布,每种分布作为一个知识点典型属性矩阵。而每种分布针对不同的知识点构建典型项目(即包含不同知识点的测试题)进行测试,通过项目反应理论中双参数或三参数逻辑斯蒂模型来计算各典型项目的正确率。在获得典型项目正确率后,针对各个被测试学生做题表现采用公式(2)计算其与各典型反应模式的偏差程度。

f(x)=(p(θ)-x)(p(θ)-T(θ))

(2)

其中,p(θ)是典型项目反应模式答题的正确率;T(θ)是典型项目答对的平均率;x是被测试学生的答对情况,1是答对,0是答错。通过公式(2)可以计算出被测试学生与各典型项目反应模式的偏差,从而实现诊断,即距离某个典型项目反应模式欧氏距离最近的典型项目为学生的认知掌握诊断结果。

1.3 基于神经网络与深度学习的建模

除了上述2种模型外,还有各种基于概率统计学习的模型,但由于认知过程的复杂性,统计学习模型难以表达测试题中各知识点的复杂关联关系,很难通过统计学习模型来实现准确的认知诊断。因此近年来学者们开始尝试使用神经网络和深度学习来实现对认知诊断的建模。

这方面的工作有NeuralCD、DIRT等。NeuralCD[5]是一种通用的神经认知诊断框架,主要使用神经网络来建模被测试对象与知识点之间的复杂关系,使用多层神经网络建模,并采用了单调性假设(知识点掌握越深入答对的可能性越高)实现因子的可解释性。DIRT[6]通过测试文本、文本与知识概念之间的关系,使用深度神经网络实现学生和测试参数的诊断过程。在DIRT中,先使用嵌入的方法来表示文本与知识的概念,再使用熟练度来表达学生对知识概念的掌握程度。

上述的这些基于神经网络与深度学习框架都面临着诊断结果的解释问题,因为神经网络类似于黑盒子,能实现对复杂函数与处理过程的仿真与模拟,但实现的过程与原理缺乏解释性。虽然NeuralCD模型尝试了对因子的解释,但仍然难以达到认知诊断的预期效果。

2 基于LSTM对测试过程的拟合

2.1 LSTM模型及其对测试过程的建模

LSTM是基于RNN改造实现的时间序列神经网络,也属于深度学习框架的一种[7]。原始的RNN模型在序列太长时会造成梯度消失,即误差经后向反馈传递至序列前面神经元时,对连接权重的调整消失了。因此RNN只能捕捉到局部关系,无法进行长期关联。

LSTM网络具有一定的“记忆性”,主要是LSTM网络结构设计使得不同时间序列之间存在连接,而不是序列只与其所在位置的前序和后序之间存在反馈。从结构上看,LSTM增加了一系列的逻辑门,进一步增强了LSTM在时序参数传递与反馈过程中对信息的取舍。LSTM主要有3种类型的门结构:遗忘门、输入门和输出门。其中:遗忘门的功能是决定丢弃或保留哪些信息;输入门用于更新状态,将上一时序的信息输入到当前时序中;输出门用来确定下一个时序的输入信息。

由于LSTM对于时序的建模特性,本文使用LSTM来实现对学生测试的解题过程建模。原因在于前述的众多模型中,虽然最终的诊断都依赖于被测试学生的测试结果,但在分析模型中没有表述出解题过程中知识点的应用过程。本文认为解题本质上也是一个应用知识点的时间和状态序列。前述的模型中,大多将测试题目归纳成不同的知识点典型属性组合,这种组合并没有表述出知识点应用对于解题最终结果的制约关系。被测试学生解题失败仅可能是其中某一个知识点的应用失败造成的,现有模型使用的统计概率公式是无法表达出这种情况。本文采用LSTM所建立的解题过程模型,如图1所示。

图1 基于LSTM的解题过程模型

图1中方框内为LSTM的神经元,下方的x(i)是采用one-hot编码的知识点;0~n,其中n为本次诊断测试所覆盖的知识点个数。图1是一次解题过程,显然该次测试共需要6步来完成解题,分别a(0)~a(5)每一步分别对应x(i)编码的知识点。最终,本文模型在最后一个时序输出解题的结果,通过Softmax函数得出最终的预测结果,若为0则解题失败,若为1则解题成功。

2.2 基于典型项目反应模式的LSTM认知诊断模型

针对上述的LSTM解题模型,本文提出通过该模型实现认知诊断的方案。该方案从总体上主要分成以下两个步骤:一个是训练步骤,另一个是应用诊断步骤。

2.2.1 基于LSTM解题模型的训练步骤

(1)建立典型项目反应模式:该步骤与其他认知诊断模型类似,通过建立Q矩阵、缩减矩阵,再利用缩减矩阵反转即可得到典型项目的反应模式;(2)测试题的预处理:这一步中主要是将测试题所涉及的各测试知识点进行提取,提取后再按解题的步骤进行划分,形成如的知识点序列;(3)针对测试题的知识点序列进行测算,估算出每种典型项目反应模式相对于测试题的测试结果,主要是对或错二种情况;(4)将的知识点序列转换成知识点的one-hot向量,测试的结果作为样本的结果,输入到LSTM解题模型中,实现各种典型项目反应模式进行训练,获得最终的训练结果。经过上述的训练步骤之后,即获得了各种典型项目反应模式的LSTM模型。

2.2.2 基于LSTM训练模型的认知诊断步骤

(1)针对一批新的测试题目,遍历题目,取出每道题;(2)将每道题的的知识点序列转换成one-hot编码向量,输入到各典型项目反应模式的LSTM模型,获得预测的各典型项目反应模式相对于测试的结果;(3)针对被测试学生的测试结果向量,按欧氏距离计算与上述型项目反应模式结果向量的距离;(4)将距离学生测试结果最近的典型项目反应模式作为诊断的结果。

2.3 典型项目反应模式的测试结果估算

本文上述的认知测试方案中,比较重要的部分是训练LSTM模型过程中,样本生成时需要估计各典型项目反应模式对测试题的结果。现有的规则空间模型使用的是项目反应理论[8]如公式(3)所示。

(3)

其中,比较难以量化的是区分度参数αi和难度参数βj。这两个参数只能通过认知诊断设计人员按经验去设置。显然,这个参数对于最终的诊断结果影响很大。

为了减少参数设置对整理认知诊断结果的影响,本文采用的是如下的方式来对测试的结果进行估算。假设有缩减矩阵A如下所示:

显然,在缩减矩阵中,一共列出了3个知识点(k1,k2,k3)。按缩减矩阵的定义,这3个知识点彼此的关联关系,分别是(k1 ->k2),(k1 ->k3)。一般假设有待测试题,其知识点为(k2,k3)二个知识点,待测试的典型项目模式为(1,1,0),则针对这个待测试题与典型项目模式,其测试的结果应为计算在知识点k1和k2已经掌握的情况下,推算出k3知识点的掌握情况。即:P(k3|k1,k2)=P(k3|k1),因为k2在典型项目模式下已经掌握。

其中,k表示新增知识点的种类数,αk表示不同种类知识点的权重,Mk是各种知识点的新增数量,n为总新增知识点数量。因而测算k3的掌握程度,可以求出k2、k3的知识点与k1知识点的区分度分别为D2,D3,则k3知识点的掌握程度可测算为:D3/(D2+D3),以此作为k3知识点测试的通过率。若其大于0.5,则认为测试通过,若否则判断为测试失败。

3 结语

本文提出了一种新型的认知诊断模型。相对于现有基于统计学习的认知诊断模型以及基于深度学习的认知诊断模型,本文模型的贡献主要侧重于两方面:一是提出使用LSTM来对测试解题的过程进行训练;二是提出基于LSTM解题模型的认知诊断方案,该方案侧重于如何减少认知诊断过程中重复性的工作。基本本文的模型只需要进行一次性的典型项目模式训练,此后认知诊断的设计人员不需要重复性的构建缩减矩阵以及计算不同测试题的典型项目模式测试通过概率,只需要设计人员提炼出测试题的解题知识点序列,就可以实现新测试项目下的认知诊断。这使得本文模型对于认知诊断的简化与普适性推广具有重要的意义。

猜你喜欢
诊断模型测试题典型
用最典型的事写最有特点的人
多项式求值题的典型解法
典型胰岛素瘤1例报道
CD4细胞计数联合IGRA预测AIDS/Ⅲ型TB影像诊断模型分析
《一次函数》测试题
必修1、必修2第二轮复习测试题
典型引路 稳步推进