A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
摘要
對於用戶評論的觀點挖掘近幾年很火,評論的句子經常被分開評判。評論結構和句子的上下文知識應該也對句子的分類有影響。本文實現了層級式的LSTM對於觀點情感分析中的句子之間相關性的建模,在沒有其他外在特徵的情況下,在多個領域和語言樣本上證明層級式的網路結構比沒有層級的模型效果更好。
簡介
評論一般都有一種潛在的結構,可以用RST(修辭結構理論)來描述,將句子描述成通過不同修辭關係串聯起來,比如詳細描述和背景。直覺上,當前句子的情感和周圍句子的情感和;聯繫有關,如果一個餐館的評論者表示了對於事物的喜歡,那之後對於餐館的評價也不會有太大出入。
對於SA或ABSA使用神經網路近幾年比較流行,使用卷積/LSTM/循環,但他們只能捕捉句子內部而非句子之間的聯繫。這裡介紹一種層級雙向LSTM(H-LSTM),能夠利用句子內部和之間的聯繫,遠比句子級別的baseline強。
相關工作
Aspect-based sentiment analysis
SemEval-2014 Task 4: Aspect Based Sentiment AnalysisPontiki et al., 2014 SemEval-2016 Task 5: Aspect Based Sentiment AnalysisPontiki et al., 2015 手動提取特徵:n-grams,否定詞,情感詞典等。
ExtractingEffective Features from Multiple Sequential Sentencesfor Target-dependent Sentiment Analysis in Reviews Zhihua Zhang and Man Lan. SemEval 2015 除了從當前句子提取特徵,還從前一句和後一句提取。
Target-Dependent Sentiment Classifica-tion with Long Short Term Memory Tang. 2015. LSTM,根據位置決定目標詞的情感
PhraseRNN: Phrase Recursive Neural Network forAspect-based Sentiment AnalysisThien Hai Nguyen.2015 EMNLP 利用RNN,使用parse tree。
綜合對比,本文使用模型不需要額外提取特徵,也不需要位置信息或parse tree,是第一個將情感分析當做序列標註任務的框架。
Hierarchical models
層級網路主要用來產生對段落/文檔的概要:
A Hierarchical Neural Autoencoder for Paragraphsand Documents Jiwei Li. 2015. ACL. 使用層級的基於LSTM的自動編碼器來重建/修復維基文章的評論和段落。
A Hierarchical Latent VariableEncoder-Decoder Model for Generating Dialogues2016. NIPS 使用包含潛在變數的層級循環編碼解碼器用於對話產生。
Extraction of Salient Sentences from LabelledDocuments2014 使用層級的ConvNet從評論中提取突出部分。From Group to Individual Labels using Deep Features2015. SIGKDD 使用同樣結構,從使用小說損失函數的評論級別的標籤來學習句子級別的標籤。
SequentialShort-Text Classification with Recurrent and Convolutional Neural Networks Ji Young Lee. 2016. NAACL-HLT 和本文模型最相似,同樣使用句子級別的LSTM,他們的網路結構只能考慮一個有限長度的文本,而我們的觀點級別的雙層LSTM能夠處理無限長度的句子。
模型
sentence和aspect的表示
每條評論都由多個被填充至長度l的句子組成,每個sentence由l個單詞的詞向量拼接而成。每個sentence和一個aspect相關,將每個aspect用表示,前者表示實體的向量,後者為屬性的詞向量。(實體表示法:用神經網路實現資料庫表示)
LSTM
Bi-LSTM
情感不僅依賴之前的詞語,也依賴後續的詞語和語句。
層級雙向LSTM
實驗
數據集
五個領域、八種語言的數據,從最近的SemEval-2016中,一共11份數據,每份包含300~400評論,共1250~6000條語句,每句話都標註了領域和情感。
訓練細節
使用300維詞向量,使用預訓練的GloVe在英語上,用frWaC在法語上訓練,其他都用了Leipzig語料庫。實體和屬性向量維度15,隨機初始化。在詞向量層後使用0.5的dropout,在LSTM層後使用5的gradient clipping norm。
對於有多個aspect的句子,將所有aspect依次展開。我們移除了沒有aspect的句子,以及那些被作為padding加入評論的沒有意義的句子,這點在sequence-to-sequence learning上已經說明。
模型比較
我們的模型:使用隨機詞向量H-LSTM,預訓練的詞向量的HP-LSTM。
結果和討論
本模型效果比原始的CNN和句子級別的LSTM大多數時候都要好,由於利用了評論的句子結構。另外,相對於那些手動提取大量特徵且利用外界信息的最優方法,此模型也在某些領域優於其。
預訓練詞向量
和以外研究結論一致,使用預訓練的詞向量基本上效果更好。
藉助額外信息
真實世界裡,注釋是非常大代價的,需要從很少的樣例中學習到知識,我們的模型通過藉助評論的結構能夠提高預測表現。
但是,比如在Turkish這種訓練數據只用1000多的集上,我們的模型表現出了只使用訓練數據的局限性,和最好結果有較大差距。
對於資源豐富的語言,雖然預訓練的詞向量可以引入一定外在信息,但是仍比不上利用大量外在資源的 Beyond Sentiment Lexicon: Combining Domain Dependency and Distributional SemanticsFeatures for Aspect Based Sentiment Analysis (Kumar et al., SemEval 2016) 和擁有細緻手工提取特徵的 XRCE: Feedback Ensemble Modelling on Syntactico-Semantic Knowledge forAspect Based Sentiment Analysis (最好的之一) (Brun et al., SemEval 2016) 。
情感詞典是一種很流行的方式,用來引入外部信息,我們利用Kumar et al. SemEval 2016 的詞典,效果並沒有比預訓練的詞向量提高很多。鑒於在偏好識別方向的領域的多樣性,使用與領域相關的情感詞典更受關註:Inducing Domain-Specific Sentiment Lexicons from Unlabeled Corpora (Hamilton et al., ACL 2016)。因此,如何尋找更好的方法來包含不同領域的資源到模型里比如Harnessing Deep Neural Net-works with Logic Rules (Hu et al., ACL 2016)是下一步我們將要研究的內容。
結論
本文中,我們使用了層級的LSTM,使得模型能夠獲取評論的結構和句子的上下文,從而比只依賴句子信息的模型效果好,某些時候也優於哪些利用大量外資啊資源和手動特徵的模型。
推薦閱讀:
※模型監控構建方案
※ROC和CMC曲線的理解
※Fenchel-Lengendre Duality觀點下的優化演算法們(I):前言
※實現屬於自己的TensorFlow(三) - 反向傳播與梯度下降實現
TAG:機器學習 |