Sentiment Classification towards Question-Answering with Hierarchical Matching Network 论文阅读笔记
Sentiment Classification towards Question-Answering with Hierarchical Matching Network 論文閱讀筆記
? ? ? ?這篇論文介紹的是關于電商平臺問答的情感分析,類似淘寶的“問大家”這種形式的問題對,根據問題答案對來分析其中的情感。
論文地址:https://aclweb.org/anthology/D18-1401
數據鏈接地址:https://github.com/clshenNLP/QASC/
代碼地址:暫無代碼。
(1)該論文的貢獻主要有兩個:
(2)論文概括
? ? ? ?該論文首先介紹了這個任務描述,然后分析這種任務為什么不適合直接用傳統的情感分析技術來進行研究,并提出了一種專門針對這種問答的情感分析研究方法,叫作分層匹配神經網絡,該方法分為三步:
(3)分層匹配神經網絡結構詳細說明
分層匹配神經網絡的網絡結構如下圖所示:
下面是其中QA雙向匹配機制的詳細結構圖:
? ? ? ?注意上圖是針對問題的第i個句子與回答的第j個句子所組成的問答短句pair來進行分析的,以這樣一個短句pair作為輸入,最后輸出的是這個問答短句pair的一個相關性向量。所以下面的文字中提到的問題句子指的就是問題的第i個句子,回答句子就是回答中的第j個句子,都只是一個短句而已。
? ? ? ?問題句子和答案句子匹配向量的計算思路很簡單,實際上就是把問題句子和答案句子的最終表示拼接在一起,就表示它倆的匹配向量。計算句子表示向量的方法也很簡單,就是把句子作為BiLSTM的輸入,然后對各個時刻的輸出加權求和,權重是通過Attention機制計算出來的,關鍵點也就在這個Attention的計算上,使用的是問題句子表示和答案句子表示彼此互相做Attention的方法,也就是所謂的雙向匹配機制。
? ? ? ? D [ i , j ] D_{[i,j]} D[i,j]?中的第[a,b]個元素代表問題句子的第a個單詞與回答句子中的第b個單詞的語義相關性評分。作者采用了兩個Attention,第一種是Answer-to-Question Attention,也就是使用答案句子對問題句子進行Attention。把 D [ i , j ] D_{[i,j]} D[i,j]?的每一行經過神經網絡處理成權重(上角標r代表row), D [ i , j ] D_{[i,j]} D[i,j]?的第k行代表問題句子的第k個單詞與答案句子的每個單詞的相關性,是詞級別的Attention,實際上相當于用 H A j H_{A_j} HAj??與 H Q i H_{Q_i} HQi??的每個時刻的輸出進行Attention,然后計算每個時刻的權重,得到 H Q i H_{Q_i} HQi??的加權后的表示 V [ i , j ] r V_{[i,j]}^r V[i,j]r?。
? ? ? ?其中 H Q i H_{Q_i} HQi??是問題Q的第i個句子經過BiLSTM后的表示, N i N_i Ni?是時刻數,即問題句子的單詞數; H A j H_{A_j} HAj??是回答第j個句子經過BiLSTM后的表示, M j M_j Mj?是時刻數,即回答第j個句子的單詞數。其中 h j , m ∈ R d ′ h_{j,m}\in R^{d'} hj,m?∈Rd′,即每個單詞(時刻)的表示都是 d ′ d' d′維的。具體計算公式如下:
H Q i = [ h i , 1 , h i , 2 , … , h i , n , … , h i , N i ] H A j = [ h j , 1 , h j , 2 , … , h j , m , … , h j , M j ] D [ i , j ] = ( H Q i ) ? ? ( H A j ) U [ i , j ] r = tanh ? ( W r ? D [ i , j ] ? ) α [ i , j ] r = softmax ? ( w r ? ? U [ i , j ] r ) V [ i , j ] r = ( H Q i ) ? α [ i , j ] r \begin{aligned} H_{Q_{i}} &=\left[h_{i, 1}, h_{i, 2}, \ldots, h_{i, n}, \ldots, h_{i, N_{i}}\right] \\ H_{A_{j}} &=\left[h_{j, 1}, h_{j, 2}, \ldots, h_{j, m}, \ldots, h_{j, M_{j}}\right] \end{aligned} \\D_{[i, j]}=\left(H_{Q_{i}}\right)^{\top} \cdot\left(H_{A_{j}}\right) \\\begin{array}{c}{U_{[i, j]}^{r}=\tanh \left(W_{r} \cdot D_{[i, j]}^{\top}\right)} \\ {\alpha_{[i, j]}^{r}=\operatorname{softmax}\left(w_{r}^{\top} \cdot U_{[i, j]}^{r}\right)}\end{array} \\ V_{[i, j]}^{r}=\left(H_{Q_{i}}\right) \cdot \alpha_{[i, j]}^{r} HQi??HAj???=[hi,1?,hi,2?,…,hi,n?,…,hi,Ni??]=[hj,1?,hj,2?,…,hj,m?,…,hj,Mj??]?D[i,j]?=(HQi??)??(HAj??)U[i,j]r?=tanh(Wr??D[i,j]??)α[i,j]r?=softmax(wr???U[i,j]r?)?V[i,j]r?=(HQi??)?α[i,j]r?
其中 H Q i ∈ R d ′ × N i , H A j ∈ R d ′ × M j H_{Q_i}\in R^{d'\times N_i},H_{A_j}\in R^{d'\times M_j} HQi??∈Rd′×Ni?,HAj??∈Rd′×Mj?,所以 D [ i , j ] ∈ R N i × M j , W r ∈ R d ′ × M j , w r ∈ R d ′ D_{[i,j]}\in R^{N_i\times M_j},W_r\in R^{d'\times M_j},w_r \in R^{d'} D[i,j]?∈RNi?×Mj?,Wr?∈Rd′×Mj?,wr?∈Rd′,所以 U [ i , j ] r ∈ R d ′ × N i , α [ i , j ] r ∈ R N i , V [ i , j ] r ∈ R d ′ U_{[i,j]}^r\in R^{d'\times N_i},\alpha_{[i, j]}^{r} \in \mathbb{R}^{N_{i}},V_{[i,j]}^r\in R^{d'} U[i,j]r?∈Rd′×Ni?,α[i,j]r?∈RNi?,V[i,j]r?∈Rd′。
? ? ? ?而第二種顯然就是Question-to-Answer Attention,也就是使用問題句子對回答句子進行Attention。使用問題句子的表示 H Q i H_{Q_i} HQi??對答案句子 H A j H_{A_j} HAj??的每個時刻進行Attention,把 D [ i , j ] D_{[i,j]} D[i,j]?的每一列經過神經網絡處理成權重(上角標c代表column),同理我們最后可以得到答案句子的新表示向量 V [ i , j ] c ∈ R d ′ V_{[i,j]}^c \in R^{d'} V[i,j]c?∈Rd′,計算公式如下:
U [ i , j ] c = tanh ? ( W c ? D [ i , j ] ) α [ i , j ] c = softmax ? ( w c ? ? U [ i , j ] c ) V [ i , j ] c = ( H A j ) ? α [ i , j ] c \\\begin{array}{c}{U_{[i, j]}^{c}=\tanh \left(W_{c} \cdot D_{[i, j]}\right)} \\ {\alpha_{[i, j]}^{c}=\operatorname{softmax}\left(w_{c}^{\top} \cdot U_{[i, j]}^{c}\right)}\end{array} \\ V_{[i, j]}^{c}=\left(H_{A_{j}}\right) \cdot \alpha_{[i, j]}^{c} U[i,j]c?=tanh(Wc??D[i,j]?)α[i,j]c?=softmax(wc???U[i,j]c?)?V[i,j]c?=(HAj??)?α[i,j]c?
? ? ? ?最后,這個Q-A短句匹配pair的表示向量 V [ i , j ] V_{[i,j]} V[i,j]?由 V [ i , j ] r V_{[i,j]}^r V[i,j]r?和 V [ i , j ] c V_{[i,j]}^c V[i,j]c?拼接表示起來,如下公式所示, V [ i , j ] ∈ R 2 d ′ V_{[i,j]}\in R^{2d'} V[i,j]?∈R2d′其中 ⊕ \oplus ⊕代表連接操作符:
V [ i , j ] = V [ i , j ] r ⊕ V [ i , j ] c V_{[i, j]}=V_{[i, j]}^{r} \oplus V_{[i, j]}^{c} V[i,j]?=V[i,j]r?⊕V[i,j]c?
? ? ? ?使用上面的雙向匹配網絡,我們把 N × M N\times M N×M個短句匹配單元中的每一個單元作為輸入,都可以輸出一個匹配向量,所有現在我們就得到了 N × M N\times M N×M個 2 d ′ 2d' 2d′維的向量,我們把它們拼成一個向量,然后做一個簡單的句子級別的self-Attention,得到最終的的表示,最終再經過一個輸出層即可, p p p就是最終分類的輸出結果(四分類),如下所示:
V = [ V [ 1 , 1 ] , V [ 1 , 2 ] , … , V [ i , j ] , … , V [ N , M ] ] U = tanh ? ( W h ? V ) α = softmax ? ( w h ? ? U ) R = V ? α p = s o f t m a x ( W l ? R + B l ) \begin{array}{c}{V=\left[V_{[1,1]}, V_{[1,2]}, \ldots, V_{[i, j]}, \ldots, V_{[N, M]}\right]} \\ {U=\tanh \left(W_{h} \cdot V\right)} \\ {\alpha=\operatorname{softmax}\left(w_{h}^{\top} \cdot U\right)}\end{array} \\ R=V\cdot \alpha \\p=softmax(W_l\cdot R+B_l) V=[V[1,1]?,V[1,2]?,…,V[i,j]?,…,V[N,M]?]U=tanh(Wh??V)α=softmax(wh???U)?R=V?αp=softmax(Wl??R+Bl?)
(4)關于作者分析的標注數據集:
數據來源:淘寶的“問大家”,主要包括美妝、鞋和電子產品這三個領域,每個領域收集了10000條問答對。
標注說明:對于情感分類的標注結果有四類,分別是positive, negative, neutral,conflict。其中conflict代表這個問答對中既包含對整體評價對象的積極情感,又包含消極情感。比如:“Q:這個手機好用嗎? A:手機使用起來手感很好,非常流暢。但是電池不太好,一會兒就沒電了!”。這個Q-A就會被標注為“conflict”。
而neutral并不一定是中立的,按照作者描述的規則,以下這些情況都會被標注為“neutral”:
總結
以上是生活随笔為你收集整理的Sentiment Classification towards Question-Answering with Hierarchical Matching Network 论文阅读笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝桥杯---试题 历届试题 填字母游戏(
- 下一篇: 对“主数据”的一点吐槽