Multi-Turn Dialogue Response Sel

2019-05-22  本文已影响0人  lirainbow0

A Sequential Matching Framework for Multi-turn Response Selection in Retrieval-based Chatbots

简介:针对多轮对话的response selection,关键在于如何选择上文相关信息进行建模。目前存在的模型大都单独对上文信息进行建模,忽略了response与context之间的交叉特征。作者提出了序列匹配模型(sequential matching framework (SMF)),计算context中每轮query与response的交互特征,然后通过时序模型RNN对交互特征进行建模,最后将时序模型的hidden state作为最终的特征用于计算模型匹配得分。实验结果证明,该模型取得了state of art的效果。

Unified Framework Of Matching Model

匹配模型g(s,r)可以通过如下公式进行定义
g(s,r)=m(h(f(u_1),...,f(u_n)),f^{'}(r))

Deep Learning To Respond (DL2R) Architecture

\left\{\vec w_{v,1},...,{\vec w_{v,n_v}}\right\}代表词向量矩阵,因此句子的表示可以通过如下公式获得
f_{dl2r}(v)={\rm CNN}({\rm BiLSTM}(\vec w_{v,1},...,\vec w_{v,n_v}))
首先通过启发式的方法将context转换为s^{'}=\left\{v_1,...,v_o\right\}

Multi-View匹配模型

f_w(u_i)=[\vec w_{u_i,1},...,\vec w_{u_i,n_i}]
f_u(u_i)={\rm CNN}(\vec w_{u_i,1},...,\vec w_{u_i,n_i})
f_{mv}(u_i)=\begin{Bmatrix}f_w(u_i),f_u(u_i)\end{Bmatrix}
其中,f_w(u_i)f_u(u_i)分别表示词粒度的特征和句子粒度的特征
同理,f_{mv}^{'}(r)可以通过如下公式计算
f_w^{'}(r)={\rm GRU}(\vec w_{r,1},...,\vec w_{u_r,n_r})
f_u^{'}(r)={\rm CNN}(\vec w_{r,1},...,\vec w_{u_r,n_r})
f_{mv}^{'}(r)=[f_{w}^{'}(r)^{\top},f_u^{'}(r)^{\top}]^{\top}
context特征可以通过如下公式计算
h_{mv}(f_{mv}(u_1),...,f_{mv}(u_n))=[h_w(f_w(u_1),...,f_w(u_n))^{\top},h_u(f_u(u_1),...,f_u(u_n))^{\top}]^{\top}
其中,词粒度的特征h_w(.)和句子粒度的特征h_u(.)可以通过如下公式计算
h_w(f_w(u_1),...,f_w(u_n))={\rm GRU}(f_w(u_1),...,f_w(u_n)])
h_u(f_u(u_1),...,f_u(u_n))={\rm GRU}(f_u(u_1),...,f_u(u_n))
模型的完整计算公式如下


其中,M1和M2代表特征的线性变化
SMF

简介:SMF模型与之前模型的主要区别:1.在模型的底层计算context中query与response的交叉信息;2.采用query与response交互作用的特征进行时序建模,这两个区别克服了现有模型的缺点。

Utterance-Response Matching

SCN

计算query和answer之间的词级相似度矩阵\rm M_1
e_{1,i,j}=e_{u,i}^{\top}.e_{r,j}
计算句子间的相似度矩阵\rm M_2。分别将context和response输入时序模型进行编码
\rm H_u=[h_{u,i},...,h_{u,n_u}]
\rm H_r=[h_{r,i},...,h_{r,n_r}]
e_{2,i,j}=h_{u,i}^{\top}\rm Ah_{r,j}
然后,将\rm M1\rm M2输入2D卷积神经网络
z^{0,f}=\mathbf M_f, f \in \left\{1,2\right\}
z^{(l,f)}=[z_{i,j}^{(l,f)}]_{I^{(l,f)}\times J^{(l,f)}}
z_{i,j}^{(l,f)}=\delta(\sum_{f^{'}=0}^{F_{l-1}}\sum_{s=0}^{r_w^{(l,f)}}\sum_{t=0}^{r_h^{(l,f)}}\mathbf W_{s,t}^{(l,f)}.z_{i+s,j+t}^{l-1,f^{'}} + \mathbf b^{l,k})
其中,在卷积神经网络之后,接一层max-pooling
z_{i,j}^{(l,f)}=\max \limits_{p_w^{l,f}>s\geq 0}\max \limits_{p_h^{(l,f)}>t \geq 0} z_{i+s,j+t}
最后,将max-pooling之后的特征进行拼接,并投影到低维特征空间
\mathbf v=\mathbf W_c[z_{0,0}^{l^{'},1},...,z_{I,J}^{l^{'},1},z_{0,0}^{l^{'},2},...,z_{I,J}^{l^{'},2}]+\mathbf b_c

SAN

权重矩阵计算如下
\omega_{i,j}=v^{\top}tanh(e_{u,j}^{\top}\mathbf W_{att1}e_{r,i}+\mathbf b_{att1})
\alpha_{i,j}=\frac{e^{\omega_{i,j}}}{\sum \limits_{j=1}^{n_u}e^{\omega_{i,j}}}
其中,\mathbf W_{att1}\mathbf b_{att1}是训练参数。\omega_{ij}代表context与response之间的相关程度。
ue_{r,i}之间的交叉矩阵计算公式
t_{1,i}=(\sum \limits_{j=1}^{n_u}\alpha_{i,j}e_{u,j})\bigodot e_{r,i}
其中,\bigodot代表Hadamard product。
同理,可以对句子粒度的特征执行相似处理得到
\omega_{i,j}^{'}=v^{'\top}tanh(h_{u,j}^{\top}\mathbf W_{att2}h_{r,i}+\mathbf b_{att2})
a_{i,j}^{'}=\frac{e^{\omega_{i,j}^{'}}}{\sum \limits_{j=1}^{n_u}e^{\omega_{i,j}^{'}}}
t_{2,i}=\sum \limits_{j=1} ^{n_u}(a_{i,j}^{'}h_{u,j})\bigodot h_{r,i}
在获得词粒度和句子粒度的特征之后,将这两类特征进行拼接输入时序模型
t_i=[t_{1,i}^{\top},t_{2,i}^{\top}]
\mathbf T=[t_1,...,t_{n_r}]
\mathbf v=\rm GRU(\mathbf T)

Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network

简介:受Transformer的启发,作者从2个方面扩展了attention mechanism:1)通过叠加self-attention,作者构建了不同粒度的文本片段表示;2)通过context与response利用attention抽取真正匹配的文本片段。实验结果证明,该模型的效果远远优于目前的state-of-the-art模型。

Attentive Module有三个输入:query sentence、key sentence和value sentence。Attentive Module首先计算query sentence与key sentence的相似矩阵,然后将attention结果应用在value sentence中
Att(Q,k)=[{\rm softmax}(\frac{Q[i].K^{\rm T}}{\sqrt{d}})]_{i=0}^{n_Q-1}
V_{att}=Att(Q,K).V \in R^{n_Q \times d}
Q=[e_i]_{i=0}^{n_Q-1},K=[e_i]_{i=0}^{n_k-1},V=[e_i]_{i=0}^{n_v-1}
其中,n_Qn_Kn_V代表句子中词的个数,e_i代表d维的embedding向量,n_Kn_V相等。
融合了词之间的语义信息之后,将V_{att}[i]Q[i]相加,从而得到一个新的词表示。为了避免梯度消失和梯度爆炸的问题,模型接了一层layer normalization;然后,输入前馈神经网络FFN,激活函数为ReLU
{\rm FFN}(x)=max(0, xW_1+b_1)W_2+b_2
参考residual network,将{\rm FFN}(x)x相加({\rm FFN}(x)x维度相同)作为最终的特征。

A Context-aware Attention Network for Interactive Question Answering

简介:该论文对多轮问答的建模与其他工作稍有不同,网络结构分为三部分:Question Module、Input Module和Answer Module。Question Module负责对当前问题进行特征编码;Input Module负责对上文信息进行特征编码;Answer Module负责对答案进行编码。同时为了获得上文信息与当前问题的关联性,通过Question Module计算得到特征u与Input Module计算相关矩阵,保留相关信息,忽略不相关信息。同时为了更好的回答用户的问题,对于不确定的问题,模型并不直接给出答案,而是通过反问的方式,让用户明确自己的问题,然后加入该用户反馈之后再进行回答。实验结果证明,该模型取得了比目前state-of-art更好的效果。

Enhanced Sequential Representation Augmented with Utterance-level Attention for Response Selection

简介:基于检索的聊天机器人,针对多轮问答场景,充分利用句子粒度的表征和词粒度的表征是非常重要的。句子的特征表示包括:通过句子粒度attention获得的Sentence Embedding、位置信息表示和用户信息表示。接着通过sentence-level attention判断最相关的utterances。实验结果证明,该模型的效果优于baseline model。

Utterance-level Attention Layer

Sequential Attention-based Network for Noetic End-to-End Response Selection

简介:目前处理上下文的模型大部分都是hierarchy-based methods,因此不可避免的问题就是需要选择加入上文的轮数。如果轮数设置较大,上文相对较短的会话不可避免就会大量补零;同时如果设置太小,可能会因为上文信息不够,而导致语义不清。
针对上述问题,本文作者直接将上文信息拼接到一个段文本中,因此将上下文匹配的问题转化为单句匹配问题了。由于把所有的上文信息都拼接到了一段文本中,从而该段文本不可避免会引入大量的噪声,因此如果提取文本中的关键信息,然后与response进行匹配是本文的关键所在。

Sentence-encoding based methods

在处理大量候选response的任务时,直接使用ESIM模型耗时过高,因此作者采用了相对简单的孪生网络对response进行粗筛,之后再对粗筛的结果使用ESIM进行rerank。


采用ESIM模型相同的输入编码方式,然后对时序模型的输出进行加权求和

其中,,是权重矩阵,是一个可调的多头参数。
句子向量可以通过权重矩阵对时序模型输出加权求和计算得到

最后,通过concat、difference和 the element-wise products对特征进行增广

Multi-level Context Response Matching in Retrieval-Based Dialog Systems

简介:本文对比的基线是Dual Encoder和SMN模型,从word-level和sentence-level两个角度进行建模。该工作的出发点更多的是simplicity 和 efficiency,因此在结构上并未突出特别的创新点。

Deep Hybrid Networks Based Response Selection Fro Multi-Turn Dialogue Systems

简介:作者提出了deep hybrid network (DHN)抽取上下文信息。首先,通过每个utterance与response计算相似矩阵;然后,将多个相似矩阵进行concatenation得到一个大mathing matrix。最后,通过若干层的深度卷积block抽取高维matching feature。本文的创新点更多的是将CliqueNet模型应用到multi-turn dialogue中,其他无太大创新点。

Knowledge-incorporating ESIM models for Response Selection in Retrieval-based Dialog Systems

简介:论文参考ESIM模型结构,将多轮utterance拼接到一段文本中,然后做单轮匹配。本文另一个重要的点在于融合进外部信息来丰富匹配的特征,比如:Ubuntu手册页的命令描述。通过结合更多的外部信息来获得更有的结果。

End-to-end Gated Self-attentive Memory Network for Dialog Response Selection

简介:作者提出了Gated Self-attentive Memory Network用于在模型训练中融合历史会话和外部领域知识,通过self-attention加强utterance与对话历史(或外部领域知识)的联系。论文的出发点在于通过end-to-end的方式,更好的融合外部的知识提升模型的效果;同时借鉴transformer的网络结构,利用self-attention加强utterance的表征能力。

特征编码层为BiRNN,并且对时序模型正向和反向的last hidden进行concatenate。

输入向量为\mathbf X=[x_1,...,x_J],memory向量为\mathbf M=[m_1,...,m_K],其中\mathbf X\in R^{J\times D}, \mathbf M \in R^{K\times D}。输出向量为
\mathbf O={\rm Softmax}(\mathbf X\phi_1(\mathbf M)^{\rm T})\phi_2(\mathbf M)
其中,\phi_1\phi_2是不同的{\rm Bi-RNN}

参考前人的工作,作者采用gating mechanism对输入和memory输出进行融合
O^{'}=G.X+(1-G).O
其中,G是激活函数为sigmoid的全连接神经网络层。

论文设计了多个hop,并且每个hop参数独立。对多个utterance进行求和得到最后的向量c

Interactive Matching Network for Multi-Turn Response Selection in Retrieval-Based Chatbots

简介:作者提出了一种新的神经网络框架:IMN(interactive matching network),用于多轮对话的答案选择。模型同时使用了字符向量和词向量用于解决问答系统常见的OOV(out-of-vocabulary)问题,参考ELMO模型作者设计了multi-layer RNNs,然后将context中所有query拼接为单句,并计算与response之间的交叉信息,以此丰富模型的特征,最后通过一个时序模型聚合文本特征。实验结果证明,该模型获得了state-of-the-art的效果。

总结

Future work

上一篇 下一篇

猜你喜欢

热点阅读