宋 婷 ,陳戰(zhàn)偉
(1.太原科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原030024;2.中國移動(dòng)通信集團(tuán)山西有限公司,山西 太原030001)
情感分析是自然語言處理任務(wù)之一,文本中針對(duì)某實(shí)體給出總體評(píng)價(jià)的同時(shí),對(duì)于實(shí)體的不同屬性也會(huì)分別給出各自觀點(diǎn),由此文本的方面級(jí)情感分析是情感分析的重要任務(wù)之一,實(shí)現(xiàn)對(duì)文本觀點(diǎn)更深層次的情感挖掘。如何利用自然語言處理現(xiàn)有技術(shù)從社交網(wǎng)絡(luò)大量信息中獲取文本的情感傾向,是方面情感分析的主要研究工作。
方面級(jí)情感分析首先對(duì)方面詞進(jìn)行提取,方面詞可以是一個(gè)單詞,或者是一個(gè)短語;接著針對(duì)提取出的不同方面分別獲取情感信息。 例如:“Good food but dreadful service at that restaurant”,句中的評(píng)論實(shí)體是餐廳,分別對(duì)它的兩個(gè)方面即兩種屬性描述觀點(diǎn),兩種屬性分別是food 和service,相對(duì)應(yīng)的情感極性分別是積極和消極。 由此得出兩個(gè)方面情感極性可能相同,也可能相反。
深度學(xué)習(xí)在自然語言處理領(lǐng)域被廣泛應(yīng)用,深度神經(jīng)網(wǎng)絡(luò)模型早期在機(jī)器翻譯、文本情感分類等任務(wù)中取得了比以往更好的效果。 注意力機(jī)制的結(jié)合使神經(jīng)網(wǎng)絡(luò)模型高度關(guān)注特定目標(biāo)的特征信息,當(dāng)前使用較多的結(jié)合注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)模型有卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[1-2]。文獻(xiàn)[3]提出基于多注意力機(jī)制的CNN,計(jì)算詞向量、詞性、位置信息的注意力機(jī)制,結(jié)合卷積神經(jīng)網(wǎng)絡(luò),在不依賴外部知識(shí)的情況下獲取方面級(jí)情感極性。 文獻(xiàn)[4]提出首先利用長短期記憶網(wǎng)絡(luò)(LSTM)獲取句子的上下文信息,再使用卷積神經(jīng)網(wǎng)絡(luò)提取注意力獲得具體的句子表示,模型中嵌入了方面信息,取得較好的分類效果。 基于注意力機(jī)制的CNN使用濾波器獲取文本特征,僅得到局部單詞間的依賴關(guān)系,未得到整體句子中所有單詞間關(guān)系。 基于注意力機(jī)制的RNN、LSTM 等循環(huán)神經(jīng)網(wǎng)絡(luò)考慮前一時(shí)刻的狀態(tài)信息,對(duì)過往信息具有記憶功能,但文本中單詞間的依賴關(guān)系隨著距離的增大逐漸減弱。 上述兩種情況均使用單一注意力模式。 本文提出層次化雙注意力GRU 網(wǎng)絡(luò)的方面級(jí)情感分析模型,主要貢獻(xiàn)如下:
(1)提出采用雙注意力機(jī)制模式進(jìn)行方面級(jí)情感分析,通過特定方面目標(biāo)在句中的注意力機(jī)制和文本上下文自注意力機(jī)制,抽取方面特征信息和句子的全局依賴信息,從而深層次地獲取情感特征。
(2)利用層次化的GRU 網(wǎng)絡(luò)獲取句子內(nèi)部和句子間的依賴關(guān)系。 網(wǎng)絡(luò)下層嵌入特定方面信息,獲取了針對(duì)方面目標(biāo)的局部特征信息,網(wǎng)絡(luò)上層通過雙注意力機(jī)制和詞語層的輸入,獲取針對(duì)特定方面整體文本的特征依賴信息。
(3)在SemEval 2014 兩個(gè)數(shù)據(jù)集和Twitter 數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),驗(yàn)證了該方法的有效性,針對(duì)方面級(jí)情感,分類準(zhǔn)確率均得到了有效提升。
方面級(jí)情感分析屬于細(xì)粒度情感分析,早期研究中使用情感詞典、機(jī)器學(xué)習(xí)等傳統(tǒng)方法[5-6],需要大量預(yù)處理過程、復(fù)雜的特征工程和外部知識(shí)分析,耗時(shí)且模型效果差。
近期,深度學(xué)習(xí)在方面情感分類中有了較大突破,取得比傳統(tǒng)方法更好的效果。 文獻(xiàn)[7]提出基于門控制的卷積神經(jīng)網(wǎng)絡(luò)模型,根據(jù)特定的實(shí)體方面屬性選擇性地輸出結(jié)果,模型速度和準(zhǔn)確率得到較好效果。 文獻(xiàn)[8]提出將Senti-LSTM 模型應(yīng)用于方面情感分析,同時(shí)結(jié)合情感常識(shí)獲得了較好的情感分類效果。 文獻(xiàn)[9]提出AE-LSTM 神經(jīng)網(wǎng)絡(luò)和ATAELSTM 神經(jīng)網(wǎng)絡(luò)模型,二者都嵌入了方面信息,通過LSTM 獲取文本上下文特征信息,最終建模生成注意力向量,后者比前者嵌入效果增強(qiáng)。 文獻(xiàn)[10]提出將卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)聯(lián)合用于方面情感預(yù)測,方法中使用了投票策略。
早期,注意力機(jī)制首先應(yīng)用到機(jī)器翻譯中,提出全局和局部兩種注意力機(jī)制[11]。 文獻(xiàn)[12]利用長短期記憶網(wǎng)絡(luò)結(jié)合注意力機(jī)制獲取方面情感分類,方法中關(guān)注方面屬性和情感術(shù)語的內(nèi)在聯(lián)系。 文獻(xiàn)[13]提出將卷積操作和注意力機(jī)制結(jié)合,通過卷積操作得到某一方面的注意力。 文獻(xiàn)[14]提出將卷積神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制結(jié)合用于句子對(duì)建模,在卷積、池化的同時(shí)都進(jìn)行注意力計(jì)算。 文獻(xiàn)[15]提出利用全局注意力獲取某一方面的粗略信息特征,利用語法指導(dǎo)的局部注意力獲取距離某一方面較近的單詞,最終合成全局注意力和局部注意力,避免句中與某一方面情感獲取低相關(guān)的單詞獲得高注意力分?jǐn)?shù)。 文獻(xiàn)[16]提出基于注意力機(jī)制的Transformer 網(wǎng)絡(luò),其中使用大量自注意力獲取句中單詞關(guān)系,提出多頭注意力機(jī)制,不再是傳統(tǒng)的單一注意力,通過線性變換過程獲取深層次的注意力表示。 由此證明注意力機(jī)制在方面級(jí)情感分析領(lǐng)域的有效性,近期研究較多圍繞深度神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制進(jìn)行。
本節(jié)主要介紹層次化雙注意力GRU 網(wǎng)絡(luò)的方面級(jí)情感分析模型的相關(guān)細(xì)節(jié)。 圖1 為網(wǎng)絡(luò)模型圖,由4 大部分組成:雙注意力層(包含方面目標(biāo)詞注意力機(jī)制和上下文語義注意力機(jī)制)、單詞層GRU 網(wǎng)絡(luò)、句子層GRU 網(wǎng)絡(luò)、情感輸出層。 具體描述如下:
(1)方面注意力層。 通過獲取方面詞嵌入矩陣和文本上下文語義詞嵌入矩陣的注意力值,得到方面的注意力信息。
(2)上下文語義自注意力層。 獲取句中每一個(gè)位置上的單詞與句中其他單詞的依賴關(guān)系,計(jì)算兩者間的注意力得分,從而獲取文本全局上下文語義間的依賴關(guān)系。
圖1 層次化雙注意力網(wǎng)絡(luò)模型
(3)單詞層GRU 網(wǎng)絡(luò)。 其中在傳統(tǒng)GRU 網(wǎng)絡(luò)嵌入了方面特征,當(dāng)前時(shí)刻狀態(tài)由上一時(shí)刻輸出和新嵌入信息決定。
(4)句子層GRU 網(wǎng)絡(luò)。 雙注意力層輸出和詞語層GRU 的輸出合并進(jìn)入句子層GRU 網(wǎng)絡(luò),從而得到整體文本間的依賴關(guān)系。
本節(jié)針對(duì)句中的特定方面分析句中的哪些內(nèi)容與其有較高相關(guān)度,比如句中情感詞、與方面相對(duì)應(yīng)的觀點(diǎn)詞等。
方面注意力機(jī)制如圖2 所示。 假設(shè)句子s 中抽取的兩個(gè)特定方面向量矩陣表示為WAsp=(WAsp1,WAsp2),句子s 的詞向量矩陣為Ws,將每一個(gè)方面詞嵌入矩陣與上下文詞嵌入矩陣進(jìn)行注意力計(jì)算,如式(1)所示,從而獲取句子某一方面的注意力信息。
二者注意力計(jì)算采用加性相似度函數(shù),如式(2)所示,使用的是神經(jīng)網(wǎng)絡(luò),其中,σ(·)表示激活函數(shù),wT是訓(xùn)練參數(shù)。相似度向量Eij進(jìn)行歸一化操作得到, 得到的注意力權(quán)重向量代表某一位置上方面詞與上下文語義的相關(guān)程度,如式(3)所示。
權(quán)重向量矩陣中對(duì)應(yīng)元素與上下文詞向量加權(quán)求和得到最終的注意力值,如式(4)所示:
本節(jié)獲取句中每一個(gè)位置上的單詞與句中其他單詞的依賴關(guān)系,計(jì)算兩者間的注意力得分,從而獲取全局的結(jié)構(gòu)信息。 本文采用自注意力機(jī)制獲取上下文語義依賴關(guān)系。
通過句子做不同的線性變換獲取全面的注意
圖2 方面注意力機(jī)制
式中采用的是縮放點(diǎn)積注意力計(jì)算相似度,計(jì)算速度更快且減少了高維計(jì)算過程中產(chǎn)生的損失,其中,dk是矩陣K 中列向量維度。
本文使用層次化的GRU 網(wǎng)絡(luò)分別獲取句子層和詞語層上下兩層特征信息,下層獲取句子內(nèi)部單詞層面之間的聯(lián)系,上層獲取不同句子之間的相關(guān)程度。
2.4.1 詞語層GRU 網(wǎng)絡(luò)
詞語層GRU 網(wǎng)絡(luò)針對(duì)句子特定方面目標(biāo)詞獲取單詞間特征聯(lián)系,按方面劃分的分句中包含了和方面相關(guān)度最大的特征信息,單詞層面抽取的是單詞間局部特征。
每一個(gè)GRU 單元以上一時(shí)刻隱藏層的狀態(tài)和本時(shí)刻輸入決定,詞語層網(wǎng)絡(luò)嵌入了方面信息獲取基于方面的局部特征,如圖3 所示。
圖3 詞語層GRU 網(wǎng)絡(luò)
句子s 經(jīng)過GRU 網(wǎng)絡(luò)得到每一時(shí)刻的隱藏層狀態(tài)輸出為h={h1,h2,…,hn},h∈Rd×n,其中d 為輸出向量的維度。 將特定方面詞向量WAsp和上一時(shí)刻網(wǎng)絡(luò)的輸出隱藏層狀態(tài)hi線性組合,共同決定下一時(shí)刻的網(wǎng)絡(luò)狀態(tài),如式(6)所示:
其中,Wh、Wa分別是隱藏層輸出和方面向量相應(yīng)的權(quán)重矩陣,通過訓(xùn)練過程調(diào)整權(quán)重參數(shù)達(dá)到特定方面目標(biāo)的高關(guān)注度。
2.4.2 句子層GRU 網(wǎng)絡(luò)
僅依賴詞語層網(wǎng)絡(luò)不能獲取充分的特征信息,不同句子間也有著密切的聯(lián)系,尤其對(duì)一些短句和表達(dá)不清的句子,需要利用句子層網(wǎng)絡(luò)獲取的整個(gè)文本情感信息來判斷。
將雙注意力與詞語層GRU 的輸出結(jié)果合并作為句子層GRU 網(wǎng)絡(luò)的輸入x′,如式(7)~式(8)所示:
其中,attA和attS分別是通過方面注意力機(jī)制和上下文注意力機(jī)制計(jì)算所得的注意力值,hn是詞語層網(wǎng)絡(luò)最末一層GRU 神經(jīng)單元最終的輸出。
本文使用一個(gè)全連接層函數(shù)接收句子層GRU網(wǎng)絡(luò)的輸出,得到文本情感分類結(jié)果,如式(9)所示:
其中,W 是全連接層權(quán)重參數(shù),b 是全連接層偏置項(xiàng),hj是句子層網(wǎng)絡(luò)的最終輸出。 本文使用反向傳播算法訓(xùn)練網(wǎng)絡(luò)模型,通過最小化交叉熵優(yōu)化模型,如式(10)所示:
其中,D 是訓(xùn)練集大小,C 是數(shù)據(jù)類別數(shù),y 是文本的預(yù)測類別,y?是實(shí)際的類別,λ||θ||2是交叉熵正則項(xiàng)。
本文提出基于層次化雙注意力GRU 網(wǎng)絡(luò)的方面級(jí)情感分析模型(HDAG),采用SemEval 2014 Task4的Laptop、Restaurant 數(shù)據(jù)集和Twitter 數(shù)據(jù)集進(jìn)行驗(yàn)證,數(shù)據(jù)集中包含四種情感類別:積極、消極、中立、沖突,由于最后一類數(shù)據(jù)在數(shù)據(jù)集中所占比例較低,實(shí)驗(yàn)用數(shù)據(jù)只保留積極、消極、中立三種。 實(shí)驗(yàn)數(shù)據(jù)集數(shù)據(jù)統(tǒng)計(jì)如表1 所示。
表1 實(shí)驗(yàn)數(shù)據(jù)信息
本文實(shí)驗(yàn)的評(píng)價(jià)指標(biāo)采用分類準(zhǔn)確率,文本詞向量采用Glove 進(jìn)行初始化,詞向量的維度為300。采用均勻分布U(-0.01,0.01)對(duì)未登錄詞隨機(jī)初始化,偏置初始化為0,隨機(jī)失活率(Dropout)設(shè)置為0.5,L2正則項(xiàng)系數(shù)設(shè)置為10-4,訓(xùn)練采用Adam 優(yōu)化器更新模型參數(shù),初始學(xué)習(xí)率設(shè)置為0.01。
本文提出的基于層次化雙注意力GRU 網(wǎng)絡(luò)的方面級(jí)情感分析模型(HDAG)在兩個(gè)領(lǐng)域的三個(gè)數(shù)據(jù)集上分別與以下模型進(jìn)行對(duì)比,以驗(yàn)證模型性能:
(1)CNN:采用卷積神經(jīng)網(wǎng)絡(luò)模型,模型中輸入的是獨(dú)立的句子,在方面級(jí)情感分類中無方面信息和注意力機(jī)制的結(jié)合,不能獲取針對(duì)方面的文本內(nèi)部依賴關(guān)系,是一種最基本的卷積神經(jīng)模型[17]。
(2)ATT-CNN:采用基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò),以獨(dú)立句子為輸入,針對(duì)特定方面目標(biāo)計(jì)算注意力機(jī)制,在卷積層對(duì)方面相關(guān)情感信息高度關(guān)注,針對(duì)方面級(jí)情感分類效果有所提升,但不能獲得文本句間的聯(lián)系[18]。
(3)LSTM:采用最基礎(chǔ)的長短期記憶網(wǎng)絡(luò),模型中輸入獨(dú)立的句子進(jìn)行方面情感分析,不能針對(duì)特定方面目標(biāo)獲取相應(yīng)情感信息[19]。
(4)LSTM-R:基于LSTM 的模型,整體文本評(píng)論作為模型輸入,模型中關(guān)注了文本句子間的緊密聯(lián)系,針對(duì)特定方面未關(guān)注其注意力機(jī)制[20]。
(5)TD-LSTM:通過兩個(gè)LSTM 對(duì)左、右兩個(gè)方向分別獲取文本上下文信息,獲得情感分類結(jié)果[21]。
(6)ATAE-LSTM: 將特定方面信息嵌入文本句子向量,利用注意力機(jī)制獲取文本信息權(quán)重,從而得到情感分類結(jié)果[9]。
將本文提出的網(wǎng)絡(luò)模型(HDAG)與對(duì)比模型進(jìn)行比較,實(shí)驗(yàn)結(jié)果如表2 所示。
表2 不同模型的方面級(jí)情感分類準(zhǔn)確率(%)
分析表2 實(shí)驗(yàn)結(jié)果,類似第一行和第三行沒有嵌入方面信息及注意力機(jī)制的模型,情感分類效果欠佳;基于LSTM 的模型優(yōu)于基于CNN 的模型,是因?yàn)長STM 緩解了句子的長距離依賴問題;ATT-CNN和ATAE-LSTM 加入注意力機(jī)制獲取情感分類結(jié)果的模型分類準(zhǔn)確率普遍高于無注意力機(jī)制模型,證明注意力機(jī)制對(duì)方面情感分類有一定提高作用,由于CNN 的局限性,加入注意力機(jī)制的CNN 不如注意力機(jī)制與LSTM 相結(jié)合的網(wǎng)絡(luò)的分類效果好,ATAE-LSTM 嵌入了特定方面的情感特征,分類準(zhǔn)確率在幾種對(duì)比模型中相較最高;LSTM-R 將整體文本作為輸入,獲取了文本中句子間的關(guān)系,比以獨(dú)立句子作為輸入的模型情感分類效果更好,由此可得文本句間的相互關(guān)系對(duì)情感分類的重要性。
本文提出的網(wǎng)絡(luò)模型在特定方面的情感分類準(zhǔn)確率優(yōu)于對(duì)比模型,驗(yàn)證了模型的有效性,對(duì)比模型中均使用單一的注意力機(jī)制,本文使用雙注意力機(jī)制獲取文本全局的依賴信息,使用分層的神經(jīng)網(wǎng)絡(luò)模型獲取文本全局的情感特征信息,從而得到更好的分類效果。
本文計(jì)算特定方面目標(biāo)的注意力機(jī)制和文本句子自注意力機(jī)制分別采用的是加性注意力和縮放點(diǎn)積注意力機(jī)制。
圖4 注意力機(jī)制準(zhǔn)確率
圖4 是分別采用兩種注意力機(jī)制的模型在三個(gè)數(shù)據(jù)集上不同迭代次數(shù)的平均準(zhǔn)確率,加性注意力采用的是神經(jīng)網(wǎng)絡(luò)模型,在不同的迭代次數(shù)下略高于縮放點(diǎn)積注意力機(jī)制。 圖5 是兩種注意力在三個(gè)數(shù)據(jù)集上的運(yùn)行時(shí)間,加性注意力需要訓(xùn)練參數(shù),可以看出縮放點(diǎn)積注意力機(jī)制下的運(yùn)行時(shí)間更短。
圖5 不同注意力機(jī)制下的運(yùn)行時(shí)間
因此本文方面注意力采用加性注意力機(jī)制;句子的自注意力過程需要多次線性變換,故采用點(diǎn)積注意力機(jī)制。
在以往工作中,方面情感分析模型僅考慮單一層面注意力機(jī)制,且無法獲取句子間依賴關(guān)系。 本文提出一種層次化的雙注意力神經(jīng)網(wǎng)絡(luò)模型用于方面級(jí)情感分析,針對(duì)特定方面引入方面目標(biāo)的注意力機(jī)制以及文本上下文自注意力機(jī)制,獲取方面特征信息和句子的全局依賴信息; 設(shè)計(jì)層次化GRU 網(wǎng)絡(luò),其中單詞層嵌入特定方面信息,獲取針對(duì)方面目標(biāo)的句子內(nèi)部特征信息,句子層網(wǎng)絡(luò)通過雙注意力機(jī)制和詞語層的輸入,獲取句子間的特征依賴信息,從而實(shí)現(xiàn)深層次的方面情感分類。 模型沒有考慮文本的時(shí)序性問題,以及針對(duì)跨領(lǐng)域詞匯,模型的分類效果還有待提升,此工作將是下一步研究的重點(diǎn)。