ABSA_RAM
EMNLP 2017
論文《Recurrent Attention Network on Memory for Aspect Sentiment Analysis》學習筆記語料獲取及PyTorch實現:songyouwei/ABSA-PyTorch,data中的三個語料參考筆記:https://blog.csdn.net/lrt366/article/details/81298790,但是後面的翻譯一團糟呢...TensorFlow實現:https://github.com/lpq29743/RAM
Abstract
作者的模型採用多注意力機制來捕獲被長距離分割的情感特徵,因此在處理不相關信息時會更健壯。然後將多注意力機制的輸出和RNN的輸出做一個非線性的組合,這樣可以增強模型的表達能力和並發行。
1 Introduction
為了分析針對某個target的情感極性,一個關鍵的任務是對原始句子中target的上下文進行合理建模。簡單的情況是,目標情緒可由目標附近一個句法相關的意見詞推斷得到。但有時,意見詞會被包含在複雜的上下文中。舉例如下。
Its camera is not wonderful enough.
可能這句話只想表達一個中性的意思,而非消極的情緒。
為了解決上述問題,可以使用TD-LSTM和attention機制等。然而,LSTM存在信息丟失的問題,同時也無法處理複雜的句子。單attention在關注多個詞的時候可能會丟失每個詞的特點。論文給出了一個需要關注多個分散特徵的例子,如下。
Except Patrick, all other actors dont play well.
這句話要求模型綜合」except「、」dont play well「,給目標」Patrick「一個正向的情感極性。這一點是LSTM和單一的attention都難以做到的。
為了解決上述問題,作者在本文中提出了一種新的框架。首先,作者使用Bi-LSTM來從輸入產生memory。接著每一片memory會被加權,權重與單詞和target之間的相對距離有關。這樣,來自同一個句子的不同target就有了量身定做的memory。最後,將多注意力機制用於位置加權後的memory,再將輸出結果與RNN非線性結合,就得到了最後的文本表示。
作者認為他們的框架類似於人類的認知過程。該過程中,人首先會注意一部分關鍵信息,之後他會注意到更多的信息,最後將多個注意到的信息綜合起來,得到結論。該特點使模型在分析上面的句子時是有效的。
比較那篇Deep Memory Network。作者認為, Tang的模型確實使用了多注意力機制,但是他們把上一層attention的結果輸入到下一層attention來使模型關注更準確的信息。他們輸入softmax的分類向量只是最後一層attention輸出的向量,而該向量從本質上講只是模型輸入的線性組合。因此,上面提到過的單注意力的缺點在Tnag的模型中依然存在。而作者的模型將attention的輸出結合到了GRUs中,從而引入了RNN遺忘、維持信息以及非線性轉換的特點。
作者在Twitter、SemEval 2014語料上做了實驗。為了驗證模型在不同語言上的泛化能力,作者還構建了一個中文語料,似乎沒有公開。
太菜了,幾乎整個翻譯了一遍,啰啰嗦嗦。
不過還是把整個提出問題-解決問題的過程理了理,還行。Tang大佬的模型被diss了,很真實。
2 Related Work
技術鏈。
傳統機器學習方法->神經網路方法(Rec-NN、LSTM等)->Memory、多attention。
3 Our Model
作者的模型由5個部分組成。
- input module
- memory module
- position-weighted memory module
- recurrent attention module
- output module