【Transfer Learning for Context-Aware Question Matching in Information-seeking Conversations in E-commerce】
今天看看对话系统的文章,也是阿里的一篇文章,写的是关于多轮对话的问题。废话不多说直接上模型
Model
给定一个对话的序列$\{u_{1},u_{2}\cdots,u_{n}\}$以及一个问题$r$,我们的任务是去得到一个序列和问题的匹配程度。当序列的长度是1的话,问题就退化成为了一个Paraphrase Identification的问题,或者是称作NLI的问题了。那么怎么处理呢?我们使用的是称为Multi-Turn hCNN的方法,首先,获得每一个序列之中的元素以及Question的Representation,然后将他们连起来导进CNN之中
所谓的Hybrid CNN模型基于两个模型,分别是Modified SE-Based BCNN 以及SI Based Pyramid model.之前的SE的模型将两个Sentence经过下面的处理
$$h_1 = CNN_1(X_1) ;\quad h_2 = CNN_1(X_2)$$
$$H_b = [h_1 , h_2,(h_1 – h_2),(h_1 \cdot h_2)$$
而后者,也就是SI-Based Pyramid Component 所承担的工作,首先获得一个Interaction Matrix $M\in R^{m\times m}$,其中的元素$M_{ij}$表示了第i个单词和第j个单词的点乘的结果,应该也就是类似于一个Attention的东西。然后对于这个矩阵进行卷积的操作,得到向量$H_{p}$,然后再把这两个向量拼接记作$Z_{X_1,X_2} = hCNN(X_1,X_2) = [H_b ,H_p]$
而模型的操作如下
$$\begin{split} h_{u_{i} , r} & =hCNN(u_{i},r) \\ H & = [h_{u_1,r};h_{u_2,r},\cdots,;h_{u_{n},r}]\\ P & = CNN_3(H) \\ O & = Fully-Connected (P)\end{split}$$
之后使用了Transfer Learning去利用那些Rich Domain的信息帮助我们处理Target Domain,这里的Transfer Learning的方法,是利用一个Shared MT-hCNN 以及两个Two Domain-Specific MT-hCNN导出一个Shared Features $O^c$,以及两个Feature$O^s,O^t$,而Domain Specific Output Layer是
$$\hat{y}^{k} = \begin{cases} \sigma(W^{sc} O^c +W^sO^s +b^s) ,\quad k=s \\ \sigma(W^{tc} O^c +W^tO^s +b^t) ,\quad k=t \\ \end{cases}$$
而使用损失函数$L_a$以帮助学到两个领域的公共信息
$$L_a = \frac{1}{n}\sum_{i=1}^{n}\sum_{d\in s,t} p(d_i = d |U,r)\log p(d_{i} = d | U,r)$$
而再使用两个损失函数以帮助学到两个领域的Specific的知识
$$L_s = – \frac{1}{n_s} \sum_{i=1}^{n_s} I^{d_i = s} \log p(d_{i} =s | U^s ,r^s)$$
$$L_t = – \frac{1}{n_t} \sum_{i=1}^{n_t} I^{d_i = t} \log p(d_{i} =t | U^t ,r^t)$$
最后得到一个综合的损失函数
$$\begin{split}L &= \sum_{k\in s,t} -\frac{1}{n_k} \sum_{j=1}^{n_k} \frac{1}{2}(y_{j}^{k} – \hat{y_{j}}^{k} )^2 + \frac{\lambda_{1}}{2} L_a \\ & + \frac{\lambda_2}{2} L_s + \frac{\lambda_3}{2} L_t + \frac{\lambda_4}{2} ||\Theta||_F^2 \end{split}$$
Comments
这个的文章的亮点可能就在这Transfer Learning的部分,通过学习一个General的函数,再学习两个Specific的函数,并且通过正则项的方式控制不同的部分的强弱以控制Transfer Learning的强弱,还是一个蛮有意思的方法。不过其他的部分倒自己没看见什么闪光点,嵌套CNN的方式自己倒也算学一招,以后又有一个对比方法可以使用了。
Comments
Leave a Comment