Reasoning about Entailment with Neural Attention

Neil Zhu,ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。
作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分。此外,他还参与或者举办过各类国际性的人工智能峰会和活动,产生了巨大的影响力,书写了60万字的人工智能精品技术内容,生产翻译了全球第一本深度学习入门书《神经网络与深度学习》,生产的内容被大量的专业垂直公众号和媒体转载与连载。曾经受邀为国内顶尖大学制定人工智能学习规划和教授人工智能前沿课程,均受学生和老师好评。

原文

很久(一个礼拜)没有写技术翻译了,今天来介绍一下来自英国 伦敦大学学院、牛津大学 和 Google DeepMind 的最新研究成果。其中 entailment 表示语言中两个句子之间的真值依赖关系,据 维基百科 ,entailment 是指句 B 为真当句 A 为真的这种关系(A entails B)。

为了让问题表述得更加清晰,我们来看看三个不同概念:A=>B implies, A |= B entails, 和 A |- B provable。这三个术语均是来自数理逻辑。对于数理逻辑,符号是非常核心的表示。先比较一下 A=>B implies 和 A |= B provable;前者是处于对象语言中语句,后者是元语言中的语句。所以前者也可以写作 |- A=>B。那么现在来解释这两的关系。Modus Ponens 规则允许我们从 |- A=>B 得到结论 A |- B,而推理定理允许我们从 A|-B 得到结论 |- A=>B。
现在比较一下 A|-B 和 A |= B。这两个都是元语言中的表达。前者表示存在一个从 A 到 B 的(语法序列)证明,后者则是(语义上)满足 A 的每个模型中每个 B 都为真,也就是存在一个语义序列的证明。这两者是否等价取决于我们选择的模型和推导规则。如果逻辑系统是 可靠 的,我们可以从 A |- B 推出 A |= B(推出来的都是真的);如果逻辑系统是 完备 的,我们可以从 A |= B 推出 A |- B(真的都可以被推出来)

而 Attention 则表示注意力。

Reasoning about Entailment with Neural Attention_第1张图片
Attention

摘要

自动识别自然语言语句对的导致(真值依赖)关系现在相当依赖于人工特征的选择。端对端可微的神经网络架构直到最近才达到了业界最优的性能。本文,我们介绍一种神经网络模型,使用 LSTM 单元读取两个句子。给出了一种按词进行的神经网络注意力机制,能够鼓励词或者短语对的导致关系的推理。并且给出了一种注意力权重的定性分析,展示了模型具备的推理能力。也在大规模的导致关系数据集上进行了比对实验,能够超过先前最优的神经网络模型和使用 substantial margin 得到的特征的分类器。这是第一个针对文本导致关系的能够达到最优准确度的通用端对端可微系统。

1 引言

RTE 确定两个自然语言语句的关系:

  1. 互相矛盾;
  2. 不相干;
  3. premise->hypothesis 关系(-> 表示 entails)

premise vs. hypothesis

  • Premise: a condition on which a logical argument is based.
  • Hypothesis: a plausible conjecture or explanation which can be proved or disproved by experimentation.
  • Supposition: a belief or notion that might be true or accurate, but might not. It can turn out to be false or inaccurate.

RTE 在很多自然语言处理的问题中都非常重要,例如信息抽取、关系抽取、文本摘要或者机器翻译,都显式或者隐式地依赖 RTE 系统。
RTE 当前最优的系统都重度依赖工程化的 NLP 处理流程,很多特征都是手工产生,还包括众多外部的资源和一些辅助的模块(如反义检测)。相反,端对端可微神经网络架构由于缺少大规模高质量的 RTE 数据集,也没能达到最优的性能。不过由于端对端系统对语言并没有具体的假设,所以采用端对端的方式来做 RTE 是很有前景的。尤其是,我们不需要进行 POS tag 或者 依赖解析这样的工作。更好的是,通用端对端解决方案使得我们可以通过扩展导致关系的概念来获取任意序列数据的导致关系,而不仅仅是神经网络。

对我个人来说,这种通用性,是由于神经网络或者深度学习的研究揭示出来的。也是近一年深入研究深度学习的重要原因之一。

近期,Bowman等人发布了 Stanford Natural Language Inference (SNLI) 语料库,并给出了使用 LSTM 神经网络在该数据库的 RTE 任务上取得了 77.6% 的准确率。这也是第一次不需要手工产生特征的通用神经网络模型接近业界最优的基于传统方法获得的分类器的性能。其原因应该是 SNLI 数据集的质量和规模,比起之前用来度量 RTE 任务使用的合成数据集要好很多。Bowman等人的 LSTM 对 premise 和 hypothesis 进行编码,转化成紧密的定长向量,然后使用向量的连接作为多层感知机的输入,最终进行分类。我们这里,给出了一个基于注意力的神经网络可以通过基于 premise 处理 hypothesis 从而推理导致关系。
工作的贡献有三点:

  1. 提出了基于 LSTM 的神经网络模型,一次读入两个句子确定导致关系,而不是将每个句子直接独立地嵌入到语义空间中;
  2. 用 词-词 注意力机制来扩展模型,鼓励词和短语对之间的导致关系的推理;
  3. 给出了关于 RTE 任务的神经注意力的详细的定性分析

我们使用的基准模型的准确率达到了 80.9%,已经超过了目前最优的手工词法特征的分类器 2.7 个百分点。通过 词-词 神经注意力的扩展,最终可以超过这个基准模型 2.6 个百分点,也给出了识别 SNLI 的导致关系的最新的最优记录 83.5%。

2 方法

首先介绍 LSTM,并解释如何应用在 RTE 中。然后引入 神经注意力 和 词-词注意力 作为 LSTM RTE 的扩展。最后展示了这样的注意力模型可以很容易用来基于 hypothesis 关注 premise,以及基于 premise 关注 hypothesis。

2.1 LSTMs

Reasoning about Entailment with Neural Attention_第2张图片
Paste_Image.png

2.2 用于 RTE 的 LSTM

对于 RTE,LSTM 可以独立地编码 premise 和 hypothesis 为紧密的向量,然后将向量作为 MLP 分类器的输入。结果表明,LSTM可以学习丰富的适合确定文本导致关系的语句表示。
相对于学习语句表示,我们还对读取语句来确定导致关系的神经网络模型感兴趣,这样可以对词对和短语对的导致关系进行推理。下图展示了模型的整体结构。左边的 premise 使用 LSTM 读取。第二个拥有不同参数的 LSTM 读取分隔符和 hypothesis,但它的记忆状态是使用前面的 LSTM 最后的细胞状态(本例中是 c5)。这里我们使用了 Word2vec 向量作为词的表示,并没有在训练时进行优化。

Reasoning about Entailment with Neural Attention_第3张图片
Paste_Image.png

训练集中词表中不存在的词被随机初始化为从 (-0.05, 0.05) 中均匀地采样的值,在训练时进行优化。词表中不存在的词在验证集和测试集上的推断时被设置称为固定的随机向量。不改变那些词的表示,可以确保在推断时,他们的表示会离那些未见的拥有 word2vec 表示的相似词很近。使用线性层把词向量映射到 LSTM 的隐藏层大小的维度,形成输入向量 x_i。最后,对分类,我们使用了 softmax 层对输出向量的非线性映射的输出进行分类(导致,不相干和矛盾),使用 cross entropy loss 进行训练。

2.3 注意力

注意力神经网络近期展示了在多个领域(手写合成、机器翻译、数字分类、图像描述、语音识别和文档总结等,乃至几何推理)成功应用。这个模型可以关注过去的输出向量,因此减轻了 LSTM 的细胞状态的瓶颈。更准确滴说,拥有注意力的LSTM RTE 模型不需要掌握细胞状态的 premise 的整个语义信息。相反,对输出向量已经足够,在读取 premise 和在细胞状态中积聚表示的时候通知了第二个 LSTM premise 的输出向量的那些部分需要注意来确定最后的 RTE 类别。

Reasoning about Entailment with Neural Attention_第4张图片
Paste_Image.png
Reasoning about Entailment with Neural Attention_第5张图片
Paste_Image.png

2.4 词-词 注意力

为了确定一个句子导致另外一个,好的方法就是检查独立的词对或者短语对的是导致或是矛盾。为了激励这种行为,我们引入神经网络词词注意力概念,类似于 Bahdanau,Hermann 和 Rush等人的工作。而不同点就是我们并没有使用注意力来产生词,而是获得了一个通过在 premise 和 hypothesis 中的词或者短语的软分配得到的精细化推断的编码来获得语句。我们例子中,这个意味着在第二个 LSTM 按词处理 hypothesis 时注意第一个 LSTM 关于 premise 的输出向量,所以 对hypothesis中的每个词 x_t 在所有 premise 的输出向量上产生注意力权重 \alpha_t

Paste_Image.png

最后语句对表示从最后的关于 premise 的注意力权重表示 r_L 和最后输出向量 h_N 使用下面公式:

Paste_Image.png

2.5 双向注意力

受到 Bidirectional LSTM 启发,我们对 RTE 引入了双向注意力。这个模型就是使用两次前面的模型。然后产生出两个语句对的表示,最后用连接作为分类的输入。

人工智能时代每个人都将面临挑战,想要了解更多相关知识和实践经验,请关注公众号“UniversityAI”。


UAI 人工智能

你可能感兴趣的:(Reasoning about Entailment with Neural Attention)