標籤:

Aspect Level Sentiment Classification with Deep Memory Network

Aspect Level Sentiment Classification with Deep Memory Network

問題:這個memory只是當前sentence,這怎麼能利用前一句或者後一句的信息呢。

來源:EMNLP2016

問題:aspect level 情感分析

作者:simple

鏈接:《Aspect Level Sentiment Classification with Deep Memory Network》學習筆記 - 西土城的搬磚日常 - 知乎專欄

來源:知乎

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

摘要

採用多層LSTM,每一層都是一個有額外記憶的attention模型,實驗表明,本模型優於SVM和LSTM以及,基於attention的LSTM,而且9層的網路比LSTM速度更快。

比如在句子"great food but the service was dreadful"里,對於food這個aspect的是positive,而對於service是negative。

一. aspect level情感分析相關工作

  1. SemEval-2014 Task 4: Aspect Based Sentiment Analysis
  2. NRC-Canada-2014: Detecting Aspects and Sentiment in Customer Reviews (Kiritchenko et al., 2014. SemEval)

  3. DCU: Aspect-based Polarity Classification for SemEval Task 4 (Wagner etal., 2014 SemEval)

  4. Adaptive Recursive Neural Network for Target-dependent Twitter Sentiment Classification (Dong et al..,2014. ACL)
  5. Aspect specificsentiment analysis using hierarchical deep learning (Lakkaraju et al., 2014. NIPS)
  6. Target-dependent twitter sentiment classification withrich automatic features (Vo and Zhang, 2015. IJCAI);
  7. Target-Dependent Sentiment Classification with Long Short Term Memory (Tang et al., 2015a) attention-based LSTM
  8. PhraseRNN: Phrase Recursive Neural Network for Aspect-based Sentiment Analysis ((Nguyen and Shirai, 2015. EMNLP)

  9. Effective LSTMs for Target-Dependent Sentiment Classification

1:aspect level情感分析的系統介紹;

2、3:傳統SVM分類器方法實現aspect level的情感分析;

4、5、6、7、8:神經網路方法實現aspect level的情感分析。

分類器方法

將情感分析作為一個文本分類問題,用機器學習的方法訓練文本分類器。分類器的性能極大依賴於文本特徵、情感詞典等信息。目前效果比較好的是SVM。

神經網路方法

利用神經網路學習低維文本特徵,獲取文本的語義表示。

神經網路的問題

傳統的神經網路如LSTM能明確地獲取上下文信息,但是不能確定一個aspect比較重要的上下文線索。標準的LSTM以序列的方式工作,對上下文中的每個詞採用相同操作,很難剝啄那些詞比較重要。

例子:great food but the service was dreadful!

在這個句子里,對於「food」這個aspect來說,要判斷它的情感傾向,「great」是一個重要的線索,「dreadful」基本沒什麼用。同樣的對於「service」這個aspect來說,「dreadful」比較重要,「great」就沒有什麼作用了。

解決辦法

使用attention memory的層級神經網路,學習每個context word的重要性,並利用此信息來作為句子的文本表示。此過程完全不依賴語法分析器和情感詞典。

二. memory network

本文想法來源於最近在問答領域比較火的memory network,這是Weston在14年提出的想法,Sainbayar Sukhbaatar在15年提出了讓memory network進行end to end的訓練方法,以及採用多層神經網路利於提取更加抽象的evidence,並在QA上取得了較好的效果。

關於memory network的相關內容可參考下面兩篇論文:

  • [Weston et al.2014] MEMORY NETWORKS

  • [Sukhbaatar et al.2015] End-To-End Memory Networks

結構

Memory network包括:一個memory m,四個component I,G,O,R

  • m:一組vector
  • I:把輸入input轉化成feature representation

  • G:根據新的輸入input更新老的memory

  • O:根據current memory和當前輸入input得到output representation

  • R:根據output representation得到模型輸出

過程

輸入:一系列sentence:left{ s_{1} ,s_{2},... s_{i},... s_{n}  
ight},和question q

task:根據這些sentence得到q的答案

  1. I每次讀一個sentence s_{i} ,encode得到vector representation;
  2. G根據當前的sentence representation更新memory;

  3. 所有sentence都處理完得到完整的memory m,存儲這些sentence的語義信息;

  4. Encode question q得到e_{q}

  5. O根據e_{q} 從memory m選擇related evidence得到一個輸出向量o;

  6. R根據o得到最終的輸出。

三. 本文模型

問題定義

給一個句子s = {w1, w2, ..., wi, ... wn},包含n個單詞,其中wi是aspect word,每個詞都用詞向量來表示。

方法概述

給定句子s=left{ w_{1} ,w_{2} ,...,w_{i} ,...,w_{n} 
ight} 和aspect word w_{i}

1、map each word into its embedding vector

這些word vectors包括context vectors和aspect vectors。

aspect vectors: aspect vectors是aspect word的embedding的平均值。

context word vectors:

即sentence中除了aspect word之外的所有詞的word embedding堆疊到一起,這就是模型中的memory。

2、computational layer

  • 模型包括多個computational layers,每個computational layer包括一個attention layer和一個linear layer;
  • 第一個computational layer,attention layer的輸入是aspect vector,輸出memory中的比較重要的部分,linear layer的輸入是aspect vector。第一個computational layer的attention layer和linear layer的輸出結果求和作為下一個computational layer的輸入;
  • 其它computational layer執行同樣的操作,上一層的輸出作為輸入,通過attention機制獲取memory中較重要的信息,與線性層得到的結果求和作為下一層的輸入,各層共享參數;

  • 最後一層的輸出作為結合aspect信息的sentence representation,作為aspect-level情感分類的特徵,送到softmax。

Content Attention

attention機制的基本想法是在計算高級別的representation時,對lower position的詞進行加權。本模型則是使用attention模型來計算句子和某個aspect相關的representation,context word一方面對句子的語義貢獻未必相同,另一方面對於不同的aspect的情感傾向的重要性也是不一樣的。

輸入:external memory - m R(d*k) Vaspect R(d*1)

輸出:vet

優點:能夠根據mi和aspect的語義相關度安排其對應權值;attention model是可差分的,便於end-to-end更新。

Location Attention

除了考慮context word mi和aspect的內容相關度以外,也不能忽略location信息,畢竟距離aspect更近的單詞理論上更重要。將location of acontext word定義成距離aspect的距離。

作者定義了四種模型來encode位置信息:

Model 1:(參考[Sukhbaatar et al.2015])

n:句子的長度,k:hop number,l_{i} :location of w_{i}

Model 2: Model1的簡化,l_{i} 距離越遠,v_{i} 重要性越小。

Model 3: location vector v_{i} 作為模型的一個參數,所有location vectors存儲在position數組裡,隨機初始化,通過梯度下降學習得到。

Model 4: location vector作為模型的參數,被當做神經門,來控制word的語義有多少被寫入memory。

Multiple Hops

如下面論文里提到的,單獨一個層就是一個簡單的加權平均的計算層,不足以解決語言中的複雜問題,多層能提取更抽象的語義信息。

  • [Weston et al.2014] MEMORY NETWORKS

Sentiment Classification

  • 最後一層的輸出當做特徵
  • 送入softmax層
  • 採用交叉熵損失函數

四. 實驗

數據集

使用SemEval 2014里的兩個領域的數據,並且去掉數量較少的第四類conflict。

和其他方法比較

1. Majority

2. Feature-based SVM using ngram features, parse features and lexicon features (Kiritchenko et al., 2014)

3. LSTM TDLSTM 考慮aspect,使用雙向LSTM TDLSTM+ATT 對於隱藏層向量使用attention機制。

4. ContextAVG 本模型的簡化版本,context word vector做平均。

TDLSTM+ATT的效果不好:由於其只選擇了word sequence的語義混合,並不合適於重點關注contexts的某些部分。而使用本文中的memory network則不使用對word sequence的ran計算元,直接應用attention機制在context word representations。

運行時間

4、Location Attention

4個模型的對比

根據上圖可以看出:

  • 隨著computational layers的增多,分類準確率有提升;

  • 在computational layer數大於5的時候,四個模型準確率相差不大;

  • model 2計算量最小,準確率也不差。

計算單元層數和location信息的作用分析

從Table 4和Table 5可以看出:

  • 增加computational layer可以提取更abstractive的evidence(針對某個特定的aspect),更好的區分不同context word對特定aspect的貢獻;

  • 引入location信息可以更好地捕獲針對特定aspect更重要的context信息。

錯誤分析

考慮location en-hanced model (Model 2):1. 非組合型的情感表達-比如"dessert was also to die for",die for的情感並不是die和for的情感的疊加;2. 有些複雜的情感詞包含多個詞-比如"ask for theround corner table next to the large window";3. 情感關係比如否定詞、對比和條件-比如"butdinner here is never disappointing, even if the pricesare a bit over the top"。

五. 相關工作

Aspect Level Sentiment Classification

The aspect wordin this work is given as a part of the input.

Compositionality in Vector Space

Attention and Memory Networks

就是把低level的representation當做memory,attention機制需要設計對低level的representation如何加權。

六. 結論

1、作者將memory network的思想用在aspect-level的情感分析上,通過上下文信息構建memory,通過attention捕獲對於判斷不同aspect的情感傾向較重要的信息,在實驗數據集上取得了較好的結果。和RNN、LSTM等神經網路模型相比,本文提出的模型更簡單計算更快。

2、將content信息和location信息結合起來學習context weight是一種比較適合aspect-level的情感分析的方法,對模型性能有較大提升。

3、多層計算單元可以學到更多更abstractive的信息,可以提升模型性能。

下一步計劃將句子的結構加入神經網路中學習。


推薦閱讀:

全面理解word2vec
lightgbm演算法優化實際案例分享
《集異璧》作者侯世達瘋狂吐槽谷歌翻譯,AI讓譯者失業?還早著呢!
【3】談談激活函數?

TAG:機器學習 |