一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于BERT的深度神经网络模型的自动评卷方法与流程

2022-02-20 14:15:08 来源:中国专利 TAG:

一种基于bert的深度神经网络模型的自动评卷方法
技术领域
1.本发明涉及教育技术与计算机应用技术领域,尤其是一种基于bert的深度神经网络模型的自动评卷方法,可广泛应用于各个领域的简答题计算机自动阅卷系统中。


背景技术:

2.考试试卷中的试题从答案组成的形式上,被普遍分为客观题与主观题两大类。答案以选项编号表示的单选题、多选题、判断题等试题被称为客观题,而答案采用自然语言表示的简答题、名词解释和论述题等试题被称为主观题。由于单选题、多选题、判断题等客观题目的答案都是以选项编号表示,目前计算机对于此类题型进行自动阅卷时,只需将标准答案的选项编号与学生答案的选项编号进行简单的匹配运算,匹配成功则答案正确,该处理技术已经取得较好的成果。但对于答案采用自然语言表示的主观题自动阅卷技术,如:对简答题、名词解释和论述题等自动评卷,由于其受到自然语言理解、模式识别等理论与技术瓶颈影响,效果不是很理想。
3.主观题不同于客观题,不仅需要采用自然语言表示答案,而且具有一定的主观性,允许学生在一定的范围内答题,因此答案往往不是唯一的,而且学生答题的方式会有多种形式。另一方面,教师在批阅试卷的时候,还可能会受到主观因素的影响,以及学生字体是否美观、卷面是否整洁等的影响,使得教师在评卷时,出现不合理的加分或扣分现象,有失考试的公正性和公平性。主观题的计算机自动阅卷,既减轻了教师人工阅卷的劳动强度,又减少人为因素的影响,保证了阅卷的客观性、公正性,因此对主观题计算机自动阅卷技术的研究,具有重要的意义。然而,由于主观题学生答案的多样性与随意性,目前还没有使用计算机对主观题进行自动阅卷的成熟技术,并且普遍仅关注于答案文本较短的简答题。
4.在传统的简答题计算机自动阅卷系统中,普遍采用关键字匹配技术进行主观题自动阅卷,即在答案中标注出若干关键字或关键词,将其与学生答案进行匹配,并根据匹配成功的多少对学生答案进行评卷,由于自然语言的多样性与随意性,这种方法的评卷准确率非常低。为提高评卷的准确率,出现了一些基于句法分析与语义分析的主观题自动阅卷方法,这类评卷方法虽然可以在评卷过程中融入语义分析,提高了评卷的准确率,但由于句法分析自身的准确率不高,以及语义分析无法处理句子的时序性,这极大地限制了这类系统的应用范围与实用性。
5.随着人工神经网络技术的不断发展,许多深度学习模型如基于lstm的模型、基于cnn&lstm的模型和基于transformer的模型被应用于简答题评卷。这些深度学习模型利用不同的神经网络从转换为词嵌入序列的答案文本中自动提取局部和全局语义信息,从而提供一种无需任何特征工程工作的端到端方法。然而,简答题自动评卷的深度学习方法仍然具有挑战性,主要有两个原因:首先,学生通常使用不同的自由文本来回答同一个问题,学生的答案在句子结构、语言风格和文本长度上可能存在显着差异。因此,有必要利用先进的学习技术在简答题自动评卷任务中结合不同的深度神经网络,以实现对学生答案更深入的语义理解;其次,简答题自动评卷的深度学习方法是一种全监督机器学习,需要为训练语料
中的每个学生答案分配一个标签分数,如表1所示。自由表达的学生答案,简答题自动评卷的训练语料库通常很小。因此,如何在小语料库上训练出稳定有效的深度神经网络模型是简答题自动评卷深度学习方法面临的一大挑战。
6.表1在mohler数据集中的简答题语料
7.

技术实现要素:

8.本发明公开了一种基于bert的深度神经网络模型的自动评卷方法,采用了基于bert的自动简答题评卷深度神经网络模型,实现端到端的简答题自动阅卷,以更有效的方法解决简答题自动评卷问题。
9.为实现上述目的,本发明的技术方案为:
10.一种基于bert的深度神经网络模型的自动评卷方法,包括以下步骤:
11.s1.bert编码层:将输入序列s送入bert编码层进行处理,所述bert编码层以微调的方式运行,得到bert编码层的输出o
bert
,并把o
bert
作为简答题评卷的初始编码;
12.s2.语义细化层:使用bi-lstm网络为bert编码层的输出o
bert
提取精细的全局上下文,使用capsule网络为bert编码层隐藏状态提取相关局部上下文,bi-lstm网络和capsule网络并行工作,得到输出和o
caps

13.s3.语义融合层:通过语义融合层将语义细化层的三种输出语义和o
caps
整合在一起,得到简答题评卷的连接语义表示x;使用一个多头注意力共同关注x中不同位置的信息,得到简答题评卷的融合语义表示x
(h)

14.s4.预测层:对简答题评卷的融合语义表示x
(h)
执行一个最大池化操作,得到简答题评卷的最终语义表示z,将z输入到一个线性变换层,进行评卷区间的预测概率计算,获得使预测概率为最大值的评卷区间;
15.s5.将标准交叉熵损失函数中的计算标签改进为三重热点黄金分布,训练实现最小化ω中所有训练学生答案的损失误差,ω是自动简答题评卷任务中的训练学生答案的集合。
16.进一步的,所述步骤s1具体包括:
17.s1.1 bert编码层的输入序列s是由学生答案和参考答案的句子对所组成,如下所示:
[0018][0019]
其中,w
[cls]
是bert分类符[cls]的编码,q是学生答案,是参考答案的字词编码序列,p是主观题题目t的参考答案,是参考答案的字词编码序列,w
[sep]
是bert分隔符[sep]的编码,u是学生答案中字词的个数,v是参考答案中字词的个数,n是输入序列s的长度,且n=u v 3,dw是bert中字符编码的维度;所述“字词”是指文本经bert的分词器tokenzier分离出的语言片段;
[0020]
s1.2将输入序列s送入bert编码层进行处理,得到bert编码层的输出o
bert
,并把o
bert
作为简答题评卷的初始编码,计算过程如下:
[0021][0022]
其中,bert(
·
)表示bert编码层,是bert编码层的第i个隐藏状态,db是bert编码层的隐藏单元数。
[0023]
进一步的,所述步骤s2具体包括:
[0024][0025][0026][0027]
其中,表示一个按从左到右时序处理o
bert
的lstm网络,表示一个按从右到左时序处理o
bert
的lstm网络,表示网络的输出,表示网络的输出,capsules(o
bert
)表示一个输入为o
bert
的capsule网络,o
caps
表示capsules(o
bert
)网络的输出,分别表示和网络中第i个时间步的隐藏状态,表示capsule网络中卷积胶囊层的第i个输出向量,d
l
是lstm网络中隐藏单元的数量,dc是capsule网络中卷积核的数量;
[0028]
对和o
caps
使用layer normalization进行层归一化处理,处理为-1和1之间的不饱和值。
[0029]
所述步骤s3中,所述语义融合层的具体处理步骤包括:
[0030]
将层归一化处理后的和o
caps
连接在一起,得到简答题评卷的连接语义表示x,计算过程如下:
[0031][0032][0033][0034]
[0035]
其中,d=2d
l
dc,xi为输入序列s中第i个字词所对应的连接语义,为输入序列s中第i个字词所对应的全局上下文表示,为输入序列s中第i个字词所对应的局部上下文表示。
[0036]
更进一步的,所述使用一个多头注意力共同关注x中不同位置的信息具体包括:
[0037][0038]
其中,mha(x,x,x)表示输入q=k=v=x的多头注意力mha(q,k,v),多头注意力mha(q,k,v)的计算过程如下:
[0039]
mha(q,k,v)=tanh([head1;head2;...;headh]wr)
ꢀꢀ
(11)
[0040]
headi=attention(qi,ki,vi)=attention(qwq,kwk,vwv)
ꢀꢀ
(12)
[0041][0042]
其中,是多头注意力的三个输入,headi表示多头注意力中的第i个头,tanh(
·
)表示双曲正切函数,是可学习的参数矩阵dk=dv=d
÷
h,h是多头注意力中头的数量。
[0043]
进一步的,所述步骤s4中,最大池化操作的具体步骤包括:
[0044][0045]
其中,zj是z的第j个元素,计算过程如下:
[0046][0047]
其中,max(
·
)表示求最大值的函数,为x
(h)
的第i行第j列的元素,z是给定简答题评卷的最终语义表示。
[0048]
更进一步的,线性变换层的具体步骤包括:
[0049]
o=mz
t
b
ꢀꢀ
(16)
[0050][0051][0052]
其中,是评卷区间表示矩阵,z
t
表示对z进行转置,是一个偏置向量,dy是评卷区间的个数,o是表示所有评卷区间置信分数的向量,oy表示标注为评卷区间y的样本的置信分数,oi表示样本在第i个评卷区间上的置信分数,pr(y|z)表示给定简答题评卷的最终语义表示z在评卷区间y上的预测概率,y是所有评卷区间按从低分到高分排列的列表,y
*
为最终评定的评卷区间,表示返回使得pr(y|z)为最大值的评卷区间,exp(
·
)表示以自然常数e为底的指数函数,θ是所有可学习的参数集合。
[0053]
进一步的,所述步骤s5具体包括:
[0054][0055]
其中,ω是自动简答题评卷任务中的训练学生答案的集合,yi是ω中第i个训练学生答案的标注标签,zi是ω中第i个训练学生答案的简答题评卷的最终语义表示,和分别代表在所有评卷区间的列表y中yi的左、右相邻区间;
[0056]
训练实现最小化ω中所有训练学生答案的损失误差。
[0057]
为解决简答题自动评卷中深入理解答案语义与语料集过小之间的矛盾,本发明提出了一种基于bert的自动简答题评卷深度神经网络模型,在编码答案文本的微调bert模型之上,构建一个语义细化层来细化bert输出的语义,包括使用一个bi-lstm网络为bert输出提取精细的全局上下文和一个带有位置信息的capsule网络,为bert模型的隐藏状态提取相关的局部上下文。其次,引入一个多头注意力来融合从bert输出中提取的全局上下文和局部上下文,作为学生答案和参考答案的句子对的最终表示。再者,本发明为简答题自动评卷提出了一种三重热点的策略,它将标准交叉熵损失函数中的计算标签从单独热点黄金分布改进为三重热点黄金分布。最终,本发明将预训练的bert模型在自动简答题评卷任务中的应用从微调方法扩展到与双向lstm和胶囊网络的结合。
[0058]
本发明具有以下优点:
[0059]
(1)通过一个被广泛预训练与任务微调的bert模型,为答案文本动态编码,可有效克服简答题自动评卷语料集过小的问题,以及传统词嵌入在不同语境中一成不变的缺点;
[0060]
(2)利用bi-lstm网络中复杂的门结构为bert输出提取精细的全局上下文,并在capsule网络中使用卷积胶囊为bert模型的隐藏状态提取相关的局部上下文,从而为bert编码产生更为细腻的语义表示;
[0061]
(3)利用一个多头注意力融合细腻的全局上下文和局部上下文,为简答题自动评卷生成强大的语义表示。
[0062]
(4)通过本发明的方法,能有效地解决简答题自动评卷中深入理解答案语义与语料集过小之间的矛盾。
附图说明
[0063]
图1是本发明的方法流程示意图。
具体实施方式
[0064]
以下结合具体实施例对本发明作进一步说明,但本发明的保护范围不限于以下实施例。
[0065]
设主观题题目t的参考答案为p,评分区间集合为y,则本实施例对于学生答案q的自动评卷过程如下:
[0066]
s1.bert编码层:将输入序列s送入bert编码层进行处理,所述bert编码层以微调的方式运行,得到bert编码层的输出o
bert
,并把o
bert
作为简答题评卷的初始编码;
[0067]
s2.语义细化层:使用bi-lstm网络为bert编码层的输出o
bert
提取精细的全局上下文,使用capsule网络为bert编码层隐藏状态提取相关局部上下文,bi-lstm网络和capsule
on empirial methods in natural language processing,pp 43-48”所提出的capsule胶囊网络。其中,使用bi-lstm网络为bert编码层的输出o
bert
提取精细的全局上下文,使用capsule网络为bert编码层隐藏状态提取相关局部上下文,bi-lstm网络和capsule网络并行工作。
[0080]
步骤s2具体包括:
[0081][0082][0083][0084]
其中,表示一个按从左到右时序处理o
bert
的lstm网络,表示一个按从右到左时序处理o
bert
的lstm网络,表示网络的输出,表示网络的输出,capsules(o
bert
)表示一个输入为o
bert
的capsule网络,
[0085]ocaps
表示capsules(o
bert
)网络的输出,分别表示和网络中第i个时间步的隐藏状态,表示capsule网络中卷积胶囊层的第i个输出向量,d
l
是lstm网络中隐藏单元的数量,dc是capsule网络中卷积核的数量;
[0086]
对和o
caps
使用layer normalization进行层归一化处理,处理为-1和1之间的不饱和值。所述layer normalization是文献“ba j l,kiros j r,hinton g e.layer normalization.in:arxiv:1607.06450,2016.”所提出的层归一化layer normalization算法。
[0087]
语义融合层按如下步骤将语义细化层的三种输出语义和o
caps
整合在一起。步骤s3中,语义融合层的具体处理步骤包括:
[0088]
将层归一化处理后的和o
caps
连接在一起,得到简答题评卷的连接语义表示x,计算过程如下:
[0089][0090][0091][0092][0093]
其中,d=2d
l
dc,xi为输入序列s中第i个字词所对应的连接语义,为输入序列s中第i个字词所对应的全局上下文表示,为输入序列s中第i个字词所对应的局部上下文表示。
[0094]
更进一步的,使用一个多头注意力共同关注x中不同位置的信息具体包括:
[0095]
[0096]
其中,mha(x,x,x)表示输入q=k=v=x的多头注意力mha(q,k,v),多头注意力mha(q,k,v)的计算过程如下:
[0097]
mha(q,k,v)=tanh([head1;head2;...;headh]wr)
ꢀꢀ
(11)
[0098]
headi=attention(qi,ki,vi)=attention(qwq,kwk,vwv)
ꢀꢀ
(12)
[0099][0100]
其中,是多头注意力的三个输入,headi表示多头注意力中的第i个头,tanh(
·
)表示双曲正切函数,是可学习的参数矩阵dk=dv=d
÷
h,h是多头注意力中头的数量。
[0101]
进一步的,预测层先对融合语义表示x
(h)
执行最大池化操作,再输入到线性变换层,进行评卷区间的概率计算。
[0102]
步骤s4中,最大池化操作的具体步骤包括:
[0103][0104]
其中,zj是z的第j个元素,计算过程如下:
[0105][0106]
其中,max(
·
)表示求最大值的函数,为x
(h)
的第i行第j列的元素,z是给定简答题评卷的最终语义表示。
[0107]
更进一步的,线性变换层的具体步骤包括:
[0108]
o=mz
t
b
ꢀꢀ
(16)
[0109][0110][0111]
其中,是评卷区间表示矩阵,z
t
表示对z进行转置,是一个偏置向量,dy是评卷区间的个数,o是表示所有评卷区间置信分数的向量,oy表示标注为评卷区间y的样本的置信分数,oi表示样本在第i个评卷区间上的置信分数,pr(y|z)表示给定简答题评卷的最终语义表示z在评卷区间y上的预测概率,y是所有评卷区间按从低分到高分排列的列表,y
*
为最终评定的评卷区间,表示返回使得pr(y|z)为最大值的评卷区间,exp(
·
)表示以自然常数e为底的指数函数,θ是所有可学习的参数集合。
[0112]
进一步的,步骤s5具体包括:
[0113][0114]
其中,ω是自动简答题评卷任务中的训练学生答案的集合,yi是ω中第i个训练学生答案的标注标签,zi是ω中第i个训练学生答案的简答题评卷的最终语义表示,和
分别代表在所有评卷区间按从低分到高分排列的列表y中yi的左、右相邻区间;
[0115]
训练实现最小化ω中所有训练学生答案的损失误差。
[0116]
本实施例将预训练的bert模型在自动简答题评卷任务中的应用从微调方法扩展到与双向lstm和胶囊网络的结合。
[0117]
应用实例
[0118]
1.实例环境
[0119]
本实例使用google ai language开发的bert-base版本作为bert编码层的预训练模型,该bert模型包括12层transformers,768个隐藏单元,12个多头,以及总参数=110m);本实例将每个lstm网络中隐藏单元的数量设置为200,并返回所有时间步中的隐藏状态;本实例将capsule网络中的卷积核数设置为400,每个卷积核的大小为3,capsule网络中的动态路由数为3;在多头注意力中,设置了注意力的头数为2,每个头分配400维的参数;本实例在bi-lstm网络、capsule网络和预测层中将dropout rate设置为0.1;为了最小化损失值,本实例使用了adam optimizer优化器,并将学习率设置为2e-5,batch size大小设置为64;在训练期间,本实例将epochs从5增加到10。
[0120]
2.数据集
[0121]
本实例使用在国际上广泛使用的mohler数据集作为评测基准,该数据集由美国北德克萨斯大学mohler等人创建,是一个关于计算机科学的简答题数据集。它包含80个问题和2,273个学生答案,每个学生的答案由两位老师按0到5的整数打分。本实例取两个标记分数的平均值作为学生答案的真实分数,得到11个评卷区间,从0到5,间隔为0.5。
[0122]
mohler数据集仅包含2273个学生答案与参考答案对,这对于深度学习模型来说太少了。为了扩展数据集,本实例从每道题中选择一个正确的学生答案作为补充参考答案,将训练集从2083对扩展到大约3300对。本实例采用12折交叉验证法进行模型的评估,并报告预测分数与真实分数之间的pearson相关系数(pearson's r)、平均绝对误差(mae)和均方根误差(rmse)。
[0123]
3.对比方法
[0124]
本实例将本发明的模型与6种消融模型与11种同类方法进行比较,对比方法如下所示:
[0125]
(1)消融模型
[0126]
消融模型是本发明模型的简化版,它去除了本发明模型的某种功能,用于检测被去除的功能在本发明模型中的作用,本实例为本发明的模型设计了如下6种消融模型:
[0127]
·
w/o refinement:意味着语义细化层从本发明的模型中移除,模型退化为微调的bert-base。
[0128]
·
w/o multi-head:意味着语义融合层中的多头自注意力从本发明的模型中移除。
[0129]
·
w/o bi-lstm with bert:意味着语义细化层中的bi-lstm网络从本发明的模型中移除,其输出被bert编码层的输出替换。
[0130]
·
w/o capsule with bert:意味着语义细化层中的capsule网络从本发明的模型中移除,其输出被bert编码层的输出替换。
[0131]
·
w/o capsule with cnn:意味着语义细化层中的capsule网络从本发明的模型
中移除,并替换为cnn网络。
[0132]
·
w/o triple-hot loss:意味着三重热点损失函数从本发明的模型中删除,并由标准的单独热点损失函数代替。
[0133]
(2)同类方法
[0134]
·
lstm-emd[1]:一种深度学习方法,它使用基于推土机距离(earth-mover distance)的池化层将bi-lstm框架用于简答题自动评卷。本实例还引用了它报告的三个模型结果:仅使用最后一个隐藏状态的lstm-last、使用最大池化的lstm-max和使用平均池化的lstm-avg。
[0135]
·
基于特征的预训练模型[2]:使用各种预训练的迁移学习模型,例如elmo[3]、gpt[4]、bert[5]和gpt-2[6],为简答题自动评卷抽取句子嵌入。
[0136]
·
bi-lstm capsule(cnn):为了与传统深度学习的评卷效果进行比较,本实例在本发明的模型中使用glove[7]词嵌入代替bert编码层,形成一个基于词嵌入、与本发明的总体结构相同的深度学习模型。
[0137]
·
微调的bert-base:为了与bert模型的评卷效果进行比较,本实例只在预训练的bert-base之上增加了一个分类层来进行简答题自动评卷,并联合对分类层和所有预训练参数进行了微调。
[0138]
其中,上述关联的文献分别为:
[0139]
1.kumar s,chakrabarti s,roy s(2017)earth movers distance pooling over siamese lstms for automatic short answer grading.in:proceedings of the international joint conference on artificial intelligence,pp 2046

2052
[0140]
2.gaddipati sk,nair d,plger pg(2020)comparative evaluation of pretrained transfer learning models on automatic short answer grading.in:arxiv:2009.01303v1
[0141]
3.peters me,neumann m,iyyer m,gardner m,clark c,lee k,zettlemoyer l(2018)deep contextualized word representations.in:naacl,pp 2227

2237.
[0142]
4.radford a,narasimhan k,salimans t,sutskever i(2018)improving language understanding by generative pre-training.in:openai blog
[0143]
5.devlin j,chang mw,lee k,toutanova k(2019)bert:pre-training of deep bidirectional transformers for language understanding.in:proceedings of the 2019conference of naacl,pp 4171-4186
[0144]
6.radford a,wu j,child r,luan d,amodei d,sutskever i(2019)language models are unsupervised multitask learners.in:openai blog,1(8):9
[0145]
7.https://github.com/maciejkula/glove-python
[0146]
4.实例对比结果
[0147]
表2与消融模型的对比结果(平均绝对误差(mae)和均方根误差(rmse)越低越好;pearson相关系数(pearson r)越高越好)
[0148][0149]
在表2中,w/o refinement的消融结果表明,本实施例的语义细化层显着提高了bert模型在简答题评卷任务中的分级精度。mohler数据集上的测试题和训练题来自同一个领域。因此,这个消融结果意味着本发明的语义细化层可以显着提高bert模型对领域特征的泛化能力。w/o bi-lstm with bert的消融结果表明,直接用bert的输出替换bi-lstm后,模型在简答题评卷任务中的分级精度出现下降。这意味着bi-lstm网络中的复杂门结构可以从bert模型的输出中提取更精细的上下文信息。w/o capsule with bert的消融结果表明,直接用bert的输出替换capsule网络后,模型在简答题评卷任务中的分级精度有明显下降。这意味着capsule网络可以从bert模型的输出中提取更精细的局部信息。w/o capsulewith cnn的消融结果表明,在基于bert的深度神经网络中,带有位置信息的capsule网络的性能优于普通cnn网络。w/o multi-head的消融结果表明,语义融合层中的多头注意力机制对提高模型性能起到了重要作用。此外,w/o triple-hot loss的消融结果表明,所提出的三重热点损失策略将我们模型在mohler数据集上的pearson r从0.837显着提高到0.897。
[0150]
表3与同类方法的对比结果(平均绝对误差(mae)和均方根误差(rmse)越低越好;pearson相关系数(pearson r)越高越好;*表示模型为本实例实现)
[0151][0152]
表3的实验结果表明,本发明提出的基于bert的自动简答题评卷深度神经网络模型,实现了0.897、0.827和0.248的最佳pearson r、rmse和mae结果,显然超过了所有同类方法的结果,这充分说明了本发明方法是可行和优秀的。同时,表3的实验结果表明通过添加语义细化层,本发明的模型在简答题评卷任务中将微调bert模型的pearson's r从0.801显着提高到0.897,这表明本发明的语义细化层可以显着提高bert模型泛化领域特征的能力。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献