楊 強(qiáng) 滕奇志 卿粼波 何小海
(四川大學(xué) 四川 成都 610065)
作為情感分析的一個重要子任務(wù),基于方面詞的情感分類是一種細(xì)粒度的情感分類任務(wù),旨在識別句中不同方面的情感極性[1]。例如,給定一個句子“They use fancy ingredients, but even fancy ingredients don’t make for good pizza unless someone knows how to get the crust right.”,對方面詞“ingredients”“pizza”和“crust”的情感極性分別是積極、消極和中立。
在自然語言處理(Natural Language Processing,NLP)領(lǐng)域,基于方面詞的情感分類正受到越來越多的關(guān)注,在實際生活中的應(yīng)用也越來越廣泛,如:網(wǎng)絡(luò)言論檢測、個性化推薦系統(tǒng)[2]等。早期的工作主要是通過人工設(shè)置和提取一些特征,然后送入分類器進(jìn)行情感分類,最典型的分類器就是SVM[3],但是手動提取特征通常會耗費大量的人力和時間,并且效果也不是很理想。為了解決該問題,對自動特征提取技術(shù)的研究受到了廣泛關(guān)注。以前有一些工作提出通過句法關(guān)系[8]將上下文詞的情感特征自適應(yīng)地傳遞到方面詞,如通過構(gòu)建一棵句法分析樹去識別不同方面的情感特征。盡管這些方法有效,但它們并沒有考慮方面詞和上下文詞之間的句法關(guān)系。TD-LSTM[4](Target-Dependent Long Short-Term Memory)和TC-LSTM[4](Target-Context Long Short-TermMemory)網(wǎng)絡(luò)模型,對LSTM(Long Short-Term Memory)模型進(jìn)行了改善,將方面詞向量和上下文詞向量聯(lián)合編碼,使模型可以捕獲方面詞周圍上下文詞的特征,提取出方面詞和上下文詞之間的句法關(guān)系。
注意力機(jī)制可以使模型對句子中重要的部分給予更多的關(guān)注。隨著注意力機(jī)制在機(jī)器翻譯中的廣泛應(yīng)用,很多工作也致力于將注意力機(jī)制應(yīng)用于基于方面詞的情感分類的任務(wù)中,如AEAT-LSTM[5](Attention Long Short-Term Memory)網(wǎng)絡(luò)模型、Attention-based LSTM2[6]網(wǎng)絡(luò)模型。這些模型可以有效提取方面詞和其上下文詞之間的語義關(guān)系[7],卻忽略了方面詞和其上下文詞之間的句法關(guān)系,這可能會影響基于方面的上下文表示的有效性。因為給定的方面可能會出現(xiàn)在描述上接近該方面但在語法上與該方面不相關(guān)的幾個上下文單詞中,例如“Its size is ideal and the weight is acceptable.”,基于語義相關(guān)性,方面詞“size”會很容易被“acceptable”描述,但實際上并非如此。以前的一些工作已經(jīng)使用了句法分析,但是單詞級別的句法解析可能會阻礙跨不同短語的特征提取,因為一個方面的情感極性通常是由關(guān)鍵短語而不是單個單詞決定的。
為了解決上述方法的不足,受位置機(jī)制啟發(fā)[10],句子中離方面詞越遠(yuǎn)的上下文詞對方面詞情感特征的提取貢獻(xiàn)越少。據(jù)此,本文利用不同上下文詞在方面上的句法接近性,依據(jù)上下詞在句中的位置不同分配給它們不同的權(quán)重,用來度量不同上下文詞對方面詞的重要程度。本文采用位置權(quán)重和依賴權(quán)重兩種方法來提取方面詞和上下文詞之間的句法關(guān)系。
本文在SemEval 2014[19]Task4數(shù)據(jù)集進(jìn)行了多組對比實驗,實驗結(jié)果表明,與一系列最新模型相比,本文提出的模型在情感預(yù)測的準(zhǔn)確率和F1值上均有明顯提升,充分驗證了該模型的有效性和可靠性。
情感分析也稱為觀點挖掘,是自然語言處理領(lǐng)域中重要的研究課題[15-16]。目前,將注意力機(jī)制與神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,已成為特定方面情感分析問題的主流方法。注意力機(jī)制的應(yīng)用使得模型對句子中重要成分的關(guān)注度進(jìn)一步增強(qiáng),有效避免了長距離情感特征在傳遞過程中出現(xiàn)的特征丟失問題[17]。ATAE-LSTM[5]網(wǎng)絡(luò)模型將LSTM網(wǎng)絡(luò)和注意力機(jī)制結(jié)合,該模型將方面詞與上下文詞聯(lián)合編碼進(jìn)行方面級情感分類;RAM[2]網(wǎng)絡(luò)模型在雙向LSTM的基礎(chǔ)上構(gòu)建多頭注意力,使模型對句子的情感特征進(jìn)行更深層次的關(guān)注;AOA[17](Attention-Over-Attention)網(wǎng)絡(luò)模型在計算注意力權(quán)重時,同時計算橫向和縱向的注意力得分,然后將注意力得分進(jìn)行融合,使模型可以從不同角度關(guān)注句子的情感特征。
注意力機(jī)制可以有效地捕捉長距離的情感特征,但它更加關(guān)注的是句子上下文詞和方面詞之間的語義關(guān)系,卻忽略了方面詞和其上下文詞之間的句法關(guān)系,因為給定的方面可能會出現(xiàn)在描述上接近該方面但在語法上與該方面不相關(guān)的幾個上下文單詞中,從而導(dǎo)致對某方面情感極性的誤判。
PWCN[14]網(wǎng)絡(luò)模型利用上下文詞在方面上的句法接近性,依據(jù)上下文詞在句中的位置賦予它們不同的權(quán)重信息,以確定其在句中的重要性,從而捕獲方面詞和上下文詞的句法關(guān)系。
整個模型框架如圖1所示。嵌入層將單詞映射成低維度的數(shù)值向量矩陣E∈R|V|×de,|V|是句中單詞個數(shù),de表示單詞向量維數(shù)。由詞嵌獲得單詞向量表示后送入Bi-LSTM(Bi-directional Long-Short Term Memory)網(wǎng)絡(luò)獲得隱藏層的輸出向量H={h0,h1,…,hn-1},其中hi∈R2×dh是從前向LSTM和后向LSTM獲得的隱藏狀態(tài)的級聯(lián),dh是單向LSTM中隱藏狀態(tài)向量的維數(shù)。
圖1 基于聯(lián)合學(xué)習(xí)的方面情感分析模型框架
先將隱藏層狀態(tài)的輸出送入注意力機(jī)制網(wǎng)絡(luò),如捕獲方面詞和上下文詞之間的語義關(guān)系;然后再將隱藏層輸出送入鄰近加權(quán)卷積神經(jīng)網(wǎng)絡(luò),捕獲方面詞和上下文詞之間的句法關(guān)系;最后將注意機(jī)制網(wǎng)絡(luò)輸出的特征向量與鄰近權(quán)重卷積網(wǎng)絡(luò)輸出的特征向量加權(quán)融合,送入全連接神經(jīng)網(wǎng)絡(luò)中得到某方面的情感極性。
嵌入層將每個單詞映射到高維向量空間。采用預(yù)訓(xùn)練的詞嵌矩陣GloVe[18]去獲得每個單詞的固定詞嵌。每個單詞由一個固定的嵌入量表示為et∈Rdemb×1,上下文單詞的嵌入表示為矩陣Ec∈Rdemb×1,第i個方面的嵌入表示為矩陣Eai∈Rdemb×Mi。本文模型中如果方面詞是一個短語,會對方面詞短語進(jìn)行去停用詞處理,只保留方面短語中更為重要的部分,充分提高模型對重要方面詞的關(guān)注。
ht={h0,h1,…,hn-1}
(1)
式中:hi∈R2×dh是分別從前向LSTM和后向LSTM獲得的隱藏狀態(tài)的級聯(lián),dh是單向LSTM中隱藏狀態(tài)向量的維數(shù)。
獲得了方面詞和上下文詞的表示ht后,會將ht送入注意力機(jī)制網(wǎng)絡(luò)以獲得方面詞和上下文詞之間的語義關(guān)系。注意力網(wǎng)絡(luò)將會輸出連續(xù)的一維向量v,是被注意力系數(shù)加權(quán)之后的向量:
(2)
式中:αi∈[0,1],為每個單詞的注意力分?jǐn)?shù)。
(3)
特定方面的注意力機(jī)制網(wǎng)絡(luò)如圖2所示。
以往基于注意力的模型主要關(guān)注如何根據(jù)句子中上下文詞和方面詞的語義關(guān)聯(lián)性來獲得文本的表示[20]。這些模型在不考慮句法信息的情況下,根據(jù)潛在語義空間中的詞向量表示計算注意力權(quán)重,這可能會限制模型的有效性,因為它們可能錯誤地識別表示方面的上下文單詞。本文通過構(gòu)建句法依賴樹來發(fā)現(xiàn)方面詞的情感特征,獲得方面詞和上下文之間的句法關(guān)系。我們將這種句法依賴信息形象的稱為鄰近權(quán)重,它表征了方面詞對上下文詞的句法接近度。如“Its size is ideal and the weight is acceptable.”上下文詞“ideal,acceptable”與方面詞“weight”在語義上是很相關(guān)的,有很大可能去描述方面詞“weight”。但是,從句法的角度來看,“ideal”在句法上與“weight”是不相關(guān)的。事實上“acceptable”是對“weight”真正的描述,表達(dá)了積極的情感傾向。
本文采用兩種不同的方式作為上下文詞對方面詞在句法上的接近度表示:位置權(quán)重和依賴權(quán)重。
2.4.1位置權(quán)重
一般來說一個方面詞周圍的詞都是描述這個方面的,因此可以將這種位置信息視為近似句法接近度的測量。位置權(quán)重可以由式(4)表示。
(4)
式中:τ表示方面詞短語開始的位置;i表示第i個上下文詞的位置;n表示句子中單詞的總數(shù);m表示方面詞短語包含的單詞個數(shù);Pi表示第i個上下文詞的位置權(quán)重。直觀上來講,上下文詞離某一方面詞短語越遠(yuǎn),其位置權(quán)重越小。
2.4.2依賴權(quán)重
除了上下文中的絕對位置之外,還可以考慮構(gòu)建一棵句法依賴樹,測量上下文詞對方面詞的距離。
例如:“the food is awesome-definitely try the striped bass.”。以“food”作為方面詞,本文首先構(gòu)建一棵依賴樹,然后為上下文詞計算基于樹的距離。每個上下文詞和方面詞“food”之間的距離都是這棵樹中最短的路徑。如果方面詞不止包含一個單詞,本文取上下文詞與所有方面詞組成詞之間基于樹的最小距離作為結(jié)果。在不常見的情況下,如果上下文中存在多個依賴樹,本文手動將其他樹中方面詞和上下文詞之間的距離設(shè)置為恒定,該值為句子長度的一半。
為了更好地解釋該方法,圖3顯示了一個示例句子。通過上述方法,句子中所有單詞基于方面詞“aluminum”的距離d={d0,d1,…,dn-1}已在圖中進(jìn)行了標(biāo)注。句子中上下文詞的權(quán)重系數(shù)如式(5)所示。
圖3 依賴權(quán)重
(5)
與使用單詞級功能相比,具有短語級功能的方面級情感分類效果更佳。本文采用一種鄰近權(quán)重卷積神經(jīng)網(wǎng)絡(luò),其本質(zhì)上是一維卷積,使用長度為l的內(nèi)核,即l-gram。不同于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò),在進(jìn)行卷積計算之前,卷積神經(jīng)網(wǎng)絡(luò)會被分配鄰近權(quán)重。鄰近權(quán)重的分配如下:
ri=pi*hi
(6)
式中:ri∈R2×dh表示句子中第i個單詞的鄰近加權(quán)表示。
此外,本文對句子進(jìn)行零填充以確保卷積輸出與輸入句子長度有相同的序列,卷積過程如式(7)、式(8)所示。
(7)
(8)
式中:qi∈R2×dh表示從卷積神經(jīng)網(wǎng)絡(luò)中提取到特征,Wc∈Rl·2dh×2dh和bc∈R2dh是卷積核的權(quán)重和偏差,t是一維卷積的長度。
由于卷積層的輸出特征只有部分對分類有指導(dǎo)意義,因此通過一個核長度為n的一維max-pooling層來選擇最顯著的特征,如式(9)所示。
(9)
如上文所述,由注意力機(jī)制網(wǎng)絡(luò)得到了方面詞和上下文詞之間語義關(guān)系的向量表示v,由鄰近權(quán)重卷積神經(jīng)網(wǎng)絡(luò)得到了方面詞和上下文詞之間句法關(guān)系的向量表示qs。為了充分考慮方面詞和上下文詞之間的句法及語義關(guān)系,本文將qs和v進(jìn)行加權(quán)融合,送入到一個全連接層,最后進(jìn)行Softmax得到對方面詞的情感極性,如式(10)-式(11)所示。
qs=α×qs+(1-α)×v
(10)
(11)
式中:bf∈Rdp是全連接層偏置,Wf∈R2dh×dp是要學(xué)習(xí)的權(quán)重參數(shù)。
(12)
式中:j是情感標(biāo)簽的索引,分別是:積極、中立和消極。i是句子的索引;λ是L2正則項,θ表示所有可訓(xùn)練的參數(shù)。
為了驗證本文提出的模型性能,本文在SemEval 2014[19]數(shù)據(jù)集上進(jìn)行實驗,此數(shù)據(jù)集包含對筆記本電腦和餐廳的評論信息。表1顯示了SemEval 2014[19]數(shù)據(jù)集的基本信息,每一個數(shù)據(jù)集都包含訓(xùn)練集和測試集。數(shù)據(jù)集中的每個評論包含一個或多個方面詞及其對應(yīng)的情感極性,即積極、消極和中立。具體而言,表1中的數(shù)字表示每個情感類別的數(shù)量。
實驗使用Glove[18]詞向量語言模型作為初始化詞嵌。每個單詞向量的維度為300。初始權(quán)重矩陣由正態(tài)分布N(0,1)進(jìn)行隨機(jī)初始化,隱藏狀態(tài)向量的維數(shù)設(shè)置為300。本文用Adam作為優(yōu)化器,學(xué)習(xí)率設(shè)置為0.001。L2正則化項設(shè)置為0.000 01,batch-size設(shè)為32,dropout設(shè)為0.5。
本文采用Accuracy和Macro-Averaged F1作為評價指標(biāo),來驗證本文提出的模型的有效性。此外,n-gram的長度設(shè)置為35。
本文提出兩種對方面詞周圍上下文詞進(jìn)行權(quán)重分配的方法,分別是位置權(quán)重和依賴權(quán)重。后面要將本文提出的注意力機(jī)制網(wǎng)絡(luò)的輸出和這兩種鄰近權(quán)重網(wǎng)絡(luò)的輸出分別進(jìn)行加權(quán)融合。
為了選取最佳的融合閾值,本文將融合閾值α的初始值設(shè)置為0.1,然后以0.1為步長以尋求最佳的融合閾值,本文將注意力機(jī)制網(wǎng)絡(luò)與兩種鄰近權(quán)重網(wǎng)絡(luò)的輸出分別進(jìn)行融合,實驗結(jié)果如表2和表3所示。
表2 注意力網(wǎng)絡(luò)結(jié)合位置權(quán)重(%)
表3 注意力機(jī)制網(wǎng)絡(luò)結(jié)合依賴權(quán)重(%)
為了驗證本文提出的融合方式的有效性,本文嘗試將鄰近權(quán)重網(wǎng)絡(luò)和注意力機(jī)制網(wǎng)絡(luò)級聯(lián),采用兩種級聯(lián)方式:注意機(jī)制網(wǎng)絡(luò)的輸出向量被鄰近權(quán)重加權(quán)后送入鄰近權(quán)重卷積神經(jīng)網(wǎng)絡(luò)、鄰近權(quán)重直接被注意力系數(shù)加權(quán),用以與本文提出的融合方式比較。綜合考慮,將融合系數(shù)α設(shè)為0.5,實驗結(jié)果如表4所示。
表4 融合方式比較(%)
其中Att-PWCN-Pos、Att-PWCN-Dep是將Bi-LSTM的輸出通過注意力機(jī)制網(wǎng)絡(luò)后,送入鄰近加權(quán)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)一步提取特征后進(jìn)行情感分類;PWCN-Pos-Att、PWCN-Dep-Att是將鄰近加權(quán)神經(jīng)網(wǎng)絡(luò)的輸出送入注意力機(jī)制網(wǎng)絡(luò)進(jìn)一步提取特征后進(jìn)行情感分類。
Ours-Pos和Ours-Dep是本文提出的模型。本文對方面詞周圍上下文詞的位置信息進(jìn)行權(quán)重分配時采用了兩種方法:Pos是僅僅依賴于方面詞和上下文詞間的絕對距離進(jìn)行權(quán)重分配的方式;Dep使用句法分析,通過構(gòu)建一棵句法分析樹,以方面詞作為樹的根節(jié)點,通過衡量不同上下文詞到樹的根節(jié)點的距離來為上下詞進(jìn)行權(quán)重分配,稱為依賴權(quán)重。這是兩種完全不同的權(quán)重分配方式,后面本文會將注意力機(jī)制網(wǎng)絡(luò)的輸出分別和這兩種鄰近權(quán)重網(wǎng)絡(luò)的輸出進(jìn)行加權(quán)融合,其中Ours-Pos是將注意力機(jī)制網(wǎng)絡(luò)和位置權(quán)重融合后得到的模型,Ours-Dep是將注意力機(jī)制網(wǎng)絡(luò)和依賴權(quán)重融合后得到的模型。
為了充分驗證本模型的有效性,本文對比了其他公開模型的性能指標(biāo),其結(jié)果充分驗證了本文提出的模型的有效性,該模型性能大大優(yōu)于LSTM、TD-LSTM、AEAT-LSTM、RAM和IAN,并且該模型在PWCN(PWCN-Pos,PWCN-De)模型上也有了一定程度的提高,實驗結(jié)果如表5所示。為對本文提出模型的有效性和優(yōu)勢進(jìn)行更直觀的展示,表6中給出了一個實例,給出不同模型對方面詞style的情感極性。
表5 對比實驗的結(jié)果分析(%)
表6 實例結(jié)果展示
本文提出了一種融合注意力機(jī)制和句法信息的聯(lián)合訓(xùn)練模型,分析對某方面的情感極性時,既考慮了該方面詞和上下文詞間的語義關(guān)系,同時還考慮了該方面詞和上下文詞間的句法關(guān)系,彌補(bǔ)了現(xiàn)有模型只考慮方面詞和上下文詞間單一關(guān)系的不足,在SemEval 2014[19]數(shù)據(jù)集上取得了較好的效果。但是雖然該模型同時考慮了句子中方面詞和上下文詞間的句法關(guān)系及語義關(guān)系,可一個句子中可能存在多個方面詞,該模型并沒有將方面詞之間的關(guān)系考慮進(jìn)去。在未來的研究中,本文將就如何在模型中融入不同方面詞之間的關(guān)系進(jìn)行研究,以提升模型的性能。