Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling
click here:文章下载
方法综述:
本文中使用了三个模型,分别是self-matching network、Bi-LSTM、Low-rank Bilinear Pooling method(LBPR):
self-matching network: 通过单词对间的信息,获取句子的incongruity information
Bi-LSTM: 通过句子的序列信息,获取句子的compositional information
Low-rank Bilinear Pooling method: 融合incongruity information和compositional information

各模型算法:
self-matching network
target: 求输入句子的 attend feature vector : fa∈Rk⟹fa=S⋅a
S是输入句子的word-embedding表示,S∈Rk×n
于是问题转变成为,求解self-matched attention vector : a∈Rn
其中,k为单词表示维度,n为句子单词数。
求解a∈Rn:
考虑到,单词对表示向量间进行内积运算,只抓住特征向量间的相关性,却忽视了情感信息,所以定义了一种新的计算方式。对于单词对(ei,ej),ei∈Rk:
joint feature vector: wi,j∈R⟹wi,j=tanh(ei⋅Mi,j⋅ejT)
其中,Mi,j∈Rk×k,是要学习的参数。
建立self-matching information matrix : W∈Rn×n:


对W每行取最大值,组成向量 m∈Rn
⟹a=Softmax(m)⟹a∈Rn
Bi-LSTM
target: 利用Bi-LSTM的隐含层输出,作为输入句子的特征向量feature vector : fl∈Rd⟹fl=h1,d是超参数,hi∈Rd。

注:此处有个疑问,为什么只使用第一个时间步的输出呢?最后一个时间步的输出又如何呢?
Low-rank Bilinear Pooling
target: 融合上述两个模型得到的向量fa∈Rk,fl∈Rc,得到最终的融合向量f∈Rc,并进行二分类,得到输出向量pi∈R2。c是超参数。
f=UT⋅fa∘VT⋅fl+b
pi=Softmax(Wf⋅f+b)
其中,U∈Rk×c,V∈Rd×c,g∈Rc,Wf∈R2×c,b∈R2,这些都是需要学习的参数。
注:∘ 表示 Hadamard Product,简单来说就是矩阵对应位置元素相乘。
训练目标:


待学习参数:θ={Mi,j,U,V,g,Wf,b}
超参数:d,c,λ