检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

此篇文献是百度发表于ACL2018

对话系统中,由于在context和response中有两种匹配对:(1)表面文本相关(2)潜在依赖,即在语义和功能上相关。之前论文多关注表面相关,对潜在依赖关注较少,所以本文努力解决这个问题。且对话系统中多采用RNN结构,但用RNN捕捉多粒度的语义表示花费代价较大,所以文本全部采用基于注意力机制的结构。

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

模型结构如上图所示。看起来很复杂,拆开来一点点看。模型框架为表示-匹配-聚集。

首先就是很基本的word embedding层,将输入的utterance(u1,u2,...un)和response(r)转变为向量。

 

接下来是表示层:表示层的作用是构建不同粒度的语义表示。表示层有L层,每层都是self-attention,第l层的输入为第l-1层的输出,进而可以将输入的语义向量组合成更复杂的表示。

具体实现是基于Attentive Model,如下图:

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

原理和Transformer接近,输入为query句子、key句子、value句子,生成attention的原理是Scaled Dot-Product Attention。

Scaled Dot-Product Attention的结构如下图所示:

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

输入经过线性变换,得到Q、K、V,这三者的区别只是线性变换的矩阵的权值不相同。接着Q和K做点乘,得到输入词与词之间的依赖关系,再经过尺度变换、掩码以及softmax,得到权重矩阵,此矩阵再和value相乘。尺度变换是防止输入值过大导致训练不稳定,掩码是保证时间的先后关系。(具体细节不清楚,还需要继续看文献:Attention is all you need)。

再回到Attentive Model中

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

之后再将Vatt[i]和Q[i]加起来,得到的表示能包含联合意义。再接一个Layer Nomalization层(具体原理再查),可以阻止梯度消失和梯度爆炸。在normalization结构上应用一个带有RELU**函数的前馈神经网络FFN,可以进一步进行融合嵌入。

FFN公式为:

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

再将FFN(x)残差地加入到x上,并将结果进行标准化。

论文认为Attentive Model可以捕获query句子和key句子之间的依赖关系,并进一步使用依赖关系信息将key语句中的元素和value句合成为组合表示。 我们利用了Attentive的这个属性用于构造多粒度语义表示以及与依赖性信息匹配的模块。

表示层的下一层是匹配层。

匹配层使用了self-attention-match和cross-attention-match。

self-attention-match原理如下图:

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

cross-attention-match原理如下图:

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

 

匹配层的下一层是聚集层

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

Q再经过一个带有最大池化层的两层3D卷积,得到fmatch(c,r)

再经过一个单层感知机

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记

检索式多轮对话系统论文:Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network 阅读笔记