基于多层次注意力的教科书文本问答方法及系统
未命名
09-22
阅读:110
评论:0

1.本发明属于计算机文本处理技术领域,具体涉及一种基于多层次注意力的教科书文本问答方法及系统。
背景技术:
2.问答任务一直被作为人工智能的重点研究方向之一,能合理地解决问答挑战,不仅意味着在尽可能多的问题上实现尽可能高的准确率,还包括模拟人类思考问题的方式,让模型、算法解决问题的过程更加拟人化,实现更高意义上的人工智能。而教科书问答任务是问答领域的一个新兴任务,具体数据包含来自生物、地理和自然等课程课本的文本和图片,目标是在以自然科学课程为主要提问内容构建的多项选择式问答问题上实现更高的准确率。
3.但在当前的问答任务研究过程中,研究对象主要集中在逻辑推理和阅读理解等领域,缺少对自然科学教育领域的问答问题进行研究。并且与主流问答任务相比,教科书问答的上下文部分更长,且所用词汇较为专业,而当前主流的问答模型,无论是文本问答还是多模态问答,由于受限于一般小型语言模型的输入长度不够,以及教育领域的语料和自然语言的语料存在差别等因素,在教科书问答任务上表现并不理想。
技术实现要素:
4.本发明的目的在于针对上述现有技术中的问题,提供一种基于多层次注意力的教科书文本问答方法及系统,可以针对教科书文本问题选择出更准确的回答选项,并且能够给出问题回答所依赖的文本,做出回答的可解释性更强。
5.为了实现上述目的,本发明有如下的技术方案:
6.一种基于多层次注意力的教科书文本问答方法,包括以下步骤:
7.将问题文本与对应章节的上下文段落进行分词并编码后输入第一层注意力模型,在句内进行自注意力计算与池化,得到句子的表征向量;
8.取问题句子的表征向量与所有上下文段落句子的表征向量计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量,作为每个段落对应问题的上下文表征向量;
9.将问题及每个段落对应问题的上下文表征向量输入第二层注意力模型,进行段落与段落、段落与问题间的自注意力计算与池化,获得问题所对应的答案表征向量作为分类器的输入;
10.由分类器输出答案选项,并得出答案文本对应章节的上下文段落。
11.作为一种优选的方案,所述将问题文本与对应章节的上下文段落进行分词并编码的步骤,设置最大编码长度,当大于最大编码长度则截断,少于最大编码长度则填充《pad》字符,当问题文本为q,对应章节的上下文段落p1,p2...pn,n为段落数量,段落pi中所有句子为s
i,1
,s
i,2
...s
i,m
,m为句子数量,以单句为单位,使用bert-base-uncased预训练模型对应
的分词器进行分词并编码,保留掩码序列,用于确定后续得到的表征中有实际意义的序列的长度len,不使填充字符参与池化。
12.作为一种优选的方案,所述在句内进行自注意力计算的步骤,取模型第12层,也就是最后一层的未池化输出为代表句内词特征的二维矩阵,对非填充部分做平均池化,得到句子的表征向量q1;对每个上下文句子s
i,j
进行同样的计算后得到新的表征以上过程的计算表达式如下:
[0013][0014][0015][0016][0017]
式中,bert1()
12
为叠加了12个bert前向模块的函数,q为问题向量,s
i,j
为第i段中的第j个句子向量,为经过第一层模型处理后的第i段中的第j个句子的带有词特征的表征矩阵,q1为问题的带有词特征的表征矩阵,表示维度为64
×
768的实向量,表示维度为768的实向量。
[0018]
作为一种优选的方案,所述取问题句子的表征向量与所有上下文段落句子的表征向量计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量的步骤,计算表达式如下:
[0019][0020][0021]
获得问题及每个段落对应问题的上下文表征向量为
[0022]
作为一种优选的方案,所述第二层注意力模型对问题及每个段落对应问题的上下文表征向量所形成的矩阵进行自注意力计算,对若干个编码块依次进行,首先对x进行线性变换,通过三个不同的矩阵将其映射为分别对应查询、索引和键值的三个矩阵,表达式如下:
[0023][0024][0025][0026]
然后对查询、索引和键值进行基于缩放点积的注意力计算,其中,db表示表征向量的初始维度,dq表示输出的xq向量的维度,dk表示输出的xk向量的维度,dv表示输出的xv向量的维度,表达式如下:
[0027]
[0028]
在同一个eb中,使用多个变换矩阵不同的注意力头,每个注意力头即是对序列的一次重新采样,同时单个注意力头将维度映射为dq=dk=dv=db/h=64,h为注意力头的数量,再将多个头的输出拼接并通过全连接层映射,将维度还原,表达式如下:
[0029]
mh=cat(h1,h2...hh)wo[0030][0031]
式中,mh为多头注意力环节的最终输出结果,cat()为将向量进行连接操作,h1,h2...hh为各注意力头的输出,wo为一个线性映射矩阵,分别为上述的查询向量、索引向量和键值向量。
[0032]
作为一种优选的方案,还包括将各句子新的注意力表示与原输入相加,建立残差连接;对加和输出进行层标准化,对单个样本内的向量按特征进行标准化处理,使其平均值变为0,方差变为1;标准化后的输出为y,仍保持初始的输入形状,y再进入逐位的前向网络,对每个通道都做相同方式的计算。
[0033]
作为一种优选的方案,所述分类器为采用双曲正弦激活函数的双层网络,第一层是维度不变的映射,线性映射矩阵为偏差项为第二层的线性映射矩阵和偏差项将维数降至二维,也即所要划分的种类数,得到logits为未进行归一化的分类权重,后与标签计算交叉熵,计算表达式如下:
[0034][0035][0036][0037]
式中,为经过softmax归一化处理后的各类别的分类权重,e为自然对数,loss为最终损失,n为分类种类,当所求为判断题时n为2,当所求为选择题时n为4,yi为真实答案是否为第i项,是时yi=1,不是时yi=0,为的第i项分量。
[0038]
作为一种优选的方案,当题目为选择题时,只需要将问题输入的原句子换为问题分别和各选项的拼接,同时扩展问题对应的通道数,在模型运算时,分别将问题与上下文组成输入矩阵,最后提取其输出的第一个通道的表征向量进入分类器,映射为1维后拼接,计算损失,计算表达式如下:
[0039]
qi=tokenizer(《cls》q+ansi《sep》),i∈|a|
[0040][0041][0042]
式中,qi为问题与第i个选项拼接后的表示向量,tokenizer()为分词器,《cls》为句首用于标志整句的token,q为问题本身,ansi为第i个选项,《sep》为用于将问题与后续输入的上下文分开的token,|a|为选项数量,对于选择题为4,对于判断题为2,x为输入,logits为未进行归一化的分类权重,为向量的连接操作,yi可类比判断题的y。
[0043]
第二方面,提供一种基于多层次注意力的教科书文本问答系统,包括:
[0044]
第一自注意力计算模块,用于将问题文本与对应章节的上下文段落进行分词并编码后输入第一层注意力模型,在句内进行自注意力计算与池化,得到句子的表征向量;
[0045]
相似度计算模块,用于取问题句子的表征向量与所有上下文段落句子的表征向量计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量,作为每个段落对应问题的上下文表征向量;
[0046]
第二自注意力计算模块,用于将问题及每个段落对应问题的上下文表征向量输入第二层注意力模型,进行段落与段落、段落与问题间的自注意力计算与池化,获得问题所对应的答案表征向量作为分类器的输入;
[0047]
分类器输出模块,用于由分类器输出答案选项,并得出答案文本对应章节的上下文段落。
[0048]
第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于多层次注意力的教科书文本问答方法。
[0049]
相较于现有技术,本发明至少具有如下的有益效果:
[0050]
采用了双层的层级式注意力结构,模型主要框架分为两部分,第一层注意力模型为粗粒度的进行段落语句筛选的注意力模型,可以视为对输入文本进行预处理,第二层注意力模型为细粒度的针对问题回答的注意力模型,获取第一层的输出并得出最终答案。通过第一层注意力模型在句内进行自注意力计算与池化,得到句子的表征向量,输入文本可以被有效地从段落精简为句子,使模型从全文中抽取出与问题最相关的部分,排除长文本对问答造成的干扰;通过第二层注意力模型进行段落与段落、段落与问题间的自注意力计算,可以针对教科书问答任务进行专门调节,以更准确地选出正确选项,并能够得出答案文本对应章节的上下文段落,答案可解释性更强。本发明提出的基于多层次注意力的教科书文本问答方法解决了现有自动化问答技术不能适用于自然科学内容为主的教科书问答的问题。
附图说明
[0051]
为了更加清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作以简单地介绍,应当理解,以下附图仅示出了本发明部分实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0052]
图1是本发明实施例基于多层次注意力的教科书文本问答方法流程图;
[0053]
图2是本发明实施例中第一层注意力模型进行粗粒度文本筛选示意图;
[0054]
图3是本发明实施例中第二层注意力模型进行细粒度问答结果输出示意图;
[0055]
图4是本发明实施例的方法对课文内容的抽取结果示例图;
[0056]
图5是本发明实施例的模型训练过程示意图。
具体实施方式
[0057]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员还可以在没有做出创造性劳动的前提下获得其他
实施例。
[0058]
如图1所示,在以自然科学课程为主要提问内容构建的多项选择式问答问题上,本发明实施例提出一种基于多层次注意力的教科书文本问答方法,具体包括如下步骤:
[0059]
当需要回答的问题为判断题时,本实施例设置最大编码长度为64,大于则截断,少于则填充《pad》字符。参见图2,当问题文本为q时,取对应章节的段落p1,p2...pn(n为段落数量),段落pi中所有句子为s
i,1
,s
i,2
...s
i,m
(m为句子数量),以单句为单位,使用bert-base-uncased预训练模型对应的分词器进行分词并编码,保留掩码序列,用于确定后续得到的表征中有实际意义的序列的长度len,不使填充字符参与池化。每个问题编码后的向量q输入第一层注意力模型bert1中,只在句内进行自注意力计算,取模型第12层的未池化输出即为代表句内词特征的二维矩阵,对非填充部分做平均池化,得到句子的表征向量q1;同理对每个上下文句子s
i,j
进行同样的计算后得到新的表征以上过程的计算表达式如下:
[0060][0061][0062][0063][0064]
取问题的表征向量和所有s1计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量作为第i个段落对应该问题的上下文表征向量计算表达式如下:
[0065][0066][0067]
此时原本的上下文p1,p2…
pm被缩减并表示为每个表征向量维度均为768维,m≤24,24为每个段落最多可能的句子数量,故为了固定后续模型的结构,使得每个段落都能被考虑到,将m统一填补至24,并为每个问题输入保留一个参量用于记录有效长度,便于后续自注意力计算时掩蔽填充向量。
[0068]
参见图3,将输入至第二层注意力模型中,该层为段落间自注意力计算,目的是在前两步得到的段落表征向量和问题表征向量的基础上进行段落与段落、段落与问题间的自注意力计算与池化,进一步学习到问题与上下文之间的联合表征。第二层模型采用的是bert的变体,将其命名为paraattention。
[0069]
原bert模型是从词序列开始编码,进行词嵌入后与位置编码相加,经过多层的多头自注意力计算和基于位置的多层感知机来获取下游任务所需的表征。transformer中非常重要的绝对位置编码是为了弥补自注意力机制无法像循环神经网络那样有效利用位置
信息的天然不足,而采取的一种补救措施。将位置信息分奇偶编码为三角函数的形式,保持和词嵌入向量相同的维度,与词嵌入向量相加,作为一种位置信息的体现形式。虽然不能完全解决问题,但一定程度上是很好的补充。
[0070]
本发明直接将第一层模型所得输出作为第二层模型的输入,不需要位置信息的加入,不需要进行词嵌入。原bert模型中,词嵌入向量输入前,需要先乘以词嵌入向量维度的开方,再与位置编码相加,形成输入向量。原因是bert词嵌入矩阵的初始化方式为xavier初始化,产生的向量方差为向量维度的开方的倒数,故额外乘以维数的开方可以将方差控制为1,再与位置编码相加有利于收敛。而在tqa任务中,大多数的问题可以由一段话甚至一句话来回答,故段落之间的位置顺序不是必要的,甚至可能会形成干扰;另一方面bert1输出的结果是已经有一定预训练初始化的模型产生的,且经过了池化,已经难以确定其合适的缩放值,进而无法确定与位置编码相加的方式。综合考虑,paraattntion舍弃了位置编码。
[0071]
本发明实施例第二层注意力模型对输入的序列表征向量形成的矩阵进行自注意力计算,设一个编码块为eb。首先对x进行线性变换,用三个不同的矩阵将其映射为分别对应查询、索引和键值的三个矩阵,计算表达式如下:
[0072][0073][0074][0075]
然后对查询、索引和键值进行基于缩放点积的注意力计算,其中db表示表征向量的初始维度,本模型中为768,计算表达式如下:
[0076][0077]
在同一个eb中,本发明实施例使用多个变换矩阵不同的注意力头,每个头即是对序列的一次重新采样,扩展了模型能捕获的信息,此处h=8。同时单个头将维度从db=768映射为dq=dk=dv=db/h=64,也减小了计算量。再将多个头的输出拼接并通过全连接层映射,将维度还原,不丢失信息,计算表达式如下:
[0078]
mh=cat(h1,h2…hh
)w
o (11)
[0079][0080]
如图3所示,所得输出即为各句子新的注意力表示,同时将该输出与原输入相加,即建立残差连接,使得模型可以在加深后仍能有效训练,防止梯度消失。对该加和输出进行层标准化,也就是对单个样本内的向量按特征进行标准化处理,使其平均值变为0,方差变为1,起到控制范围、减少梯度消失和梯度爆炸现象的效果。标准化后的输出为y,仍保持初始的输入形状:25个通道,768维特征。y再进入逐位的前向网络,即对每个通道都做相同方式计算的一个双层网络,先将特征维度放大至1536维,再缩回768维,和y再进行残差连接并层标准化,增加网络深度。总体过程的计算表达式如下:
[0081]
y=layernorm(mh+x)
ꢀꢀꢀ
(13)
[0082]
×
=layernorm(y+relu(yw1+b1)w2+b2)
ꢀꢀꢀ
(14)
[0083]
至此为止,一个编码块的运算结束,最终得到的向量再作为新的输入到下一层编
码块,本发明实施例中的该模型由八层编码块堆叠。
[0084]
取出最后一层的输出中的第一个通道,即最初的问题所对应的表征向量的最终结果,作为分类器的输入,分类器为采用双曲正弦激活函数的双层网络,第一层是维度不变的映射,线性映射矩阵为偏差项为第二层的线性映射矩阵和偏差项将维数降至二维,也即所要划分的种类数,得到logits,后与标签计算交叉熵,计算表达式如下:
[0085][0086][0087][0088]
同理,当题目为选择题时,只需要将问题输入的原句子换为问题分别和各选项的拼接,同时扩展问题对应的通道数(纯文本选择题为7,带示意图的选择题为4),在模型运算时,分别将问题与上下文组成输入矩阵,最后提取其输出的第一个通道的表征向量进入分类器,映射为1维后拼接,计算损失。具体的计算表达式如下:
[0089]
qi=tokenizer(《cls》q+ansi《sep》),i∈|a|
ꢀꢀꢀ
(18)
[0090][0091][0092]
之后,整体模型可经由反向传播在数据集上进行训练。
[0093]
为了探究本发明实施例的模型对信息抽取的有效性,从数据集中选取某一条问题进行检验,对于该问题对应课文的全文用模型进行处理后,得到每一段中与该问题相关度最高的一句话,用方框框出,如图4所示。
[0094]
通过阅读这个问题和这篇文章,可以看出,课文每段中与该问题相关度最高的一句话均是被框出的内容,由此可知本发明能够在一定程度上抽取出最合适于问答的内容。
[0095]
本发明基于多层次注意力的教科书文本问答方法,在教科书问答的文本部分的准确率表现以及跟其他模型的效果对比,如表1所示。
[0096]
表1
[0097][0098]
可以看出,与常规的记忆神经网络模型在文本问题上的表现相比,本发明提出的方法能实现更高的准确率,并且能够给出问题回答所依赖的文本。
[0099]
与roberta模型相比,在不经预训练的情况下,本发明方法能在判断类问题上取得比roberta模型更好的效果,并且可解释性更强。
[0100]
与bidaf模型相比,本发明方法由于独特的注意力机制设计,能取得更好的效果。
[0101]
综上所述,本发明基于多层次注意力的模型对于教科书文本问题的回答有一定增益。
[0102]
本发明的模型在训练时使用adamw优化器,设置学习率初始为1e-5
匀速衰减至0;训练轮数为5;为控制所有模型和数据均适应显存大小,batchsize设为1;为防止过拟合,线性层后的dropout均设为0.1;所有模型的随机数种子均设为42。最终得到的训练过程如图5。
[0103]
本发明的实施例还提出一种基于多层次注意力的教科书文本问答系统,包括:
[0104]
第一自注意力计算模块,用于将问题文本与对应章节的上下文段落进行分词并编码后输入第一层注意力模型,在句内进行自注意力计算与池化,得到句子的表征向量;
[0105]
相似度计算模块,用于取问题句子的表征向量与所有上下文段落句子的表征向量计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量,作为每个段落对应问题的上下文表征向量;
[0106]
第二自注意力计算模块,用于将问题及每个段落对应问题的上下文表征向量输入第二层注意力模型,进行段落与段落、段落与问题间的自注意力计算与池化,获得问题所对应的答案表征向量作为分类器的输入;
[0107]
分类器输出模块,用于由分类器输出答案选项,并得出答案文本对应章节的上下文段落。
[0108]
本发明的实施例还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于多层次注意力的教科书文本问答方法。
[0109]
示例性的,所述存储器中存储的指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在计算机可读存储介质中,并由所述处理器执行,以完成本发明所述基于多层次注意力的教科书文本问答方法。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在服务器中的执行过程。
[0110]
所述电子设备可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述电子设备还可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
[0111]
所述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0112]
所述存储器可以是所述服务器的内部存储单元,例如服务器的硬盘或内存。所述存储器也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器还可以既包括所述服务器的内部存储单元也包括外部存储设备。
所述存储器用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0113]
需要说明的是,上述模块单元之间的信息交互、执行过程等内容,由于与方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0114]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0115]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。
[0116]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0117]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种基于多层次注意力的教科书文本问答方法,其特征在于,包括以下步骤:将问题文本与对应章节的上下文段落进行分词并编码后输入第一层注意力模型,在句内进行自注意力计算与池化,得到句子的表征向量;取问题句子的表征向量与所有上下文段落句子的表征向量计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量,作为每个段落对应问题的上下文表征向量;将问题及每个段落对应问题的上下文表征向量输入第二层注意力模型,进行段落与段落、段落与问题间的自注意力计算与池化,获得问题所对应的答案表征向量作为分类器的输入;由分类器输出答案选项,并得出答案文本对应章节的上下文段落。2.根据权利要求1所述基于多层次注意力的教科书文本问答方法,其特征在于,所述将问题文本与对应章节的上下文段落进行分词并编码的步骤,设置最大编码长度,当大于最大编码长度则截断,少于最大编码长度则填充<pad>字符,当问题文本为q,对应章节的上下文段落p1,p2…
p
n
,n为段落数量,段落p
i
中所有句子为s
i,1
,s
i,2
…
s
i,m
,m为句子向量,以单句为单位,使用bert-base-uncased预训练模型对应的分词器进行分词并编码,保留掩码序列,用于确定后续得到的表征中有实际意义的序列的长度len,不使填充字符参与池化。3.根据权利要求2所述基于多层次注意力的教科书文本问答方法,其特征在于,所述在句内进行自注意力计算的步骤,取模型第12层,即最后一层的未池化输出为代表句内词特征的二维矩阵,对非填充部分做平均池化,得到句子的表征向量q1;对每个上下文句子s
i,j
进行同样的计算后得到新的表征以上过程的计算表达式如下:以上过程的计算表达式如下:以上过程的计算表达式如下:以上过程的计算表达式如下:式中,bert1()
12
为叠加了12个bert前向模块的函数,q为问题向量,s
i,j
为第i段中的第j个句子向量,为经过第一层模型处理后的第i段中的第j个句子的带有词特征的表征矩阵,q1为问题的带有词特征的表征矩阵,表示维度为64
×
768的实向量,表示维度为768的实向量。4.根据权利要求3所述基于多层次注意力的教科书文本问答方法,其特征在于,所述取问题句子的表征向量与所有上下文段落句子的表征向量计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量的步骤,计算表达式如下:
获得问题及每个段落对应问题的上下文表征向量为5.根据权利要求4所述基于多层次注意力的教科书文本问答方法,其特征在于,所述第二层注意力模型对问题及每个段落对应问题的上下文表征向量所形成的矩阵进行自注意力计算,对若干个编码块依次进行,首先对x进行线性变换,通过三个不同的矩阵将其映射为分别对应查询、索引和键值的三个矩阵,表达式如下:换,通过三个不同的矩阵将其映射为分别对应查询、索引和键值的三个矩阵,表达式如下:换,通过三个不同的矩阵将其映射为分别对应查询、索引和键值的三个矩阵,表达式如下:然后对查询、索引和键值进行基于缩放点积的注意力计算,其中,d
b
表示表征向量的初始维度,d
q
表示输出的x
q
向量的维度,d
k
表示输出的x
k
向量的维度,dv表示输出的xv向量的维度,表达式如下:在同一个eb中,使用多个变换矩阵不同的注意力头,每个注意力头即是对序列的一次重新采样,同时单个注意力头将维度映射为d
q
=d
k
=dv=d
b
/h=64,h为注意力头的数量,再将多个头的输出拼接并通过全连接层映射,将维度还原,表达式如下:mh=cat(h1,h2…
h
h
)w
o
式中,mh为多头注意力环节的最终输出结果,cat()为将向量进行连接操作,h1,h2…
h
h
为各注意力头的输出,w
o
为一个线性映射矩阵,分别为上述的查询向量、索引向量和键值向量。6.根据权利要求5所述基于多层次注意力的教科书文本问答方法,其特征在于,还包括将各句子新的注意力表示与原输入相加,建立残差连接;对加和输出进行层标准化,对单个样本内的向量按特征进行标准化处理,使其平均值变为0,方差变为1;标准化后的输出为y,仍保持初始的输入形状,y再进入逐位的前向网络,对每个通道都做相同方式的计算。7.根据权利要求6所述基于多层次注意力的教科书文本问答方法,其特征在于,所述分类器为采用双曲正弦激活函数的双层网络,第一层是维度不变的映射,线性映射矩阵为偏差项为第二层的线性映射矩阵和偏差项将维数降至二维,也即所要划分的种类数,得到logits为未进行归一化的分类权重,后与标签计算交叉熵,计算表达式如下:
式中,为经过softmax归一化处理后的各类别的分类权重,e为自然对数,loss为最终损失,n为分类种类,当所求为判断题时n为2,当所求为选择题时n为4,y
i
为真实答案是否为第i项,是时y
i
=1,不是时y
i
=0,为的第i项分量。8.根据权利要求7所述基于多层次注意力的教科书文本问答方法,其特征在于,当题目为选择题时,只需要将问题输入的原句子换为问题分别和各选项的拼接,同时扩展问题对应的通道数,在模型运算时,分别将问题与上下文组成输入矩阵,最后提取其输出的第一个通道的表征向量进入分类器,映射为1维后拼接,计算损失,计算表达式如下:q
i
=tokenizer(<cls>q+ans
i
<sep>),i∈|a|<sep>),i∈|a|式中,q
i
为问题与第i个选项拼接后的表示向量,tokenizer()为分词器,<cls>为句首用于标志整句的token,q为问题本身,ans
i
为第i个选项,<sep>为用于将问题与后续输入的上下文分开的token,|a|为选项数量,对于选择题为4,对于判断题为2,x为输入,logits为未进行归一化的分类权重,为向量的连接操作,y
i
可类比判断题的y。9.一种基于多层次注意力的教科书文本问答系统,其特征在于,包括:第一自注意力计算模块,用于将问题文本与对应章节的上下文段落进行分词并编码后输入第一层注意力模型,在句内进行自注意力计算与池化,得到句子的表征向量;相似度计算模块,用于取问题句子的表征向量与所有上下文段落句子的表征向量计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量,作为每个段落对应问题的上下文表征向量;第二自注意力计算模块,用于将问题及每个段落对应问题的上下文表征向量输入第二层注意力模型,进行段落与段落、段落与问题间的自注意力计算与池化,获得问题所对应的答案表征向量作为分类器的输入;分类器输出模块,用于由分类器输出答案选项,并得出答案文本对应章节的上下文段落。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述基于多层次注意力的教科书文本问答方法。
技术总结
一种基于多层次注意力的教科书文本问答方法及系统,方法包括:将问题文本与对应章节的上下文段落进行分词并编码后输入第一层注意力模型,在句内进行自注意力计算与池化,得到句子的表征向量;取问题句子的表征向量与所有上下文段落句子的表征向量计算余弦相似度,每个段落仅保留相似度最大的一句话所对应的表征向量,作为每个段落对应问题的上下文表征向量;将问题及每个段落对应问题的上下文表征向量输入第二层注意力模型,进行段落与段落、段落与问题间的自注意力计算与池化,获得问题所对应的答案表征向量作为分类器的输入;由分类器输出答案选项,并得出答案文本对应章节的上下文段落。本发明可以针对教科书文本问题选择出更准确的回答选项。择出更准确的回答选项。择出更准确的回答选项。
技术研发人员:张玲玲 马英洪 武亚强 张晓平 刘均 郑庆华 魏笔凡
受保护的技术使用者:西安交通大学
技术研发日:2023.06.28
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/