1. 程式人生 > >Targeted Aspect-Based Sentiment Analysis via Embedding Commonsense Knowledge into an Attentive LSTM

Targeted Aspect-Based Sentiment Analysis via Embedding Commonsense Knowledge into an Attentive LSTM

一、摘要

  作者提出一個新穎的方法來解決targeted ABSA,通過利用通用知識。用一個包含target-level的attention和sentence-level的attention的層次化attention機制來增強LSTM結構。關於情感相關概念的常識知識被結合到用於情感分類的深度神經網路的端到端訓練中。為了將常識知識緊密地整合到遞迴編碼器中,作者提出了LSTM的擴充套件結構,稱為Sentic LSTM。在兩個公開資料集上跑實驗,結果都是state-of-the-art的。

二、介紹

  簡單地介紹一下什麼是ABSA。“The design of the space is good but the service is horrible。”句子中有兩個aspect:space和service。針對這兩個aspect的情感是相反的,spave是正面,service是負面。
  針對目前state-of-the-art的方法中,作者提出了三個還未解決的問題。

  • 一個給定的target可能在句中有多個例項(相同target出現多次)或多個詞,目前的研究假設全部例項都是等權重的,並且在這些例項中簡單地計算平均值向量來表示。這種過度簡化與以下事實相沖突:目標的一個或多個例項通常比其他例項與情感更緊密的聯絡。
  • 其次,現有方法所利用的層次化的attention僅隱含地模擬了在給定target和aspect的情況下,推斷情感詞視為黑盒。
  • 現有的研究不足以在深層神經網路中有效地融入外部知識。比如通用知識,對aspect和情感極性的確認有很大貢獻。
    為了解決以上問題,作者的貢獻如下。
  • 提出層次化的attention模型,首先明確地指出target,然後是整個句子。
  • 擴充套件了經典的LSTM結構,其中包含與外部知識整合的元件。
  • 將情感常識知識融入到深度神經網路中。

三、相關工作

  在這裡簡單地介紹下什麼是ABSA、targeted SA、targeted ABSA。

  • ABSA:ABSA的任務是根據一系列aspect對情緒極性進行分類。ABSA面臨的最大挑戰是如何有效地表達整個句子的特定aspect的情感資訊。早起的工作主要依賴於特徵工程來表徵句子。由於深度學習的興起,很多最近的工作利用深度神經網路生成embedding,然後餵給分類器。此外,這種表示可以通過attention機制進行增強。最終的情感表示受益於attention機制,因為解決了RNN的缺點,當只有一個輸入餵給分類器導致的資訊損失。
  • targeted SA:targeted SA 旨在分析針對目標實體的情感。目前有很多工作,TD-LSTM、TC-LSTM,DMN。目前的方法要麼忽略了多個目標實體(或詞)的問題,或者簡單地使用一個目標表達式的平均值向量來表示。與上述方法不同,作者使用注意力權重對每個詞進行加權,所以一個給定的target可以由其資訊量最大的元件表示。
  • targeted ABSA
  • 融入外部知識

四、方法

  • 任務定義:一個句子 s s 由一系列單片語成。一個target t t 有句中的 m m 個單片語成,用 T = { t 1 , t 2 , , t m } T = \{t_1,t_2,···,t_m\} 表示, t i t_i 表示target表示式中的第 i i 個單詞。targeted ABSA可以分成兩個子任務:解析屬於預定義集合的 t t 的方面類別;根據與 t t 相關的每個方面類別對情感極性進行分類。舉個例子,‘I live in [West London] for years. I like it and it is safe to live in much of [west London]. Except [Brent] maybe.’ 兩個target:West London和Brent。West London的ABSA為[‘general’: positive; ‘safety’: positive],Brent的ABSA為[‘general’: negative; ‘safety’: negative]。
  • OverView:作者提出的網路結構由兩個元件構成,序列編碼器和層次化的attention元件。給定一個句子 s = { w 1 , w 2 , , w L } s = \{w_1,w_2,···,w_L\} ,經過Embedding層轉化為詞向量 { v w 1 , v w 2 , , v w L } \{v_{w1},v_{w2},···,v_{wL}\} 。然後再經過雙向LSTM層轉化為一系列的隱含層輸出。棕色部分是target詞的位置,用這些詞的隱含層輸出做一個self-attention來表示這個target。這個向量再和每一個隱含層輸出拼接在一起做self-attention,同時輸入aspect的embedding,作為整個句子的表示。
    在這裡插入圖片描述