CN111090734B - 基于层级注意力机制优化机器阅读理解能力的方法和系统 - Google Patents
基于层级注意力机制优化机器阅读理解能力的方法和系统 Download PDFInfo
- Publication number
- CN111090734B CN111090734B CN201911352718.6A CN201911352718A CN111090734B CN 111090734 B CN111090734 B CN 111090734B CN 201911352718 A CN201911352718 A CN 201911352718A CN 111090734 B CN111090734 B CN 111090734B
- Authority
- CN
- China
- Prior art keywords
- word
- level
- vector
- paragraph
- question
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于层级注意力机制优化机器阅读理解能力的方法,其利用多粒度的输入特征提取文本信息,然后使用注意力机制对提取的文本信息进行相互间的交互得到包含上下文信息的特征表示,最后根据相关问题使用新的特征表示得到答案。在特征输入阶段,不仅输入了简单的单词的常规向量表示,还输入了单词的预训练模型的词向量。同时,利用了知识图谱的方法,将外部知识库一一命名实体知识库NELL的词向量也进行输入。在信息交互阶段,使用了多种注意力机制。通过使用门控的段落到问题注意力机制得到问题感知的文本单词表示,再通过线性自匹配机制,使得问题感知的文本单词进一步感知每个文本单词前后的文本信息,进而产生答案。
Description
技术领域
本发明属于自然语言处理技术领域,更具体地,涉及一种基于层级注意力机制优化机器阅读理解能力的方法和系统。
背景技术
随着大规模高质量数据集的出现以及现代计算机计算能力持续提升,机器阅读理解技术得到了快速的发展,并已经在多个领域被验证出准确率高于人类的准确率。如今,机器阅读理解技术已经接近成熟,并已经大量用于工程实践,如淘宝网的24小时机器客服、中国移动的智能电话客服等,机器阅读理解技术能替代人工24小时工作,并回答一些常见的问题。
现有的机器阅读理解模型通常使用单个词向量技术,其把下载的数据集预处理好后,将训练语料转换为其相对应的词向量表示,在模型的段落和问题的信息交互过程中,大部分情况下使用单个注意力机制后就直接进行答案预测。
然而,上述现有的机器阅读理解模型方法存在一些不可忽略的缺陷:1、机器阅读理解模型本身就是需要根据海量的文本信息、语义信息或词法信息来阅读和理解文本,并进而回答问题,但由于单个词向量技术能够提供的文本信息、语义信息或词法信息始终是有限和不完善的,因此造成现有模型答案预测的准确率低;2、该模型采用的单个注意力机制不能够完整地提取段落和文本之间的交互信息,从而会导致段落和文本间大量的交互信息丢失,从而进一步影响答案预测准确率。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于层级注意力机制优化机器阅读理解能力的方法和系统,其目的在于,解决现有机器阅读理解模型由于采用单个词向量技术所提供的文本信息、语义信息、以及词法信息不足,以及由于不能完全提取段落和文本之间的交互信息,所导致的答案预测准确率偏低的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于层级注意力机制优化机器阅读理解能力的方法,包括以下步骤:
步骤一、获取文本以及与该文本相关的问题;
步骤二、将步骤一得到的文本及其相关的问题输入训练好的、基于层级注意力机制的模型中,以得到该问题的答案。
优选地,基于层级注意力机制的模型包括顺次连接的输入特征层、多个第一双向GRU层、门控注意力层、线性自匹配层、第二双向GRU层、以及答案输出层。
优选地,基于层级注意力机制的模型是通过以下步骤进行训练得到的:
(1)获取斯坦福大学的QA数据集,并提取该QA数据集中的所有段落、以及每个段落对应的所有问题,其中每一个段落及其对应的一个问题构成一个训练语料;
(2)将步骤(1)得到的训练语料按批次输入基于层级注意力机制的模型中的输入特征层,以得到每个训练语料中每个单词的初级向量表示集合;
(3)将步骤(2)得到的每个训练语料中每个单词的初级向量表示集合输入多个第一双向GRU层,以得到每个单词的次级向量表示集合;
(4)将步骤(3)得到的每个单词的次级向量表示集合输入门控注意力层,以得到该单词的三级向量表示集合;
(5)根据步骤(3)得到的每个单词的次级向量表示集合、以及步骤(4)得到的每个单词的三级向量表示集合,并使用softmax函数计算该单词的四级向量表示集合;
(6)将步骤(5)得到的单词的四级向量表示集合输入第二双向GRU层,以得到五级向量表示集合;
(7)将步骤(6)得到的五级向量表示集合输入答案输出层,以得到最终答案;
(8)重复上述步骤(1)至(7)一次,从而得到训练好的模型。
优选地,步骤(2)包括以下子步骤:
(2-1)获取每批次训练语料中每一个训练语料中的每一个段落及其对应问题,该段落中所包括的所有单词构成段落单词序列P=(p1,p2,...,pn),该问题中所包括的所有单词构成问题单词序列Q=(q1,q2,...,qm),其中n表示段落单词序列的长度,m表示问题单词序列的长度;
(2-2)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中每一个单词按照其字母进行分割,并根据分割后的每一个字母,在字符级别词向量矩阵中查找对应的向量表示,并将该单词中对应的所有向量表示进行相加并取均值,作为该单词对应的字符级别词向量(其维数是200),段落单词序列P=(p1,p2,...,pn)中所有单词的字符级别词向量构成该段落单词序列P对应的段落字符级别向量集合P(char)=(pc1,pc2,...,pcn),问题单词序列Q=(q1,q2,...,qm)中所有单词的字符级别词向量构成该问题单词序列Q对应的问题字符级别向量集合Q(char)=(qc1,qc2,...,qcm);
(2-3)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在单词级别词向量矩阵中查找对应的向量表示(其维数是300),作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(word)=(pw1,pw2,...,pwn),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(word)=(qw1,qw2,...,qwm);
(2-4)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在另一个单词级别词向量矩阵中查找对应的向量表示(其维数是100),作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(nell)=(pn1,pn2,...,pnn),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(nell)=(qn1,qn2,...,qnm);
(2-5)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在另一个单词级别词向量矩阵中查找对应的向量表示(其维数是256),作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(elmo)=(pe1,pe2,...,pen),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(elmo)=(qe1,qe2,...,qem);
(2-6)将步骤(2-2)得到的段落字符级别向量集合、步骤(2-3)得到的段落单词级别向量集合、步骤(2-4)得到的段落单词级别向量集合、以及步骤(2-5)得到的段落单词级别向量集合中的对应元素进行相加,从而得到段落单词序列P中每一个单词的初级向量表示集合P(u)=(pu1,pu2,...,pun),将步骤(2-2)得到的问题字符级别向量集合、步骤(2-3)得到的问题单词级别向量集合、步骤(2-4)得到的问题单词级别向量集合、以及步骤(2-5)得到的问题单词级别向量集合中的对应元素进行相加,从而得到问题单词序列Q中每一个单词的初级向量表示集合Q(u)=(qu1,qu2,...,qum);
优选地,步骤(3)具体为,将初级向量表示集合P(u)和Q(u)输入到第一双向GRU层的第一层,然后将第一层的输出输入到第二层,…,以此类推,从而最终得到次级向量表示集合:
P(v)=(pv1,pv2,...,pvn),Q(v)=(qv1,qv2,...,qvm)
其中P(v)中的元素、以及Q(v)中的元素都是512维的向量。
优选地,步骤(4)具体为:
首先根据步骤(3)得到的次级向量表示集合P(v)和Q(v)并使用softmax函数计算注意力表示,具体采用以下公式:
其中,dp表示步骤(3)中使用的多层第一双向GRU层的每一层中隐藏层的大小;
然后,根据得到的注意力表示并使用sigmod函数计算中间结果G:
G=sigmod(W*Attention)
P(a)=G*Attention
其中W表示维度为384*856的矩阵。
优选地,步骤(5)中的计算公式如下:
P(s)=softmax((W1*P(a)T)*(P(a)*W2))P(a)
Q(s)=softmax((W1*Q(v)T)*(Q(v)*W2))Q(v)
其中W1和W2均表示维度为384*856的矩阵,二者所包含的元素不同。
优选地,步骤(7)具体包括以下子步骤:
(7-1)根据步骤(6)得到的五级向量表示集合Q(g)并使用Tanh和softmax函数计算向量表示集合S:
S=softmax(tanh(Q(g)))Q(g)
(7-2)根据步骤(7-1)得到的向量表示集合S、以及步骤(6)得到的五级向量表示集合P(g),并使用指针网络(Pointer network)获取最终答案。
优选地,步骤(2-2)中,字符级别词向量矩阵采用的是GloVe词向量分布表示模型中的字符级别词向量矩阵,步骤(2-3)中,单词级别词向量矩阵采用的是GloVe词向量分布表示模型中的单词级别词向量矩阵,步骤(2-4)中,单词级别词向量矩阵采用的是NELL词向量分布表示模型中的单词级别词向量矩阵,步骤(2-5)中,单词级别词向量矩阵采用的是ELMO词向量分布表示模型中的单词级别词向量矩阵。
按照本发明的另一方面,提供了一种基于层级注意力机制优化机器阅读理解能力的系统,包括:
第一模块,用于获取文本以及与该文本相关的问题;
第二模块,用于将第一模块得到的文本及其相关的问题输入训练好的、基于层级注意力机制的模型中,以得到该问题的答案。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明在特征输入阶段,使用了字符级别的词向量技术,单词级别的词向量技术和预训练语言模型生成的词向量技术等多种不同的词向量技术,从而提供了丰富的文本信息,语义信息和词法信息,因此能够解决现有机器阅读理解模型输入信息不足导致答案预测准确率偏低的技术问题;
(2)由于本发明在模型中使用了层级的注意力机制,不仅能够充分提取段落和问题之间的交互信息,还能将提取的信息输入到下一层进行其他的计算,因此能解决现有机器阅读理解模型不能够完整提取段落和文本之间的交互信息、进而导致答案预测准确率偏低的技术问题;
(3)本发明方法的实现过程简单,成本低。
附图说明
图1是本发明基于层级注意力机制优化机器阅读理解能力的方法的流程图;
图2是本发明基于层级注意力机制的模型的工作流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的技术主要构思,是使用多粒度的词向量技术增加机器阅读理解模型的输入特征和输入文本信息,并使用注意力机制使得模型计算包含各种语义和语法信息的表示,并进一步从其中选择重要、有用的信息流畅的进入下一步计算。
如图1所示,本发明提供了一种基于层级注意力机制优化机器阅读理解能力的方法,包括以下步骤:
(1)获取文本以及与该文本相关的问题;
(2)将步骤(1)得到的文本及其相关的问题输入训练好的、基于层级注意力机制的模型(其工作流程如图2所示)中,以得到该问题的答案。
本发明中基于层级注意力机制的模型包括顺次连接的输入特征层、多个第一双向GRU层(其至少为两层)、门控注意力层、线性自匹配层、第二双向GRU层、以及答案输出层。
本发明中基于层级注意力机制的模型是通过以下步骤进行训练得到的:
(1)获取斯坦福大学的问答(Question and answers,简称QA)数据集SQuAD,并提取该QA数据集中的所有段落(context)、以及每个段落对应的所有问题(Question),其中每一个段落及其对应的一个问题构成一个训练语料;
(2)将步骤(1)得到的训练语料按批次输入基于层级注意力机制的模型中的输入特征层,以得到每个训练语料中每个单词的初级向量表示集合;
在本实施方式中,每批次输入模型的训练语料数量是2到16个,其具体取决于本发明应用到的服务器的GPU显存大小。
本步骤具体包括以下子步骤:
(2-1)获取每批次训练语料中每一个训练语料中的每一个段落及其对应问题,该段落中所包括的所有单词构成段落单词序列P=(p1,p2,...,pn),该问题中所包括的所有单词构成问题单词序列Q=(q1,q2,...,qm),其中n表示段落单词序列的长度,m表示问题单词序列的长度;
(2-2)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中每一个单词按照其字母进行分割,并根据分割后的每一个字母,在字符级别词向量矩阵中查找对应的向量表示,并将该单词中对应的所有向量表示进行相加并取均值,作为该单词对应的字符级别词向量(其维数是200),段落单词序列P=(p1,p2,...,pn)中所有单词的字符级别词向量构成该段落单词序列P对应的段落字符级别向量集合P(char)=(pc1,pc2,...,pcn),问题单词序列Q=(q1,q2,...,qm)中所有单词的字符级别词向量构成该问题单词序列Q对应的问题字符级别向量集合Q(char)=(qc1,qc2,...,qcm);
在本步骤中,字符级别词向量矩阵采用的是GloVe词向量分布表示模型中的字符级别词向量矩阵。
(2-3)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在单词级别词向量矩阵中查找对应的向量表示(其维数是300),作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(word)=(pw1,pw2,...,pwn),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(word)=(qw1,qw2,...,qwm);
在本步骤中,单词级别词向量矩阵采用的是GloVe词向量分布表示模型中的单词级别词向量矩阵。
(2-4)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在另一个单词级别词向量矩阵中查找对应的向量表示(其维数是100),作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(nell)=(pn1,pn2,...,pnn),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(nell)=(qn1,qn2,...,qnm);
在本步骤中,单词级别词向量矩阵采用的是NELL词向量分布表示模型中的单词级别词向量矩阵。
本步骤的目的在于,将NELL词向量表示中包含的命名实体信息输入到模型中,使得模型具备识别命名实体的能力。
(2-5)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在另一个单词级别词向量矩阵中查找对应的向量表示(其维数是256),作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(elmo)=(pe1,pe2,...,pen),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(elmo)=(qe1,qe2,...,qem);
在本步骤中,单词级别词向量矩阵采用的是ELMO词向量分布表示模型中的单词级别词向量矩阵。
本步骤的目的在于,将ELMO词向量表示中包含的上下文信息输入到模型中,使得模型具有更多的上下文信息。
(2-6)将步骤(2-2)得到的段落字符级别向量集合、步骤(2-3)得到的段落单词级别向量集合、步骤(2-4)得到的段落单词级别向量集合、以及步骤(2-5)得到的段落单词级别向量集合中的对应元素进行相加,从而得到段落单词序列P中每一个单词的初级向量表示集合P(u)=(pu1,pu2,...,pun),将步骤(2-2)得到的问题字符级别向量集合、步骤(2-3)得到的问题单词级别向量集合、步骤(2-4)得到的问题单词级别向量集合、以及步骤(2-5)得到的问题单词级别向量集合中的对应元素进行相加,从而得到问题单词序列Q中每一个单词的初级向量表示集合Q(u)=(qu1,qu2,...,qum);
具体而言,本步骤中得到的两个初级向量表示集合中的每个元素的维数都是856。
(3)将步骤(2)得到的每个训练语料中每个单词的初级向量表示集合输入多个第一双向GRU层,以得到每个单词的次级向量表示集合;
具体而言,本步骤是将初级向量表示集合P(u)和Q(u)输入到第一双向GRU层的第一层,然后将第一层的输出输入到第二层(其中每层第一双向GRU层中的隐藏层大小均为512),…,以此类推,从而最终得到次级向量表示集合:
P(v)=(pv1,pv2,...,pvn),Q(v)=(qv1,qv2,...,qvm)
其中,P(v)中的元素、以及Q(v)中的元素都是512维的向量。
(4)将步骤(3)得到的每个单词的次级向量表示集合输入门控注意力层,以得到该单词的三级向量表示集合;
本步骤具体为,首先根据步骤(3)得到的次级向量表示集合P(v)和Q(v)并使用softmax函数计算注意力表示,具体采用以下公式:
其中,dp表示步骤(3)中使用的多层第一双向GRU层的每一层中隐藏层的大小,即512。
然后,根据得到的注意力表示并使用sigmod函数计算中间结果G:
G=sigmod(W*Attention)
P(a)=G*Attention
其中W表示维度为384*856的矩阵。
(5)根据步骤(3)得到的每个单词的次级向量表示集合、以及步骤(4)得到的每个单词的三级向量表示集合,并使用softmax函数计算该单词的四级向量表示集合;
具体而言,计算公式如下:
P(s)=softmax((W1*P(a)T)*(P(a)*W2))P(a)
Q(s)=softmax((W1*Q(v)T)*(Q(v)*W2))Q(v)
其中W1和W2均表示维度为384*856的矩阵,二者所包含的元素不同。
(6)将步骤(5)得到的单词的四级向量表示集合输入第二双向GRU层,以得到五级向量表示集合;
具体而言,本步骤是将步骤(5)得到的P(s)和Q(s)分别输入到第二双向GRU层中,从而得到五级向量表示集合P(g)和Q(g)。
(7)将步骤(6)得到的五级向量表示集合输入答案输出层,以得到最终答案;
本步骤具体包括以下子步骤:
(7-1)根据步骤(6)得到的五级向量表示集合Q(g)并使用Tanh和softmax函数计算向量表示集合S:
S=softmax(tanh(Q(g)))Q(g)
(7-2)根据步骤(7-1)得到的向量表示集合S、以及步骤(6)得到的五级向量表示集合P(g),并使用指针网络(Pointer network)获取最终答案。
(8)重复上述步骤(1)至(7)一次,从而得到训练好的模型。
近两年,机器阅读理解技术发展快速,机器理解文本的能力不断提升。为了更进一步的提升机器理解文本的能力,提高机器根据给定文本回答相关问题的正确率,本发明提出了一种多输入特征的层级注意力机制的机器阅读理解方法,该方法通过在输入端提供多种词向量技术,为模型提供了丰富的,多粒度级别的文本语义信息,在交互阶段,提供了层级的注意力机制,使得计算出的重要语义信息能够逐层的流上下一层,提高了模型的理解能力。
测试结果和性能比较
将具有一块NVIDIA P100显卡的Padddle框架应用在斯坦福大学自然语言处理的QA数据集SQuAD上,测试结果为EM为85.06%,F1为91.64%(其中EM的英文全称为Exactmatch,即精确匹配率,用来表示预测答案和真实答案完全匹配,F1的英文全称为F1-score,即模糊匹配率,用来评测模型的整体性能)。
为了更加清楚的理解本发明与现有主流的机器阅读理解方法相比所具有的性能优势,提供了如下的性能比较表,其中,具有答案指针的匹配LSMT网络的英文全称是Match-LSMT with Answer Pointer,动态注意力网络的英文全称是Dynamic CoattentionNetworks,R-NET的英文全称是Machine Reading Comprehension with Self-matchingNetworks,即具有自匹配网络的机器阅读理解。
模型 | EM(%) | F1(%) |
具有答案指针的匹配LSMT网络 | 64.1 | 73.9 |
动态注意力网络 | 65.4 | 75.6 |
R-NET | 72.3 | 80.6 |
本发明模型 | 85.06 | 91.64 |
由上表可以看出,不管是在指标EM上,还是在指标F1上,本发明提出的模型都是最高的,表明本发明的模型不管是在预测精准答案,还是泛化能力都是比较强的。这都归功于本发明采用了多个词向量体系提供丰富的输入特征,并使用层级的注意力机制来提取更多的段落和问题之间交互信息。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于层级注意力机制优化机器阅读理解能力的方法,其特征在于,包括以下步骤:
步骤一、获取文本以及与该文本相关的问题;
步骤二、将步骤一得到的文本及其相关的问题输入训练好的、基于层级注意力机制的模型中,以得到该问题的答案;其中基于层级注意力机制的模型是通过以下步骤进行训练得到的:
(1)获取斯坦福大学的QA数据集,并提取该QA数据集中的所有段落、以及每个段落对应的所有问题,其中每一个段落及其对应的一个问题构成一个训练语料;
(2)将步骤(1)得到的训练语料按批次输入基于层级注意力机制的模型中的输入特征层,以得到每个训练语料中每个单词的初级向量表示集合;步骤(2)包括以下子步骤:
(2-1)获取每批次训练语料中每一个训练语料中的每一个段落及其对应问题,该段落中所包括的所有单词构成段落单词序列P=(p1,p2,...,pn),该问题中所包括的所有单词构成问题单词序列Q=(q1,q2,...,qm),其中n表示段落单词序列的长度,m表示问题单词序列的长度;
(2-2)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中每一个单词按照其字母进行分割,并根据分割后的每一个字母,在字符级别词向量矩阵中查找对应的向量表示,并将该单词中对应的所有向量表示进行相加并取均值,作为该单词对应的字符级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的字符级别词向量构成该段落单词序列P对应的段落字符级别向量集合P(char)=(pc1,pc2,...,pcn),问题单词序列Q=(q1,q2,...,qm)中所有单词的字符级别词向量构成该问题单词序列Q对应的问题字符级别向量集合Q(char)=(qc1,qc2,...,qcm);
(2-3)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在单词级别词向量矩阵中查找对应的向量表示,作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(word)=(pw1,pw2,...,pwn),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(word)=(qw1,qw2,...,qwm);
(2-4)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在另一个单词级别词向量矩阵中查找对应的向量表示,作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(nell)=(pn1,pn2,...,pnn),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(nell)=(qn1,qn2,...,qnm);
(2-5)将步骤(2-1)得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在另一个单词级别词向量矩阵中查找对应的向量表示,作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(elmo)=(pe1,pe2,...,pen),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(elmo)=(qe1,qe2,...,qem);
(2-6)将步骤(2-2)得到的段落字符级别向量集合、步骤(2-3)得到的段落单词级别向量集合、步骤(2-4)得到的段落单词级别向量集合、以及步骤(2-5)得到的段落单词级别向量集合中的对应元素进行相加,从而得到段落单词序列P中每一个单词的初级向量表示集合P(u)=(pu1,pu2,...,pun),将步骤(2-2)得到的问题字符级别向量集合、步骤(2-3)得到的问题单词级别向量集合、步骤(2-4)得到的问题单词级别向量集合、以及步骤(2-5)得到的问题单词级别向量集合中的对应元素进行相加,从而得到问题单词序列Q中每一个单词的初级向量表示集合Q(u)=(qu1,qu2,...,qum);
(3)将步骤(2)得到的每个训练语料中每个单词的初级向量表示集合输入多个第一双向GRU层,以得到每个单词的次级向量表示集合;
(4)将步骤(3)得到的每个单词的次级向量表示集合输入门控注意力层,以得到该单词的三级向量表示集合;
(5)根据步骤(3)得到的每个单词的次级向量表示集合、以及步骤(4)得到的每个单词的三级向量表示集合,并使用softmax函数计算该单词的四级向量表示集合;
(6)将步骤(5)得到的单词的四级向量表示集合输入第二双向GRU层,以得到五级向量表示集合;
(7)将步骤(6)得到的五级向量表示集合输入答案输出层,以得到最终答案;
(8)重复上述步骤(1)至(7)一次,从而得到训练好的模型。
2.根据权利要求1所述的基于层级注意力机制优化机器阅读理解能力的方法,其特征在于,基于层级注意力机制的模型包括顺次连接的输入特征层、多个第一双向GRU层、门控注意力层、线性自匹配层、第二双向GRU层、以及答案输出层。
3.根据权利要求2所述的基于层级注意力机制优化机器阅读理解能力的方法,其特征在于,步骤(3)具体为,将初级向量表示集合P(u)和Q(u)输入到第一双向GRU层的第一层,然后将第一层的输出输入到第二层,…,以此类推,从而最终得到次级向量表示集合:
P(v)=(pv1,pv2,...,pvn),Q(v)=(qv1,qv2,...,qvm)
其中P(v)中的元素、以及Q(v)中的元素都是512维的向量。
5.根据权利要求4所述的基于层级注意力机制优化机器阅读理解能力的方法,其特征在于,步骤(5)中的计算公式如下:
P(s)=softmax((W1*P(a)T)*(P(a)*W2))P(a)
Q(s)=softmax((W1*Q(v)T)*(Q(v)*W2))Q(v)
其中W1和W2均表示维度为384*856的矩阵,二者所包含的元素不同。
6.根据权利要求5所述的基于层级注意力机制优化机器阅读理解能力的方法,其特征在于,步骤(7)具体包括以下子步骤:
(7-1)根据步骤(6)得到的五级向量表示集合Q(g)并使用Tanh和softmax函数计算向量表示集合S:
S=softmax(tanh(Q(g)))Q(g)
(7-2)根据步骤(7-1)得到的向量表示集合S、以及步骤(6)得到的五级向量表示集合P(g),并使用指针网络(Pointer network)获取最终答案。
7.根据权利要求1所述的基于层级注意力机制优化机器阅读理解能力的方法,其特征在于,
步骤(2-2)中,字符级别词向量矩阵采用的是GloVe词向量分布表示模型中的字符级别词向量矩阵;
步骤(2-3)中,单词级别词向量矩阵采用的是GloVe词向量分布表示模型中的单词级别词向量矩阵;
步骤(2-4)中,单词级别词向量矩阵采用的是NELL词向量分布表示模型中的单词级别词向量矩阵;
步骤(2-5)中,单词级别词向量矩阵采用的是ELMO词向量分布表示模型中的单词级别词向量矩阵。
8.一种基于层级注意力机制优化机器阅读理解能力的系统,其特征在于,包括:
第一模块,用于获取文本以及与该文本相关的问题;
第二模块,用于将第一模块得到的文本及其相关的问题输入训练好的、基于层级注意力机制的模型中,以得到该问题的答案,其中基于层级注意力机制的模型是通过以下子模块进行训练得到的:
第一子模块,用于获取斯坦福大学的QA数据集,并提取该QA数据集中的所有段落、以及每个段落对应的所有问题,其中每一个段落及其对应的一个问题构成一个训练语料;
第二子模块,用于将第一子模块得到的训练语料按批次输入基于层级注意力机制的模型中的输入特征层,以得到每个训练语料中每个单词的初级向量表示集合;第二子模块包括:
第一子单元,用于获取每批次训练语料中每一个训练语料中的每一个段落及其对应问题,该段落中所包括的所有单词构成段落单词序列P=(p1,p2,...,pn),该问题中所包括的所有单词构成问题单词序列Q=(q1,q2,...,qm),其中n表示段落单词序列的长度,m表示问题单词序列的长度;
第二子单元,用于将第一子单元得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中每一个单词按照其字母进行分割,并根据分割后的每一个字母,在字符级别词向量矩阵中查找对应的向量表示,并将该单词中对应的所有向量表示进行相加并取均值,作为该单词对应的字符级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的字符级别词向量构成该段落单词序列P对应的段落字符级别向量集合P(char)=(pc1,pc2,...,pcn),问题单词序列Q=(q1,q2,...,qm)中所有单词的字符级别词向量构成该问题单词序列Q对应的问题字符级别向量集合Q(char)=(qc1,qc2,...,qcm);
第三子单元,用于将第一子模块得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在单词级别词向量矩阵中查找对应的向量表示,作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(word)=(pw1,pw2,...,pwn),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(word)=(qw1,qw2,...,qwm);
第四子单元,用于将第一子模块得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在另一个单词级别词向量矩阵中查找对应的向量表示,作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(nell)=(pn1,pn2,...,pnn),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(nell)=(qn1,qn2,...,qnm);
第五子单元,用于将第一子单元得到的每一个训练语料中每一个段落对应的段落单词序列P、以及每一个问题对应的问题单词序列Q中的每一个单词,在另一个单词级别词向量矩阵中查找对应的向量表示,作为该单词对应的单词级别词向量,段落单词序列P=(p1,p2,...,pn)中所有单词的单词级别词向量构成该段落单词序列P对应的段落单词级别向量集合P(elmo)=(pe1,pe2,...,pen),问题单词序列Q=(q1,q2,...,qm)中所有单词的单词级别词向量构成该问题单词序列Q对应的问题单词级别向量集合Q(elmo)=(qe1,qe2,...,qem);
第六子单元,用于将第二子单元得到的段落字符级别向量集合、第三子单元得到的段落单词级别向量集合、第四子单元得到的段落单词级别向量集合、以及第五子单元得到的段落单词级别向量集合中的对应元素进行相加,从而得到段落单词序列P中每一个单词的初级向量表示集合P(u)=(pu1,pu2,...,pun),将第二子单元得到的问题字符级别向量集合、第三子单元得到的问题单词级别向量集合、第四子单元得到的问题单词级别向量集合、以及第五子单元得到的问题单词级别向量集合中的对应元素进行相加,从而得到问题单词序列Q中每一个单词的初级向量表示集合Q(u)=(qu1,qu2,...,qum);
第三子模块,用于将第二子模块得到的每个训练语料中每个单词的初级向量表示集合输入多个第一双向GRU层,以得到每个单词的次级向量表示集合;
第四子模块,用于将第三子模块得到的每个单词的次级向量表示集合输入门控注意力层,以得到该单词的三级向量表示集合;
第五子模块,用于根据第三子模块得到的每个单词的次级向量表示集合、以及第四子模块得到的每个单词的三级向量表示集合,并使用softmax函数计算该单词的四级向量表示集合;
第六子模块,用于将第五子模块得到的单词的四级向量表示集合输入第二双向GRU层,以得到五级向量表示集合;
第七子模块,用于将第六子模块得到的五级向量表示集合输入答案输出层,以得到最终答案;
第八子模块,用于重复上述第一子模块至第七子模块一次,从而得到训练好的模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911352718.6A CN111090734B (zh) | 2019-12-25 | 2019-12-25 | 基于层级注意力机制优化机器阅读理解能力的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911352718.6A CN111090734B (zh) | 2019-12-25 | 2019-12-25 | 基于层级注意力机制优化机器阅读理解能力的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111090734A CN111090734A (zh) | 2020-05-01 |
CN111090734B true CN111090734B (zh) | 2021-06-15 |
Family
ID=70397114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911352718.6A Active CN111090734B (zh) | 2019-12-25 | 2019-12-25 | 基于层级注意力机制优化机器阅读理解能力的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090734B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779203A (zh) * | 2020-06-09 | 2021-12-10 | 北京金山数字娱乐科技有限公司 | 生成段落集的方法和装置、推理方法和装置 |
CN111858857B (zh) * | 2020-07-31 | 2021-03-30 | 前海企保科技(深圳)有限公司 | 一种跨文档长文本的分层融合阅读理解方法及系统 |
CN111813961B (zh) * | 2020-08-25 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 基于人工智能的数据处理方法、装置及电子设备 |
CN113836893A (zh) * | 2021-09-14 | 2021-12-24 | 北京理工大学 | 一种融入多个段落信息的抽取式机器阅读理解方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492227A (zh) * | 2018-11-16 | 2019-03-19 | 大连理工大学 | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 |
CN110083836A (zh) * | 2019-04-24 | 2019-08-02 | 哈尔滨工业大学 | 一种文本预测结果的关键证据抽取方法 |
CN110188176A (zh) * | 2019-04-30 | 2019-08-30 | 深圳大学 | 深度学习神经网络及训练、预测方法、系统、设备、介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10706234B2 (en) * | 2017-04-12 | 2020-07-07 | Petuum Inc. | Constituent centric architecture for reading comprehension |
-
2019
- 2019-12-25 CN CN201911352718.6A patent/CN111090734B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492227A (zh) * | 2018-11-16 | 2019-03-19 | 大连理工大学 | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 |
CN110083836A (zh) * | 2019-04-24 | 2019-08-02 | 哈尔滨工业大学 | 一种文本预测结果的关键证据抽取方法 |
CN110188176A (zh) * | 2019-04-30 | 2019-08-30 | 深圳大学 | 深度学习神经网络及训练、预测方法、系统、设备、介质 |
Non-Patent Citations (1)
Title |
---|
基于双向长短时记忆网络的改进注意力短文本分类方法;陶志勇等;《数据分析与知识发现》;20191022;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111090734A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090734B (zh) | 基于层级注意力机制优化机器阅读理解能力的方法和系统 | |
Li et al. | A co-attention neural network model for emotion cause analysis with emotional context awareness | |
CN102982021B (zh) | 用于消除语言转换中的多个读法的歧义的方法 | |
CN102567509B (zh) | 视觉信息辅助的即时通信方法及系统 | |
US20230130006A1 (en) | Method of processing video, method of quering video, and method of training model | |
CN112434134B (zh) | 搜索模型训练方法、装置、终端设备及存储介质 | |
CN105677795A (zh) | 抽象语义的推荐方法、推荐装置及推荐系统 | |
CN112084794A (zh) | 一种藏汉翻译方法和装置 | |
CN113761890A (zh) | 一种基于bert上下文感知的多层级语义信息检索方法 | |
CN111930895A (zh) | 基于mrc的文档数据检索方法、装置、设备及存储介质 | |
US20090234852A1 (en) | Sub-linear approximate string match | |
Li et al. | Midtd: A simple and effective distillation framework for distantly supervised relation extraction | |
Chang et al. | SikuGPT: A generative pre-trained model for intelligent information processing of ancient texts from the perspective of digital humanities | |
Sun | [Retracted] Analysis of Chinese Machine Translation Training Based on Deep Learning Technology | |
CN109918661A (zh) | 同义词获取方法及装置 | |
Lu et al. | Learning Chinese word embeddings by discovering inherent semantic relevance in sub-characters | |
CN107423293A (zh) | 数据翻译的方法和装置 | |
WO2012061983A1 (en) | Seed set expansion | |
CN113177478A (zh) | 一种基于迁移学习的短视频语义标注方法 | |
CN107622058A (zh) | 制作外文地名库的方法、装置、电子导航芯片及服务器 | |
Zhang et al. | Cross-Lingual Question Answering over Knowledge Base as Reading Comprehension | |
Wu et al. | A text emotion analysis method using the dual-channel convolution neural network in social networks | |
CN117035064B (zh) | 一种检索增强语言模型的联合训练方法及存储介质 | |
CN110347813A (zh) | 一种语料处理方法、装置、存储介质及电子设备 | |
CN113536751B (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 |