張玲 劉臣



摘要:特定目標情感分類不僅依賴于上下文信息,還需結(jié)合特定目標的特征信息,是一種細粒度的情感分析。針對特定目標情感分類提出了一種基于深度記憶網(wǎng)絡(luò)的分類模型。該模型以雙向LSTM和注意力機制為主干框架,從雙向LSTM中抽取出目標的特征表示,將目標特征信息加入句子表示中,并加入多計算層(Hops)結(jié)構(gòu),用以挖掘句子和目標更深層次的情感特征信息,每個計算層的結(jié)構(gòu)類似,共享參數(shù)。最后在SemEval2014和SemEval2016數(shù)據(jù)集上進行實驗,取得了比其它基準模型更好的效果。關(guān)鍵詞:特定目標情感分類;雙向LSTM網(wǎng)絡(luò);注意力機制;多計算層結(jié)構(gòu)
DOI:10.11907/rjdk.191222
中圖分類號:TP301 文獻標識碼:A 文章編號:1672-7800(2019)012-0040-04
0引言
情感分類是情感分析技術(shù)的核心,是對具有情感色彩的主觀文本進行分析并將文本分為積極、中立和消極3種類型的過程。情感分析研究一般可以分為3個層次:文件、句子和目標。特定目標情感分類是一種細粒度的情感分析,研究句子針對特定目標的情感極性。
特定目標情感分類的一個重要特征表現(xiàn)為:同一個句子針對不同的目標所表達的情感有可能是完全相反的。比如,句子“I came here with my friends last week,the food isgreat,but the service need to be improved?!贬槍Α癴ood”的情感是積極的,而針對“service”的情感卻是消極的。由此可見,句子所表達的情感極性與特征目標的特征信息緊密相關(guān)。因此在作特定目標情感分類時,如果忽略句子中包含的特定目標信息,就很可能導致出錯。
許多學者都對特定目標情感分類進行了研究,使用較多的方法是先利用特征提取工具,比如TF-IDF、n-gram、bag ofwords以及情感詞典等,對句子進行特征提取,然后用分類器(如支持向量機等)進行分類。盡管這些方法能夠取得不錯的分類效果,但所用到的特征提取工程需要耗費大量勞動力,而且分類器的效果很大程度上依賴于人工提取特征的效果。深度神經(jīng)網(wǎng)絡(luò)在很多領(lǐng)域都取得了良好效果,包括特定目標情感分類任務(wù)。情感分類任務(wù)中,使用較多的深度神經(jīng)網(wǎng)絡(luò)模型是長短期記憶網(wǎng)絡(luò)(LSTM)和卷積神經(jīng)網(wǎng)絡(luò)(cNN)。LSTM非常適合用于學習時間序列的分類、處理和預(yù)測,CNN因局部感知和參數(shù)共享而被廣泛使用。
特定目標情感分類效果不僅與上下文的文本信息相關(guān),還依賴于特定目標的特征信息,因此在作特定目標情感分類時有兩個需要特別注意的問題。
(1)如何合理表示包含多個詞的目標。為了完成特定目標情感分類,首先要高效地表示目標,特別是當目標包含多個詞時。比較常用的方法是取這幾個詞詞向量的平均值作為目標特征表示。但是這種表示方法會導致目標的特征信息被遺漏,甚至會因為平均值向量指向其它向量空間而導致分類錯誤。
(2)如何充分利用目標的特征信息。特定目標情感分類的目的是分析出句子針對某一目標的情感極性,而不是整個句子的情感極性。因此需要充分利用目標特征信息挖掘出對特定目標有情感傾向的上下文信息。
本文針對上述兩個問題,提出一個基于深度雙向LSTM的情感分類模型。該模型在兩個公開的數(shù)據(jù)集上都取得了較優(yōu)效果。
1相關(guān)工作
1.1基于CNN的特定目標情感分類
Gu等在2017年提出了一個兩級級聯(lián)CNN(c-CNN模型共同完成目標映射任務(wù)和情感分類任務(wù)。在第l級,他們使用多層卷積網(wǎng)絡(luò)檢測輸入句子是否屬于預(yù)先定義的目標類別;在第2級,他們使用單一卷積網(wǎng)絡(luò)對屬于預(yù)先定義的目標類別句子的情感極性進行分類。這種C-CNN模型雖然取得了良好效果,但當一個句子包含兩個目標,并且兩個目標的情感極性相反時,C-CNN模型就無法處理了。梁斌等于2018年提出一種基于CNN的分類模型,用CNN提取句子特征信息,引入多種注意力機制抓取目標特征信息。該模型效果良好,但容易出現(xiàn)過擬合現(xiàn)象。
1.2基于RNN的特定情感分類
循環(huán)神經(jīng)網(wǎng)(RNN)非常適合從經(jīng)驗中學習時間序列的分類、處理和預(yù)測。但是,標準RNN在消失梯度或爆炸梯度問題上存在不足。因此前人在作目標情感分類時,更多使用的是長期短期記憶(LSTM)和門控循環(huán)單位(GRU)。Soufian等先將詞向量、情感向量和詞性標簽向量的拼接向量傳人一個雙向GRU以提取、表示目標,再使用一個類似結(jié)構(gòu),不同的是在連接向量上添加了一個距離嵌入向量,預(yù)測句子對目標的情感極性。結(jié)果表明,從情感詞典(senticnet)獲得的情感相關(guān)特征有助于提升該模型的性能;陳思遠等首先使用CNN提取句子完整信息,然后對句子進行區(qū)域劃分,將CNN提取的句子特征信息和目標特征信息傳人區(qū)域LSTM,通過注意力機制調(diào)整句子特征信息和目標特征信息對分離的影響力;孟威等先用BiLSTM處理單詞信息,然后用CNN從BiLSTM處理結(jié)果中提取特征信息,并引入CRT機制將CNN和LSTM的優(yōu)勢加以整合。
1.3基于注意力機制的特定目標情感分類
注意力機制最先在圖像處理領(lǐng)域取得了卓越成效,其在序列建模中也很有效,因為它可以模擬組件之間的依賴關(guān)系,而不管它們之間的距離如何。在情感分類相關(guān)研究中,注意力機制大部分都是與深度神經(jīng)網(wǎng)絡(luò)結(jié)合起來使用。Wang等于2016年提出了一個基于注意力機制的LSTM模型,他們將句子的詞向量傳送給LSTM,然后將LSTM的輸出與目標詞向量結(jié)合計算出合適的注意力權(quán)重,最后得到包含目標特征信息的句子表示進行情感預(yù)測;Tan等于2016年提出的模型中舍棄了循環(huán)神經(jīng)網(wǎng)絡(luò),提出了一種基于注意力機制的多計算層(Hop)結(jié)構(gòu)模型。每個計算層的結(jié)構(gòu)類似,包含一個注意力模塊和一個線性轉(zhuǎn)換模塊,每一層的輸出作為下一層的輸入,將最后一個計算層的輸出作為句子表示,然后作出情感預(yù)測。實驗證明,多計算層結(jié)構(gòu)在任務(wù)中是起作用的。
1.4基于左中右結(jié)構(gòu)的特定目標情感分類
為了更好地模擬出目標和上下文的依賴關(guān)系,一些學者將句子切分成3部分:目標、目標左邊的上下文和目標右邊的上下文。Tang等提出了TD-LSTM模型和TC-LSTM模型,他們用一個正向傳遞的LSTM處理目標左邊的上下文和目標,用一個反向傳遞的LSTM處理目標右邊的上下文和目標,然后對兩個LSTM最后一個隱藏單元的輸出進行拼接,從而得到句子的特征表示,作出情感分類;Liu等提出了一個BILSTM-ATT-G模型,他們將詞向量傳給一個雙向LSTM,然后分別用注意力機制處理目標左右兩邊的上下文,最后加人門控機制控制決定使用句子的哪部分信息,該模型的創(chuàng)新點在于門控思想的創(chuàng)新使用;Zheng等在2018年提出,分別用3個雙向LSTM處理目標以及左右上下文3個部分,將3個部分的最后輸出拼接起來,作為句子特征表示,從而進行情感分類。
這些模型雖然取得了良好效果,但仍有很大的改善空間。搭建一個能夠充分利用目標特征信息的模型,更好地完成特定目標情感分類值得研究。
2模型提出
2.1模型概述
本文使用一個基于注意力機制的雙向LSTM作為模型的基本框架。雙向LSTM將正向傳遞與反向傳遞相結(jié)合,能夠?qū)W習到上下文的完整信息。注意力機制能夠幫助模型合理分配注意力,在編譯句子信息時更加高效。此外,本文還引入情感詞典(senticNet),通過Senticnet常識可以暗示目標和情感的語義聯(lián)系。為了將句子的情感分類與目標特征信息相結(jié)合,本文將目標從雙向LSTM中提取出來,在句子表示中重新加入目標特征信息。
為了挖掘句子和目標更深層次的信息,本文引人多計算層結(jié)構(gòu)(Hops)。每個計算層的結(jié)構(gòu)類似,包含一個注意力模塊和一個線性轉(zhuǎn)換模塊,每一層的輸出作為下一層的輸人。最終模型如圖2所示。
3實驗驗證
3.1實驗數(shù)據(jù)
將本文提出的模型在兩個基準數(shù)據(jù)集上進行評估。本文采用SemEval2014和SemEval2016的Restaurant評論數(shù)據(jù)集,以及SemEval2014的Laptop評論數(shù)據(jù)集。原始數(shù)據(jù)集里的情感分類有4項,分別是積極、中立、消極和對立。本文剔除情感為對立的數(shù)據(jù),因為此類數(shù)據(jù)較少,會導致不同類型數(shù)據(jù)分布不均勻,增加培訓難度。分別取90%和10%的數(shù)據(jù)作為訓練集和驗證集,數(shù)據(jù)分布狀況如表1所示。
3.2參數(shù)與指標
實驗中的參數(shù)設(shè)定如表2所示。詞向量的維度為300維,隱藏層的LSTM單元為256個,句子的最大長度為190,不足的在句子左邊補零,64個句子為一個批次。
3.3對比實驗
將本文提出的模型與以下幾個模型在上述兩個數(shù)據(jù)集上進行實驗。為了方便說明,將本文提出的模型命名為ASAM-BiLSTM模型。①BiLSTM,本文提出模型的最簡化,沒有額外加入目標特征信息和多計算層(Hops)結(jié)構(gòu);②Ba-sicmodel,本文提出模型的簡化,考慮了額外的目標特征信息,但是沒有加入多計算層(Hops)結(jié)構(gòu);③ATAE-LSTM,Wang等提出的模型;④Deep memory network,Tang等提出的模型;⑤Variants,在本文提出模型的基礎(chǔ)上,改變Hops數(shù),從1到8。
3.4實驗結(jié)果
實驗結(jié)果如表3所示。
3.5結(jié)果分析
如表3所示,本文提出的ASAM-BiLSTM模型較ATAE-LSTM模型和Deep memory network具有更好的效果。具有5個計算層的ASAM-BiLSTM模型在Restaurant數(shù)據(jù)集上的最高準確率為80.8%。
3.5.1目標特征信息的必要性
從實驗結(jié)果可以看出,Basic Model在兩個數(shù)據(jù)集上的表現(xiàn)均優(yōu)于BiLSTM,這一結(jié)果并不意外。特定目標情感分類效果不僅與上下文的文本信息相關(guān),還依賴于目標的特征信息。BiLSTM在信情感分類時僅僅考慮了上下文,而沒有考慮特定目標的特征信息,因此模型的準確率不高,而加入特定目標的特征信息的Basic Model在兩個數(shù)據(jù)集上的表現(xiàn)都得到了提高。在作特定目標情感分類時,充分考慮到特定目標的特征信息很有必要。
3.5.2多計算層結(jié)構(gòu)(Hops)的必要性
實驗結(jié)果顯示,具有不同Hops數(shù)的ASAM-BiLSTM模型具有不同的分類效果,這說明多計算層結(jié)構(gòu)確實對模型效果有一定影響。在Restaurant數(shù)據(jù)集上,具有5個計算層的ASAM-BiLSTM模型的準確率為80.8%,比沒有多計算層結(jié)構(gòu)的Basic Model高出6.6%,模型效果明顯提高。
但是該研究并不確定多計算層結(jié)構(gòu)在所有分類任務(wù)中都有效果,因為從實驗結(jié)果看,ASAM-BiLSTM在Laptop數(shù)據(jù)集上,并沒有Basic Model的效果好。原因可能在于Laptop數(shù)據(jù)集太小,多計算層結(jié)構(gòu)無法發(fā)揮作用,因為越復(fù)雜的模型需要的訓練數(shù)據(jù)越多。但在本文實驗中,多計算層結(jié)構(gòu)在Restaurant數(shù)據(jù)集上確實是有效的。
4結(jié)語
本文充分考慮如何合理表示包含多個詞的目標和如何充分利用目標的特征信息后,提出了一個基于深度雙向LSTM的情感分類模型。實驗中并沒有直接用雙向LSTM最后隱層單元的輸出作為句子特征表示,而是引人注意力機制,取所有單元的加權(quán)平均進行句子表示,這樣可以盡可能地保留句子的完整信息。特定目標特征信息的加入和多計算層(Hops)結(jié)構(gòu)都能使模型取得良好效果。實驗結(jié)果表明,本文提出的模型在兩個數(shù)據(jù)集上效果良好。下一步將繼續(xù)改進模型,嘗試輸出句子的情感極性和情感所指向的特定目標。