《A Decomposable Attention Model for Natural Language Inference》论文总结

问题介绍:

Natural language inference,自然语言推断。其实就是文本蕴含任务(text entailment),任务的形式是:给定一个前提文本(premise),根据这个premise去推断假说文本(hypothesis)与premise的关系,一般分为蕴含关系(entailment)和矛盾关系(contradiction),蕴含关系(entailment)表示从premise中可以推断出hypothesis;矛盾关系(contradiction)即hypothesis与premise矛盾。


这篇论文的实验是用的SNLI数据集。

主要方法:

每个训练数据由三个部分组成,模型的输入为,分别代表前提和假说,表示a和b之间的关系标签,C为输出类别的个数,因此y是个C维的0,1向量。训练目标就是根据输入的a和b正确预测出他们的关系标签y。

本文的模型主要分成三个部分:Attend,Compare,Aggregate。如下图所示:

1.Attend

首先对a和b中的每个词计算它们之间的attention weights,计算公式如下:

扫描二维码关注公众号,回复: 5605135 查看本文章

这里F是一个激活函数为RELU的前馈神经网络。

然后用这个attention weights分别对a和b进行归一化以及加权,

2.Compare

该模块的功能主要是对加权后的一个句子与另一个原始句子进行比较,

这里[.,.]表示向量拼接,G()依旧是一个前馈神经网络。

3.Aggregate

现在我们得到了两个比较向量的集合,先分别对两个向量集合进行求和,

然后将求和的结果输入前馈神经网络做最后的分类。

训练用多分类的交叉熵作为损失函数,

4.Intra-Sentence Attention(optional)

除了上述的基础模型之外,可以在每个句子中使用句子内的attention方式来加强输入词语的语义信息,

这里的依然是一个前馈神经网络,利用得到的权值f重新对词进行加权,即得到self-aligned(自对应)的短语,

这里的d_{i-j}表示当前词i与句子中的其他词j之间的距离偏差,距离大于10的词共享一个距离偏差(distance-sensitive bias),这样每一个时刻的输入就变为原始输入跟self-attention后的值的拼接所得到的向量,

\bar{a}_{i}:=[a_{i},a_{i}^{'}],\bar{b}_{i}:=[b_{i},b_{i}^{'}]1

5.亮点

这篇论文的核心就是alignment,即词与词的对应关系,文中的alignment用在了两个地方,一个attend部分,是用来计算两个句子之间的attention关系,另一个是compare部分,对两个句子之间的词进行比较,每次的处理都是以词为单位的,最后用前馈神经网络去做预测。很明显可以看到,这篇文章提到的模型并没有使用到词在句子中的时序关系,更多的是强调两句话的词之间的对应关系(alignment),正如文中Introduction提到的一个例子,

第一句是前提,后面是假说。第二句话中的Bob与第一句话中的Bob对应上,awake与cannot sleep对应上,从而来判断说第一句跟第二句的entailment关系。

再看第三句话,这里的sunny与thunder,lightning对应上,从而判断它们是contradiction的关系。本文利用这种直觉从而建立了基于alignment思想的模型。在SNLI任务上也取得了很好的效果,除此之外,本文还有一个亮点就是大大减少了模型的参数,有兴趣的可以查看论文的第四章。

猜你喜欢

转载自blog.csdn.net/weixin_38526306/article/details/88550624