情境感知的双重注意力自然语言推理方法与流程

文档序号:16881456发布日期:2019-02-15 22:11阅读:347来源:国知局
情境感知的双重注意力自然语言推理方法与流程

本发明涉及深度学习和自然语言理解技术领域,尤其涉及一种情境感知的双重注意力自然语言推理方法。



背景技术:

自然语言推理(naturallanguageinference,nli)是自然语言理解领域的一个重要组成部分,要解决的主要问题是判断是否可以从前提句子(premisesentence)推断出假设句子(hypothesissentence)。因此自然语言推理要解决的一个首要问题是句子语义的理解,这有助于机器理解人类表达同一种意义的多种表达方式;其次,相对于自然语言理解领域的其他问题,例如对话系统,问答系统等不仅需要理解语义,同时需要兼顾生成过程中的可靠性和稳定性,自然语言理解专注于句子语义理解,这不仅保证相关技术的语义理解质量,同时相关技术可以便捷的迁移到其他场景,例如对话系统,问答系统中。因此,自然语言推理一直是自然语言理解领域探索的一个重要研究方向。

目前,关于自然语言推理的方法主要有以下方法:

1)基于句子表示的方法

基于句子表示的方法主要是通过不同的神经网络结构,例如卷积神经网络(convolutionalneuralnetwork,cnn),循环神经网络(recurrentneuralnetwork,rnn)等抽取句子的特征信息,然后将这些特征信息映射到低维空间,得到句子表示的向量,最后通过一些分类方法判断两个句子之间的推理关系。

2)基于词匹配的方法

相对于基于句子表示的方法,词匹配的方法更关于两个句子中的词之间的匹配关系,通过注意力机制(attentionmechanism)或者门结构(gateunit)等方法计算不同词之间的相似度或者距离,这些方法可以从更细粒度上建模两个句子之间的交互,利用词之间的匹配信息建模两个句子之间的推理关系。

上述自然语言推理方法都是集中于挖掘句子本身的信息,而在实际条件下,同一个句子可以根据所处情境的不同表达不同的意思,这些方法并没有利用句子的情境信息,因此缺乏对句子语义的精准理解。



技术实现要素:

本发明的目的是提供一种情境感知的双重注意力自然语言推理方法,可以结合句子对的情境信息来获取句子的语义表示,从而准确的判断句子对中两个句子是否存在推理关系。

本发明的目的是通过以下技术方案实现的:

一种情境感知的双重注意力自然语言推理方法,包括:

获取具有异构数据的包含情境信息的图像和对应的自然语言句子对;

根据获取到的异构数据的图像和自然语言句子使用多模态学习的方法和注意力机制进行建模,获取自然语言句子对在图像注意力层的语义表示;

根据自然语言句子对在图像注意力层的语义表示,使用注意力机制和循环神经网络进行建模,获取自然语言句子对在句子注意力层的语义表示;

根据自然语言句子对在图像注意力层及句子注意力层的语义表示,利用自然语言推理中的匹配方法处理得到自然语言句子对的表示向量,以此判断自然语言句子对中两个句子之间是否存在推理关系。

由上述本发明提供的技术方案可以看出,针对具有情境信息的自然语言句子对,运用多模态学习的方法和注意力机制,充分利用了文本,图像的信息,从而更准确理解句子所表达的语义以及在这样的语义下两个句子之间的交互,进而准确判断两个句子之间是否存在推理关系,同时还可以提供一种进行句子语义表征的方法,弥补了现有方法没有考虑句子所处的情境的弊端。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种情境感知的双重注意力自然语言推理方法的流程图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种情境感知的双重注意力自然语言推理方法,如图1所示,其主要包括:

步骤11、获取具有异构数据的包含情境信息的图像和对应的自然语言句子对。

本发明实施例中,每一条样例的异构数据包括:自然语言前提句子、自然语言假设句子以及对应的表示情境的图像;其中的前提句子和假设句子的推理关系由专家标注,对应的情境信息的图像由文本数据时自动获得。

步骤12、根据获取到的异构数据的图像和自然语言句子使用多模态学习的方法和注意力机制进行建模,获取自然语言句子对在图像注意力层的语义表示。

本步骤优选实施方式如下:

使用统一的数学形式表示包含情境信息的图像和对应的自然语言句子对:对于图像,用i表示,是一个固定大小(如227*227*3)的三通道图,且每一个像素值在0到255之间;对于自然语言句子对中的前提句子用表示其由m个词组成的文本;对于自然语言句子对中的假设句子用表示其由n个词组成的文本;其中,sa与sb中的每一元素均表示一个词,可以由利用整个文本数据预训练好的自编码器(autoencoder)得到。

对于图像表示,可以利用现有的模型,例如深度网络模型vgg或者残差网络模型resnet处理,因为这些模型能够有效的抽取图像特征,因此抽取模型的最后一个卷积层的结果作为图像的特征表示,用c表示,从而得到了图像的低维特征表示,也即情境信息。

sa与sb中的所有的不重复的词组成整个文本的词典v,词典v中每个词的向量表示由利用整个文本数据预训练好的自编码器得到,所有词的向量表示集合由e表示。由于自然语言文本,尤其是中文文本,有很多的比喻,象征等表现手法,因此每个词表示的并不一定是它的字面意思。为了更好的表示文本的语义信息,利用自编码器得到每个词的低维向量表示,并且将这些信息融入到每个词的向量表示当中,由如下公式表示:

完成图像和文本句子的预处理之后,通过整合图像和文本信息,理解和学习在给定情境下的句子语义,得到句子的语义表示。具体如下:

考虑到句子文本的词序列信息,采用门结构循环网络gru分别对前提句子和假设句子进行建模,得到每个句子中的每个词的隐含状态序列hi表示,这样可以得到在考虑周围上下文的条件下每个词的深层语义表示,从而得到更加全面的句子语义理解,对于t时刻的输入xt,gru的隐含状态ht更新如下:

z=σ(xtuz+ht-1wz)

r=σ(xtur+ht-1wr)

其中,z,r,cm分别是gru的更新门,重置门,记忆单元,uz与wz为更新门的参数矩阵,ur与wr为重置门的参数矩阵,uh与wh为记忆单元的参数矩阵,表示点乘;在这里xt表示前提句子sa或假设句子sb中第t个词的低维向量表示。相对于长短期记忆网络(lstm),gru在保证效果的基础上,拥有相对更少的门结构,计算速度更快。

利用gru编码每个句子中每个词的表示,得到每个句子中词之间相互依赖的隐层表示,公式如下:

其中,gru1表示前提句和假设句使用的是同一个gru,分别表示前提句子sa第i个词和假设句子sb中第j个词的隐层状态表示,表示前提句子sa中从第一个词开始到第i个词的词序列,表示假设句子sb中从第一个词开始到第j个词的词序列。

前文提到,同一个句子在不同情境下可以表达不同的语义,因此模型在理解语义时需要考虑句子所处的情境。而随着互联网的高速发展,人们更喜欢通过图像和文本结合的方式来表达自己的想法。因此图像可以认为是句子所处的情境的一种表现形式,文本中和图像表示越相关的内容应该得到更多的关注,而注意力机制可以帮助模型专注于输入中最相关的内容。为了整合图像和文本信息,保证模型在理解语义时能够考虑其所处的情境。本放实施例中,使用注意力机制来获取自然语言句子对的文本表示中与图像最相关的内容,并将这些内容抽取出来,作为自然语言句子对在图像注意力层的语义表示:

其中,wa,ua,ω为注意力单元的训练参数,k为gru中的隐层单元维度,α为前提句子中每个词的隐层状态的注意力权重分布,ca为前提句子在图像注意力层的语义表示向量,表示一个全为1的行向量;m与α均为中间量;softmax(·)表示归一化操作,保证每个词的隐层状态的注意力权重分布之和为1;通过注意力机制和图片表示的情境指导下,相关词会被选出来组成句子的语义表示。相同的操作应用到假设句子上,得到假设句子在图像注意力层的语义表示向量cb。

步骤13、根据自然语言句子对在图像注意力层的语义表示,使用注意力机制和循环神经网络进行建模,获取自然语言句子对在句子注意力层的语义表示。

由于自然语言推理任务是判断两个句子之间是否存在推理关系,因此建模两个句子之间的交互和局部相关性也十分重要,因此在得到句子在给定情境下的语义表示的基础上提出句子注意力层(sentenceattentionlayer)建模两个句子之间的交互。

由于注意力机制可以帮助模型关注到输入中最相关的部分,因此在句子注意力层使用了同样的注意力机制,和图像注意力层不同的地方在于,该层的注意力单元的输入是图像注意力层的输出(即步骤12的输出):句子的语义表示,即在已经理解到的语义下建模两个句子之间的交互,并且通过这种方式可以建模句子之间的交互及局部关系。

本步骤优选实施方式如下:

将前提句子和假设句子的每个词通过和图像注意力层不同的gru,记为gru2,得到两个句子每个词的隐层状态表示:

gru2表示在这里使用了和步骤12中参数不同的gru结构。

在此基础上,使用注意力机制来获取自然语言句子对在句子注意力层的语义表示:

其中,m'与α'均为中间量;c'a表示前提句子在句子注意力层的语义表示向量,w',u',ω'是句子注意力层中注意力单元的训练参数,在已知语义的条件下,利用注意力机制,假设句子中与前提句子语义相关的信息会被抽取出来从另一个角度对前提句子的语义进行表示。相同的操作应用到假设句子上,得到假设句子在句子注意力层的语义表示向量c'b。

步骤14、根据自然语言句子对在图像注意力层及句子注意力层的语义表示,利用自然语言推理中的匹配方法处理得到自然语言句子对的表示向量,以此判断自然语言句子对中两个句子之间是否存在推理关系。

对于给定的前提句子sa、假设句子sb以及对应的情境信息c,在得到前提句子在图像注意力层的语义表示向量ca、假设句子在图像注意力层的语义表示向量cb、前提句子在句子注意力层的语义表示向量c'a以及假设句子在句子注意力层的语义表示向量c'b后,利用启发式的方法整合这些表征信息,具体来讲,选择表示向量点乘,相减,拼接等操作将这些表征向量整合起来,获得前提句子与假设句子的最终语义表示向量va和vb;然后将va和vb拼接起来,得到最终的表示向量v,再通过一个多层感知机(mlp)求出在给定情境下两个句子之间存在推理关系的概率,上述过程表示为:

其中,表示点乘,-表示相减,(·,·)表示拼接操作;y表示在给定情境信息c下前提句子sa与假设句子sb存在的推理关系类别。mlp是一个三层结构,包含两层的全连接层和relu激活函数,以及一层softmax输出层。在这层中,拼接操作可以最大限度的保留句子的语义表征信息,点乘可以得到两个句子之间的相似度信息,相减操作可以获取语义表征在每个维度上的不同程度。

最终根据计算得到的给定情境下两个句子之间存在推理关系的概率,来判断这两个句子之间是否存在推理关系。

本发明实施例提供的上述方案,针对具有情境信息的自然语言句子对,运用多模态学习的方法和注意力机制,充分利用了文本,图像的信息,从而更准确理解句子所表达的语义以及在这样的语义下两个句子之间的交互,进而准确判断两个句子之间是否存在推理关系,同时还可以提供一种进行句子语义表征的方法,弥补了现有方法没有考虑句子所处的情境的弊端。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1