論文來源:Hierarchical Attention Networks for Document Classification
1、概述
文本分類時NLP應用中最基本的任務,從之前的機器學習到現在基於詞表示的神經網絡模型,分類准確度也有了很大的提升。本文基於前人的思想引入多層注意力網絡來更多的關注文本的上下文結構。
2、模型結構
多層注意力網絡(HAN)的結構如下圖所示:
整個網絡結構包括四個部分:
1)詞序列編碼器
2)基於詞級的注意力層
3)句子編碼器
4)基於句子級的注意力層
整個網絡結構由雙向GRU網絡和注意力機制組合而成,具體的網絡結構公式如下:
1)詞序列編碼器
給定一個句子中的單詞 $w_{it}$ ,其中 $i$ 表示第 $i$ 個句子,$t$ 表示第 $t$ 個詞。通過一個詞嵌入矩陣 $W_e$ 將單詞轉換成向量表示,具體如下所示:
$ x_{it} = W_e; w_{it}$
接下來看看利用雙向GRU實現的整個編碼流程:
最終的 $h_{it} = [{\rightarrow{h}}_{it}, \leftarrow{h}_{it}]$ 。
2)詞級的注意力層
注意力層的具體流程如下:
上面式子中,$u_{it}$ 是 $h_{it}$ 的隱層表示,$a_{it}$ 是經 $softmax$ 函數處理后的歸一化權重系數,$u_w$ 是一個隨機初始化的向量,之后會作為模型的參數一起被訓練,$s_i$ 就是我們得到的第 $i$ 個句子的向量表示。
3)句子編碼器
也是基於雙向GRU實現編碼的,其流程如下,
公式和詞編碼類似,最后的 $h_i$ 也是通過拼接得到的
4)句子級注意力層
注意力層的流程如下,和詞級的一致
最后得到的向量 $v$ 就是文檔的向量表示,這是文檔的高層表示。接下來就可以用可以用這個向量表示作為文檔的特征。
3、分類
直接用 $ softmax$ 函數進行多分類即可
損失函數如下: