Hierarchical Attention Networks for Document Classification 閱讀筆記
論文:Hierarchical Attention Networks for Document Classification
發表會議:NAACL2016
作者:,,,,,
單位:1.Carnegie Mellon University 2.Microsoft Research, Redmond
鏈接:Hierarchical Attention Networks for Document Classification
前言:本文針對文本分類任務提出了一個層次化attention機制模型(HAN),有兩個顯著的特點:(1)採用「詞-句子-文章」的層次化結構來表示一篇文本。(2)該模型有兩個層次的attention機制,分別存在於詞層次(word level)和句子層次(sentence level)。從而使該模型具有對文本中重要性不同的句子和詞的能力給予不同「注意力」的能力。作者在6個數據集合上進行了測試,並且相較以往的模型效果提升顯著。最後,通過可視化說明該模型可以選擇出含有豐富信息的詞語和句子。
一 、寫作動機
文本分類是一項基礎的NLP任務,在主題分類,情感分析,垃圾郵件檢測等應用上有廣泛地應用。其目標是給每篇文本分配一個類別標籤。本文中模型的直覺是,不同的詞和句子對文本信息的表達有不同的影響,詞和句子的重要性是嚴重依賴於上下文的,即使是相同的詞和句子,在不同的上下文中重要性也不一樣。就像人在閱讀一篇文本時,對文本不同的內容是有著不同的注意度的。而本文在attention機制的基礎上,聯想到文本是一個層次化的結構,提出用詞向量來表示句子向量,再由句子向量表示文檔向量,並且在詞層次和句子層次分別引入attention操作的模型。
二、模型構建HAN的模型結構如Fig.1所示,它包含一個詞序列編碼器,一個詞層面的attention層,一個句子序列編碼器,一個句子層級的attention層。
1. 基於GRU的詞序列編碼器
GRU是RNN的一個變種,使用門機制來記錄序列當前的狀態。隱藏層有兩個門(gate),重置門(reset gate)和更新門(update gate)。這兩個門一起來控制當前狀態有多少信息要更新。在時刻t,隱藏層狀態的計算公式:
更新門(update gate)是用來決定有多少過去的信息被保留,以及有多少新信息被加進來:
這裡是在時刻t輸入的單詞的詞向量,候選狀態的計算方法和普通的RNN相似:
重置門決定有多少過去的信息作用於候選狀態,如果是0,即忘記之前的所有狀態:
2 層次化attention
2.1 詞編碼器(Word Encoder)
由詞序列組成,組成的句子,首先把詞轉化成詞向量,,然後用雙向的GRU網路,可以將正向和反向的上下文信息結合起來,獲得隱藏層輸出。
對於一個給定的詞語,經過GRU網路後,我們獲得了一種新的表示:
包含了周圍兩個方向的信息。
2.2 詞級別的attention機制
attention機制的目的是要把一個句子中,對句子的含義最重要,貢獻最大的詞語找出來。我們通過將輸入到一個單層的感知機(MLP)中得到的結果作為的隱含表示。
為了衡量單詞的重要性,我們用和一個隨機初始化的上下文向量的相似度來表示,然後經過softmax操作獲得了一個歸一化的attention權重矩陣,代表句子i中第t個詞的權重。
有了attention權重矩陣以後,我們可以將句子向量看作組成這些句子的詞向量的加權求和。這裡的上下文向量是在訓練網路的過程中學習獲得的。我們可以把當作一種詢問的高級表示,比如「哪些詞含有比較重要的信息?」
2.3 語句編碼器(Sentence Encoder)
得到了句子向量表示以後,我們用類似的辦法獲得文檔向量:
對於給定的句子我們得到了相應的句子表示。這樣獲得的表示可以包含兩個方向的上下文信息。
2.4 句子級別的attention
和詞級別的attention類似,我們也提出了一個句子級別的上下文向量,來衡量一個句子在整篇文本的重要性。
我們獲得了整篇文章的向量表示,最後可以使用全鏈接的softmax層進行分類。
三、實驗
1 數據集
論文中使用了六個數據集,Yelp reviews2013,2014,2015;IMDB reviews;Yahoo Answers;Amazon reviews。每個數據集合中80%的數據用作訓練集合,10%的數據用作驗證集合,剩餘10%的集合用作測試集合。
2 實驗指標與對比模型
- 線性模型:使用手工構建的統計數據作為特徵,多項式logistic回歸作為分類器
- SVM:支持向量機+unigr,bigrams
- word-based CNN:基於詞的卷積神經網路
- Character-based CNN:字元級別的卷積神經網路
- Conv/LSTM-GRNN:使用「詞-句子-文本」的層次化結構表示文檔,然後用帶有門限制的RNN做分類。
3 實驗結果
4 結果分析
根據上表的實驗結果可以看出來,層次化attention模型在所有的六個數據集合上均取得了最好的效果。這種效果的提升是不受數據集大小限制的。在相對較小的數據集比如Yelp2013和IMDB上,我們的HAN模型超過基準模型的最好表現的比率分別為3.1%和4.1%。相同的在,大數據集上,我們的模型優於之前的最好模型的比例分別為3.2%,3.4%,4.6%,6.0%,分別在Yelp2014,Yelp2015,Yahoo Answer,Amazon Answer。
一些沒有使用層次結構來表示文本的神經網路分類演算法比如CNN-word,CNN-char,LSTM在一些大數據集合上並沒有超過基準模型太多。單從文本的結構化表示來看,HN-MAX,HN-AVG都可以顯著提升CNN-word,LSTM等模型的性能。我們將層次話結構和Attention機制聯合起來的模型,更是超過了單純的層次化模型LSTM-GRNN。
5 可視化分析
上圖是詞「good」在IMDB數據集合種的的attention權值分布,可以看出,當評價等級為1時Fig3(b),good的權值集中在比較低的一端,當評論的變得向好評方向時,good的權重也開始在高的一端分布。相反的,詞「bad」在評價等級較低的評論里權值較大,在評價高的評論里權值小。 情感分析任務種,從上圖我們可以看到,在好評里,delicious,fun,amazing,recommend 等詞所在的句子顏色深,權值大。在差評里,terrible,not等詞占的比重大。在主題分類任務中,在科學自然類別里,權值比較大的詞zebra,strips,camouflage,predator。 在計算機網路類別里web,searches, browsers的權值較大。四 總結
本文提出了一種基於層次化attention的文本分類模型,可以利用attention機制識別出一句話中比較重要的詞語,利用重要的詞語形成句子的表示,同樣識別出重要的句子,利用重要句子表示來形成整篇文本的表示。實驗證明,該模型確實比基準模型獲得了更好的效果,可視化分析也表明,該模型能很好地識別出重要的句子和詞語。
推薦閱讀:
※PaperWeekly 第53期 | 更別緻的詞向量模型:Simpler GloVe - Part 2
※線下沙龍 x 北京 | NLP專題技術分享會,佔座全憑手速!
※論文推薦:機器閱讀理解,問答系統,對話生成 | 本周值得讀 #36
※SEO詞庫清洗詞和歸類相關問題?
TAG:深度学习DeepLearning | 自然语言处理 |