給定句子,定義三個AE、OE、SC的序列標注問題:
AE 目的是預測一個tag序列(和原始句子等長),其中 分別表示 begining of, inside of, outside of 一個aspect term。
OE 目的是預測一個tag序列(和原始句子等長),其中分別表示 begining of, inside of, outside of 一個opinion term。
SC 目的是預測一個tag序列(和原始句子等長),其中分別表示每個單詞的極性。
左圖是全框架,右圖是一個RACL的具體結構
結構解析
1.輸入部分是詞嵌入經過一個全連接層得到
2.首先進行子任務私有特征的編碼,得到面向三個子任務的特征、、
利用卷積得到AE-oriented features 和OE-oriented features ,考慮到的是這兩個任務與詞的臨近詞相關性很大。
為了得到SC-oriented features
首先從中利用CNN編碼上下文特征,然后將共享向量視為query方面,并用注意力機制計算query和上下文特征之間的語義關系,得到(利用的是實現的表達)
3.Propagating Relations for Collaborative Learning
是AE和OE之間的雙向關系,是OE向AE傳遞的部分,計算方法是和交互,利用表達。然后將交互部分同原來的面向AE的特征拼接在一起,經過一個線性層和softmax就可以得到任務AE的分類結果。同理得到任務OE的分類結果。
此外,一個單詞不可以既是方面詞又是情感詞,因此加入了合頁損失作為正則項來約束和
R2是SC和之間的三元關系。注意直接使用注意力權重來相加的,而不是在最后階段。
R3是SC和OE之間的雙向關系,這表明,在對情感極性進行預測時,需要對抽取出的觀點術語多加關注。為了建模R3,采用和R2同樣的方式,也就是對SC中的利用生成的 tag序列進行更新,如下:
這樣的話情感詞在注意力機制中可以得到更大的權重,從而有利于情感分類。
得到上述方式完成交互后的后,我們可以按照式子4重新計算面向SC任務的特征,然后我們將和拼接在一起作為最后的SC的特征,并將它們經過一個全連接層后去預測方面極性。
4.Stacking RACL to Multiple Layers以上是一個RACL模塊的輸出,本實驗堆疊了多個模塊。具體來說,我們首先編碼第一層特征,,,在第二層將這些特征輸入到SC,AE和OE去生成,,。以此類推可以將RACL堆疊到L層。最后將各層的最終預測結果進行平均池化的操作
這種shortcut-like的架構可以促進低層中的功能具有意義和信息量,反過來這也有助于高層做出更好的預測。
損失函數
最終RACL總的損失的 L 是所有子任務的損失之和加上正則項的損失,也就是,其中是系數,.
方法比較和Case分析
和不同的歷史方法作比較:
關于本文提出的方法的簡單變種的消融實驗:
超參和的影響:
Case分析:
關于上面的可視化分析:
最后就是不同方法的計算量分析:
-
編碼
+關注
關注
6文章
942瀏覽量
54814 -
函數
+關注
關注
3文章
4327瀏覽量
62573
原文標題:武漢大學提出:用于基于統一Aspect的情感分析的關系感知協作學習
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論