英语原文共 7 页
基于树的卷积和启发式匹配的自然有语言推理
Lili Mou, 1Rui Men, 1Ge Li,dagger;1Yan Xu,1Lu Zhang,1Rui Yan,2Zhi Jindagger;1 1高可信软件技术重点实验室(北京)大学),中国教育部;北京大学软件学
摘要
在本文中,我们提出了tbcnn-pair模型来识别两个句子之间的蕴涵和矛盾。在我们的模型中,一个基于树的卷积神经网络(tbcnn)捕获句子级语义,然后启发式匹配层(如连接、元素相关的产品/差异)将单个句子中的信息结合起来。实验结果表明,该模型在很大程度上优于现有的基于句子编码的方法。
- 介绍
认识到两个句子之间的蕴涵和矛盾(称为前提和假设)在MacCartney(2009)中被称为自然语言推理(NLI)。提供一个预设句子,任务是判断假设是否可以推断(蕴涵),或者假设不能成立(矛盾)。表1说明了几个例子。
NLI是自然语言理解的核心,在NLP中有广泛的应用,例如问答(Harabagiu和Hickl,2006)和自动摘要(Lacatusu等,2006; Yan等,2011a; Yan等,2011B)。 此外,NLI还与“句子对”建模的其他任务有关,包括复述检测(Hu et al。,2014),话语单位的关系识别(Liu et al。,2016)等。
传统的NLI方法主要属于两类:功能丰富的模型和形式推理方法。 基于特征的方法通常利用机器学习模型,但需要强化人工工程来表示两个句子中的语法和句法信息
前提 |
两个骑自行车的人在比赛中 |
|
假设 |
人们在骑自行车 人们在街道上骑自行车 一些人在钓鱼 |
ECN |
表1:前提和假设之间关系的例子:蕴涵,矛盾和中立(不相关)。
另一方面,正式推理将句子转换为正式的逻辑表示,并使用解释器来搜索证明。然而,这些方法在范围和准确性方面受到限制(Bos和Markert,2005年)。
神经网络的重新繁荣在各种NLP应用中取得了重大成就,包括单个句子建模(Kalchbrenner等,2014; Mou等人,2015)以及句子匹配(Hu et al。,2014; 阴 和Schuuml;tze,2015)。模仿句子对的典型神经结构是“连体”结构(Bromley等,1993),它涉及底层句子模型和匹配层,以确定两个句子之间的关系。普遍的句子模型包括卷积网络(Kalchbrenner等,2014)和周期性/递归网络(Socher等,2011b)。虽然它们已经取得了很高的性能,但它们可能无法完全利用句子中的句法信息,或者由于传播路径较长而难以训练。最近,我们提出了一种新的基于树的卷积神经网络(TBCNN)来缓解上述问题,并在两句话分类任务中取得了更高的性能。(Mou等, 2015). 然而,不清楚是否可以利用TBCNN来模拟句子对以进行隐式逻辑推理,就像在NLI任务中那样。
在本文中,我们提出TBCNN对神经模型来识别两个句子之间的蕴涵和矛盾。我们杠杆 -使我们新提出的TBCNN模型能够捕获句子中的结构信息,这对NLI非常重要。例如,表中的“在街上骑自行车”这句话1 通过依赖关系dobj(骑行,自行车)和准备(骑行,街道),TBCNN可以很好地识别。正如我们所看到的,TBCNN在顺序失真方面比顺序卷积更强大,这可能由确定器,修饰符等引入。然后,池化层沿树聚合信息,作为语义共性的一种方式。最后,两个句子的信息由几个启发式匹配层组合,包括连接,元素产品和差异;它们有效地捕捉两个句子之间的关系,但仍然是低复杂性。
综上所述,本文的主要贡献有两方面:(1)我们率先将基于树的卷积引入NLI等句型对建模任务;(2)利用额外的启发式方法进一步提高了准确性,同时保持低复杂性,在很大程度上优于现有的基于句子编码的方法,包括功能丰富的方法和基于长期短期记忆(LSTM)的复发网络。
相关工作
蕴涵识别可以被视为句子对建模的任务。该领域中的大多数神经网络涉及句子级模型,其后是一个或几个匹配层。它们有时被称为“连体”架构(布罗姆利等 al。,1993)。
胡等人。(2014)和Yin和Schuuml;tze(2015)将卷积神经网络(CNN)应用为单个句子模型,其中设计连续单词上的一组特征检测器以提取局部特征。Wan等人。(2015)在递归神经网络(RNN)上建立句子对模型,以沿句子迭代地整合信息。Socher等。(2011A)通过递归自动编码器动态构造树结构(类似于解析树)以检测两个句子之间的释义。如图所示,句子中固有的结构信息对于自然语言理解通常很重要。
匹配两个句子的最简单方法,或许,是连接他们的矢量表示。连接也适用于我们之前在关系分类中匹配主题和对象的工作。应用额外的启发式算法,即欧几里德距离,余弦度量和元素绝对差值。上述方法对句子的固定大小矢量表示进行操作,分类为基于句子编码的方法。因此,匹配的复杂性是,即独立于句子长度。引入逐字相似性矩阵以增强交互。为了获得相似度矩阵,胡等人,连接两个单词的#39;向量(在卷积之后),Socher等。(2011A)计算欧氏距离,和Wan等人。(2015)应用张量产品。这样,复杂度为O(n2),其中n是句子的长度;因此,相似性矩阵难以扩展且对大型数据集效率更低。
最近,Rockt·schel等。为句子匹配引入了几种上下文感知方法。他们报告说,单个两句话链上的RNN比单独的RNN更具信息性;在对第二个句子进行建模时,对第一个句子的静态注意也很有用。这种上下文感知交织了句子建模和匹配步骤。在某些情况下,如句子对重新排名(Yan et al。,2016),预先计算句子的向量表示是不可行的,因此匹配复杂度为O(n)。Rocktauml;schel等。(2016)进一步发展逐字注意机制并获得一个复杂度为O(n2)的精度更高。
我们的方法
我们遵循“Siamese”架构(就像Section中的大多数工作一样)2) 并采用两步策略对两句话之间的关系进行分类。具体而言,我们的模型包括两部分:
- 基于树的卷积神经网络模拟每个单独的句子(图1a). 请注意,两个句子,前提和假设,共享相同的TBCNN模型(具有相同的参数),因为这部分旨在捕获句子的一般语义。
bull;
- 匹配层通过启发式结合两个句子的信息(图1b). 在单个句子模型之后,我们设计了一个句子匹配层来聚合信息。我们使用简单的启发式方法,包括连接、元积和差分,它们是实在有效的并且高效的。
bull;
图1:TBCN-pair模型。(a)基于树的卷积建模的句子个体,(b)使用启发式建立句子对,之后将softmax图层应用于输出。
最后,我们添加了一个softmax图层用于输出。训练目标是交叉熵损失,我们采用小批量随机梯度下降,通过反向传播计算。
基于树的卷积
基于树的自旋神经网络(TBCNN)在我们之前的工作中首次提出(Mou et al。,2016)2 对程序源代码进行分类之后,我们进一步提出TBCNN变体来模拟句子。本小节详细介绍了基于树的卷积过程。
TBCNN的基本思想是设计一组在句子的解析树上滑动的子树特征检测器;可以应用选区树或依赖树。本文以依赖树卷积为基础,研究了它的高效性和紧凑性。
具体地说,首先将句子转换为依赖性解析树。3 依赖树中的每个节点对应于句子中的单词;边ab表示a由b控制。边缘在父节点及其子节点之间标记有语法关系(例如,nsubj)(de Marneffe等,2006)。 单词由预训练矢量表示表示,也称为单词嵌入(Mikolov等,2013a)。
现在,我们考虑在依赖树上滑动一组两层子树特征检测器。在父节点为p且子节点为c1····,cn,的位置上,特征检测器y的输出为
假设单词embeddings(和)是维;卷积层y是维。是权矩阵;是偏压向量。r[]表示和之间的依赖关系。是非线性激活函数,我们将其应用于实验。
在基于树的卷积之后,我们获得一组特征映射,其是与句子中的原始单词相对应的一对一。因此,它们的大小和长度可能不同。应用动态池层来沿树的不同部分聚合信息,作为语义组合的一种方式(Hu et al,2014),我们使用最大池化操作,它在每个维度中取最大值。
然后我们添加一个完全连接的隐藏层,以进一步混合句子中的信息。所获得的句子的矢量表示被表示为h(也称为句子嵌入)。请注意,相同的基于树的卷积适用于前提和假设。
与递归网络相反,基于树的卷积以及池化使结构特征能够以短传播路径到达输出层(Socher等,2011b), 这也是结构敏感的,但可能遇到长传播路径的问题。相比之下,TBCNN在学习这种结构信息方面是有效和高效的(Mou等,2015)。
匹配启发式
在这一部分中,我们介绍了如何组合单个句子的向量表示来捕捉前提和假设之间的关系。由于数据集很大,我们更倾向于匹配操作,因为效率问题。具体来说,我们有三个匹配的启发式:
·两个句子向量的串联
·元件产品,以及
·元素差异。
第一个启发式遵循“暹罗”体系结构的最标准过程,后两个是“相似性”或“紧密性”的某些度量标准。这些匹配层进一步连接(图1b),由
其中和
其中和h2 Rnc分别是前提和假设的句子向量;“◦”表示元素产生;半冒号指的是列向量连接。是匹配层的输出。
isin; isin;
我们想指出,随后的线性变换,元素差异是连接的一个特例。如果我们假设后续转换需要W [h1 h2]t的形式,其中W = [W1 W2]是代表的连接句子的权重,那么元素差异可以看作W0(h1-h2)= [W0 -W0] [h1 h2]t )。(W0 是与元素相对应的权重。)因此,我们的第三个启发式可以在模型容量方面被吸收到第一个。但是,正如实验中所示,显式指定此启发式可显着提高性能,表明尽管具有相同的模型容量,但优化也不同。此外,单词嵌入研究表明,向量的线性偏移可以捕获两个单词之间的关系(Mikolov等,2013b),但它尚未被用于句对关系识别。虽然元素距离用于检测释义中的释义他等人。它主要反映“相似性”信息。我们的研究验证了矢量偏移对于捕获通用句子关系很有用,类似于类比任务这个词。
评估
数据集
为了评估我们的TBCNN对模型,我们使用了新发布的斯坦福自然语言推理(SNLI)数据集(Bowman等,2015)。4 数据集由众包工作构建,每个句子由人类编写。此外,SNLI数据集的幅度大于先前的资源,因此特别适合于比较神经模型。目标标签包括三个类:蕴涵,矛盾和中立(两个不相关的句子)。我们应用了标准的训练/验证/测试分割,分别对比了550k,10k和10k样本。图2显示了额外的数据集统计信息,特别是那些与依赖分析树相关的统计信息。
统计 |
平均值 |
标准值 |
#节点 |
8.59 |
4.14 |
最大深度 |
3.93 |
1.13 |
平均叶片深度 |
3.13 |
0.65 |
平均节点深度 |
2.60 |
0.54 |
表2:斯坦福自然语言推理数据集的统计,其中每个句子被解析为依赖性解析树。
图2:验证准确度与丢失率(完整的TBCNN对模型)。
超参数设置
我们所有的神经层,包括嵌入,都被设置为300维。当尺寸很大时,模型大部分是稳健的,例如几百个(Collobert和Weston,2008年)。 单词嵌入由英语维基百科语料库中的word2vec预先训练,并且在训练期间作为模型参数的一部分进行了微调。我们应用了罚分为;丢失率由粒度为0.1的验证得到(图2)。我们看对于如此大的数据集而言,大的丢失率(0.3)会损害性能(并且还会使训练变慢),而不是其他任务中的小数据集(Pengetal。,2015)。 将初始学习率设定为1,并应用功率衰减。我们使用随机梯度下降,批量大小为50。
性能
表3将我们的模型与以前的结果进行了比较。如图所示,TBCNN句子对模型,仅次于简单的级联,优于现有的基于句子编码的方法(没有预训练),包括使用6组人类工程特征、基于长时间记忆(LSTM)的RNNs和传统CNNs的特征丰富的方法
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。