1.一种基于BERT神经网络和多任务学习的主观题自动评阅方法,包含学生答案消代和主观题自动评阅两种任务的学习,其特征在于包括以下步骤:S1.以题干作为知识源,使用共享的BERT神经网络和多头注意力进行编码,对学生答案的代词进行消代;
S2.将标准答案和消代后的学生答案形成的句对,作为自动评阅学习任务的输入序列,使用共享的BERT神经网络进行编码和分类,得到学生答案的评分等级;
S3.通过联合计算步骤S1和步骤S2的损失函数,联合训练一个具有学生答案代词消代与主观题自动评阅的多任务神经网络模型;
S4.使用步骤S3训练成型的多任务神经网络模型,对任意的学生答案进行消代与评阅;
所述共享的BERT神经网络是指步骤S1和步骤S2中共享参数的BERT神经网络;
所述BERT神经网络是指Google AI Language提出的Bidirectional Encoder Representations from Transformers(BERT)语言模型;
所述步骤S1具体包括:
S1.1以由等待消代的代词p、包含代词的学生答案S={s1,s2,…,sm1}与BERT编码符号所组成的句对1序列SP1作为代词语义提取的输入序列,将题干T={t1,t2,…,tn1}与BERT编码符号所组成的题干序列ST作为题干语义生成的输入序列,如下所示:SP1={[CLS],s1,s2,…,sm1,[SEP],p,[SEP]} (1)ST={[CLS],t1,t2,…,tn1,[SEP]} (2)其中,[CLS]是BERT分类符的编码,[SEP]是BERT结束符的编码,p∈S是学生答案S中等待消代的代词,n1是题干T的长度,m1是学生答案S的长度;
S1.2将题干序列ST和句对1序列SP1分别送入共享的BERT神经网络进行编码,得到题干语义表示CST、句对1语义表示CSP1和代词语义向量vp,计算过程如下所示:cls sep
其中,BERT(·)表示共享的BERT神经网络,h 、h 分别是编码[CLS]和[SEP]在BERT中对应的隐藏状态, 分别是题干序列ST和学生答案S中的词在BERT中对应的隐藏状p态,h是代词p在BERT中对应的隐藏状态,d是共享的BERT神经网络的隐藏单元数,k1是题干序列ST的长度且有k1=n1+2,k2是句对1序列SP1的长度且有k2=m1+4;
S1.3将代词语义向量vp连接到题干语义表示CST中的每一个隐藏状态,然后通过线性变换和多头注意力得到题干语义融合表示 计算过程如下所示:其中,FTP是连接代词语义向量 后的题干语义连接表示,fi是FTP中的第i个元素, 是CST中的第i个元素,符号“;”表示连接运算, 是一个权重矩阵, 是一个偏置向量; 是将FTP线性变换后的题干语义浓缩表示; 表示输入的多头注意力MHA(Q,K,V);
S1.4使用题干语义融合表示 进行代词成分位置抽取,得到代词成分在 中的开始位s e置u和结束位置u,进而使用题干序列ST得到代词成分E,计算过程如下所示:首先,计算 中所有隐藏状态的开始位置和结束位置的概率:其中, 为用于计算开始位置概率的权重向量, 为用于计算结束位置s
概率的权重向量, 为两个偏置参数,l为 中所有隐藏状态的开始位置的概率e向量,l为 中所有隐藏状态的结束位置的概率向量,softmax(·)为用于计算概率的归一化函数;
s e
其次,计算代词成分在 中的开始位置u和结束位置u:s s
u=argmax1<i<k1(l(i)) (12)s s e e s
其中,函数l (i)表示l中第i个元素,函数l (j)表示l中第j个元素,argmax1<i<k1(ls s e e(i))表示返回使得l (i)为l 中最大值的i, 表示返回使得l (j)为l中最大值的j;
s e
最后,按照u 和u 在题干序列ST中的对应位置,从题干序列ST中提取代词成分E,如下所示:p
S1.5使用代词成分E替换学生答案S中的代词p,得到消代后的学生答案S,如下所示:p
其中,m2为消代后的学生答案S的长度;
所述步骤S2具体包括:
p
S2.1以标准答案A={a1,a2,…,an2}、消代后的学生答案S与BERT编码符号所组成的句对2序列SP2,作为主观题自动评阅学习任务的输入序列,如下所示:其中,n2是标准答案A的长度;
S2.2将句对2序列SP2送入共享的BERT神经网络进行处理,得到句对2语义表示CSP2,如下所示:其中, 是SP2中的词在共享的BERT神经网络中对应的隐藏状态集合,k3是句对2序列SP2的长度且有k2=n2+m2+3;
S2.3对句对2语义表示CSP2执行最大值池化操作,得到句对2分类向量Z,计算过程如下所示:其中,zj是Z的第j个元素,maxPooling(CSP2)表示对 执行按列求最大值的池化操作,计算过程如下:其中,Max(·)表示求最大值的函数, 为CSP2的第i行第j列的元素;
S2.4对句对2分类向量Z执行softmax的线性变换,进行评分等级的概率计算,并得出最终的评分等级,计算过程如下:T o
o=MZ+b (20)
T
其中, 是评分等级表示矩阵,Z 表示对Z进行转置, 是一个偏置向量,dy是评分等级的个数, 是表示所有评分等级置信分数的向量,y为一个评分等级,oy表示标注为评分等级y的样本的置信分数,oi表示样本在第i个评分等级上的置信分数,P(y|Z)表示给定句对2分类向量Z在评分等级y上的预测概率,Y是所有评分等级的集合,*y 为最终评定的评分等级, 表示返回使得P(y|Z)为最大值的评分等级,exp(·)表示以自然常数e为底的指数函数;
所述步骤S3具体包括:
S3.1分别使用交叉熵损失误差计算学生答案代词消代的损失函数和主观题自动评阅的损失函数,计算过程如下:其中,Ω是学生答案代词消代与主观题自动评阅多任务的训练集,|Ω|表示训练集Ω的大小, 分别表示Ω中第i个训练样本开始位置和结束位置的概率向量, 是Ω中第i个训练样本的代词成分在题干中的真实开始位置, 是Ω中第i个训练样本的代词成分在题干中的真实结束位置, 分别是关于真实开始位置与真实结束位置的one‑hot独热向量, 是Ω中第i个训练样本的真实评分等级,Zi是Ω中第i个训练样本的句对2分类向量,Υ1是进行学生答案代词消代训练时使用的损失函数,Υ2是进行主观题自动评阅训练时使用的损失函数;
S3.2使用如下的公式(25)计算联合训练学生答案代词消代与主观题自动评阅的联合损失函数其中,λ和β是两个权重参数;
S3.3联合训练目标是最小化公式(25)计算的联合损失误差。