1.一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,包括以下步骤:定义m个词的文章为C,含有n个词的问题为Q;
把问题Q和文章C通过分词器,并把它们拼接为定长的序列;
把拼接好的定长的序列输入到多层Transformer结构的编码器端,得到输出向量H;
将所述输出向量H按照问题和文章的长度分成问题序列HQ和文章序列HC;采用不同大小的卷积核,分别对文章和问题进行不同语义空间下的特征提取,得到局部表示向量ck和qk:通过注意力机制计算局部表示的相似度矩阵Sk:选取第i个文章单词和第j个问题单词相似度最大值构成最显著的相似度分数矩阵Sij;通过双向融合注意力机制,得到基于问题的文章表示Q based C和基于文章的问题表示C based Q;将基于文章的问题表示C based Q和经过门机制得到的基于问题的文章表示Q based C拼接表示为拼接向量V;
把经过注意力机制后得到的拼接向量V,记为细粒度向量,模拟人类精读时的效果,把从编码器端得到的输出向量H序列记为粗粒度向量,模拟人类略读时的结果;采用跳跃连接将粗粒度向量H与细粒度向量V构成残差结构,输出得到包含粗细两种粒度的语义向量I;
将语义向量I输入全连接层得到每个单词的start logit和end logit;用粗粒度向量H中每个序列的句向量获取class logit;进行训练,且在训练的过程中,用交叉熵损失函数作为训练目标;
对于问题的可回答性,通过训练一个分类任务,赋予每个问题一个可回答分数;问题的可回答性是二分类任务,在训练的过程中采用二分类的交叉熵损失函数Lossclass;
得到分类分数scoreclass;得到跨度提取的分数score ext;
所述scoreclass和scoreext加和取均值得到最终的问题可回答性分数,如果该分数高于阈值,则认为问题有答案,并把得到的跨度预测赋予该问题;相反,如果小于,则问题不可回答。
2.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,其中,把问题Q和文章C通过分词器,并把它们拼接为定长的序列,还包括:起始位置用[CLS]来标识;Q和C之间用标识符[SEP]隔开;C的结尾同样用[SEP]标识;如果序列过长则截断;如果序列没有达到定长,则用[PAD]补齐。
3.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,所述编码器端为ALBERT模型。
4.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,所述多层Transformer结构中输入有带有编码特征的向量序列E={e1,e2,...,es};
所述多层Transformer结构中的每一层均包括有两部分,一部分是多头注意力,另一部分是前馈层。
5.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,所述局部表示向量ck和qk分别表示为:ck=Conv1Dk(HC);qk=Conv1Dk(HQ);其中,k=1,3,5大小的卷积核,ck∈Rm×s,qk∈Rn×s;
其中,Conv是卷积,Conv1D指一维卷积;qk∈Rn×s中,n和s指qk的空间维度是n行s列,n是问题的长度,s是最大序列长度,在ck的空间维度中,m代表文章的长度。
6.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,所述相似度矩阵Sk表示为:Sk=ck·qk;其中,Sk∈Rm×n,表示第k个卷积核对应的相似度矩阵。
7.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,所述相似度分数矩阵Sij:Sij=Max([S1;S2;S3]);
其中,Sij∈Rm×n。
8.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,所述Q based C和C based Q分别表示为:Q based C representations=g ⊙G+(1‑g) ⊙x;
C based Q representations=Q+Q ⊙qa;
其中,Q based C为基于问题的文章表示,C based Q为基于文章的问题表示,qa是问题词基于突出文章词的注意力加权和;
所述Q based C和C based Q拼接形成的拼接向量V表示为:V=concate[Q based C;C based Q]。
9.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,所述语义向量I表示为:I=H+ATT(H)其中,I∈Rs×h,H为输出向量。
10.根据权利要求1所述的一种基于残差结构和双向融合注意力的跨度提取阅读理解方法,其特征在于,所述交叉熵损失函数Lossclass表示为:其中,y′i是对第i个问题可回答性的预测,yi是第i个问题标签标记的可回答性,N是问题的个数;
所述分类分数scoreclass表示为:scoreclass=logitnull‑logithas其中,logitnull表示无答案的logit值,logithas表示有答案的logit值;
所述跨度提取的分数scoreext表示为:
scoreext_has=max(si+ej),1<i≤j≤sscoreext_null=s1+e1scoreext=scoreext_null‑scoreext_has;其中,si和ej是问题对应每个单词的起止位置的概率。