NLP————目標情感分析(TSA任務)

TSA任務介紹

目標情感分析任務(Targeted Sentiment Analysis, TSA)旨在提取目標實體並對其進行情感分類。因此可以理解爲命名實體識別(NER)和情感分析(SA)兩個任務的聯合學習。例如,給出一句“ESPN調查顯示邁克爾喬丹是最偉大的籃球運動員”,檢測目標是ESPN和邁克爾喬丹,他們的情緒類別分別爲中性和正面。最近的一些工作試圖聯合學習這兩項任務,看成序列標註問題,其中B/I/O表示目標的邊界,Positive/Neutral/Negative標籤表示情感分類 (Klinger and Cimiano, 2013; Yang and Cardie, 2013)。隨着詞嵌入(word embedding)引入NLP領域,多種神經網絡模型被用來處理序列標註問題,有人通過詞嵌入來豐富特徵並訓練神經網絡模型來解決TSA問題,這是當前較爲流行的方法。但是在長距離依賴性和字符級特徵角度來說,以上方法並沒有充分考慮。因此下面介紹一個來自EMNLP 2018的方法---hierarchical multi-layer bidi- rectional gated recurrent units(HMBi-GRU)。

HMBi-GRU

這個方法考慮了word和character兩個層面的embedding特徵,來探索字符級特徵和高級語義特徵,從而建立二者之間的長距離依賴。除了特徵之外,此方法充分利用了實體和情感之間的邊界信息:目標的邊界信息(B,I)標籤和情感標籤是一樣的。例如上面的例子中,Michael Jordon的目標標籤和情感標籤是“B-Person,I-Person”和“B-Positive,I-Positive”,通過這種方式,模型可以在預測情緒標籤時瞭解目標邊界信息。

下面來詳細介紹這個模型,對於GRU不瞭解的可以按照RNN來理解,只是內部門控有差異。

假設一個句子由n個單詞[w1,w2,...,wn]組成。 對於每個單詞,由li字符組成[c1,c2,...,cli],li是wi的長度。我們將句子表示爲字嵌入矩陣W = [E1,E2,...,En]∈Rn×dw。 類似地,單詞wi表示爲字符嵌入的矩陣Ci∈Rli×dc,dw和dc分別表示字嵌入和字符嵌入的大小。

模型是多級的雙層結構,每層結構中包括 multi-layer bidirectional Gated Recurrent Units(MBi-GRU)。GRU擅長對序列建模,具有避免梯度消失和爆炸問題的優點。假設,每層結構中的MBi-GRU都有m層,時間爲t,因此隱藏狀態如下:

Bi-GRU是雙向GRU的意思,類似於經常聽到的Bi-LSTM,定義如下:

xt是輸入,可以是字嵌入或其他BiGRU的隱藏狀態。 ⊕表示連接兩個向量的操作。

使用字符嵌入Ci的矩陣作爲輸入,我們利用MBi-GRU基於其字符嵌入來學習字wi的字符級抽象特徵。通過MBi-GRU,我們可以獲得隱藏狀態[hM1,hM2,...,hMli],在該狀態上應用最大池操作,輸出字wi的字符級特徵ri∈R2dc。(這裏的2dc是因爲雙向的網絡結構的原因)

將句子中所有單詞的字符特徵形成新的矩陣C∈Rn×2dc。接下來,我們將C與字嵌入W的矩陣連接起來,並將連接表示爲F∈Rn×(dw + 2dc)。以F爲輸入,我們利用另一個MBi-GRU來學習隱藏狀態H = [h'M1,h'M2,...,h'Mn]作爲句子的最終表示。因此,分層兩層MBi-GRU架構可以考慮字符級和字級信息來學習高級抽象特徵。

然後就可以通過最終特徵表示來進行預測了,tfi是隱藏狀態H中的h'Mn,W和b就是權重和偏置。

正如我們上文中提到的,實驗中關注了實體標籤和情感標籤的邊界一致問題,爲了學習這層信息,我們將目標標籤信息引入情感分析標籤:

sfi = h′Mi ⊕ yti,W和b是權重和偏差。這樣就讓模型瞭解到了目標標籤信息在進行情感預測時。同時模型中使用了狀態轉移矩陣來記錄狀態之間的轉換概率,使用softmax進行結果的歸一化,最後得到的結果序列使用維特比算法解碼。

論文地址《Joint Learning for Targeted Sentiment Analysis》

項目的代碼我自己在看的時候可能做了一些改動,不過整體沒有刪掉,做了註釋,語料庫需要自己下載。

這裏就寫我自己上傳的github項目吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章