法律状态公告日
法律状态信息
法律状态
2020-03-24
授权
授权
2018-02-06
实质审查的生效 IPC(主分类):G06N5/04 申请日:20170918
实质审查的生效
2018-01-12
公开
公开
技术领域
本发明涉及自然语言处理领域,尤其涉及一种融合单词语义知识的神经网络自然语言推理方法。
背景技术
自然语言推理(Natural Language Inference,NLI),也称为文本蕴含识别(Recognizing Textual Entailment,RTE),指的是判断一句自然语言的前提文本(Premise,P)能否推理出一句自然语言的假设文本(Hypothesis,H)。这个概念由Dagan等人于2004年首次提出,通常的任务是做三分类,1)前提蕴含假设,2)两者矛盾,3)两者中立。
举例来说:
前提:刘庆峰1999年创立科大讯飞有限公司。
假设1:刘庆峰是科大讯飞的创始人。
假设2:刘庆峰不是科大讯飞的创办人。
假设3:刘庆峰是科大毕业的。
很显然,前提和假设1之间是蕴含关系,和假设2之间是矛盾关系,和假设3之间是中立关系。
推理是人类和人工智能的核心。虽然建模自然语言中的推理问题十分有挑战性,但它是真正理解自然语言所必需解决的基本问题之一。正如MacCartney和Manning所言,“真正的自然语言理解的一个必要条件是掌握开放领域的自然语言推理”。自然语言推理能帮助很多自然语言处理的任务,例如问答系统、关系抽取、多文档摘要、机器翻译评价等等。
关于自然语言推理方法,早期的工作主要集中在小规模的数据集上。主要分为如下几种方法:基于相似度的自然语言推理方法,基于对齐的自然语言推理方法,基于逻辑演算的自然语言推理方法,基于转换的自然语言推理方法和基于混合模型的自然语言推理方法。
基于相似度的方法比较直观,即通过比较P-H对的相似程度来判断其是否构成蕴含关系。比如利用编辑距离、句法树编辑距离、话题相似性等等;基于对齐的方法指的是先把P和H中相似的部分找出来对齐,然后把对齐的方式和程度作为判断是否构成蕴含关系的方法。比如,基于单词、句法和句法树的对齐等等;基于逻辑演算的方法一般是先把P-H对和背景知识库中的事实编码为数学逻辑的表达式,构成事实集合,然后应用逻辑推理规则来判断H的表达式是否可以由P的表达式和背景知识库所构成的事实集合所推出。比如基于溯因推理的方法、利用句法依存关系的方法等等;基于转换的方法是针对基于逻辑演算方法的不足提出的。该方法采用了类似“演算”思想,却抛弃了严格的数学逻辑表达式,转而利用语言分析技术,将P-H对表示成为某种语言学表示形式,例如句法树、依存图等,并把背景知识表示成为推理规则,然后以这种表示形式进行推理;基于混合模型的方法则是针对前面方法的优势与不足,把多种特征,比如词级别相识度、句法树相似度、对齐程度等等混合在一起,送入分类器进行分类的方法。
前面介绍的这些方法通常基于人工构建的复杂特征,所以其鲁棒性和扩展性有限。随着深度学习理论研究的快速发展,近期有学者提出了一些基于人工神经网络的自然语言推理方法。主要分为以下几类:基于前馈神经网络(FeedForward Neural Network,FNN)的方法、基于递归神经网络(Recursive Neural Network)的方法、基于卷积神经网络(Convolutional Neural Networks,CNN)的方法和基于循环神经网络(Recurrent NeuralNetwork,RNN)的方法。
Parikh等人提出了一种基于前馈神经网络的分解注意模型,且不依赖词的顺序信息,当其增加了句子内的注意(Attention)机制后,准确率获得了进一步提升;递归神经网络由Goller所提出,Bowman等人使用了递归神经网络来解决自然语言推理任务。该方法用递归神经网络分别对P和H进行编码,得到两个向量,然后把这两个向量送入多层感知机(MLP)进行分类;Yin等人提出了基于注意机制的卷积神经网络来处理自然语言推理问题;Mou等人提出了基于树结构的卷积神经网络来解决自然语言的推理问题。
另外,有很多学者提出了基于循环神经网络的自然语言推理方法,主要使用两种常用的循环神经网络变体,长短时记忆神经网络(Long Short-Term Memory,LSTM)和门限循环单元神经网络(Gated Recurrent Unit,GRU)。LSTM和GRU都是一类有门控制的循环神经网络,它们擅长对序列进行建模,并通过门机制解决了简单循环神经网络(Vanilla RNN)中的梯度消失问题。Bowman等人首次将LSTM句子模型应用到自然语言推理任务。此模型用两个相同参数的LSTM分别编码P和H,然后用Softmax分类器进行分类。接下来很多工作基于相同的框架,对句子编码器进行改进。Vendrov等人使用了预训练的无监督Skip-Thought向量作为GRU编码器的初始化。Bowman等人提出了SPINN模型,此模型把句法分析和理解结合到一个树形-序列的混合模型中。Liu等人使用了双向长短时记忆神经网络(BiLSTM)来产生句子的表述,然后用句子内的注意力模型替换平均池化模型。Munkhdalai等人的方法展示了一种记忆扩展的神经网络,称为神经语义编码器(NSE),用来编码句子。
此外,还有一部分基于循环神经网络的工作开始考虑了句子间的注意机制。
近年来,自然语言推理任务有了很大的进展。一个重要的贡献是Bowman等人在2015年创建了一个大规模的自然语言推理任务数据集SNLI(StanfordNaturalLanguageInference)。该数据集的规模远超之前所有的语料,有大约57万条人工标注的样本,从而使得训练端到端的人工神经网络模型成为可能。SNLI数据集规模大、类别分布平衡,它已成为目前最常用的标准测试集。
纵观目前已有的基于神经网络的自然语言理解方法,它们绝大多数都是完全依赖训练集进行端到端的模型训练。当训练集规模有限,或着测试集与训练集分布相差较大时,完全依赖训练集的基于神经网络的自然语言理解模型则会遇到很多问题。
发明内容
本发明的目的是提供一种融合单词语义知识的神经网络自然语言推理方法,改善了传统神经网络方案对外部语义知识利用不足的问题,提高了自然语言推理的准确性。
本发明的目的是通过以下技术方案实现的:
一种融合单词语义知识的神经网络自然语言推理方法,包括:
从外部语义知识库中提取词对之间的多种语义关系;
构建神经网络模型,利用神经网络模型对输入的前提文本、假设文本以及词对之间的多种语义关系进行局部推理建模,再组合局部推理信息,从而得到句子级别的推理信息,最后对神经网络模型进行训练;
将未标注的前提文本和假设文本输入至已经训练好的神经网络模型,计算得到属于三个类别的概率分布,选取最大概率对应的类别作为最终预测的类别。
所述词对之间的多种语义关系包括:近义关系、上下位关系与反义关系。
所述神经网络模型包括:输入编码模块,局部推理建模模块和推理组合模块;
所述输入编码模块负责编码输入的前提文本与假设文本,从而获得考虑上下文信息的单词表达;
所述局部推理建模模块负责将词对之间的多种语义关系与考虑上下文信息的单词表达相结合进行局部推理建模;
所述推理组合模块负责组合局部推理信息,从而得到句子级别的推理信息。
所述局部推理建模模块负责将词对之间的多种语义关系与考虑上下文信息的单词表达相结合进行局部推理建模包括:
计算前提文本的每个单词表达和假设文本的每个单词表达之间的距离,从而获得单词之间的软对齐值;
利用Softmax的方式对单词之间的软对齐值做归一化处理,并用加权和的方式获得对偶向量;
将词对之间的多种语义关系与对偶向量相结合,从而完成局部推理建模。
所述推理组合模块负责组合局部推理信息,从而得到句子级别的推理信息包括:将局部推理建模结果作为输入,得到隐层向量序列,然后采用平均池化和最大池化的方式获得固定长度的分类特征向量;最后,该分类特征向量被送入多层感知机进行分类,从而得到句子级别的推理信息。
所述对神经网络模型进行训练的目标是最小化在训练集的交叉熵损失函数。
由上述本发明提供的技术方案可以看出,1)能够充分利用丰富的已有外部单词语义知识来增强基于神经网络的自然语言推理方法,提升了蕴含关系预测的准确率;2)具有很强的扩展性,可以方便地扩展到其他已有的基于神经网络的自然语言推理方法中。另外,在输入编码模块和推理组合模块中,对于神经网络类型的选择有很强的灵活性,例如可以使用简单但运算量低的前馈神经网络,也可以使用复杂但运算量高的树型长短时记忆神经网络;3)由于使用了外部单词语义知识,该技术方案对于训练数据规模的敏感性降低,使得其在训练数据非常有限时,也能取得较好的准确率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种融合单词语义知识的神经网络自然语言推理方法的流程图;
图2为本发明实施例提供的利用构建的神经网络模型实现推理决策过程的示意图;
图3为本发明实施例提供的使用BiLSTM网络作为输入编码模块和组合推理模块的基本结构的整体神经网络模型架构图;
图4为本发明实施例提供的不同训练集规模下模型的准确率比较结果。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
图1为本发明实施例提供的一种融合单词语义知识的神经网络自然语言推理方法的流程图。如图1所示,其主要包括如下步骤:
步骤1、从外部语义知识库中提取词对之间的多种语义关系。
本发明实施例中,所述词对之间的多种语义关系包括:近义关系、上下位关系与反义关系等等。
以外部语义知识库WordNet为例,介绍外部语义知识库的特征提取阶段。WordNet中提供了丰富的词与词之间的多种语义关系,比如上下位、反义、近义等等。针对特定单词语义知识库的结构,可以提取出一个特征向量,用来描述给定的两个词之间的语义关系,向量中各维的取值可以从知识库中提取得到。
步骤2、构建神经网络模型,利用神经网络模型对输入的前提文本、假设文本以及词对之间的多种语义关系进行局部推理建模,再组合局部推理信息,从而得到句子级别的推理信息,最后对神经网络模型进行训练。
本发明实施例中,所述神经网络模型包括:输入编码模块,局部推理建模模块和推理组合模块。
1)所述输入编码模块负责编码输入的前提文本与假设文本,从而获得考虑上下文信息的单词表达。
2)所述局部推理建模模块负责将词对之间的多种语义关系与考虑上下文信息的单词表达相结合进行局部推理建模。其过程如下:计算前提文本的每个单词表达和假设文本的每个单词表达之间的距离,从而获得单词之间的软对齐(Soft-alignment)值;利用Softmax的方式对单词之间的软对齐值做归一化处理,并用加权和的方式获得对偶向量;将词对之间的多种语义关系与对偶向量相结合,从而完成局部推理建模。
3)所述推理组合模块负责组合局部推理信息,从而获得句子级别的推理信息。其过程如下:将局部推理建模结果作为输入,通过组合器的处理得到隐层向量序列,然后采用平均池化和最大池化的方式获得固定长度的分类特征向量;最后,该分类特征向量被送入多层感知机进行分类,从而得到句子级别的推理信息。
另外,本发明实施例中,所述对神经网络模型进行训练的目标是最小化在训练集的交叉熵损失函数。
步骤3、将未标注的前提文本和假设文本输入至已经训练好的神经网络模型,计算得到分别属于三个类别的概率分布,选取具有最大概率的类别作为最终预测的结果。
所述的三个类别即蕴含关系、矛盾关系、中立关系。
为了便于理解,下面针对神经网络模型中的输入编码模块,局部推理建模模块和推理组合模块做进一步详细说明。
1、输入编码模块。
本发明实施例中,输入编码模块主要负责编码输入的前提文本与假设文本。常用的神经网络,比如前馈神经网络、卷积神经网络、循环神经网络等都可以用来编码句子信息。本发明实施例中,以双向长短时记忆网络(BiLSTM)为例,通过BiLSTM编码前提文本和假设文本两个句子的每个单词,从而获得考虑上下文信息的单词表达。
2、局部推理建模模块。
本发明实施例中,局部推理建模模块主要用于建模前提文本和假设文本之间的局部推理信息,此外该模块还利用已经提取的外部语义知识库的特征向量,来加强局部推理信息的建模。
首先,通过计算前提文本的每个单词表达和假设文本的每个单词表达之间的距离,从而获得单词之间的软对齐值,比如通过向量点积或者多层感知机的方法。
然后,用Softmax归一化,并用加权和的方式获得对偶向量。某一单词的对偶向量指的是另一个句子中与该单词最相关信息的表达。通过比较原始向量(即输入编码模块的输出)与对偶向量之间的关系,即可获得局部推理信息的建模,进而为获取句子级别的推理关系做好准备。
为了增强建模局部推理信息,除了拼接原始向量及其对偶向量,还进一步地拼接了两者之差和两者之乘。这样拼接后得到的向量就可以用来输入之后的模块——推理组合模块。为了利用外部单词语义知识,本发明提出了一种融合单词语义知识库的神经网络自然语言推理方法。利用软对齐方式获取的权重信息,把外部语义知识库中提取的特征向量(即词对之间的多种语义关系)加权和后做为额外的输入,与原始向量、对偶向量、两者之差和两者之乘拼接在一起。这样神经网络就能利用丰富的外部语义知识来加强局部推理信息的建模。
3、推理组合模块。
本发明实施例中,推理组合模块主要用于组合局部推理信息,从而得到句子级别的推理信息。该模块也可以使用常用的神经网络来进行建模,比如前馈神经网络、卷积神经网络、循环神经网络等等。以BiLSTM为例,将局部推理建模模块得到的考虑外部语义知识的向量序列(即局部推理建模模块的输出)做为BiLSTM的输入,得到隐层向量序列。然后采用平均池化和最大池化的方式获得固定长度的分类特征向量。最后,该分类特征向量被送入多层感知机进行分类预测。
下面结合一示例来对本发明提供的方法进行说明。
1、提取词对之间的多种语义关系。
WordNet中提供了词与词之间的上下位关系,比如“宠物”是“猫”的上位词。这样,通过添加已有的外部语义知识,能更好地建模单词级别的推理关系,比如“猫”能推理出是“宠物”,从而能更好地帮助建模句子级别的推理关系。除此之外,还能从WordNet中获得语义排斥(semantic exclusion)信息。比如,如果知道“猫”和“狗”的直接上位词是“宠物”,这样“猫”和“狗”就构成了语义排斥的关系,从而能帮助判断前提文本和假设文本之间存在矛盾关系。因此,利用WordNet能提取大量词对之间的上下位、语义排斥等关系,从而能帮助建模自然语言推理。
为此,本示例从WordNet中提取出5维向量特征,每一维数值是0到1的区间。具体如下:
1)近义词特征:如果两个词属于近义关系,即属于同一个同义词集合(synset),则该特征取值为1,否则取值为0。特殊地,当两个词相同时,也取值为1。
2)反义词特征:如果两个词属于反义关系,则该特征取值为1,否则取值为0。反义关系体现了语义排斥关系中的否定关系,它能有效地帮助建模自然语言推理中的矛盾关系。
3)上位词特征:如果一个词是另一个词的(直接的或间接的)上位词,则该特征取值为1-n/8,其中n是两个词在上下位词层级树之间的跳转数,否则该特征取值为0。比如,“狗”的直接上位词是“犬科动物”,即这两个词在上下位层级树之间的跳转数是1,所以此时该特征取值为1-1/8=0.875。又比如,“犬科动物”的直接上位词是“食肉动物”,所以“狗”和“食肉动物”的特征取值为1-2/8=0.75。但是反过来,“食肉动物”和“狗”之间的特征取值为0。
4)下位词特征:如果一个词是另一个词的(直接的或间接的)下位词,则该特征取值为1-n/8,其中n是两个词在上下位词层级树之间的跳转数,否则该特征取值为0。该特征正好是上位词特征的相反特征。比如,“食肉动物”和“狗”之间的特征取值为0.75。
5)相同上位词特征:如果两个词有相同的上位词,但它们不属于同一个同义词集合(synset),则该特征取值为1,否则取值为0。比如,“狗”的上位词是“犬科动物”,“狼”的上位词也是“犬科动物”,且“狗”和“狼”不属于同一个的同义词集合,所以该特征取值为1。相同上位词特征体现了语义排斥关系中的替代关系,也能有效地帮助建模自然语言推理中的矛盾关系。
2、构建神经网络及训练。
如图2所示,神经网络模型中的输入编码模块,局部推理建模模块和推理组合模块,主要处理过程如图3所示;具体如下:
1)输入编码模块
用于编码输入的句子的每个单词。常用的神经网络,比如前馈神经网络、卷积神经网络、循环神经网络等都可以用来编码句子信息。本发明以BiLSTM为例,如图3所示,通过BiLSTM编码前提和假设两个句子的每个单词,从而获得考虑上下文信息的单词表达。对于前提文本的单词序列(a1,...,an)和假设文本的单词序列(b1,...,bm),经过词向量矩阵E的映射,可以得到前提和假设的词向量序列(E(a1),...,E(an))和(E(b1),...,E(bm)),其中n,m分别为前提、假设文本的单词序列的长度。这两个词向量序列分别作为有相同参数的BiLSTM的输入,得到考虑上下文的单词特征表达。计算公式如下:
其中,i∈[1,n],j∈[1,m]分别是前提文本和假设文本的单词序号。BiLSTM由一个前向LSTM和反向LSTM拼接而且。单向的LSTM计算公式如下:
it=σ(Wixt+Uiht-1+bi)
ft=σ(Wfxt+Ufht-1+bf)
ut=tanh(Wuxt+Uuht-1+bu)
ot=σ(Woxt+Uoht-1+bo)
ct=ft⊙ct-1+it⊙ut
ht=ot⊙tanh(ct)
其中,σ是Sigmoid函数,⊙是逐元素乘法,W,U,b都是可训练的模型参数,W,U,b的下标i,f,u,o指示对应LSTM中不同的门函数。对于某一时刻输入xt,LSTM通过一系列的门函数和记忆细胞(Cell,ct)来控制信息流及跟踪长距离的依赖关系,从而产生每一时刻的隐层状态ht。这些门函数包括输入门it、遗忘门ft和输出门ot。
2)局部推理建模模块
首先,通过软对齐的方式获得前提文本和假设文本之间的对齐关系。本示例中,使用向量点积的方式来得到单词之间的对齐值;计算公式如下:
其中exp(eik)和exp(ekj)是分别对eij的第二维度和第一维度求和。使用归一化的权重值对另一个语句进行加权和,获得对偶向量,计算公式如下:
此时,通过比较比较原始向量(即输入编码模块的输出)与对偶向量之间的关系(即,as,ac或者bs,bc),即可获得局部推理信息的建模。
本示例中,为了利用外部单词语义知识,提出了基于神经网络的一种融合外部单词语义知识库的方法。通过之前介绍的方法,从WordNet知识库中提取了任意词对之间的5维特征向量rij,将加权和后特征向量与原始向量、对偶向量、两者之差和两者之乘拼接在一起:
其中F的计算公式如下:
至此,获得了局部推理信息的建模向量序列
3)推理组合模块。
推理组合模块,用于组合局部推理信息,从而得到句子级别的推理信息。该模块也可以使用常用的神经网络来进行建模,比如前馈神经网络、卷积神经网络、循环神经网络等等。以BiLSTM为例,如图3所示,将局部推理建模模块得到的考虑外部语义知识的向量序列做为BiLSTM的输入,得到隐层向量序列av,bv。如下公式所示:
其中,i∈[1,n],j∈[1,m]分别是前提文本和假设文本的单词序号。然后采用平均池化和最大池化的方式获得固定长度的分类特征向量。最后,该分类特征向量被送入多层感知机进行分类。该多层感知机使用单隐层,激活函数可以选择ReLU或者Tanh,输出层使用Softmax获得每个类别的概率。
另外,关于神经网络模型(上面介绍的三个模块)的训练采用端到端的模型进行参数训练,训练的目标是最小化在训练集的交叉熵损失函数。为了避免模型过拟合,模型训练中使用了Dropout和Early Stop的策略。
3、推理决策阶段
将未标注的前提文本和假设文本输入至已经训练好的神经网络,计算得到属于三个类别的概率分布,选取最大概率对应的类别作为最终预测的类别。
本发明实施例所提供的上述方案主要具有如下优点:
1)能够充分利用丰富的已有外部单词语义知识来增强基于神经网络的自然语言推理方法,提升了蕴含关系预测的准确率。
2)具有很强的扩展性,可以方便地扩展到其他已有的基于神经网络的自然语言推理方法中。另外,在输入编码模块和推理组合模块中对于神经网络类型的选择有很强的灵活性,例如可以使用简单但运算量低的前馈神经网络,也可以使用复杂但运算量高的树型长短时记忆神经网络。
3)由于使用已有的单词语义知识,该技术方案对于训练数据规模的敏感性降低,使得其在训练数据很少时,也能取得较好的准确率。
另一方面,传统的基于神经网络的自然语言理解方法通常是完全依赖训练集进行端到端的模型训练。当训练集规模有限,或着测试集与训练集分布相差较大时,完全依赖训练集的基于神经网络的自然语言理解模型则会遇到问题。本发明提出的融合单词语义知识的方法则在一定程度上缓解了该问题。为了验证本发明所提出方法的有效性,设计了如下实验。
(1)实验设置
本实验使用主流的斯坦福自然语言推理数据集(SNLI),该数据集有约57万条样本,采用和之前工作相同的数据划分。分类准确率作为最终的评价指标。使用Adam随机梯度下降算法进行模型优化,所有的隐层节点数和词向量维度是300维。使用300维的GloVe840B作为词向量的初始化。
(2)实验结果
如表格1所示,本实验比较了本发明所提出的方法同之前的方法在SNLI数据集上的准确率。第一行是基于人工特征的分类模型,其考虑了一些基于人工经验提取的特征,如前提文本相对于假设文本的BLEU得分、两者之间重合的单词数、两者之间句子长度之差等等。该模型在测试集的分类准确率为78.2%。ESIM模型是我们的基线系统,其使用了一种增强型LSTM架构,是目前最先进的模型之一。本发明提出的融合单词语义知识的神经网络模型,相较于基线系统88.0%的准确率,在融合基于WordNet单词语义知识后,取得了88.6%的准确率,有0.6%的绝对提升。
为了验证模型在训练集规模不够时的性能,随机采样了不同规模的训练集进行测试。实验结果如图4所示,基线系统对应下方的曲线,准确率依次为“88.0、83.4、77.3、62.4”,本发明提供的融合语义知识的方案对应上方的曲线,准确率依次为“88.6、84.5、79.6、69.1”。由图4可见,随着训练集规模的下降,基线系统和融合语义知识的方案都会有准确率的降低,但是融合外部单词语义知识的下降程度比较小,且与基线系统的差异越来越大。该实验表明了本发明提出的融合单词语义知识的模型当训练集规模非常有限时,能发挥更大的作用。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
机译: 使用知识传输与其他神经网络的融合神经网络创建神经网络融合的方法和装置
机译: 使用类似于大脑的方法来理解自然语言:使用类似于大脑的方法(SEBLA)的语义引擎会产生单词和句子的语义
机译: 用于实时生成用户输入的自然语言字符串作为语义可读知识结构文档的实时语义注释设备和方法