CN112464643B - 一种机器阅读理解方法、装置、设备及存储介质 - Google Patents
一种机器阅读理解方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112464643B CN112464643B CN202011348097.7A CN202011348097A CN112464643B CN 112464643 B CN112464643 B CN 112464643B CN 202011348097 A CN202011348097 A CN 202011348097A CN 112464643 B CN112464643 B CN 112464643B
- Authority
- CN
- China
- Prior art keywords
- matrix
- attention
- layer
- processing
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种机器阅读理解方法、装置、设备及存储介质。方法包括:对待理解的文本数据和目标问题进行编码融合,得到第一矩阵,基于多头注意力机制对第一矩阵进行处理,得到第二矩阵,对第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵,基于协同多头注意力机制对文本矩阵和问题矩阵进行处理,得到第三矩阵,从第三矩阵中提取出第一特征矩阵和第二特征矩阵,基于第一特征矩阵和第二特征矩阵分别确定目标问题的答案的起始位置和目标问题的答案的结束位置。本发明实施例能够更好地细化注意力焦点,进而提高预测的答案的准确度。
Description
技术领域
本发明实施例涉及机器阅读理解技术领域,尤其涉及一种机器阅读理解方法、装置、设备及存储介质。
背景技术
机器阅读理解(Machine Reading Comprehension,MRC)是自然语言处理的核心任务之一,它对于搜索引擎、智能客服等都有直接的应用价值。
机器阅读理解是指:给定一段文本,如果对于任何有关该文本的问题,大多数母语人士能够正确回答,且机器可以提供一个字符串,使发言者同意该字符串能够回答此问题,并且不包含与之无关的信息。
机器阅读理解方法分为两类:分别为生成式和抽取式。生成式是从理论上来说不受知识的局限,对于问题自动生成答案。但是生成式有时产生的答案答非所问、句式不通,不能很好地体现出人类的思维逻辑以及自然表述的特点。抽取式通过给定问题以及相关的文章训练语言模型,让机器具备阅读的能力,并对提出的新问题,语言模型在相关文章中抽取出相应的答案。相对于生成式而言,抽取式的技术优势更加明显,应用更为广泛。
目前大部分抽取式机器阅读理解的语言模型的输出是一个上下文和问题连接在一起的一个长向量,此时模型并没有足够的能力去细化这一个长向量注意力的焦点,随着层数的增多,上下文与问题之间的注意力就会逐渐被分散,造成模型的预测能力减弱,预测的答案准确度低。
发明内容
本发明提供一种机器阅读理解方法、装置、设备及存储介质,以实现有针对性的对文本数据和目标问题进行相互关注,能够更好地细化注意力焦点,进而提高预测的答案的准确度。
第一方面,本发明实施例提供了一种机器阅读理解方法,包括:
对待理解的文本数据和目标问题进行编码融合,得到第一矩阵;
基于多头注意力机制对所述第一矩阵进行处理,得到第二矩阵;
对所述第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵;
基于协同多头注意力机制对所述文本矩阵和所述问题矩阵进行处理,得到第三矩阵;
从所述第三矩阵中提取出第一特征矩阵和第二特征矩阵,所述第一特征矩阵用于表征所述目标问题的答案的起始位置,所述第二特征矩阵用于表征所述目标问题的答案的结束位置;
基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
第二方面,本发明实施例还提供了机器阅读理解装置,该装置包括:
编码融合模块,用于对待理解的文本数据和目标问题进行编码融合,得到第一矩阵;
第一注意力模块,用于基于多头注意力机制对所述第一矩阵进行处理,得到第二矩阵;
掩码操作模块,用于对所述第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵;
第二注意力模块,用于基于协同多头注意力机制对所述文本矩阵和所述问题矩阵进行处理,得到第三矩阵;
特征矩阵提取模块,用于从所述第三矩阵中提取出第一特征矩阵和第二特征矩阵,所述第一特征矩阵用于表征所述目标问题的答案的起始位置,所述第二特征矩阵用于表征所述目标问题的答案的结束位置;
答案位置确定模块,用于基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
第三方面,本发明实施例还提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明第一方面提供的机器阅读理解方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明第一方面提供的机器阅读理解方法。
本发明实施例提供的机器阅读理解方法,包括:对待理解的文本数据和目标问题进行编码融合,得到第一矩阵,基于多头注意力机制对第一矩阵进行处理,得到第二矩阵,对第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵,基于协同多头注意力机制对文本矩阵和问题矩阵进行处理,得到第三矩阵,从第三矩阵中提取出第一特征矩阵和第二特征矩阵,基于第一特征矩阵和第二特征矩阵分别确定目标问题的答案的起始位置和目标问题的答案的结束位置。通过对第二矩阵进行掩码操作,分别得到用于表征文本的文本矩阵和用于表征目标问题的问题矩阵,然后基于协同多头注意力机制对文本矩阵和问题矩阵进行处理,将文本数据和目标问题之间的注意力机制进行区分,有针对性的对文本数据和目标问题进行相互关注,能够更好地细化注意力焦点,进而提高预测的答案的准确度。
附图说明
图1为本发明实施例一提供的一种机器阅读理解方法的流程图;
图2A为本发明实施例二提供的一种机器阅读理解方法的流程图;
图2B为本发明实施例二提供的一种机器阅读理解模型的结构示意图;
图2C为本发明实施例中BERT-base模型的输入层的结构示意图;
图2D为本发明实施例中BERT-base模型的编码层的结构示意图;
图2E为本发明实施例中多头注意力层的处理示意图;
图3为本发明实施例提供的一种机器阅读理解装置的结构示意图;
图4为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种机器阅读理解方法的流程图,本实施例可适用于抽取式机器阅读理解任务,该方法可以由本发明实施例提供的机器阅读理解装置来执行,该装置可采用软件和/或硬件的方式实现,并集成于本发明实施例提供的计算机设备中,如图1所示,该方法具体可以包括如下步骤:
S101、对待理解的文本数据和目标问题进行编码融合,得到第一矩阵。
抽取式机器阅读理解任务的输入为待理解的文本数据和目标问题,因此,首先要对这两部分进行数字化编码,将其变成可以被计算机处理的信息单元。在编码的过程中,需要保留原有语句在文章中的语义,因此,每个单词、短语和句子的编码必须建立在理解上下文的基础上。
具体的,编码过程由编码层完成,通常包括词表向量化、字符编码和上下文编码,分别得到词表向量中的词向量、字符向量和上下文向量。具体的,有两种方式获得词表中的词向量:保持词表向量不变,即采用预训练词表中的向量,或在训练过程中不进行改变将词表中的向量视为参数,在训练过程中和其他向量一起求导并优化。在单词理解中,字符和子词具有很强的辅助作用。通过字符组合往往可以识别正确的单词形式(纠错)。上下文向量会随着单词的上下文不同而发生改变,从而反映出单词在当前语句中的含义。
将编码后得到的待理解的文本数据的词向量、字符向量和上下文向量进行融合,得到表征文本数据的矩阵,以及目标问题的词向量、字符向量和上下文向量进行融合,得到表征目标问题的矩阵,将表征文本数据的矩阵和表征目标问题的矩阵进行拼接,得到第一矩阵。
S102、基于多头注意力机制对第一矩阵进行处理,得到第二矩阵。
在对上下文编码过程中,单词信息通常以线性方式传递。在这个过程中,一个单词的信息随着距离的增加而衰减,特别是当文章比较长时,靠前部分的语句和靠后部分的语句几乎没有进行有效的状态传递。但在一些文章中,要获得答案可能需要理解文章中若干段相隔较远的部分。为了解决这个问题,可以使用自注意力机制。注意力机制的本质来自于人类视觉注意力机制,人们视觉在感知东西的时候一般不会是一个场景从到头看到尾每次全部都看,而往往是根据需求观察注意特定的一部分。而且当人们发现一个场景经常在某部分出现自己想观察的东西时,人们会进行学习在将来再出现类似场景时把注意力放到该部分上。
注意力机制可以宏观地理解为一个查询(Query)到一系列(键Key-值Value)对的映射。将Source(源)中的构成元素想象成是由一系列的<Key,Value>数据对构成,此时给定Target (目标)中的某个元素Query(查询),通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,通过softmax归一化后,对权重和相应Value进行加权求和,即得到了最终的注意力数值。
多头注意力(multi-head attention)是利用多个查询,来平行地计算得到多个注意力数值,然后将这些注意力数值进行拼接,得到多头注意力的结果,即第二矩阵。其中,每个注意力的头关注输入信息的不同部分。
S103、对第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵。
矩阵的掩码操作是指根据掩码矩阵(或称之为核)重新计算矩阵中每个元素的值。掩码矩阵中的值表示近邻元素值(包括该元素自身的值)对新元素的值有多大影响。使用掩码矩阵的时候,先把掩码矩阵中心的元素对齐到要计算的目标矩阵上,再把邻域元素值和相应的矩阵元素值的乘积加起来。
第二矩阵是一个融合了文本数据和目标问题的矩阵,为了后面应用协同多头注意力机制,必须把第二矩阵里面的文本数据和目标问题区分开。
本发明实施例中,采用两个不同的掩码矩阵分别对第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵。其中,文本矩阵为对第二矩阵中的问题部分进行掩码后得到的表征文本的矩阵,问题矩阵为对第二矩阵中的文本部分进行掩码后得到的表征目标问题的矩阵。
S104、基于协同多头注意力机制对文本矩阵和问题矩阵进行处理,得到第三矩阵。
协同多头注意力是一个文本数据与目标问题之间相互关注的多头注意力机制。协同多头注意力机制包括两部分,两部分均对文本矩阵和问题矩阵进行处理。第一部分为Context2Query多头注意力,Context2Query计算的是对于文本数据中的单词而言哪些问题中的单词和它最相关(即注意力);第二部分为Query2Context多头注意力,Query2Context计算的是对于问题中的单词而言文本数据中的哪些单词和它最相关(即注意力)。由于输入的文本矩阵和问题矩阵是不同的,因此,协同多头注意力机制中的注意力不是自注意力。将上述Context2Query求得的注意力与Query2Context求得的注意力进行合并,得到第三矩阵。
如前文所述,第二矩阵由表征文本数据的矩阵和表征目标问题的矩阵拼接而成,矩阵的中每个向量的维度较大,由于传统的自注意机制没有足够的能力去细化长向量注意力的焦点,随着层数的增多,文本数据与目标问题之间的注意力就会逐渐被分散,造成预测的答案准确度低。本发明实施例中,通过对第二矩阵进行掩码操作,分别得到用于表征文本的文本矩阵和用于表征目标问题的问题矩阵,然后基于协同多头注意力机制对文本矩阵和问题矩阵进行处理,将文本数据和目标问题之间的注意力机制进行区分,有针对性的对文本数据和目标问题进行相互关注,能够更好地细化注意力焦点,进而提高预测的答案的准确度。
S105、从第三矩阵中提取出第一特征矩阵和第二特征矩阵。
其中,第一特征矩阵用于表征目标问题的答案的起始位置,第二特征矩阵用于表征目标问题的答案的结束位置。
具体的,对第三矩阵进行处理,例如,基于自注意力机制对第三矩阵进行处理,分别对答案的起始位置和终止位置的注意力焦点进行细化,得到第一特征矩阵和第二特征矩阵。
S106、基于第一特征矩阵和第二特征矩阵分别确定目标问题的答案的起始位置和目标问题的答案的结束位置。
具体的,可以分别对第一特征矩阵和第二特征矩阵进行线性变换处理,对第一特征矩阵和第二特征矩阵进行降维,得到对应特征向量,然后第一特征矩阵和第二特征矩阵对应的特征向量分别输入预置的分类器中进行处理,得到目标问题的答案的在文本数据中的起始位置和结束位置。
本发明实施例提供的机器阅读理解方法,包括:对待理解的文本数据和目标问题进行编码融合,得到第一矩阵,基于多头注意力机制对第一矩阵进行处理,得到第二矩阵,对第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵,基于协同多头注意力机制对文本矩阵和问题矩阵进行处理,得到第三矩阵,从第三矩阵中提取出第一特征矩阵和第二特征矩阵,基于第一特征矩阵和第二特征矩阵分别确定目标问题的答案的起始位置和目标问题的答案的结束位置。通过对第二矩阵进行掩码操作,分别得到用于表征文本的文本矩阵和用于表征目标问题的问题矩阵,然后基于协同多头注意力机制对文本矩阵和问题矩阵进行处理,将文本数据和目标问题之间的注意力机制进行区分,有针对性的对文本数据和目标问题进行相互关注,能够更好地细化注意力焦点,进而提高预测的答案的准确度。
实施例二
图2A为本发明实施例二提供的一种机器阅读理解方法的流程图,图2B为本发明实施例二提供的一种机器阅读理解模型的结构示意图,本发明实施例以前述实施例一为基础进行优化,详细描述了本发明实施例中各步骤的详细过程,具体的,如图2A和图2B所示,本发明实施例的方法可以包括如下步骤:
S201、将待理解的文本数据和目标问题输入BERT-base模型的输入层中进行编码,得到第一矩阵。
BERT(Bidirectional Encoder Representations from Transformers)-base模型包括输入层和编码层,输入层用于对待理解的文本数据和目标问题进行编码,得到第一矩阵,编码层由多个堆叠的transformer组成,transformer用于基于多头自注意力机制对第一矩阵进行处理。
具体的,BERT-base模型的输入层用于对文本数据(context)和目标问题(question)中的词进行词嵌入(Token Embedding)操作,得到词嵌入矩阵,对文本数据和目标问题中的词进行位置嵌入(Position Embedding)操作,得到位置嵌入矩阵,对文本数据和目标问题进行分段嵌入(Segment Embedding)操作,得到分段嵌入矩阵。其中,词嵌入操作是指将各个词用字典库中的编码表示,将其转换成固定维度的词嵌入向量,所有词嵌入向量组成的矩阵即为词嵌入矩阵;位置嵌入操作是指将文本数据中每个位置进行编号,然后每个编号对应一个向量,通过结合位置向量和词向量,就给每个词都引入了一定的位置信息。分段嵌入操作是指对文本数据和目标问题进行编码,以区分文本数据和目标问题,区分的方式是文本数据中的词全部赋0,目标问题中的词全部赋1,且每句的起始位置用“CLS”标识符表示,每句的结束位置用“SEP”标识符表示。
图2C为本发明实施例中BERT-base模型的输入层的结构示意图,如图2C所示,BERT-base模型的输入层包括词嵌入层、位置嵌入层和分段嵌入层,将待理解的文本数据和目标问题输入BERT-base模型的输入层中进行编码,得到第一矩阵,包括:
在词嵌入层对文本数据和目标问题中的词进行词嵌入操作,得到词嵌入矩阵ET,在位置嵌入层对文本数据和目标问题中的词进行位置嵌入操作,得到位置嵌入矩阵EP,在分段嵌入层对文本数据和目标问题进行分段嵌入操作,得到分段嵌入矩阵ES,将词嵌入矩阵ET、位置嵌入矩阵EP和分段嵌入矩阵ES进行加和,得到第一矩阵E。
具体的,在本发明实施例中,可以同时处理8个文本数据和8个文本数据对应的8个目标问题。BERT-base模型能够处理最长512个token的输入序列,每个词被转换为一个768维的向量,因此,本发明实施例中的第一矩阵E为一个8×512×768的矩阵。
S202、将第一矩阵输入BERT-base模型的编码层中进行处理,得到第二矩阵。
BERT-base模型的编码层基于多头自注意力机制对第一矩阵E进行处理,得到第二矩阵 T。图2D为本发明实施例中BERT-base模型的编码层的结构示意图,如图2D所示,具体的, BERT-base模型的编码层包括依次堆叠的M层多头注意力层,M为大于或等于2的正整数。通常将多头注意力层也称之为transformer,因此,BERT-base模型的编码层是由M个堆叠的 transformer组成。示例性的,在本发明实施例中,M=12。将第一矩阵E输入BERT-base模型的编码层中进行处理,得到第二矩阵T,包括:
1、将第一矩阵E输入第一层多头注意力层中进行处理,得到第一注意力矩阵。
图2E为本发明实施例中多头注意力层的处理示意图,如图2E所示,具体的,第一层多头注意力层的处理过程如下:
首先,采用三个不同的线性变换系数对第一矩阵E做三次线性变换,分别得到矩阵Q、矩阵K和矩阵V。
其中,Wi Q为第i层多头注意力层的矩阵Q的线性变换系数,在这里i=1。
接着,将矩阵Q、矩阵K和矩阵V分别进行m次线性变换,得到矩阵Qh、矩阵Kh和矩阵Vh,其中,h∈m,m为多头注意力层的注意力头数。示例性的,如图2E所示,以m=2 为例,对多头注意力层的处理过程作示例性说明。
接着,计算矩阵Qh与矩阵Kh点乘,得到第一子矩阵ah,并计算第一子矩阵ah与矩阵Kh的维数的平方根的商,得到第二子矩阵bh。然后,对第二子矩阵bh进行归一化处理,得到第三子矩阵。接着,计算第三子矩阵与矩阵Vh的点乘,得到第四子矩阵(即headh)。
最后,将m个第四子矩阵进行拼接,得到第一拼接矩阵b,并对第一拼接矩阵b进行线性变换,得到第一注意力矩阵M。
M=Multihead(Q,K,V)=concat(head1,…,headm)W0
其中,concat为矩阵拼接,W0为对第一拼接矩阵b进行线性变换的线性变换系数。
2、将第一注意力矩阵与第一矩阵进行加和,得到第一融合矩阵。
在本发明一具体实施例中,为了加快网络的收敛速度,可以对第一注意力矩阵M作归一化处理(Normalization,图中用norm代替)。为了减少网络的过拟合现象,将归一化处理后的矩阵输入丢弃(dropout)层中进行随机丢弃操作,得到矩阵M1。然后,将丢弃层的输出与第一层多头注意力层的输入进行残差连接,即将矩阵M1与第一矩阵E相加,得到第一融合矩阵M2。
3、将第一融合矩阵输入全连接前馈层中进行处理,得到第一全连接矩阵。
具体的,在本发明实施例中,为了加快网络的收敛速度,可以预先对第一融合矩阵M2进行层归一化处理,得到矩阵M3。层归一化过程为:
其中,mi代表对第一融合矩阵M2的每一行进行归一化,uL和σL分别表示每个样本的均值和方差,α和β代表缩放和平移的参数向量,ε为偏置参数,避免分母为零,对每一行归一化后得到矩阵M3。
接着,将矩阵M3输入一个全连接前馈层(Fully Connected Feed ForwardNetwork,FFN) 中进行处理,得到第一全连接矩阵M4。具体的,全连接前馈层的处理过程如下式所示:
M4=FFW(M3)=Max(0,M3W1+b1)W2+b2
具体的,全连接前馈层首先对矩阵M3做一次非线性变换,变换参数为(W1,b1),得到矩阵M3W1+b1,接着采用非线性激活函数Max(0,a)对M3W1+b1进行非线性激活,接着对非线性激活得到的矩阵再次做线性变换,变换参数为(W2,b2)。
4、将第一全连接矩阵与第一融合矩阵进行加和,得到第二融合矩阵。
具体的,在本发明一实施例中,为了加快网络的收敛速度和减少网络的过拟合现象,可以预先对第一全连接矩阵M4进行归一化处理和随机丢弃操作,接着,将随机丢弃的输出与全连接前馈层的输入进行残差连接,即将随机丢弃的输出与第一融合矩阵M2进行加和,得到第二融合矩阵M5。
5、将第二融合矩阵作为下一层多头注意力层的输入矩阵,以此类推,得到第二矩阵。
具体的,第二融合矩阵M5作为下一层多头注意力层的输入矩阵,该多头注意力层对第二融合矩阵M5进行处理,得到注意力矩阵,该注意力矩阵与第二融合矩阵M5相加,得到融合矩阵,接着,将该融合矩阵输入一个全连接前馈层中进行处理,得到全连接矩阵,将全连接矩阵与全连接前馈层的输入矩阵相加,并将相加的结果矩阵作为下一层多头注意力层的输入,以此类推,直至完成12层多头注意力层的处理过程,将最后的输出矩阵作为第二矩阵T。
S203、对第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵。
第二矩阵是一个融合了文本数据和目标问题的矩阵,为了后面应用协同多头注意力机制,必须把第二矩阵里面的文本数据和目标问题区分开。因此本发明采用两个掩码矩阵对第二矩阵T进行掩码操作,生成独立的文本矩阵和问题矩阵。
具体的,采用文本掩码矩阵(context mask)对第二矩阵中的文本分量进行屏蔽,得到问题矩阵。数学表达如下:
q=mcT
其中,q为问题矩阵,mc为文本掩码矩阵,T为第二矩阵。
采用问题掩码矩阵(query mask)对第二矩阵中的问题分量进行屏蔽,得到文本矩阵。数学表达如下:
c=mqT
其中,c为文本矩阵,mq为问题掩码矩阵。
S204、将文本矩阵和问题矩阵输入第一协同多头注意力模型中进行处理,得到第一协同注意力矩阵。
具体的,第一协同多头注意力模型可以是Context2Query模型,用于计算对于文本数据中的单词而言哪些问题中的单词和它最相关(即注意力)。
Context2Query模型的结构与BERT-base模型的编码层的结构类似,可以参考图2D,具体的,第一协同多头注意力模型包括N层协同多头注意力层,N为大于或等于2的正整数。通常将第一协同多头注意力模型中的协同多头注意力层称之为C2Q transformer,即第一协同多头注意力模型为N个C2Q transformer堆叠形成。示例性的,在本发明实施例中,N=7。将文本矩阵和问题矩阵输入第一协同多头注意力模型中进行处理,得到第一协同注意力矩阵,包括:
1、将文本矩阵和问题矩阵输入第一层协同多头注意力层中进行处理,得到第二注意力矩阵。
协同多头注意力层的处理过程与BERT-base模型的编码层中的多头注意力层的处理过程类似,可以参考图2E,具体的,过程如下:
首先,采用第一线性变换参数对文本矩阵c做线性变换,得到矩阵Qc,接着,分别采用第二线性变换参数和第三线性变换参数对问题矩阵q做线性变换,得到矩阵Kq和矩阵Vq。具体过程如下:
接着,计算矩阵与矩阵点乘,得到第五子矩阵,并计算第五子矩阵与矩阵的维数的平方根的商,得到第六子矩阵。然后,对第六子矩阵进行归一化处理,得到第七子矩阵,然后,计算第七子矩阵与矩阵的点乘,得到第八子矩阵(headi)。
接着,将n个第八子矩阵进行拼接,得到第二拼接矩阵,最后,对第二拼接矩阵进行线性变换,得到第二注意力矩阵Mc 1。
Mc 1=Multihead(Qc,Kq,Vq)=concat(head1,…,headn)Wc 0
2、将第二注意力矩阵与第二矩阵进行加和,得到第三融合矩阵。
在本发明一具体实施例中,为了加快网络的收敛速度,可以对第二注意力矩阵Mc 1作归一化处理。为了减少网络的过拟合现象,将归一化处理后的矩阵输入丢弃(dropout)层中进行随机丢弃操作,得到矩阵Mc 2。然后,将丢弃层的输出与第一层协同多头注意力层的输入进行残差连接,即将矩阵Mc 2与第二矩阵T相加,得到第三融合矩阵Mc 3。
3、将第三融合矩阵输入全连接前馈层中进行处理,得到第二全连接矩阵。
具体的,在本发明实施例中,为了加快网络的收敛速度,可以预先对第三融合矩阵Mc 3进行层归一化处理,得到矩阵Mc 4。层归一化过程为:
其中,mc i代表对第三融合矩阵Mc 3的每一行进行归一化,uL和σL分别表示每个样本的均值和方差,α和β代表缩放和平移的参数向量,ε为偏置参数,避免分母为零,对每一行归一化后得到矩阵Mc 4。
接着,将矩阵Mc 4输入一个全连接前馈层中进行处理,得到第二全连接矩阵Mc 5。具体的,全连接前馈层的处理过程如下式所示:
Mc 5=FFW(Mc 4)=Max(0,Mc 4Wc 1+bc 1)Wc 2+bc 2
具体的,全连接前馈层首先对矩阵Mc 4做一次非线性变换,变换参数为(Wc 1,bc 1),得到矩阵Mc 4Wc 1+bc 1,接着采用非线性激活函数Max(0,a)对Mc 4Wc 1+bc 1进行非线性激活,接着对非线性激活得到的矩阵再次做线性变换,变换参数为(Wc 2,bc 2)。
4、将第二全连接矩阵与第三融合矩阵进行加和,得到第四融合矩阵。
具体的,在本发明一实施例中,为了加快网络的收敛速度和减少网络的过拟合现象,可以预先对第二全连接矩阵Mc 5进行归一化处理和随机丢弃操作,接着,将随机丢弃的输出与全连接前馈层的输入进行残差连接,即将随机丢弃的输出与第三融合矩阵Mc 3进行加和,得到第四融合矩阵Mc 6。
5、将第四融合矩阵作为下一层协同多头注意力层的输入矩阵,以此类推,得到第一协同注意力矩阵。
具体的,第四融合矩阵Mc 6作为下一层多头注意力层的输入矩阵,该多头注意力层对第四融合矩阵Mc 6进行处理,得到注意力矩阵,该注意力矩阵与第四融合矩阵Mc 6相加,得到融合矩阵,接着,将该融合矩阵输入一个全连接前馈层中进行处理,得到全连接矩阵,将全连接矩阵与全连接前馈层的输入矩阵相加,并将相加的结果矩阵作为下一层多头注意力层的输入,以此类推,直至完成7层协同多头注意力层的处理过程,将最后的输出矩阵作为第一协同注意力矩阵Mc。
S205、将文本矩阵和问题矩阵输入第二协同多头注意模力型中进行处理,得到第二协同注意力矩阵。
具体的,第二协同多头注意力模型可以是Query2Context模型,用于计算对于目标问题中的单词而言文本数据中哪些单词和它最相关(即注意力)。
Query2Context模型的结构与BERT-base模型的编码层的结构类似,可以参考图2D,具体的,第二协同多头注意力模型包括N层协同多头注意力层,N为大于或等于2的正整数。通常将第二协同多头注意力模型中的协同多头注意力层称之为Q2C transformer,即第二协同多头注意力模型为N个Q2C transformer堆叠形成。示例性的,在本发明实施例中,N=7。将文本矩阵和问题矩阵输入第二协同多头注意力模型中进行处理,得到第二协同注意力矩阵,包括:
1、将文本矩阵和问题矩阵输入第一层协同多头注意力层中进行处理,得到第三注意力矩阵。
协同多头注意力层的处理过程与BERT-base模型的编码层中的多头注意力层的处理过程类似,可以参考图2E,具体的,过程如下:
首先,采用第四线性变换参数对问题矩阵q做线性变换,得到矩阵Qq,接着,分别采用第五线性变换参数和第六线性变换参数对文本矩阵c做线性变换,得到矩阵Kc和矩阵Vc。具体过程如下:
接着,计算矩阵与矩阵点乘,得到第九子矩阵,并计算第九子矩阵与矩阵的维数的平方根的商,得到第十子矩阵。然后,对第十子矩阵进行归一化处理,得到第十一子矩阵,然后,计算第十一子矩阵与矩阵的点乘,得到第十二子矩阵(headj)。
接着,将n个第十二子矩阵进行拼接,得到第三拼接矩阵,最后,对第三拼接矩阵进行线性变换,得到第三注意力矩阵Mq 1。
2、将第三注意力矩阵与所述第二矩阵进行加和,得到第五融合矩阵。
在本发明一具体实施例中,为了加快网络的收敛速度,可以对第三注意力矩阵Mq 1作归一化处理。为了减少网络的过拟合现象,将归一化处理后的矩阵输入丢弃(dropout)层中进行随机丢弃操作,得到矩阵Mq 2。然后,将丢弃层的输出与第一层协同多头注意力层的输入进行残差连接,即将矩阵Mq 2与第二矩阵T相加,得到第五融合矩阵Mq 3。
3、将第五融合矩阵输入全连接前馈层中进行处理,得到第三全连接矩阵。
具体的,在本发明实施例中,为了加快网络的收敛速度,可以预先对第五融合矩阵Mq 3进行层归一化处理,得到矩阵Mq 4。层归一化过程为:
其中,mq i代表对第三融合矩阵Mc 3的每一行进行归一化,uL和σL分别表示每个样本的均值和方差,α和β代表缩放和平移的参数向量,ε为偏置参数,避免分母为零,对每一行归一化后得到矩阵Mq 4。
接着,将矩阵Mq 4输入一个全连接前馈层中进行处理,得到第三全连接矩阵Mq 5。具体的,全连接前馈层的处理过程如下式所示:
Mq 5=FFN(Mq 4)=Max(0,Mq 4Wq 1+bq 1)Wq 2+bq 2
具体的,全连接前馈层首先对矩阵Mq 4做一次非线性变换,变换参数为(Wq 1,bq 1),得到矩阵Mq 4Wq 1+bq 1,接着采用非线性激活函数Max(0,a)对Mq 4Wq 1+bq 1进行非线性激活,接着对非线性激活得到的矩阵再次做线性变换,变换参数为(Wq 2,bq 2)。
4、将第三全连接矩阵与第五融合矩阵进行加和,得到第六融合矩阵。
具体的,在本发明一实施例中,为了加快网络的收敛速度和减少网络的过拟合现象,可以预先对第三全连接矩阵Mq 5进行归一化处理和随机丢弃操作,接着,将随机丢弃的输出与全连接前馈层的输入进行残差连接,即将随机丢弃的输出与第五融合矩阵Mq 3进行加和,得到第六融合矩阵Mq 6。
5、将第六融合矩阵作为下一层协同多头注意力层的输入矩阵,以此类推,得到第二协同注意力矩阵。
具体的,第六融合矩阵Mq 6作为下一层多头注意力层的输入矩阵,该多头注意力层对第六融合矩阵Mq 6进行处理,得到注意力矩阵,该注意力矩阵与第六融合矩阵Mq 6相加,得到融合矩阵,接着,将该融合矩阵输入一个全连接前馈层中进行处理,得到全连接矩阵,将全连接矩阵与全连接前馈层的输入矩阵相加,并将相加的结果矩阵作为下一层多头注意力层的输入,以此类推,直至完成7层协同多头注意力层的处理过程,将最后的输出矩阵作为第二协同注意力矩阵Mq。
S206、将第一协同注意力矩阵和第二协同注意力矩阵进行拼接,得到第三矩阵。
具体的,将第一协同注意力矩阵Mc和第二协同注意力矩阵Mq进行拼接(concat),得到第三矩阵MN。具体的,在本发明实施例中,第一协同注意力矩阵Mc和第二协同注意力矩阵Mq均为8×512×768的矩阵,拼接后的第三矩阵MN为8×512×1536的矩阵。
S207、将第三矩阵输入卷积网络中进行特征提取,得到第十三子矩阵。
具体的,卷积网络包括至少两个1维卷积层,第三矩阵MN经至少两个1维卷积层进行特征提取,得到8×512×768的第十三子矩阵。卷积网络包括至少两个1维卷积层,使得第三矩阵MN的维度下降变慢,避免维度下降过快导致过多的信息丢失。示例性的,在本发明实施例中,卷积网络包括两个1维卷积层,第三矩阵MN经第一卷积层处理后,输出8×512×1024 的矩阵,第二卷积层接收第一卷积层的输出矩阵,并进行处理,输出8×512×768的第十三子矩阵C1。
S208、将第十三子矩阵与第二矩阵进行加和,得到第四融合矩阵。
在本发明的一些实施例中,为了加快网络的收敛速度和减少网络的过拟合现象,可以对第十三子矩阵C1进行归一化处理和随机丢弃操作,得到矩阵C2。接着,将矩阵C2与第二矩阵T相加,得到第七融合矩阵。
S209、将第七融合矩阵分别输入第一多头注意力层和第二多头注意力层中进行处理,得到第一特征矩阵和第二特征矩阵。
具体的,将第七融合矩阵分别输入第一多头注意力层和第二多头注意力层中进行处理,得到第一特征矩阵S1和第二特征矩阵S2。第一多头注意力层和第二多头注意力层的处理过程可以参考本发明上述实施例中的BERT-base模型的编码层中多头注意力层的处理过程,本发明实施例在此不再赘述。
第一多头注意力层和第二多头注意力层基于自注意力机制分别对答案的起始位置和结束位置的注意力焦点进行细化,使得模型可以更好的注意到文本数据中哪些内容是和问题相关的,提高答案预测精度。
S210、基于第一特征矩阵和第二特征矩阵分别确定目标问题的答案的起始位置和目标问题的答案的结束位置。
具体的,目标问题的答案预测包括答案的起始位置预测和结束位置预测。
起始位置预测如下:
1、将第一特征矩阵进行线性变换,将第一特征矩阵转换为第一特征向量。
具体的,对第一特征矩阵S1进行线性变换(linear),将第一特征矩阵S1转换为第一特征向量。在本发明实施例中,模型同时处理8个文本数据和8个文本数据对应的8个目标问题,因此,线性变换后得到8个第一特征向量组成的矩阵,该矩阵的维度为8×512×1。
2、将第一特征向量输入第一softmax函数层中进行处理,得到答案的起始位置为文本数据中各词的第一概率分布。
具体的,将第一特征向量输入第一softmax函数层,softmax函数将第一特征向量归一化为0-1之间的数值,即第一概率分布,每一个数值代表答案的起始位置为文本数据中对应的词的概率。
3、基于第一概率分布确定答案的起始位置。
具体的,在本发明实施例中,将第一概率分布中概率值最大的数值对应的词作为答案的起始位置。
结束位置预测如下:
1、将第一特征矩阵与第二特征矩阵进行拼接,得到第四拼接矩阵。
具体的,将第一特征矩阵S1与第二特征矩阵S2进行拼接(concat),得到第四拼接矩阵。结束位置在开始位置的后面,所以需要结合开始位置的信息来帮助预测结束位置。因此,在本发明实施例中,将第一特征矩阵S1与第二特征矩阵S2进行拼接后,借助于开始位置的信息能够更准确地预测结束位置,使得结束位置的预测更准确。
2、将第四拼接矩阵输入预置的循环神经网络中进行处理,得到第二特征向量。
具体的,将第四拼接矩阵输入预置的循环神经网络中进行处理,循环神经网络结合开始位置的信息,提取第二特征向量。在本发明一具体实施例中,循环神经网络可以是长短期记忆网络(Long Short-Term Memory,LSTM),LSTM是一种特殊的循环神经网络,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的循环神经网络,LSTM能够在更长的序列中有更好的表现。LSTM通过门控状态来控制传输状态,记住历史帧数据的触摸点的位置特征中需要长时间记忆的信息,忘记不重要的信息,从而可以较好地利用多个历史帧的信息,从而提升预测的效果。
3、将第二特征向量输入第二softmax函数层中进行处理,得到答案的结束位置为文本数据中各词的第二概率分布。
具体的,将第二特征向量输入第二softmax函数层中进行处理,softmax函数将第二特征向量归一化为0-1之间的数值,即第二概率分布,每一个数值代表答案的结束位置为文本数据中对应的词的概率。
4、基于第二概率分布确定答案的结束位置。
具体的,在本发明实施例中,将第二概率分布中概率值最大的数值对应的词作为答案的结束位置。
本发明实施例提供的机器阅读理解方法,通过对第二矩阵进行掩码操作,分别得到用于表征文本的文本矩阵和用于表征目标问题的问题矩阵,然后基于协同多头注意力机制对文本矩阵和问题矩阵进行处理,将文本数据和目标问题之间的注意力机制进行区分,有针对性的对文本数据和目标问题进行相互关注,能够更好地细化注意力焦点,进而提高预测的答案的准确度。此外,通过协同多头注意力机制输出的第三矩阵采用至少两次一维卷积,使得第三矩阵的维度下降变慢,避免维度下降过快导致过多的信息丢失。基于多头自注意力机制对卷积网络的输出进行处理,分别对答案的起始位置和结束位置的注意力焦点进行细化,使得模型可以更好的注意到文本数据中哪些内容是和问题相关的,提高了答案预测精度。结合开始位置的信息来帮助预测结束位置,使得结束位置的预测更准确。
实施例三
图3为本发明实施例提供的一种机器阅读理解装置的结构示意图,如图3所示,该装置包括:
编码融合模块301,用于对待理解的文本数据和目标问题进行编码融合,得到第一矩阵;
第一注意力模块302,用于基于多头注意力机制对所述第一矩阵进行处理,得到第二矩阵;
掩码操作模块303,用于对所述第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵;
第二注意力模块304,用于基于协同多头注意力机制对所述文本矩阵和所述问题矩阵进行处理,得到第三矩阵;
特征矩阵提取模块305,用于从所述第三矩阵中提取出第一特征矩阵和第二特征矩阵,所述第一特征矩阵用于表征所述目标问题的答案的起始位置,所述第二特征矩阵用于表征所述目标问题的答案的结束位置;
答案位置确定模块306,用于基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
在本发明的一些实施例中,编码融合模块301还用于将待理解的文本数据和目标问题输入BERT-base模型的输入层中进行编码,得到第一矩阵。
在本发明的一些实施例中,所述BERT-base模型的输入层包括词嵌入层、位置嵌入层和分段嵌入层,编码融合模块301包括:
词嵌入单元,用于在所述词嵌入层对文本数据和目标问题中的词进行词嵌入操作,得到词嵌入矩阵;
位置嵌入单元,用于在所述位置嵌入层对文本数据和目标问题中的词进行位置嵌入操作,得到位置嵌入矩阵;
分段嵌入单元,用于在所述分段嵌入层对文本数据和目标问题进行分段嵌入操作,得到分段嵌入矩阵;
矩阵加和单元,用于将所述词嵌入矩阵、所述位置嵌入矩阵和所述分段嵌入矩阵进行加和,得到第一矩阵。
在本发明的一些实施例中,第一注意力模块302还用于将所述第一矩阵输入BERT-base 模型的编码层中进行处理,得到第二矩阵。
在本发明的一些实施例中,所述BERT-base模型的编码层包括依次堆叠的M层多头注意力层,M为大于或等于2的正整数,第一注意力模块302包括:
第一注意力矩阵提取单元,用于将所述第一矩阵输入第一层多头注意力层中进行处理,得到第一注意力矩阵;
第一融合矩阵确定单元,用于将所述第一注意力矩阵与所述第一矩阵进行加和,得到第一融合矩阵;
第一全连接矩阵提取单元,用于将所述第一融合矩阵输入全连接前馈层中进行处理,得到第一全连接矩阵;
得到第二融合矩阵确定单元,用于将所述第一全连接矩阵与所述第一融合矩阵进行加和,得到第二融合矩阵;
第二矩阵确定单元,用于将所述第二融合矩阵作为下一层多头注意力层的输入矩阵,以此类推,得到第二矩阵。
在本发明的一些实施例中,第一注意力矩阵提取单元包括:
第一线性变换子单元,用于采用三个不同的线性变换系数对所述第一矩阵做线性变换,分别得到矩阵Q、矩阵K和矩阵V;
第二线性变换子单元,用于将所述矩阵Q、矩阵K和矩阵V分别进行m次线性变换,得到矩阵Qh、矩阵Kh和矩阵Vh,其中,h∈m,m为所述多头注意力层的注意力头数;
第一子矩阵确定子单元,用于计算所述矩阵Qh与所述矩阵Kh点乘,得到第一子矩阵;
第二子矩阵确定子单元,用于计算所述第一子矩阵与所述矩阵Kh的维数的平方根的商,得到第二子矩阵;
第三子矩阵确定子单元,用于对所述第二子矩阵进行归一化处理,得到第三子矩阵;
第四子矩阵确定子单元,用于计算所述第三子矩阵与所述矩阵Vh的点乘,得到第四子矩阵;
第一拼接子单元,用于将m个第四子矩阵进行拼接,得到第一拼接矩阵;
第一注意力矩阵确定子单元,用于对所述第一拼接矩阵进行线性变换,得到第一注意力矩阵。
在本发明的一些实施例中,掩码操作模块303包括:
第一掩码单元,用于采用文本掩码矩阵对所述第二矩阵中的文本分量进行屏蔽,得到问题矩阵;
滴入掩码单元,用于采用问题掩码矩阵对所述第二矩阵中的问题分量进行屏蔽,得到文本矩阵。
在本发明的一些实施例中,第二注意力模块304包括:
第一协同注意力矩阵提取子模块,用于将所述文本矩阵和所述问题矩阵输入第一协同多头注意力模型中进行处理,得到第一协同注意力矩阵;
第二协同注意力矩阵提取子模块,用于将所述文本矩阵和所述问题矩阵输入第二协同多头注意模力型中进行处理,得到第二协同注意力矩阵;
第三矩阵提取子模块,用于将所述第一协同注意力矩阵和所述第二协同注意力矩阵进行拼接,得到第三矩阵。
在本发明的一些实施例中,第一协同多头注意力模型包括N层协同多头注意力层,N为大于或等于2的正整数,第一协同注意力矩阵提取子模块包括:
第二注意力矩阵提取单元,用于将所述文本矩阵和所述问题矩阵输入第一层协同多头注意力层中进行处理,得到第二注意力矩阵;
第三融合矩阵确定单元,用于将所述第二注意力矩阵与所述第二矩阵进行加和,得到第三融合矩阵;
第二全连接矩阵提取单元,用于将所述第三融合矩阵输入全连接前馈层中进行处理,得到第二全连接矩阵;
第四融合矩阵确定单元,用于将所述第二全连接矩阵与所述第三融合矩阵进行加和,得到第四融合矩阵;
第一协同注意力矩阵确定单元,用于将所述第四融合矩阵作为下一层协同多头注意力层的输入矩阵,以此类推,得到第一协同注意力矩阵。
在本发明的一些实施例中,第二注意力矩阵提取单元包括:
第三线性变换子单元,用于采用第一线性变换参数对所述文本矩阵做线性变换,得到矩阵Qc;
第四线性变换子单元,用于分别采用第二线性变换参数和第三线性变换参数对所述问题矩阵做线性变换,得到矩阵Kq和矩阵Vq;
第七子矩阵确定子单元,用于对所述第六子矩阵进行归一化处理,得到第七子矩阵;
第二拼接矩阵确定子单元,用于将n个第八子矩阵进行拼接,得到第二拼接矩阵;
第二注意力矩阵确定子单元,用于对所述第二拼接矩阵进行线性变换,得到第二注意力矩阵。
在本发明的一些实施例中,所述第二协同多头注意力模型包括N层协同多头注意力层,N为大于或等于2的正整数,第二协同注意力矩阵提取子模块包括:
第三注意力矩阵提取单元,用于将所述文本矩阵和所述问题矩阵输入第一层协同多头注意力层中进行处理,得到第三注意力矩阵;
第五融合矩阵确定单元,用于将所述第三注意力矩阵与所述第二矩阵进行加和,得到第五融合矩阵;
第三全连接矩阵提取单元,用于将所述第五融合矩阵输入全连接前馈层中进行处理,得到第三全连接矩阵;
第六融合矩阵确定单元,用于将所述第三全连接矩阵与所述第五融合矩阵进行加和,得到第六融合矩阵;
第二协同注意力矩阵确定单元,用于将所述第六融合矩阵作为下一层协同多头注意力层的输入矩阵,以此类推,得到第二协同注意力矩阵。
在本发明的一些实施例中,第三注意力矩阵提取单元包括:
第六线性变换子单元,用于采用第四线性变换参数对所述问题矩阵做线性变换,得到矩阵Qq;
第七线性变换子单元,用于分别采用第五线性变换参数和第六线性变换参数对所述问题矩阵做线性变换,得到矩阵Kc和矩阵Vc;
第十一子矩阵确定子单元,用于对所述第十子矩阵进行归一化处理,得到第十一子矩阵;
第三拼接矩阵确定子单元,用于将n个第十二子矩阵进行拼接,得到第三拼接矩阵;
第三注意力矩阵确定子单元,拥有对所述第三拼接矩阵进行线性变换,得到第三注意力矩阵。
在本发明的一些实施例中,特征矩阵提取模块305包括:
第十三子矩阵提取单元,用于将所述第三矩阵输入卷积网络中进行特征提取,得到第十三子矩阵;
第七融合矩阵确定单元,用于将所述第十三子矩阵与所述第二矩阵进行加和,得到第七融合矩阵;
特征矩阵提取单元,用于将所述第七融合矩阵分别输入第一多头注意力层和第二多头注意力层中进行处理,得到第一特征矩阵和第二特征矩阵。
在本发明的一些实施例中,答案位置确定模块306包括:
第一特征向量确定单元,用于将所述第一特征矩阵进行线性变换,将所述第一特征矩阵转换为第一特征向量;
第一概率分布确定单元,用于将所述第一特征向量输入第一softmax函数层中进行处理,得到所述答案的起始位置为所述文本数据中各词的第一概率分布;
起始位置确定单元,用于基于所述第一概率分布确定所述答案的起始位置。
在本发明的一些实施例中,答案位置确定模块306还包括:
第四拼接矩阵确定单元,用于将所述第一特征矩阵与所述第二特征矩阵进行拼接,得到第四拼接矩阵;
第二特征向量确定单元,用于将所述第四拼接矩阵输入预置的循环神经网络中进行处理,得到第二特征向量;
第二概率分布确定单元,用于将所述第二特征向量输入第二softmax函数层中进行处理,得到所述答案的结束位置为所述文本数据中各词的第二概率分布;
结束位置确定单元,用于基于所述第二概率分布确定所述答案的结束位置。
上述产品可执行本发明任意实施例一、二所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
本发明实施例四提供了一种计算机设备,图4为本发明实施例四提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括处理器401、存储器402、通信模块403、输入装置404和输出装置405;计算机设备中处理器401的数量可以是一个或多个,图4中以一个处理器401为例;计算机设备中的处理器401、存储器402、通信模块403、输入装置 404和输出装置405可以通过总线或其他方式连接,图4中以通过总线连接为例。上述处理器401、存储器402、通信模块403、输入装置404和输出装置405可以集成在计算机设备的控制主板上。
存储器402作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的机器阅读理解方法对应的模块。处理器401通过运行存储在存储器 402中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述实施例提供的机器阅读理解方法。
存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器402可进一步包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块403,用于与外界设备(例如智能终端)建立连接,并实现与外界设备的数据交互。输入装置404可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。
本实施例提供的一种计算机设备,可执行本发明上述任意实施例提供的机器阅读理解方法,具体相应的功能和有益效果。
实施例五
本发明实施例五提供了一种包含计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明上述任意实施例提供的机器阅读理解方法,该方法包括:
对待理解的文本数据和目标问题进行编码融合,得到第一矩阵;
基于多头注意力机制对所述第一矩阵进行处理,得到第二矩阵;
对所述第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵;
基于协同多头注意力机制对所述文本矩阵和所述问题矩阵进行处理,得到第三矩阵;
从所述第三矩阵中提取出第一特征矩阵和第二特征矩阵,所述第一特征矩阵用于表征所述目标问题的答案的起始位置,所述第二特征矩阵用于表征所述目标问题的答案的结束位置;
基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例所提供的机器阅读理解方法中的相关操作。
需要说明的是,对于装置、设备和存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的机器阅读理解方法。
值得注意的是,上述装置中,所包括的各个模块、子模块、单元和子单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (18)
1.一种机器阅读理解方法,其特征在于,包括:
对待理解的文本数据和目标问题进行编码融合,得到第一矩阵;
基于多头注意力机制对所述第一矩阵进行处理,得到第二矩阵;
对所述第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵;
基于协同多头注意力机制对所述文本矩阵和所述问题矩阵进行处理,得到第三矩阵;
从所述第三矩阵中提取出第一特征矩阵和第二特征矩阵,所述第一特征矩阵用于表征所述目标问题的答案的起始位置,所述第二特征矩阵用于表征所述目标问题的答案的结束位置;
基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
2.根据权利要求1所述的机器阅读理解方法,其特征在于,对待理解的文本数据和目标问题进行编码融合,得到第一矩阵,包括:
将待理解的文本数据和目标问题输入BERT-base模型的输入层中进行编码,得到第一矩阵。
3.根据权利要求2所述的机器阅读理解方法,其特征在于,所述BERT-base模型的输入层包括词嵌入层、位置嵌入层和分段嵌入层,将待理解的文本数据和目标问题输入BERT-base模型的输入层中进行编码,得到第一矩阵,包括:
在所述词嵌入层对文本数据和目标问题中的词进行词嵌入操作,得到词嵌入矩阵;
在所述位置嵌入层对文本数据和目标问题中的词进行位置嵌入操作,得到位置嵌入矩阵;
在所述分段嵌入层对文本数据和目标问题进行分段嵌入操作,得到分段嵌入矩阵;
将所述词嵌入矩阵、所述位置嵌入矩阵和所述分段嵌入矩阵进行加和,得到第一矩阵。
4.根据权利要求1所述的机器阅读理解方法,其特征在于,基于多头注意力机制对所述第一矩阵进行处理,得到第二矩阵,包括:
将所述第一矩阵输入BERT-base模型的编码层中进行处理,得到第二矩阵。
5.根据权利要求4所述的机器阅读理解方法,其特征在于,所述BERT-base模型的编码层包括依次堆叠的M层多头注意力层,M为大于或等于2的正整数,将所述第一矩阵输入BERT-base模型的编码层中进行处理,得到第二矩阵,包括:
将所述第一矩阵输入第一层多头注意力层中进行处理,得到第一注意力矩阵;
将所述第一注意力矩阵与所述第一矩阵进行加和,得到第一融合矩阵;
将所述第一融合矩阵输入全连接前馈层中进行处理,得到第一全连接矩阵;
将所述第一全连接矩阵与所述第一融合矩阵进行加和,得到第二融合矩阵;
将所述第二融合矩阵作为下一层多头注意力层的输入矩阵,以此类推,得到第二矩阵。
6.根据权利要求5所述的机器阅读理解方法,其特征在于,将所述第一矩阵输入第一层多头注意力层中进行处理,得到第一注意力矩阵,包括:
采用三个不同的线性变换系数对所述第一矩阵做线性变换,分别得到矩阵Q、矩阵K和矩阵V;
将所述矩阵Q、矩阵K和矩阵V分别进行m次线性变换,得到矩阵Qh、矩阵Kh和矩阵Vh,其中,h∈m,m为所述多头注意力层的注意力头数;
计算所述矩阵Qh与所述矩阵Kh点乘,得到第一子矩阵;
计算所述第一子矩阵与所述矩阵Kh的维数的平方根的商,得到第二子矩阵;
对所述第二子矩阵进行归一化处理,得到第三子矩阵;
计算所述第三子矩阵与所述矩阵Vh的点乘,得到第四子矩阵;
将m个第四子矩阵进行拼接,得到第一拼接矩阵;
对所述第一拼接矩阵进行线性变换,得到第一注意力矩阵。
7.根据权利要求1-6任一所述的机器阅读理解方法,其特征在于,对所述第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵,包括:
采用文本掩码矩阵对所述第二矩阵中的文本分量进行屏蔽,得到问题矩阵;
采用问题掩码矩阵对所述第二矩阵中的问题分量进行屏蔽,得到文本矩阵。
8.根据权利要求1-6任一所述的机器阅读理解方法,其特征在于,所述基于协同多头注意力机制对所述文本矩阵和所述问题矩阵进行处理,得到第三矩阵,包括:
将所述文本矩阵和所述问题矩阵输入第一协同多头注意力模型中进行处理,得到第一协同注意力矩阵;
将所述文本矩阵和所述问题矩阵输入第二协同多头注意模力型中进行处理,得到第二协同注意力矩阵;
将所述第一协同注意力矩阵和所述第二协同注意力矩阵进行拼接,得到第三矩阵。
9.根据权利要求8所述的机器阅读理解方法,其特征在于,所述第一协同多头注意力模型包括N层协同多头注意力层,N为大于或等于2的正整数,将所述文本矩阵和所述问题矩阵输入第一协同多头注意力模型中进行处理,得到第一协同注意力矩阵,包括:
将所述文本矩阵和所述问题矩阵输入第一层协同多头注意力层中进行处理,得到第二注意力矩阵;
将所述第二注意力矩阵与所述第二矩阵进行加和,得到第三融合矩阵;
将所述第三融合矩阵输入全连接前馈层中进行处理,得到第二全连接矩阵;
将所述第二全连接矩阵与所述第三融合矩阵进行加和,得到第四融合矩阵;
将所述第四融合矩阵作为下一层协同多头注意力层的输入矩阵,以此类推,得到第一协同注意力矩阵。
10.根据权利要求9所述的机器阅读理解方法,其特征在于,将所述文本矩阵和所述问题矩阵输入第一层协同多头注意力层中进行处理,得到第二注意力矩阵,包括:
采用第一线性变换参数对所述文本矩阵做线性变换,得到矩阵Qc;
分别采用第二线性变换参数和第三线性变换参数对所述问题矩阵做线性变换,得到矩阵Kq和矩阵Vq;
对所述第六子矩阵进行归一化处理,得到第七子矩阵;
将n个第八子矩阵进行拼接,得到第二拼接矩阵;
对所述第二拼接矩阵进行线性变换,得到第二注意力矩阵。
11.根据权利要求8所述的机器阅读理解方法,其特征在于,所述第二协同多头注意力模型包括N层协同多头注意力层,N为大于或等于2的正整数,将所述文本矩阵和所述问题矩阵输入第二协同多头注意力模型中进行处理,得到第二协同注意力矩阵,包括:
将所述文本矩阵和所述问题矩阵输入第一层协同多头注意力层中进行处理,得到第三注意力矩阵;
将所述第三注意力矩阵与所述第二矩阵进行加和,得到第五融合矩阵;
将所述第五融合矩阵输入全连接前馈层中进行处理,得到第三全连接矩阵;
将所述第三全连接矩阵与所述第五融合矩阵进行加和,得到第六融合矩阵;
将所述第六融合矩阵作为下一层协同多头注意力层的输入矩阵,以此类推,得到第二协同注意力矩阵。
12.根据权利要求11所述的机器阅读理解方法,其特征在于,将所述文本矩阵和所述问题矩阵输入第一层协同多头注意力层中进行处理,得到第三注意力矩阵,包括:
采用第四线性变换参数对所述问题矩阵做线性变换,得到矩阵Qq;
分别采用第五线性变换参数和第六线性变换参数对所述问题矩阵做线性变换,得到矩阵Kc和矩阵Vc;
对所述第十子矩阵进行归一化处理,得到第十一子矩阵;
将n个第十二子矩阵进行拼接,得到第三拼接矩阵;
对所述第三拼接矩阵进行线性变换,得到第三注意力矩阵。
13.根据权利要求1-6、9-12任一所述的机器阅读理解方法,其特征在于,从所述第三矩阵中提取出第一特征矩阵和第二特征矩阵,包括:
将所述第三矩阵输入卷积网络中进行特征提取,得到第十三子矩阵;
将所述第十三子矩阵与所述第二矩阵进行加和,得到第七融合矩阵;
将所述第七融合矩阵分别输入第一多头注意力层和第二多头注意力层中进行处理,得到第一特征矩阵和第二特征矩阵。
14.根据权利要求1-6、9-12任一所述的机器阅读理解方法,其特征在于,基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置,包括:
将所述第一特征矩阵进行线性变换,将所述第一特征矩阵转换为第一特征向量;
将所述第一特征向量输入第一softmax函数层中进行处理,得到所述答案的起始位置为所述文本数据中各词的第一概率分布;
基于所述第一概率分布确定所述答案的起始位置。
15.根据权利要求13所述的机器阅读理解方法,其特征在于,基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置,包括:
将所述第一特征矩阵与所述第二特征矩阵进行拼接,得到第四拼接矩阵;
将所述第四拼接矩阵输入预置的循环神经网络中进行处理,得到第二特征向量;
将所述第二特征向量输入第二softmax函数层中进行处理,得到所述答案的结束位置为所述文本数据中各词的第二概率分布;
基于所述第二概率分布确定所述答案的结束位置。
16.一种机器阅读理解装置,其特征在于,包括:
编码融合模块,用于对待理解的文本数据和目标问题进行编码融合,得到第一矩阵;
第一注意力模块,用于基于多头注意力机制对所述第一矩阵进行处理,得到第二矩阵;
掩码操作模块,用于对所述第二矩阵进行掩码操作,分别得到文本矩阵和问题矩阵;
第二注意力模块,用于基于协同多头注意力机制对所述文本矩阵和所述问题矩阵进行处理,得到第三矩阵;
特征矩阵提取模块,用于从所述第三矩阵中提取出第一特征矩阵和第二特征矩阵,所述第一特征矩阵用于表征所述目标问题的答案的起始位置,所述第二特征矩阵用于表征所述目标问题的答案的结束位置;
答案位置确定模块,用于基于所述第一特征矩阵和所述第二特征矩阵分别确定所述目标问题的答案的起始位置和所述目标问题的答案的结束位置。
17.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-15任一所述的机器阅读理解方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-15任一所述的机器阅读理解方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348097.7A CN112464643B (zh) | 2020-11-26 | 2020-11-26 | 一种机器阅读理解方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348097.7A CN112464643B (zh) | 2020-11-26 | 2020-11-26 | 一种机器阅读理解方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112464643A CN112464643A (zh) | 2021-03-09 |
CN112464643B true CN112464643B (zh) | 2022-11-15 |
Family
ID=74808490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011348097.7A Active CN112464643B (zh) | 2020-11-26 | 2020-11-26 | 一种机器阅读理解方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112464643B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051371B (zh) * | 2021-04-12 | 2023-02-07 | 平安国际智慧城市科技股份有限公司 | 中文机器阅读理解方法、装置、电子设备及存储介质 |
CN113312912B (zh) * | 2021-06-25 | 2023-03-31 | 重庆交通大学 | 一种用于交通基础设施检测文本的机器阅读理解方法 |
CN115712828A (zh) * | 2021-08-18 | 2023-02-24 | 华为技术有限公司 | 一种图像分类方法及其相关设备 |
CN114398976B (zh) * | 2022-01-13 | 2024-06-07 | 福州大学 | 基于bert与门控类注意力增强网络的机器阅读理解方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019242297A1 (zh) * | 2018-06-21 | 2019-12-26 | 深圳壹账通智能科技有限公司 | 基于机器阅读理解的智能对话方法、装置、终端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190156220A1 (en) * | 2017-11-22 | 2019-05-23 | Microsoft Technology Licensing, Llc | Using machine comprehension to answer a question |
KR102116518B1 (ko) * | 2018-02-23 | 2020-05-28 | 주식회사 마인즈랩 | 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법 |
JP2019220142A (ja) * | 2018-06-18 | 2019-12-26 | 日本電信電話株式会社 | 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム |
CN110457710B (zh) * | 2019-08-19 | 2022-08-02 | 电子科技大学 | 一种基于动态路由机制的机器阅读理解网络模型的建立方法、方法、存储介质及终端 |
CN110781672B (zh) * | 2019-10-30 | 2024-01-30 | 北京爱学习博乐教育科技有限公司 | 基于机器智能的题库生产方法及系统 |
CN111475658B (zh) * | 2020-06-12 | 2020-12-25 | 北京百度网讯科技有限公司 | 知识表示学习方法、装置、设备以及存储介质 |
-
2020
- 2020-11-26 CN CN202011348097.7A patent/CN112464643B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019242297A1 (zh) * | 2018-06-21 | 2019-12-26 | 深圳壹账通智能科技有限公司 | 基于机器阅读理解的智能对话方法、装置、终端 |
Non-Patent Citations (1)
Title |
---|
Bidirectional Attention Flow for Machine Comprehension;Minjoon Seo et al.;《arXiv:1611.01603v6》;20180621;第1-13页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112464643A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112464643B (zh) | 一种机器阅读理解方法、装置、设备及存储介质 | |
US11741109B2 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
US11210306B2 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
CN112069811A (zh) | 多任务交互增强的电子文本事件抽取方法 | |
Zohourianshahzadi et al. | Neural attention for image captioning: review of outstanding methods | |
CN110796160A (zh) | 一种文本分类方法、装置和存储介质 | |
CN111159409B (zh) | 基于人工智能的文本分类方法、装置、设备、介质 | |
CN110990555B (zh) | 端到端检索式对话方法与系统及计算机设备 | |
CN112417855A (zh) | 文本意图识别方法、装置以及相关设备 | |
CN113158687B (zh) | 语义的消歧方法及装置、存储介质、电子装置 | |
CN113157900A (zh) | 意图识别方法、装置、计算机设备及存储介质 | |
CN112988970A (zh) | 一种服务于智能问答系统的文本匹配算法 | |
CN117332112A (zh) | 多模态检索模型训练以及多模态检索方法、电子设备及存储介质 | |
Ko et al. | Paraphrase bidirectional transformer with multi-task learning | |
CN113868451A (zh) | 基于上下文级联感知的社交网络跨模态对话方法及装置 | |
CN114579714A (zh) | 一种机器阅读理解方法、装置、设备及存储介质 | |
CN116860943A (zh) | 对话风格感知与主题引导的多轮对话方法及系统 | |
US20240037335A1 (en) | Methods, systems, and media for bi-modal generation of natural languages and neural architectures | |
Ronghui et al. | Application of Improved Convolutional Neural Network in Text Classification. | |
Tanaka et al. | Construction of document feature vectors using BERT | |
CN114550159A (zh) | 一种图像字幕生成方法、装置、设备及可读存储介质 | |
Wu et al. | Multi-Tasking for Aspect-Based Sentiment Analysis via Constructing Auxiliary Self-Supervision ACOP Task | |
CN115203388A (zh) | 机器阅读理解方法、装置、计算机设备和存储介质 | |
CN111460096B (zh) | 一种碎片文本的处理方法、装置及电子设备 | |
CN114239601A (zh) | 语句的处理方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |