《用于检索式问答系统的多播注意力网络》阅读笔记


来源:KDD 2018
论文链接:arxiv.org/pdf/1806.0077
方向:通用神经排序模型;document-query对之间的文本相关性建模
转载请注明出处:学习ML的皮皮虾

MOTIVATION

query-document对之间的文本相关性建模是信息检索(IR)研究的核心。关键思想是学习query-document对之间的评分函数,并输出一个排序的候选列表。这种IR系统应用广泛,例如,回答基于事实的问题,在基于聊天的系统中选择最佳相应,基于检索的问答系统等等。本文提出了一种用于此类任务的通用神经排序模型

在神经网络模型上加注意力是比较流行的一种方式。注意力的关键思想是仅提取对预测有用的最相关信息。在文本数据的上下文中,注意力学习根据文档中的单词和子短语的重要性来对它们进行加权。Attention可以看做为一个特征提取器。它的行为可以被认为是一种动态的pooing形式,因为它学习选择和组合不同的词来形成最终的文档表示。本文将attention重新设想为一种特征增强方法。Attention的目的不是组合学习或汇集,而是为后续层提供提示(特征)。这是一种在神经排序模型中的新方法。

使用多种注意力机制(例如,协同注意力co-attention和自注意力intra-attention等)的理由是充分的。每种attention都为query-document对提供了的不同视图,可以学习用于预测的高质量表示。因此,这可以显著提高性能。例如,co-attention可以用于提取max-mean pooling或alignment-based pooling。每种co-attention都会产生不同的文档表示。在max-pooling中,基于单词对另一文本序列的最大贡献来提取特征;mean-pooling计算其对整个句子的贡献;alignment-based pooling是另一种协同注意力机制,它将语义相似的子短语对齐在一起。因此,不同的pooling操作提供了不同的句子对视图。

通常,一个句子应用一次attention,然后学习最终表示并传递给预测层。许多现有模型的明显缺点是它们通常仅限于一种attention变体,在调用一次或多次注意力机制的情况下,如果用连接来融合表示,在每次调用时,表示的加倍会使后续层中成本增加。

故针对上述问题本文旨在解决两个方面:

(1)消除调用任意k次注意力机制所需架构工程的需要,且不会产生任何后果。

(2)通过多次注意力调用建模多个视图以提高性能,与multi-headed attention相似。为此,我们引入了多播注意力(Multi-Cast Attention),这是一种新的深度学习架构,用于问答和对话建模领域的大量任务。

与大多数其他用作池化操作的工作相反,在我们的方法中,注意力被投射。通过多次投射co-attention,每次返回一个压缩的标量特征,重新附加到原始的单词表示上。压缩函数可以实现多个注意力调用的可扩展投射,旨在不仅为后续层提供全局知识而且还有跨句子知识的提示(特征)。当将这些增强嵌入传递到组合编码器(例如LSTM编码器)时,LSTM可以从该提示中获益并相应地改变其表示学习过程。

CONTRIBUTIONS

  • 首次提出了一种新的思路,不是将attention作为pooling操作,而是作为一种特征增强方式使用,即casted attention。提出了一种用于通用序列对建模的整体架构,称为多播注意力网络Multi-Cast Attention Networks(MCAN)。这是一种新的注意力机制和通用模型架构,用于对话建模和问答系统领域中的排序任务。我们的方法执行一系列soft-attention操作,每次返回一个压缩的标量特征,重新附加到原始的单词表示上。关键思想是为后续编码器层提供实值提示(特征),旨在改进表示学习过程。这种设计有几个优点,例如,它允许投射任意数量的注意力机制,允许多种注意力类型(例如,co-attention, intra-attention)和注意力变体(例如,alignment-pooling, max-pooling, mean-pooling)同时执行。这不仅消除了调整co-attention层的昂贵需求,而且还为从业者提供了更大的可解释性。
  • 根据四个基准任务评估提出的模型,即对话回复预测(Ubuntu对话语料库),Factoid问答(TrecQA),社区问答(来自SemEval 2016的QatarLiving论坛)和推特回复预测(客户支持)。在Ubuntu对话语料库中,MCAN的表现优于现有的最先进模型9%。MCAN在经过充分研究的TrecQA数据集上也取得了0.838 (MAP) 和0.904 (MRR) 的最佳表现评分。
  • 对提出的MCAN模型的内部工作进行全面而深入的分析。实验表明,多播注意力特征是可解释的。

MODEL

模型的输入是两个文本序列,将其表示为查询q和文档d。query-document可以适用于不同的问题域,例如问答系统或消息响应预测。下图显示了QA检索的整体模型体系结构。

MCAN是一个广泛的multi-attention架构,它利用压缩函数和注意力作为特征

1、输入编码器

document和query输入作为one-hot编码向量。词向量层通过 W_{e} \in R^{ d\times\left| V \right|} 参数化,将每个单词转换为密集的单词表示 w\in R^{d} 。 V是词汇表中所有单词的集合。

  • Highway Encoder
由论文《Highway Networks》提出,可以对任意深度的网络进行优化。这是通过一种控制穿过神经网络的信息流的闸门机制所实现的。通过这种机制,神经网络可以提供通路,让信息穿过后却没有损失,将这种通路称为information highways。即highway networks主要解决的问题是网络深度加深、梯度信息回流受阻造成网络训练困难的问题。

在本文模型中,每个词向量都通过highway编码器层。highway网络是门控非线性变换层,它控制后续层的信息流。许多工作都采用一种训练过的投影层来代替原始词向量。这不仅节省了计算成本,还减少了可训练参数的数量。本文将此投影层扩展为使用highway编码器,可以解释为数据驱动的词滤波器,它们可以参数化地了解哪些词对于任务具有重要性和重要性。例如,删除通常对预测没有多大贡献的停用词和单词。与自然门控的循环模型类似,highway编码器层控制每个单词流入下一层多少信息。

设H(.) 和T(.) 是单层的,分别用ReLU和Sigmoid激活函数进行变换。单个highway网络层定义如下, W_{H},W_{T}\in R^{r\times d} 。前一项表示输入信息被转换的部分,后一项原来信息中保留的部分。

2、 co-attention

co-attention 是一种成对注意力机制,它能够共同关注文本序列对。本文引入了四种注意力变体,即max-pooling,mean-pooling,alignment-pooling和intra-attention(或self attention)。co-attention的第一步是学习两个序列中每个单词之间的一个近似(或相似)矩阵。采用以下公式来学习近似矩阵:

其中F(.) 是诸如多层感知器(MLP)之类的函数。co-attention形式也可以为 s_{ij} = q_{i}^{T}Md_{j}s_{ij} = F([q_{i};d_{j}])

(1)extractive pooling

抽取式co-attention最常见变体是max-pooling co-attention,基于每个词在其他文本序列上的最大影响来关注每个词。

其中q' 和d' 分别是q和d的co-attentive表示。Soft(.)是softmax操作符。或者也可以使用矩阵s的平均row-wise和column-wise池:

每种池操作都有不同的影响,可以直观地理解如下:max-pooling根据每个单词在其他文本中所有单词的最大重要性选择每个单词。mean-pooling是基于每个词在其他文本上的总体影响来关注每个词。 这通常是与数据集相关的,被视为超参数,不断调整以查看哪个在所保持的集合上表现最佳。

(2)alignment-pooling

soft alignment-based pooling也被用于学习co-attentive表示。标准co-attention只是学会对重要单词进行加权和评分,而soft alignment重新调整序列对,用下述公式学习co-attention的表示:


其中 d_{i}^{'} 是q中与 d_{i} 软对齐的子短语。直观地说, d_{i}^{'}\left\{ q_{j} \right\}_{j=1}^{l_{q}} 上的加权和,在q上选择最相关的部分代表 d_{i} .

(3)intra-attention

最近谷歌提出了intra-attetnion(即self-attention),以学习长期依赖性的表示。这通常被表述为关于其自身的co-attention(或alignment)操作。在这种情况下,本文将intra-attention同时分别应用于文档和查询。intra-attention函数定义为:(为了符号简单,这里将文档和查询称为x而不是q或d)

其中 x_{i}^{'}x_{j} 的内部注意力表示。

3、multi-cast attention

首先,每种attention机制都为模型提供了不同的视角。 其次,注意力通过重新加权或重新调整来改变原始表示。 大多数神经架构仅使用一种类型的co-attention或alignment函数 ,然而,这需要调整正确的模型架构,并且可能错过使用共同注意机制的多种变体带来的好处。 因此,本文模型将每个注意力操作视为word-level特征

(1)casted attention

设x为q或d,x̄是应用attention后x的表示。 co-attention操作的注意力特征是:

其中⊙是Hadamard乘积,[. ; .]是连接运算符。 Fc(.)是用于将特征减少到标量的压缩函数。 通过比较在co-attention之前和之后的表示来模拟co-attention的影响。使用多个比较运算符(减法,连接和乘法运算符)是为了捕捉多个视角。

(2)压缩函数

本节定义了Fc(.) 使用的压缩函数,不希望使用高维向量膨胀后续层,这会在后续层中会产生参数成本。因此本文研究了三种压缩函数的用法,它们能够将n维向量减少到标量。

  • Sum(SM)函数是一个非参数化函数,它对整个向量求和,并输出标量。
  • Neural Network(NN)是一个全连接层,按如下方式转换每个n维特征向量:
  • Factorization Machines(FM):因子分解机是一种通用机器学习技术,接受实值特征向量x∈Rn并返回标量输出。

FM是表达模型,使用分解参数捕获特征之间的成对相互作用。 k是FM模型的因子数。

注意到,模型不会在多个注意力投射中共享参数,因为每个注意力都旨在为不同的视角建模。实验分别在MCAN(SM),MCAN(NN)和MCAN(FM)下展示了上述变体的结果。

(3)多播

我们的架构背后的关键思想是促进k个注意力投射,每个投射都用一个实值注意力提示来增强原始词向量。 对于每个query-document对,应用Co-Attention with mean-pooling,Co-Attention with max-Pooling和Co-Attention with alignment-pooling。 此外,将Intra-Attention分别单独应用于query和document。 每个注意力投射产生三个标量(每个单词),它们与词向量连接在一起。最终的投射特征向量是z∈R。 因此,对于每个单词 w_{i} ,新的表示成为 \bar{w_{i}}=[w_{i};z_{i}]

4、长短期记忆编码器

接下来,将带有casted attetnion的单词表示 \bar{w_{1}},\bar{w_{2}},...,\bar{w_{l}}传递到序列编码器层。采用标准的长短期记忆(LSTM)编码器:

其中l代表序列的最大长度。LSTM在document和query之间共享权重。关键思想是LSTM编码器通过使用非线性变换作为门控函数来学习表示序列依赖性的表示。因此,在该层之前引人注意力作为特征的关键思想是它为LSTM编码器提供了带有信息的提示,例如长期和全局句子知识和句子对(文档和查询)之间的知识。

  • pooling操作

最后,在每个句子的隐藏状态 h_{1},...h_{l} 上应用池化函数。将序列转换为固定维度的表示。

采用MeanMax pooling,它将mean pooling和max pooling的结果连接在一起。我们发现这样比单独使用max pooling或mean pooling更好。

5、预测层和优化

最后,给定文档-查询对的固定维度表示,将它们的连接传递到一个两层h维highway网络中。模型的最终预测层计算如下:

H1 是具有ReLU激活的highway网络层。然后将输出传递到最终线性softmax层:

用带有L2正则化的标准多分类交叉熵loss函数训练:


Evaluation

1、Dialogue Prediction
在这个任务中,评估模型是否能够成功预测对话中的下一个回复。

(1)数据集

  • Ubuntu对话语料库
  • 训练集由一百万个message-response对组成,正负样本1:1

(2)评估指标

召回@ k(Rn@K),表示在n个response候选的前k个结果中是否存在ground truth。使用了四个评估指标分别是R2@ 1,R10@1,R10@2和R10@5。

(3)实验结果

所有指标的改善比KEHNN好5%-9%。 比AP-LSTM和MV-LSTM的R10 @ 1性能提升了15%。总体而言,MCAN(FM)和MCAN(NN)在性能方面具有可比性。 MCAN(SM)略低于MCAN(FM)和MCAN(NN)。

2、Factoid Question Answering

Factoid Question Answering是回答基于事实的问题的任务。在此任务中,目标是为给定问题提供的答案的排序列表。

(1)数据集

TREC(文本检索会议)的QA数据集,TrecQA是QA最广泛评估和长期作为标准的数据集之一。

(2)评估指标

  • MAP(mean average precision)
  • MRR(mean reciprocal rank)
MAP : 单个主题的平均准确率是每篇相关文档检索出后的准确率的平均值。主集合的平均准确率(MAP)是每个主题的平均准确率的平均值。MAP 是反映系统在全部相关文档上性能的单值指标。系统检索出来的相关文档越靠前(rank 越高),MAP就可能越高。
MRR : 把标准答案在被评价系统给出结果中的排序取倒数作为它的准确度,再对所有的问题取平均。通过正确检索结果值在检索结果中的排名来评估检索系统的性能。

(3)实验结果

所有MCAN变体都优于所有现有的最先进模型。其中MCAN(FM)是目前在这个广泛研究的数据集上表现最好的模型。

3、社区问答(CQA)

此任务涉及在社区论坛中对答案进行排名。与factoid QA不同,答案通常是主观的而不是事实的。而且,答案长度也要长得多。

(1)数据集

使用QatarLiving数据集,这是一个来自SemEval-2016 Task 3 Subtask的经过充分研究的基准数据集A(cQA),已被广泛用作cQA最新的神经网络模型的基准。包括36000个训练对,2400个开发对和3600个测试对。在这个数据集中,每个问题有十个答案,标记为“正向”和“负向”。

(2)评估指标

  • Precision@1(P@1)
  • Mean Average Precision (MAP)

(3)实验结果

MCAN模型在此数据集上实现了最先进的性能。就P@1指标而言,MCAN(FM)相对于AI-CNN的改善在MAP方面为4.1%和1.1%。相对于CTRN模型,MCAN(FM)也取得了有竞争力的结果。

4、Tweet Reply Prediction

(1)数据集:来自Kaggle的顾客支持数据集

(2)评估指标

  • MRR (Mean reciprocal rank)
  • Precision@1 (accuracy)

(3)实验结果

5、消融测试


Conclusion

论文在问答和对话建模领域为各种检索和匹配任务提出了一种新的最先进的神经模型。 提出的模型基于神经注意力的重新设想,第一次提出将注意力不仅仅作为pooling操作,而是作为一种特征增强的形式。 本文提出了三种将注意矩力阵压缩为标量特征的方法。通过可视化和定性分析,我们证明了这些投射特征可以被解释和理解。 模型在四个基准任务和数据集上实现了极具竞争力的结果。
成果如下:(1)模型在经过充分研究的TrecQA数据集上获得最高的结果;(2)模型相对于最佳现有模型在Ubuntu对话语料库上实现了9%的改进;(3)模型在社区问答和推文答复预测方面取得了很好的成果。

编辑于 2018-09-03

文章被以下专栏收录