发明内容
本发明的目的是提供一种概念增强表示与单向蕴含注意力的主观题自动阅卷神经网络模型。
技术原理为,首先充分利用题目概念信息的主导作用,通过多头注意力机制实现概念信息对答案文本的增强表示,并以学生答案对参考答案的单向蕴含注意力匹配的方式,估算出学生答案对参考答案的语义包含程度,从而可极大地增强计算机主观题评卷系统的自适应性与准确度。
为了实现上述发明目的,本发明采用的技术方案如下。
一种概念增强表示与单向蕴含注意力的主观题自动阅卷神经网络模型,首先结合双向长短时记忆神经网络(BiLSTM)和机器学习的条件随机场(CRF)的方法自动识别题目中的概念系列;然后通过多头注意力机制实现概念字嵌入向量序列对答案字嵌入向量序列的增强表示建模;并通过一个BiLSTM对答案上下文信息进行编码;最后通过一种单向注意力蕴含匹配的方式,估算出学生答案对参考答案的语义包含,进而在单向蕴含匹配向量的基础上进行学生答案得分区间的概率分布预测。
概念增强表示与单向蕴含注意力的主观题自动阅卷神经网络模型包含概念提取层、答案表示层、概念增强表示层、上下文表示层、单向蕴含注意力层、聚集层和预测层。
所述答案表示层为,将题目、参考答案、学生答案转换为维度为d的预训练的字嵌入向量序列T、P、Q,主观题题目T的参考答案为P,评分等级集合为Y,则将对于学生答案Q的评卷过程,转换为通过一个神经网络模型预测概率分布Pr(y|T,P,Q),y∈Y;
所述概念提取层为,结合BiLSTM和CRF的方法,自动识别和提取题目中的概念系列;
所述概念增强表示层为,通过多头注意力机制,计算出答案字嵌入与概念字嵌入向量序列的相关度,将与答案字嵌入最为相关的概念序列信息整合到答案字嵌入中,实现概念字嵌入向量序列对参考答案和学生答案的字嵌入向量序列的增强表示建模;
所述上下文表示层为,采用一个相同的BiLSTM,分别对参考答案和学生答案的上下文信息进行编码;
所述单向蕴含注意力层为,采用一种学生答案对参考答案的单向蕴含注意力匹配的方式,估算出学生答案对参考答案的语义包含程度,得到学生答案对参考答案的单向蕴含匹配矩阵M;
所述聚集层为,使用一个双向长短期记忆神经网络,完成学生答案对参考答案匹配矩阵M的聚集与转换,得到一个固定长度的匹配向量
其中L为聚集层每个时间步中隐藏层的节点数;
所述预测层为,使用一个全接连的两层前馈神经网络来计算固定长度的匹配向量
并在输出层中应用softmax(·)函数评估学生答案在各得分区间的概率分布Pr(y|T,P,Q),将概率最高的标签设置为最终结果。
所述概念提取层实现的方法为,基于BiLSTM神经网络和条件随机场的题目概念自动识别方法,对主观题题目中的概念,采用在自然语言处理中广泛使用的BiLSTM和CRF的方法,将其从试题题目中识别与提取出来,具体过程为,
(1)将试题题目中每个字的字嵌入向量作为输入送入一个双向长短时记忆神经网络,
(2)双向长短时记忆神经网络计算出题目中每个字的各种概念标注特征的概率,并将这些概念标注概率送往一个条件随机场,
(3)条件随机场根据字的概念标注特征的概率,最终得出每个字的概念标注特征,其中B表示这个字处于一个概念的开始(Begin),I表示内部(inside),O表示外部(outside),
(4)根据题目中每个字的概念标注特征,识别出题目中的概念,
(5)若题目中只包含一个概念,则将该概念的字嵌入向量序列作为题目最终的概念字嵌入向量序列,转步骤7,
(6)若题目中包含多个概念,则按照概念在题目中出现的顺序,依次将每个概念的字嵌入向量序列首尾相接,形成题目最终的概念字嵌入向量序列,
(7)得到题目的概念字嵌入向量序列
s表示概念序列中字的个数,d为字嵌入向量的维度。
所述概念增强层实现的方法为,是指使用题目的概念字嵌入向量序列来增强学生答案与参考答案中的字嵌入表示,以突出与概念相关联的词在评卷中的作用,设题目的概念字嵌入向量序列
为参考答案字嵌入向量序列,n为参考答案中字的个数,d为字嵌入向量的维度,则概念字嵌入向量序列C对P的增强表示,具体过程为,
(1)使用缩放点积注意力机制,实现概念字嵌入向量序列C对参考答案字嵌入向量序列P的增强表示的建模,缩放点积注意力机制的注意力函数为:
其中,Q、K、V分别为缩放点积注意力机制的查询(queries)、关键字(keys)和值(values),dq为查询Q的向量维度,T表示矩阵的转置操作,softmax(·)为神经网络中的归一化指数函数,用于计算Q与K之间的相关度,
在建模过程中,将缩放点积注意力的查询Q设置为参考答案字嵌入向量序列P,将缩放点积注意力的关键字K和值V都设置为概念字嵌入向量序列C,因此公式(1)转换为如下的公式(2):
其中,
用于计算参考答案中的字嵌入与概念字嵌入向量序列的相关度,d为字嵌入向量的维度,
(2)在步骤1的建模过程中,使用多头注意力从不同语义子空间捕获序列信息:首先,对于由h个头组成的多头注意力结构,使用h个不同的线性变换将查询、关键字和值分别转换为d/h维;其次,并行执行h个投影,实现按比例缩放点积注意力,然后将h个头的所有输出连接起来并线性投影到表示空间,具体将步骤1建模过程中的多头注意力表达如下,
MultiHead(Q,K,V)=[H1,H2,...,Hh]WO (3)
P(x)=Multihead(P,C,C) (4)
其中,
表示概念字嵌入向量序列C对参考答案字嵌入向量序列P的增强表示,MultiHead(·)表示多头注意力,H
1,H
2,...,H
h表示多头注意力中的h个头,
是第i个线性变换的参数矩阵,
是缩放点乘注意力拼接结果的线性变换参数矩阵,都是可学习的参数,[,]表示拼接运算,Attention(·)表示多头注意力的注意力函数,由公式(2),
(3)使用层归一化(Layer Normaliztion)的方法实现参考答案字嵌入向量序列P的增强表示更新,即:
P(c)=LayerNorm(P(x)+P) (5)
其中,
表示P更新后的增强向量序列,LayerNorm(·)表示实现神经网络中层归一化方法的函数,
为待更新的参考答案字嵌入向量序列,
表示概念字嵌入向量序列C对嵌入向量序列P的增强表示,由公式(4)计算得到,
(4)将参考答案字嵌入向量序列
替换为学生答案字嵌入向量序列
重复上述步骤(1)到步骤(3),得到学生答案的概念增强表示更新序列
所述上下文表示层实现的方法为,上下文表示层的目的是将答案上下文信息合并到答案的每个时间步中,采用BiLSTM对答案上下文信息进行编码,对于参考答案概念增强表示序列
利用一个双向长短期记忆神经网络BiLSTM1对P
(c)的每个时间步进行如下的上下文嵌入编码:
其中,
分别代表BiLSTM1的前向和后向长短期记忆神经网络,
分别代表P
(c)在BiLSTM1中第i个前向和后向的时间步,
同时,BiLSTM1对于学生答案概念增强表示序列
的每个时间步进行如下的上下文嵌入编码:
所述单向蕴含注意力层实现的方法为,通过学生答案对参考答案的语义包含,实现对学生答案正确程度的评估,并且采用一种学生答案对参考答案的单向注意力蕴含匹配的方式,估算出学生答案对参考答案的语义包含程度,所述的单向注意力蕴含匹配是指只考虑学生答案对参考答案的语义包含,而不考虑参考答案对学生答案的语义包含,其计算过程如下,
(1)首先分别计算参考答案P的每个前向、后向上下文嵌入
和学生答案句子Q中所有前向、后向上下文嵌入
之间的余弦相似性:
(2)以
作为
的权重,加权求和学生答案Q的所有上下文嵌入
分别计算出
在学生答案句子Q中的注意向量
(3)将参考答案P的每个前向、后向上下文嵌入
与其相对应的注意向量
进行匹配,分别得到两个k种视角的匹配向量
和
其中,v
1、v
2为任意两个维度为d的向量,
是一个形状为k×d的可训练的多视角参数矩阵,k是多视角的数目,w
r为W的第r行,ο表示向量的逐元素相乘,
(4)重复步骤(1)到(3),计算出参考答案P的每个前向及后向上下文嵌入与其在学生答案Q中相对应的注意向量,得到一个学生答案Q对参考答案P的单向蕴含匹配矩阵
其中
表示向量
和
相连接,n为参考答案中字的个数。
所述聚集层实现的方法为,聚集层的作用是将在在评卷过程中,不同尺寸的参考答案的匹配矩阵M转换成固定长度的匹配向量Mv,使用另一个双向长短期记忆神经网络BiLSTM2,完成学生答案对参考答案匹配矩阵M的转换,其转换过程如下,
(1)将单向注意力蕴含匹配层得到的单向蕴含匹配矩阵
中的每一行向量Ω
i作为BiLSTM2网络的一个输入;
(2)BiLSTM2对M的每个时间步进行如下的聚集嵌入编码:
其中,
分别代表BiLSTM2的前向和后向长短期记忆神经网络,
分别代表M在BiLSTM2中第i个前向和后向的时间步,
(3)连接BiLSTM2的前向和后向的最后一个时间步
和
得到聚集层的输出匹配向量
其中L为BiLSTM2网络每个时间步中隐藏层的节点数。
所述预测层实现的方法为,预测层的目的是评估概率分布Pr(y|T,P,Q),y∈Y,其中,T为主观题题目,P为参考答案,Q为学生答案,Y为评分等级集合,使用一个全接连的两层前馈神经网络来计算固定长度的匹配向量
并在输出层中应用softmax(·)函数评估概率分布Pr(y|T,P,Q),其中,根据评分等级集合Y的大小|Y|设置输出层中的节点数量。
本发明具有以下优点:
提出的概念增强表示的主观题自动阅卷神经网络模型,通过多头注意力机制实现概念信息对答案文本的增强表示,并以学生答案对参考答案的单向注意力蕴含匹配的方式,估算出学生答案对参考答案的语义包含,从而可极大地增强计算机主观题评卷系统的自适应性与实用性,具体体现在:
(1)本发明提出的概念增强表示的主观题自动阅卷神经网络模型,完全实现端到端,无需额外的语义分析和人为规则;
(2)本发明在评卷过程中,充分利用题目概念信息的主导作用,通过计算答案字嵌入与概念字嵌入信息的相关度,将概念信息整合到答案表示中,从而有效提高了评卷的匹配精度;
(3)不同于传统文本蕴含推理中的双向交互匹配,本发明在评估学生答案正确程度的过程中,仅考虑学生答案对参考答案的语义包含,并且采用一种学生答案对参考答案的单向注意力蕴含的单向匹配的方式,估算出学生答案对参考答案的语义包含程度,从而扩展了评卷系统的自适应性与实用性。
具体实施方式
本发明通过实施例,结合说明书附图对本发明内容作进一步详细说明,但不是对本发明的限定。
实施例
一种概念增强表示与单向蕴含注意力的主观题自动阅卷神经网络模型,由概念提取层、答案表示层、概念增强表示层、上下文表示层、单向蕴含注意力层、聚集层和预测层构成。
所述答案表示层实现的方法为,将题目、参考答案、学生答案转换为维度为d的预训练的字嵌入向量序列T、P、Q,主观题题目T的参考答案为P,评分等级集合为Y,则将对于学生答案Q的评卷过程,转换为通过一个神经网络模型预测概率分布Pr(y|T,P,Q),y∈Y。
所述概念提取层实现的方法为,基于BiLSTM神经网络和条件随机场的题目概念自动识别方法,对主观题题目中的概念,采用在自然语言处理中广泛使用的BiLSTM和CRF的方法,将其从试题题目中识别与提取出来,如图2所示,具体过程为,
(1)将试题题目中每个字的字嵌入向量作为输入送入一个双向长短时记忆神经网络;
(2)双向长短时记忆神经网络计算出题目中每个字的各种概念标注特征的概率,并将这些概念标注概率送往一个条件随机场;
(3)条件随机场根据字的概念标注特征的概率,最终得出每个字的概念标注特征,如图1所示,其中B表示这个字处于一个概念的开始(Begin),I表示内部(inside),O表示外部(outside);
(4)根据题目中每个字的概念标注特征,识别出题目中的概念;
(5)若题目中只包含一个概念,则将该概念的字嵌入向量序列作为题目最终的概念字嵌入向量序列,转步骤7;
(6)若题目中包含多个概念,则按照概念在题目中出现的顺序,依次将每个概念的字嵌入向量序列首尾相接,形成题目最终的概念字嵌入向量序列;
(7)得到题目的概念字嵌入向量序列
s表示概念序列中字的个数,d为字嵌入向量的维度。
所述概念增强层实现的方法为,是指使用题目的概念字嵌入向量序列来增强学生答案与参考答案中的字嵌入表示,以突出与概念相关联的词在评卷中的作用,设题目的概念字嵌入向量序列
为参考答案字嵌入向量序列,n为参考答案中字的个数,d为字嵌入向量的维度,则概念字嵌入向量序列C对P的增强表示,具体过程为,
(1)使用缩放点积注意力机制,实现概念字嵌入向量序列C对参考答案字嵌入向量序列P的增强表示的建模,缩放点积注意力机制的注意力函数为:
其中,Q、K、V分别为缩放点积注意力机制的查询(queries)、关键字(keys)和值(values),dq为查询Q的向量维度,T表示矩阵的转置操作,softmax(·)为神经网络中的归一化指数函数,用于计算Q与K之间的相关度,
在建模过程中,将缩放点积注意力的查询Q设置为参考答案字嵌入向量序列P,将缩放点积注意力的关键字K和值V都设置为概念字嵌入向量序列C,因此公式(1)转换为如下的公式(2):
其中,
用于计算参考答案中的字嵌入与概念字嵌入向量序列的相关度,d为字嵌入向量的维度;
(2)在步骤1的建模过程中,使用多头注意力从不同语义子空间捕获序列信息:首先,对于由h个头组成的多头注意力结构,使用h个不同的线性变换将查询、关键字和值分别转换为d/h维;其次,并行执行h个投影,实现按比例缩放点积注意力,然后将h个头的所有输出连接起来并线性投影到表示空间,如图3所示,具体将步骤1建模过程中的多头注意力表达如下,
MultiHead(Q,K,V)=[H1,H2,...,Hh]WO (3)
P(x)=Multihead(P,C,C) (4)
其中,
表示概念字嵌入向量序列C对参考答案字嵌入向量序列P的增强表示,MultiHead(·)表示多头注意力,H
1,H
2,...,H
h表示多头注意力中的h个头,
是第i个线性变换的参数矩阵,
是缩放点乘注意力拼接结果的线性变换参数矩阵,都是可学习的参数,[,]表示拼接运算,Attention(·)表示多头注意力的注意力函数,由公式(2);
(3)使用层归一化(Layer Normaliztion)的方法实现参考答案字嵌入向量序列P的增强表示更新,即:
P(c)=LayerNorm(P(x)+P) (5)
其中,
表示P更新后的增强向量序列,LayerNorm(·)表示实现神经网络中层归一化方法的函数,
为待更新的参考答案字嵌入向量序列,
表示概念字嵌入向量序列C对嵌入向量序列P的增强表示,由公式(4)计算得到;
(4)将参考答案字嵌入向量序列
替换为学生答案字嵌入向量序列
重复上述步骤(1)到步骤(3),得到学生答案的概念增强表示更新序列
所述上下文表示层实现的方法为,上下文表示层的目的是将答案上下文信息合并到答案的每个时间步中,采用BiLSTM对答案上下文信息进行编码,对于参考答案概念增强表示序列
利用一个双向长短期记忆神经网络BiLSTM1对P
(c)的每个时间步进行如下的上下文嵌入编码:
其中,
分别代表BiLSTM1的前向和后向长短期记忆神经网络,
分别代表P
(c)在BiLSTM1中第i个前向和后向的时间步,
同时,BiLSTM1对于学生答案概念增强表示序列
的每个时间步进行如下的上下文嵌入编码:
所述单向蕴含注意力层实现的方法为,通过学生答案对参考答案的语义包含,实现对学生答案正确程度的评估,并且采用一种学生答案对参考答案的单向注意力蕴含匹配的方式,估算出学生答案对参考答案的语义包含程度,所述的单向注意力蕴含匹配是指只考虑学生答案对参考答案的语义包含,而不考虑参考答案对学生答案的语义包含,其计算过程如下,
(1)首先分别计算参考答案P的每个前向、后向上下文嵌入
和学生答案句子Q中所有前向、后向上下文嵌入
之间的余弦相似性:
(2)以
作为
的权重,加权求和学生答案Q的所有上下文嵌入
分别计算出
在学生答案句子Q中的注意向量
(3)将参考答案P的每个前向、后向上下文嵌入
与其相对应的注意向量
进行匹配,分别得到两个k种视角的匹配向量
和
其中,v
1、v
2为任意两个维度为d的向量,
是一个形状为k×d的可训练的多视角参数矩阵,k是多视角的数目,w
r为W的第r行,ο表示向量的逐元素相乘;
(4)重复步骤(1)到(3),计算出参考答案P的每个前向及后向上下文嵌入与其在学生答案Q中相对应的注意向量,得到一个学生答案Q对参考答案P的单向蕴含匹配矩阵
其中
表示向量
和
相连接,n为参考答案中字的个数。
所述聚集层实现的方法为,聚集层的作用是将在在评卷过程中,不同尺寸的参考答案的匹配矩阵M转换成固定长度的匹配向量Mv,使用另一个双向长短期记忆神经网络BiLSTM2,完成学生答案对参考答案匹配矩阵M的转换,其转换过程如下,
(1)将单向注意力蕴含匹配层得到的单向蕴含匹配矩阵
中的每一行向量作为BiLSTM2网络的一个输入;
(2)BiLSTM2对M的每个时间步进行如下的聚集嵌入编码:
其中,
分别代表BiLSTM2的前向和后向长短期记忆神经网络,
分别代表M在BiLSTM2中第i个前向和后向的时间步;
(3)连接BiLSTM2的前向和后向的最后一个时间步
和
得到聚集层的输出匹配向量
其中L为BiLSTM2网络每个时间步中隐藏层的节点数。
所述预测层实现的方法为,预测层的目的是评估概率分布Pr(y|T,P,Q),y∈Y,其中,T为主观题题目,P为参考答案,Q为学生答案,Y为评分等级集合,使用一个全接连的两层前馈神经网络来计算固定长度的匹配向量
并在输出层中应用softmax(·)函数评估概率分布Pr(y|T,P,Q),其中,根据评分等级集合Y的大小|Y|设置输出层中的节点数量,如图4所示。