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

一种机器阅读理解方法、装置、设备及存储介质与流程

2022-06-05 15:46:39 来源:中国专利 TAG:


1.本发明实施例涉及机器阅读理解技术领域,尤其涉及一种机器阅读理解方法、装置、设备及存储介质。


背景技术:

2.机器阅读理解(machine reading comprehension,mrc)是自然语言处理的核心任务之一,它对于搜索引擎、智能客服等都有直接的应用价值。
3.机器阅读理解是指:给定一段文本,如果对于任何有关该文本的问题,大多数母语人士能够正确回答,且机器可以提供一个字符串,使发言者同意该字符串能够回答此问题,并且不包含与之无关的信息。
4.机器阅读理解方法分为两类:分别为生成式和抽取式。生成式是从理论上来说不受知识的局限,对于问题自动生成答案。但是生成式有时产生的答案答非所问、句式不通,不能很好地体现出人类的思维逻辑以及自然表述的特点。抽取式通过给定问题以及相关的文章训练语言模型,让机器具备阅读的能力,并对提出的新问题,语言模型在相关文章中抽取出相应的答案。相对于生成式而言,抽取式的技术优势更加明显,应用更为广泛。
5.然而,目前大部分抽取式机器阅读理解的语言模型的预测能力减弱,预测的答案准确度低。


技术实现要素:

6.本发明提供一种机器阅读理解方法、装置、设备及存储介质,能够提高预测答案的起始位置与结束位置的准确性。
7.第一方面,本发明实施例提供了一种机器阅读理解方法,包括:
8.对待理解的文本数据和目标问题进行文本表征,得到表征矩阵;
9.将所述表征矩阵输入编码层中进行处理,其中,编码层包括三层依次堆叠的第一多头注意力层,所述第一多头注意力层具有输入矩阵和输出矩阵,前一层所述第一多头注意力层的输出矩阵作为后一层所述第一多头注意力层的输入矩阵;
10.从三层所述第一多头注意力层中确定目标层,所述目标层为三层所述第一多头注意力层中的其中一层;
11.将所述目标层的输出矩阵分别与其他两层第一多头注意力层的输出矩阵进行拼接,得到第一特征矩阵和第二特征矩阵;
12.基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
13.第二方面,本发明实施例还提供了机器阅读理解装置,该装置包括:
14.表征模块,用于对待理解的文本数据和目标问题进行文本表征,得到表征矩阵;
15.编码模块,用于将所述表征矩阵输入编码层中进行处理,其中,编码层包括三层依次堆叠的第一多头注意力层,所述第一多头注意力层具有输入矩阵和输出矩阵,前一层所
述第一多头注意力层的输出矩阵作为后一层所述第一多头注意力层的输入矩阵;
16.目标层确定模块,用于从三层所述第一多头注意力层中确定目标层,所述目标层为三层所述第一多头注意力层中的其中一层;
17.矩阵拼接模块,用于将所述目标层的输出矩阵分别与其他两层第一多头注意力层的输出矩阵进行拼接,得到第一特征矩阵和第二特征矩阵;
18.答案位置确定模块,用于基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
19.第三方面,本发明实施例还提供了一种计算机设备,包括:
20.一个或多个处理器;
21.存储装置,用于存储一个或多个程序;
22.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明第一方面提供的机器阅读理解方法。
23.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明第一方面提供的机器阅读理解方法。
24.本发明实施例提供的机器阅读理解方法,在得到待理解的文本数据和目标问题的表征矩阵后,通过三层第一多头注意力层对表征矩阵进行多层级表示,对文本和问题之间的注意力焦点进一步细化,使得模型可以更好的注意到哪些内容是和问题相关的,进而提高预测答案的起始位置与结束位置的准确性。此外,三层第一多头注意力层的输出采用跳跃连接方式,将目标层的输出矩阵和其他两层第一多头注意力层的输出矩阵分别进行拼接,使得模型可以学习到不同的层的信息,同时矩阵拼接之后的维度翻倍,使得模型提取的特征更丰富,有助于提升预测答案的起始位置与结束位置的准确性,也进一步防止了梯度消失的问题。
附图说明
25.图1为本发明实施例一提供的一种机器阅读理解方法的流程图;
26.图2a为本发明实施例二提供的一种机器阅读理解方法的流程图;
27.图2b为本发明实施例二提供的一种机器阅读理解模型的结构示意图;
28.图2c为本发明实施例中bert-base模型的输入层的结构示意图;
29.图2d为本发明实施例中bert-base模型的编码层的结构示意图;
30.图2e为本发明实施例中多头注意力机制的处理示意图;
31.图3为本发明实施例提供的一种机器阅读理解装置的结构示意图;
32.图4为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
33.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
34.实施例一
35.图1为本发明实施例一提供的一种机器阅读理解方法的流程图,本实施例可适用
于抽取式机器阅读理解任务,该方法可以由本发明实施例提供的机器阅读理解装置来执行,该装置可采用软件和/或硬件的方式实现,并集成于本发明实施例提供的计算机设备中,如图1所示,该方法具体可以包括如下步骤:
36.s101、对待理解的文本数据和目标问题进行文本表征,得到表征矩阵。
37.抽取式机器阅读理解任务的输入为待理解的文本数据和目标问题,因此,首先要对这两部分进行文本表征,将其变成可以被计算机处理的信息单元。具体的,对这两部分进行编码,在编码的过程中,需要保留原有语句在文章中的语义,因此,每个单词、短语和句子的编码必须建立在理解上下文的基础上。
38.具体的,编码过程通常包括词表向量化、字符编码和上下文编码,分别得到词表向量中的词向量、字符向量和上下文向量。具体的,有两种方式获得词表中的词向量:保持词表向量不变,即采用预训练词表中的向量,或在训练过程中不进行改变将词表中的向量视为参数,在训练过程中和其他向量一起求导并优化。在单词理解中,字符和子词具有很强的辅助作用。通过字符组合往往可以识别正确的单词形式(纠错)。上下文向量会随着单词的上下文不同而发生改变,从而反映出单词在当前语句中的含义。
39.将编码后得到的待理解的文本数据的词向量、字符向量和上下文向量进行融合,得到表征文本数据的矩阵,以及目标问题的词向量、字符向量和上下文向量进行融合,得到表征目标问题的矩阵,将表征文本数据的矩阵和表征目标问题的矩阵进行拼接,得到表征矩阵。
40.s102、将表征矩阵输入编码层中进行处理。
41.其中,编码层包括三层依次堆叠的第一多头注意力层,每一第一多头注意力层均具有输入矩阵和输出矩阵,三层依次堆叠的第一多头注意力层中,前一层第一多头注意力层的输出矩阵作为后一层第一多头注意力层的输入矩阵。
42.在对文本处理过程中,单词信息通常以线性方式传递。在这个过程中,一个单词的信息随着距离的增加而衰减,特别是当文章比较长时,靠前部分的语句和靠后部分的语句几乎没有进行有效的状态传递。但在一些文章中,要获得答案可能需要理解文章中若干段相隔较远的部分。为了解决这个问题,可以使用自注意力机制。注意力机制的本质来自于人类视觉注意力机制,人们视觉在感知东西的时候一般不会是一个场景从到头看到尾每次全部都看,而往往是根据需求观察注意特定的一部分。而且当人们发现一个场景经常在某部分出现自己想观察的东西时,人们会进行学习在将来再出现类似场景时把注意力放到该部分上。
43.注意力机制可以宏观地理解为一个查询(query)到一系列(键key-值value)对的映射。将source(源)中的构成元素想象成是由一系列的《key,value》数据对构成,此时给定target(目标)中的某个元素query(查询),通过计算query和各个key的相似性或者相关性,得到每个key对应value的权重系数,通过softmax归一化后,对权重和相应value进行加权求和,即得到了最终的注意力数值。
44.多头注意力(multi-head attention)是利用多个查询,来平行地计算得到多个注意力数值,然后将这些注意力数值进行拼接,得到多头注意力的结果,即第二矩阵。其中,每个注意力的头关注输入信息的不同部分。
45.s103、从三层第一多头注意力层中确定目标层,目标层为三层第一多头注意力层
中的其中一层。
46.在本发明的一些实施例中,目标层可以为三层第一多头注意力层中的任意一层,在将表征矩阵输入编码层的同时或之后,可以选择三层第一多头注意力层中的任意一层作为目标层。在本发明的另一些实施例中,也可以预先确定目标层,本发明实施例在此不做限定。
47.s104、将目标层的输出矩阵分别与其他两层第一多头注意力层的输出矩阵进行拼接,得到第一特征矩阵和第二特征矩阵。
48.在本发明实施例中,三层第一多头注意力层的输出采用跳跃连接方式,即将三层第一多头注意力层中的目标层的输出矩阵分别与其他两层第一多头注意力层的输出矩阵进行拼接(concat),得到第一特征矩阵和第二特征矩阵。
49.其中,第一特征矩阵用于表征目标问题的答案的起始位置,第二特征矩阵用于表征目标问题的答案的结束位置。
50.s105、基于第一特征矩阵和第二特征矩阵分别确定目标问题的答案的起始位置和目标问题的答案的结束位置。
51.示例性的,可以分别对第一特征矩阵和第二特征矩阵进行线性变换处理,对第一特征矩阵和第二特征矩阵进行降维,得到对应特征向量,然后将第一特征矩阵和第二特征矩阵对应的特征向量分别输入预置的分类器中进行处理,得到目标问题的答案的在文本数据中的起始位置和结束位置。
52.本发明实施例提供的机器阅读理解方法,在得到待理解的文本数据和目标问题的表征矩阵后,通过三层第一多头注意力层对表征矩阵进行多层级表示,对文本和问题之间的注意力焦点进一步细化,使得模型可以更好的注意到哪些内容是和问题相关的,进而提高预测答案的起始位置与结束位置的准确性。此外,三层第一多头注意力层的输出采用跳跃连接方式,将目标层的输出矩阵和其他两层第一多头注意力层的输出矩阵分别进行拼接,使得模型可以学习到不同的层的信息,同时矩阵拼接之后的维度翻倍,使得模型提取的特征更丰富,有助于提升预测答案的起始位置与结束位置的准确性,也进一步防止了梯度消失的问题。
53.实施例二
54.图2a为本发明实施例二提供的一种机器阅读理解方法的流程图,图2b为本发明实施例二提供的一种机器阅读理解模型的结构示意图,本发明实施例以前述实施例一为基础进行优化,详细描述了本发明实施例中各步骤的详细过程,具体的,如图2a和图2b所示,本发明实施例的方法可以包括如下步骤:
55.s201、将待理解的文本数据和目标问题输入bert-base模型的输入层中进行嵌入处理,得到嵌入矩阵。
56.具体的,bert(bidirectional encoder representations from transformers)-base的输入层用于对文本数据(context)和目标问题(question)中的词进行词嵌入(token embedding)操作,得到词嵌入矩阵,对文本数据和目标问题中的词进行位置嵌入(position embedding)操作,得到位置嵌入矩阵,对文本数据和目标问题进行分段嵌入(segment embedding)操作,得到分段嵌入矩阵。其中,词嵌入操作是指将各个词用字典库中的编码表示,将其转换成固定维度的词嵌入向量,所有词嵌入向量组成的矩阵即为词嵌入矩阵;位置
嵌入操作是指将文本数据中每个位置进行编号,然后每个编号对应一个向量,通过结合位置向量和词向量,就给每个词都引入了一定的位置信息。分段嵌入操作是指对文本数据和目标问题进行编码,以区分文本数据和目标问题,区分的方式是文本数据中的词全部赋0,目标问题中的词全部赋1,且每句的起始位置用“cls”标识符表示,每句的结束位置用“sep”标识符表示。
57.图2c为本发明实施例中bert-base模型的输入层的结构示意图,如图2c所示,bert-base模型的输入层包括词嵌入层、位置嵌入层和分段嵌入层,将待理解的文本数据和目标问题输入bert-base模型的输入层中进行嵌入处理,得到嵌入矩阵,包括:
58.在词嵌入层对文本数据和目标问题中的词进行词嵌入操作,得到词嵌入矩阵e
t
,在位置嵌入层对文本数据和目标问题中的词进行位置嵌入操作,得到位置嵌入矩阵e
p
,在分段嵌入层对文本数据和目标问题进行分段嵌入操作,得到分段嵌入矩阵es,将词嵌入矩阵e
t
、位置嵌入矩阵e
p
和分段嵌入矩阵es进行加和,得到嵌入矩阵e。
59.bert-base模型能够处理最长512个token的输入序列,每个词被转换为一个768维的向量,因此,本发明实施例中的嵌入矩阵e为一个512
×
768的矩阵。
60.s202、将嵌入矩阵输入bert-base模型的编码层中进行处理,得到表征矩阵。
61.bert-base模型的编码层基于多头自注意力机制对嵌入矩阵e进行处理,得到表征矩阵t。图2d为本发明实施例中bert-base模型的编码层的结构示意图,如图2d所示,具体的,bert-base模型的编码层包括依次堆叠的m层第二多头注意力层,第二多头注意力层具有输入矩阵和输出矩阵,m为大于或等于2的正整数。通常将多头注意力层也称之为transformer,因此,bert-base模型的编码层是由m个堆叠的transformer组成。示例性的,在本发明实施例中,m=12。将嵌入矩阵e输入bert-base模型的编码层中进行处理,得到表征矩阵t,包括:
62.将嵌入矩阵e作为第一层第二多头注意力层的输入矩阵输入第一层第二多头注意力层中进行处理。
63.将前一层第二多头注意力层的输出矩阵作为后一层第二多头注意力层的输入矩阵,直至得到最后一层第二多头注意力层的输出矩阵作为表征矩阵t。
64.其中,每一层第二多头注意力层基于多头注意力机制对输入矩阵进行处理。示例性的,如图2d所示,第二多头注意力层的处理过程如下:
65.1、基于多头注意力机制对第二多头注意力层的输入矩阵进行处理,得到第一注意力矩阵。
66.图2e为本发明实施例中多头注意力机制的处理示意图,如图2e所示,具体的,以第一层第二多头注意力层为例,多头注意力机制(multi-head attention)的处理过程如下:
67.首先,采用三个不同的线性变换系数对嵌入矩阵e做三次线性变换,分别得到矩阵q1、矩阵k1和矩阵v1。
68.q1=ew
iq1
69.k1=ew
ik1
[0070]v1
=ew
iv1
[0071]
其中,w
iq1
为第i层第二多头注意力层的矩阵q1的线性变换系数,w
ik1
为第i层第二多头注意力层的矩阵k1的线性变换系数,w
iv1
为第i层第二多头注意力层的矩阵v1的线性变
[0088]
具体的,全连接前馈层首先对矩阵t4做一次非线性变换,变换参数为(w1,b1),得到矩阵t4w1 b1,接着采用非线性激活函数max(0,a)对t4w1 b1进行非线性激活,接着对非线性激活得到的矩阵再次做线性变换,变换参数为(w2,b2),非线性激活函数max(0,a)用于将矩阵t4w1 b1中的负元素替换为0。
[0089]
4、将第一全连接矩阵与第一融合矩阵进行加和,得到第二多头注意力层的输出矩阵。
[0090]
具体的,在本发明一实施例中,为了加快网络的收敛速度和减少网络的过拟合现象,可以预先对第一全连接矩阵t5进行归一化处理和随机丢弃操作,接着,将随机丢弃的输出与全连接前馈层的输入进行残差连接,即将随机丢弃的输出与第一融合矩阵t3进行加和,得到第二多头注意力层的输出矩阵。
[0091]
依此类推,将前一层第二多头注意力层的输出矩阵作为后一层第二多头注意力层的输入矩阵,直至得到最后一层第二多头注意力层的输出矩阵作为表征矩阵t。
[0092]
s203、将表征矩阵输入编码层中进行处理。
[0093]
其中,编码层包括三层依次堆叠的第一多头注意力层,前一层的输出矩阵作为后一层的输入矩阵。
[0094]
具体的,每一第一多头注意力层的处理过程与第二多头注意力层的处理过程类似,可以参考图2d,具体包括:
[0095]
1、基于多头注意力机制对第一多头注意力层的输入矩阵进行处理,得到第二注意力矩阵。
[0096]
第一多头注意力层的多头注意力机制与前述第二多头注意力层的多头注意力机制类似,可以参考2e,具体的以第一层第一多头注意力层为例,多头注意力机制(multi-head attention)的处理过程如下:
[0097]
首先,采用三个不同的线性变换系数对第一多头注意力层的输入矩阵(表征矩阵t)做线性变换,分别得到矩阵q2、矩阵k2和矩阵v2。
[0098]
q2=tw
iq2
[0099]
k2=tw
ik2
[0100]
v2=tw
iv2
[0101]
其中,w
iq2
为第i层第一多头注意力层的矩阵q2的线性变换系数,w
ik2
为第i层第一多头注意力层的矩阵k2的线性变换系数,w
iv2
为第i层第一多头注意力层的矩阵v2的线性变换系数,在这里i=1。
[0102]
接着,将矩阵q2、矩阵k2和矩阵v2分别进行n次线性变换,得到矩阵q2j、矩阵k2j和矩阵v2j,其中,j∈n,n为多头注意力机制的注意力头数。
[0103]
然后,计算矩阵q2j与矩阵k2j点乘,得到第五子矩阵。并计算第五子矩阵与矩阵k2j的维数的平方根的商,得到第六子矩阵。接着,对第六子矩阵进行归一化处理,得到第七子矩阵。然后,计算第七子矩阵与矩阵v2j的点乘,得到第八子矩阵(即headj)。
[0104][0105]
其中,为矩阵q2j与矩阵k2j的点乘,为k2j的转置矩阵,d
k2
为矩阵k2j的维数,softmax为归一化处理。
[0106]
最后,将n个第八子矩阵进行拼接,得到第二拼接矩阵,并对第二拼接矩阵进行线性变换,得到第二注意力矩阵m。
[0107]
m=multihead(q2,k2,v2)=concat(head1,...,headn)w1[0108]
其中,concat为矩阵拼接,w1为对第二拼接矩阵进行线性变换的线性变换系数。
[0109]
2、将第二注意力矩阵与第一多头注意力层的输入矩阵进行加和,得到第二融合矩阵。
[0110]
示例性的,以第一层第一多头注意力层为例,将多头注意力机制输出的第二注意力矩阵与第一多头注意力层的输入矩阵(表征矩阵t)进行加和,得到第二融合矩阵。
[0111]
在本发明一具体实施例中,为了加快网络的收敛速度,可以对第二注意力矩阵m作归一化处理(normalization,图中用norm代替)。为了减少网络的过拟合现象,将归一化处理后的矩阵输入丢弃(dropout)层中进行随机丢弃操作,得到矩阵m1。然后,将丢弃层的输出与第一多头注意力层的输入进行残差连接,即将矩阵m1与表征矩阵t相加,得到第二融合矩阵m2。
[0112]
3、将第二融合矩阵输入全连接前馈层中进行处理,得到第二全连接矩阵。
[0113]
具体的,在本发明实施例中,为了加快网络的收敛速度,可以预先对第二融合矩阵m2进行层归一化处理,得到矩阵m3。层归一化过程为:
[0114][0115]
其中,mi代表对第二融合矩阵m2的每一行进行归一化,u
l
和σ
l
分别表示每个样本的均值和方差,α和β代表缩放和平移的参数向量,ε为偏置参数,避免分母为零,对每一行归一化后得到矩阵m3。
[0116]
接着,将矩阵m3输入一个全连接前馈层(fully connected feed forward network,ffn)中进行处理,得到第二全连接矩阵m4。具体的,全连接前馈层的处理过程如下式所示:
[0117]
m4=ffn(m3)=max(0,m3w1 b1)w2 b2[0118]
具体的,全连接前馈层首先对矩阵m3做一次非线性变换,变换参数为(w1,b1),得到矩阵m3w1 b1,接着采用非线性激活函数max(0,a)对m3w1 b1进行非线性激活,接着对非线性激活得到的矩阵再次做线性变换,变换参数为(w2,b2),非线性激活函数max(0,a)用于将矩阵m3w1 b1中的负元素替换为0。
[0119]
4、将第二全连接矩阵与第二融合矩阵进行加和,得到第一多头注意力层的输出矩阵。
[0120]
具体的,在本发明一实施例中,为了加快网络的收敛速度和减少网络的过拟合现象,可以预先对第二全连接矩阵m4进行归一化处理和随机丢弃操作,接着,将随机丢弃的输出与全连接前馈层的输入进行残差连接,即将随机丢弃的输出与第二融合矩阵m2进行加和,得到第一层第一多头注意力层的输出矩阵m1。
[0121]
依此类推,将前一层第一多头注意力层的输出矩阵作为后一层第一多头注意力层的输入矩阵,得到第二层第一多头注意力层的输出矩阵m2和第三层第一多头注意力层的输出矩阵m3。
[0122]
s204、基于验证试验得到的预测答案与标准答案的匹配率从三层第一多头注意力层中确定目标层。
[0123]
在本发明的一些实施例中,目标层可以为三层第一多头注意力层中的任意一层,在将表征矩阵输入编码层的同时或之后,可以选择三层第一多头注意力层中的任意一层作为目标层。在本发明的另一些实施例中,也可以预先确定目标层,本发明实施例在此不做限定。
[0124]
在本发明一具体实施例中,可以预先采用验证数据样本对不同的机器阅读理解模型进行验证,并基于验证结果从三层第一多头注意力层中确定目标层。
[0125]
具体的,本发明实施例中,验证结果可以包括模糊匹配率f1和完全匹配率em。完全匹配率em也就是模型给出的答案与标准答案一模一样的概率。完全匹配率em计算公式为:
[0126][0127]
其中n表示验证集中的所有样本数量,n表示模型给出的答案与标准答案一模一样的样本数量。
[0128]
模糊匹配率f1可以理解为机器答对了部分内容,是根据模型给出的答案和标准答案之间的重合度计算出来的,也就是结合了召回率和精确率。相比完全匹配,f1是一种更宽松的评价标准。其计算公式为:
[0129][0130][0131][0132]
其中nc表示模型的预测答案和真实答案之间重合的单词个数;n
p
表示模型的预测答案的单词个数;nr表示真实答案的单词个数,上述三个公式计算的是每一个样本的f1值,因此还需要在整个验证集n上面计算f1值。
[0133][0134]
示例性的,表1为对本发明实施例中的机器阅读理解模型进行验证的验证结果。
[0135]
表1
[0136]
modellearning ratebatchsizeemf1bert transformer*13e-5871.5674.8bert transformer*23e-5871.5574.56bert transformer*33e-5871.5274.48
[0137]
其中,bert transformer*1为包含bert-base模型加一层第一多头注意力层的机器阅读理解模型,bert transformer*3为包含bert-base模型加三层第一多头注意力层的机器阅读理解模型。三个机器阅读理解模型的学习率(learning rate)均为3e-5,批处理(batchsize)大小均为8,由表中的实验结果数据可以看出在叠加第一层第一多头注意力层
base输出的表征矩阵进行多层级表示,对文本和问题之间的注意力焦点进一步细化,使得模型可以更好的注意到哪些内容是和问题相关的,进而提高预测答案的起始位置与结束位置的准确性。此外,三层第一多头注意力层的输出采用跳跃连接方式,将目标层的输出矩阵和其他两层第一多头注意力层的输出矩阵分别进行拼接,使得模型可以学习到不同的层的信息,同时矩阵拼接之后的维度翻倍,使得模型提取的特征更丰富,有助于提升预测答案的起始位置与结束位置的准确性,也进一步防止了梯度消失的问题。
[0157]
实施例三
[0158]
图3为本发明实施例提供的一种机器阅读理解装置的结构示意图,如图3所示,该装置包括:
[0159]
表征模块301,用于对待理解的文本数据和目标问题进行文本表征,得到表征矩阵;
[0160]
编码模块302,用于将所述表征矩阵输入编码层中进行处理,其中,编码层包括三层依次堆叠的第一多头注意力层,所述第一多头注意力层具有输入矩阵和输出矩阵,前一层所述第一多头注意力层的输出矩阵作为后一层所述第一多头注意力层的输入矩阵;
[0161]
目标层确定模块303,用于从三层所述第一多头注意力层中确定目标层,所述目标层为三层所述第一多头注意力层中的其中一层;
[0162]
矩阵拼接模块304,用于将所述目标层的输出矩阵分别与其他两层第一多头注意力层的输出矩阵进行拼接,得到第一特征矩阵和第二特征矩阵;
[0163]
答案位置确定模块305,用于基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
[0164]
在本发明的一些实施例中,表征模块301包括:
[0165]
嵌入处理子模块,用于将待理解的文本数据和目标问题输入bert-base模型的输入层中进行嵌入处理,得到嵌入矩阵;
[0166]
编码处理子模块,用于将所述嵌入矩阵输入bert-base模型的编码层中进行处理,得到表征矩阵。
[0167]
在本发明的一些实施例中,所述bert-base模型的输入层包括词嵌入层、位置嵌入层和分段嵌入层,嵌入处理子模块包括:
[0168]
词嵌入单元,用于在所述词嵌入层对文本数据和目标问题中的词进行词嵌入操作,得到词嵌入矩阵;
[0169]
位置嵌入单元,用于在所述位置嵌入层对文本数据和目标问题中的词进行位置嵌入操作,得到位置嵌入矩阵;
[0170]
分段嵌入单元,用于在所述分段嵌入层对文本数据和目标问题进行分段嵌入操作,得到分段嵌入矩阵;
[0171]
第一矩阵加和单元,用于将所述词嵌入矩阵、所述位置嵌入矩阵和所述分段嵌入矩阵进行加和,得到嵌入矩阵。
[0172]
在本发明的一些实施例中,所述bert-base模型的编码层包括依次堆叠的m层第二多头注意力层,所述第二多头注意力层具有输入矩阵和输出矩阵,m为大于或等于2的正整数,编码处理子模块包括:
[0173]
第一处理单元,用于将所述嵌入矩阵作为第一层第二多头注意力层的输入矩阵输
入第一层第二多头注意力层中进行处理;
[0174]
第二处理单元,用于将前一层第二多头注意力层的输出矩阵作为后一层第二多头注意力层的输入矩阵,直至得到最后一层第二多头注意力层的输出矩阵作为表征矩阵。
[0175]
在本发明的一些实施例中,第二处理单元包括:
[0176]
第一注意力矩阵提取子单元,用于基于多头注意力机制对所述第二多头注意力层的输入矩阵进行处理,得到第一注意力矩阵;
[0177]
第一融合矩阵确定子单元,用于将所述第一注意力矩阵与所述第二多头注意力层的输入矩阵进行加和,得到第一融合矩阵;
[0178]
第一全连接矩阵确定子单元,用于将所述第一融合矩阵输入全连接前馈层中进行处理,得到第一全连接矩阵;
[0179]
矩阵加和子单元,用于将所述第一全连接矩阵与所述第一融合矩阵进行加和,得到所述第二多头注意力层的输出矩阵。
[0180]
在本发明的一些实施例中,第一注意力矩阵提取子单元还用于:
[0181]
采用三个不同的线性变换系数对所述第二多头注意力层的输入矩阵做线性变换,分别得到矩阵q1、矩阵k1和矩阵v1;
[0182]
将所述矩阵q1、矩阵k1和矩阵v1分别进行m次线性变换,得到矩阵q1i、矩阵k1i和矩阵v1i,其中,i∈m,m为所述多头注意力机制的注意力头数;
[0183]
计算所述矩阵q1i与所述矩阵k1i点乘,得到第一子矩阵;
[0184]
计算所述第一子矩阵与所述矩阵k1i的维数的平方根的商,得到第二子矩阵;
[0185]
对所述第二子矩阵进行归一化处理,得到第三子矩阵;
[0186]
计算所述第三子矩阵与所述矩阵v1i的点乘,得到第四子矩阵;
[0187]
将m个第四子矩阵进行拼接,得到第一拼接矩阵;
[0188]
对所述第一拼接矩阵进行线性变换,得到第一注意力矩阵。
[0189]
在本发明的一些实施例中,编码模块302中每一所述第一多头注意力层包括:
[0190]
第二注意力矩阵提取单元,用于基于多头注意力机制对所述第一多头注意力层的输入矩阵进行处理,得到第二注意力矩阵;
[0191]
第二融合矩阵确定单元,用于将所述第二注意力矩阵与所述第一多头注意力层的输入矩阵进行加和,得到第二融合矩阵;
[0192]
第二全连接矩阵提取单元,用于将所述第二融合矩阵输入全连接前馈层中进行处理,得到第二全连接矩阵;
[0193]
第二矩阵加和单元将所述第二全连接矩阵与所述第二融合矩阵进行加和,得到所述第一多头注意力层的输出矩阵。
[0194]
在本发明的一些实施例中,第二注意力矩阵提取单元还用于:
[0195]
采用三个不同的线性变换系数对所述第一多头注意力层的输入矩阵做线性变换,分别得到矩阵q2、矩阵k2和矩阵v2;
[0196]
将所述矩阵q2、矩阵k2和矩阵v2分别进行n次线性变换,得到矩阵q2j、矩阵k2j和矩阵v2j,其中,j∈n,n为所述多头注意力机制的注意力头数;
[0197]
计算所述矩阵q2j与所述矩阵k2j点乘,得到第五子矩阵;
[0198]
计算所述第五子矩阵与所述矩阵k2j的维数的平方根的商,得到第六子矩阵;
[0199]
对所述第六子矩阵进行归一化处理,得到第七子矩阵;
[0200]
计算所述第七子矩阵与所述矩阵v2j的点乘,得到第八子矩阵;
[0201]
将n个第八子矩阵进行拼接,得到第二拼接矩阵;
[0202]
对所述第二拼接矩阵进行线性变换,得到第二注意力矩阵。
[0203]
在本发明的一些实施例中,目标层确定模块303包括:
[0204]
目标层确定单元,用于基于验证试验得到的预测答案与标准答案的匹配率从三层所述第一多头注意力层中确定目标层。
[0205]
在本发明的一些实施例中,答案位置确定模块305包括:
[0206]
第一特征向量确定单元,用于将所述第一特征矩阵进行线性变换,得到第一特征向量;
[0207]
第一概率分布获取单元,用于将所述第一特征向量输入第一softmax函数层中进行处理,得到所述答案的起始位置为所述文本数据中各词的第一概率分布;
[0208]
起始位置确定单元,用于基于所述第一概率分布确定所述答案的起始位置。
[0209]
在本发明的一些实施例中,答案位置确定模块305包括:
[0210]
第二特征向量确定单元,用于将所述第二特征矩阵进行线性变换,得到第二特征向量;
[0211]
第二概率分布获取单元,用于将所述第二特征向量输入第二softmax函数层中进行处理,得到所述答案的结束位置为所述文本数据中各词的第二概率分布;
[0212]
结束位置确定单元,用于基于所述第二概率分布确定所述答案的结束位置。
[0213]
上述产品可执行本发明任意实施例一、二所提供的方法,具备执行方法相应的功能模块和有益效果。
[0214]
实施例四
[0215]
本发明实施例四提供了一种计算机设备,图4为本发明实施例四提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括处理器401、存储器402、通信模块403、输入装置404和输出装置405;计算机设备中处理器401的数量可以是一个或多个,图4中以一个处理器401为例;计算机设备中的处理器401、存储器402、通信模块403、输入装置404和输出装置405可以通过总线或其他方式连接,图4中以通过总线连接为例。上述处理器401、存储器402、通信模块403、输入装置404和输出装置405可以集成在计算机设备的控制主板上。
[0216]
存储器402作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的机器阅读理解方法对应的模块。处理器401通过运行存储在存储器402中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述实施例提供的机器阅读理解方法。
[0217]
存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器402可进一步包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其
组合。
[0218]
通信模块403,用于与外界设备(例如智能终端)建立连接,并实现与外界设备的数据交互。输入装置404可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。
[0219]
本实施例提供的一种计算机设备,可执行本发明上述任意实施例提供的机器阅读理解方法,具体相应的功能和有益效果。
[0220]
实施例五
[0221]
本发明实施例五提供了一种包含计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明上述任意实施例提供的机器阅读理解方法,该方法包括:
[0222]
对待理解的文本数据和目标问题进行文本表征,得到表征矩阵;
[0223]
将所述表征矩阵输入编码层中进行处理,其中,编码层包括三层依次堆叠的第一多头注意力层,所述第一多头注意力层具有输入矩阵和输出矩阵,前一层所述第一多头注意力层的输出矩阵作为后一层所述第一多头注意力层的输入矩阵;
[0224]
从三层所述第一多头注意力层中确定目标层,所述目标层为三层所述第一多头注意力层中的其中一层;
[0225]
将所述目标层的输出矩阵分别与其他两层第一多头注意力层的输出矩阵进行拼接,得到第一特征矩阵和第二特征矩阵;
[0226]
基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
[0227]
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例所提供的机器阅读理解方法中的相关操作。
[0228]
需要说明的是,对于装置、设备和存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0229]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的机器阅读理解方法。
[0230]
值得注意的是,上述装置中,所包括的各个模块、子模块、单元和子单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0231]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0232]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0233]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

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

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

相关文献