一种基于预训练语言模型的多任务学习阅读理解方法技术

技术编号:25396756 阅读:26 留言:0更新日期:2020-08-25 23:01
本发明专利技术公开一种基于预训练语言模型的多任务学习阅读理解方法。所述方法包括:基于语料库进行训练建立预训练语言模型,利用所述预训练语言模型获得输入文档和问题的上下文感知表示;通过设置由注意力网络构成的交互层融合问题与文档之间的语义信息,得到每一个词的向量表示;进行基于问题是否可答预测任务和答案获取任务的多任务学习,得到问题是否可答的结果及问题答案。本发明专利技术通过建立预训练语言模型,能够获得句对之间的蕴含关系;通过设置交互层能够充分融合问题与文档之间的语义信息,使模型具有较好的表达能力;通过进行多任务学习,能够自适应地预测问题是否可答,并获取问题的答案。

【技术实现步骤摘要】
一种基于预训练语言模型的多任务学习阅读理解方法
本专利技术属于自然语言理解
,具体涉及一种基于预训练语言模型的多任务学习阅读理解方法。
技术介绍
大规模数据使机器阅读理解成为自然语言理解任务里面的一个关键任务。目前的机器阅读理解任务依照答案的类型可以分为:完形填空型和片段抽取型。片段抽取的机器阅读理解任务要求从输入的文档当中抽取出连续的文本作为答案。然而,在片段抽取的机器阅读理解任务当中,大部分的任务都有一个强烈的假设,认为每一个问题都能够从文章中找到答案。在这种假设下,只需要通过简单的模式匹配找到答案的边界,忽略了该问题是否能真正被回答,所以仍然无法做到真正的自然语言理解,并且缺乏对问题是否可回答的预测能力。然而,在现实世界中,不可回答问题却是普遍存在的。目前,预测问题是否可回答的方法主要两种:一是使用一个简单的分类器对问题是否可回答进行二分类。这种方法的不足是缺乏问题与文档之间的交互以及蕴含关系;二是通过使用一种可验证的机制,首先抽取出一个看似合理的答案,然后以此为基础去进行验证,判断该问题是否可回答。但这个看似合理的答案有可能是错误的,比如,当问题判断为不可回答时,模型抽取出的看似合理的答案就变成错误的答案了。在错误的答案上进行验证是不合理的。
技术实现思路
为了解决现有技术中存在的上述问题,本专利技术提出一种基于预训练语言模型的多任务学习阅读理解方法。为实现上述目的,本专利技术采用如下技术方案:一种基于预训练语言模型的多任务学习阅读理解方法,包括以下步骤:r>步骤1,基于语料库进行训练建立预训练语言模型,利用所述预训练语言模型获得输入文档和问题的上下文感知表示,输入的文档和问题以词向量、位置向量和段落向量表示;步骤2,通过设置由注意力网络构成的交互层融合问题与文档之间的语义信息,得到每一个词的向量表示;步骤3,进行基于问题是否可答预测任务和答案获取任务的多任务学习,得到问题是否可答的结果及问题答案。与现有技术相比,本专利技术具有以下有益效果:本专利技术通过基于语料库进行训练建立预训练语言模型,能够获得句对之间的蕴含关系;通过设置交互层能够充分融合问题与文档之间的语义信息,使模型具有较好的表达能力;通过进行多任务学习,能够自适应地预测问题是否可答,并获取问题的答案。附图说明图1为本专利技术实施例一种基于预训练语言模型的多任务学习阅读理解方法的流程图。具体实施方式下面结合附图对本专利技术作进一步详细说明。本专利技术实施例一种基于预训练语言模型的多任务学习阅读理解方法,流程图如图1所示,所述方法包括:S101、基于语料库进行训练建立预训练语言模型,利用所述预训练语言模型获得输入文档和问题的上下文感知表示,输入的文档和问题以词向量、位置向量和段落向量表示;S102、通过设置由注意力网络构成的交互层融合问题与文档之间的语义信息,得到每一个词的向量表示;S103、进行基于问题是否可答预测任务和答案获取任务的多任务学习,得到问题是否可答的结果及问题答案。在本实施例中,步骤S101主要用于建立预训练语言模型。预训练语言模型的输入是文档和问题,以词向量、位置向量和段落向量表示;预训练语言模型的输出是输入文档和问题的上下文感知表示。上下文的第一个位置增加一个表示句对之间蕴含关系的[CLS]向量,在两个句子之间增加一个用于区分两个句子的[SEP]向量。基于大规模语料库训练建立预训练语言模型,可充分地捕获外界的通用常识知识以及词法、句法和语法关系,同时也能学习到句对之间的蕴含关系。在本实施例中,步骤S102主要用于使问题和文档能够更深层次地融合。设置注意力(attention)网络,反复对问题和文档进行attention操作,如果执行3次,使问题和文档充分融合,得到文档中每一个词的隐状态(表示成一个向量)。在本实施例中,步骤S103主要用于基于多任务学习预测问题是否可答及输出问题答案。多任务学习是机器学习的一个子领域,其目标是利用多个学习任务中所包含的有用信息帮助每个任务学习得到更为准确的学习器,通过利用不同任务之间的相似性来学习更通用的表示,进一步提高模型性能。实验和理论都表明,当多任务学习中的所有任务或其中一部分任务相关时,联合学习多个任务比单独学习能够获得更好的性能。本实施例中,多任务包含2个任务:一个是预测问题是否可答,一个是获得问题答案。如果预测结果是不可答,输出“NoAnswer”;如果预测结果是可答,输出问题答案。很显然,预测问题是否可答和获得问题答案这2个任务是相关的,利用多任务学习可提高模型性能。作为一种可选实施例,所述预训练语言模型为多层双向Transformer编码器。本实施例给出了预训练语言模型的一种具体结构。采用多层双向Transformer编码器的预训练语言模型又称为BERT(Pre-trainingofDeepBidirectionalTransformersforLanguageUnderstanding,双向Transformer的Encoder),BERT在11项自然语言处理任务当中取得了最好的效果。多层双向Transformer编码器由多层的Transformer结构堆叠而成,每层由一个自注意力网络和一个通过残差网络、层归一化网络连接的前向传播网络组成。在模型训练过程中,主要通过掩码语言模型和下一个句子预测同时来优化模型的参数。这种特殊的训练方法不仅能够捕获到上下文的共现关系,还能够学习到两个句对之间的蕴含关系。作为一种可选实施例,所述步骤S103中预测问题是否可答和获取答案的方法包括:利用问题与文档之间的蕴含关系进行二分类,基于问题与文档之间的交互信息及蕴含关系进行打分,如果打分高于设定的阈值,则问题可回答;否则问题不可回答。对每一个词进行打分,然后再进行归一化,得到开始位置和结束位置的概率分布,这两个概率分布中的最大值所对应的索引之间的内容即为答案。本实施例给出了利用多任务学习预测问题是否可答及获得问题答案的一种具体方案。为了便于理解技术方案,下面给出一个简单的例子,假设输入文档D和对应的问题Q分别表示为:D=([CLS],q1,q2,qm,[SEP],x1,x2,…,xn,[SEP])(1)Q=(q1,q2,…,qm)(2)其中,m表示问题的长度,n表示文章的长度,[CLS]表示句对之间的蕴含关系,[SEP]表示两个句子的分隔符;输入的文档和问题经预训练语言模型BERT,得到中间表示d=BERT(D)和q=BERT(Q)。dt为d中的第t个词向量,t=1,2,…,m+n+3,d1为[CLS]对应的向量。经交互层反复对问题和文档进行attention操作(多次迭代)后得到:d′t=q*Softmax(RELU(dt*qT))(3)其中,RELU和Softmax表示激活函数。在预测问题是否可答任务中,要用到问题与文档之间的蕴含关系。d′1是d1([CLS]对应的向量)本文档来自技高网...

【技术保护点】
1.一种基于预训练语言模型的多任务学习阅读理解方法,其特征在于,包括以下步骤:/n步骤1,基于语料库进行训练建立预训练语言模型,利用所述预训练语言模型获得输入文档和问题的上下文感知表示,输入的文档和问题以词向量、位置向量和段落向量表示;/n步骤2,通过设置由注意力网络构成的交互层融合问题与文档之间的语义信息,得到每一个词的向量表示;/n步骤3,进行基于问题是否可答预测任务和答案获取任务的多任务学习,得到问题是否可答的结果及问题答案。/n

【技术特征摘要】
1.一种基于预训练语言模型的多任务学习阅读理解方法,其特征在于,包括以下步骤:
步骤1,基于语料库进行训练建立预训练语言模型,利用所述预训练语言模型获得输入文档和问题的上下文感知表示,输入的文档和问题以词向量、位置向量和段落向量表示;
步骤2,通过设置由注意力网络构成的交互层融合问题与文档之间的语义信息,得到每一个词的向量表示;
步骤3,进行基于问题是否可答预测任务和答案获取任务的多任务学习,得到问题是否可答的结果及问题答案。


2.根据权利要求1所述的基于预训练语言模型的多任务学习...

【专利技术属性】
技术研发人员:王春辉胡勇
申请(专利权)人:识因智能科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1