Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling

Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling

click here:文章下载

方法综述:

本文中使用了三个模型,分别是self-matching networkBi-LSTMLow-rank Bilinear Pooling method(LBPR)

self-matching network: 通过单词对间的信息,获取句子的incongruity information
Bi-LSTM: 通过句子的序列信息,获取句子的compositional information
Low-rank Bilinear Pooling method: 融合incongruity informationcompositional information

Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling

各模型算法:

self-matching network

target: 求输入句子的 attend feature vector : faRk    fa=Saf_a \in R^k \implies f_a=S·a
S是输入句子的word-embedding表示,SRk×nS \in R^{k \times n}
于是问题转变成为,求解self-matched attention vector : aRna \in R^n
其中,k为单词表示维度,n为句子单词数。

求解aRna \in R^n

考虑到,单词对表示向量间进行内积运算,只抓住特征向量间的相关性,却忽视了情感信息,所以定义了一种新的计算方式。对于单词对(ei,ej)(e_i, e_j)eiRke_i \in R^k:
joint feature vector: wi,jR    wi,j=tanh(eiMi,jejT)w_{i,j} \in R \implies w_{i,j}=tanh(e_i · M_{i,j} · e_j^T)
其中,Mi,jRk×kM_{i,j} \in R^{k \times k},是要学习的参数。
建立self-matching information matrix : WRn×nW \in R^{n \times n}:
Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling
Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling
WW每行取最大值,组成向量 mRnm \in R^n
    a=Softmax(m)    aRn\implies a=Softmax(m) \implies a \in R^n

Bi-LSTM

target: 利用Bi-LSTM的隐含层输出,作为输入句子的特征向量feature vector : flRd    fl=h1f_l \in R^d \implies f_l=h_1d是超参数hiRdh_i \in R^d
Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling
注:此处有个疑问,为什么只使用第一个时间步的输出呢?最后一个时间步的输出又如何呢?

Low-rank Bilinear Pooling

target: 融合上述两个模型得到的向量faRk,flRcf_a \in R^k, f_l \in R^c,得到最终的融合向量fRcf \in R^c,并进行二分类,得到输出向量piR2p_i \in R^2c是超参数
f=UTfaVTfl+bf=U^T \cdot f_a \circ V^T \cdot f_l + b
pi=Softmax(Wff+b)p_i=Softmax(W_f \cdot f + b)
其中,URk×c,VRd×c,gRc,WfR2×c,bR2U \in R^{k \times c}, V \in R^{d \times c}, g \in R^{c}, W_f \in R_{2 \times c}, b \in R^2,这些都是需要学习的参数。
注:\circ 表示 Hadamard Product,简单来说就是矩阵对应位置元素相乘。

训练目标:

Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling
Sarcasm Detection with Self-matching Networks and Low-rank Bilinear Pooling
待学习参数:θ={Mi,j,U,V,g,Wf,b}\theta = \{ M_{i,j},U,V,g,W_f,b \}
超参数:d,c,λd, c, \lambda