孫 琦,梁永全
(山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,山東青島 266590)
由于社交網(wǎng)絡(luò)具有開放性,公眾往往借助社交媒體表達(dá)個(gè)人觀點(diǎn)、態(tài)度和情感,針對(duì)社交評(píng)論的研究成為自然語(yǔ)言處理熱點(diǎn)。情感分析的目的確定產(chǎn)品、服務(wù)、事件主題及其屬性的主觀性極性和極性強(qiáng)度,可通過粒度級(jí)別(文檔級(jí)別、句子級(jí)別、短語(yǔ)級(jí)別)分析實(shí)現(xiàn)情感分析。本文聚焦于句子級(jí)別的情感分析研究?,F(xiàn)有相關(guān)研究方法主要分為兩種:
(1)基于情感詞典的分析[1]。該方法通過構(gòu)建情感詞典或利用已有的詞典,抽取文本中的情感特征詞,進(jìn)而計(jì)算社交評(píng)論情感傾向;Turney[2]使用基于PMI 的無監(jiān)督學(xué)習(xí)方法,通過計(jì)算詞匯與種子詞之間的互信息判斷詞匯情感極性,并提取詞匯平均極性辨別整個(gè)文檔情感極性;另外,Kamps 等[3]沿用點(diǎn)互信息的方法,通過計(jì)算WordNet 中形容詞與種子詞之間的關(guān)聯(lián)度識(shí)別評(píng)價(jià)詞語(yǔ),該類方法不考慮句子語(yǔ)義結(jié)構(gòu),句義理解相對(duì)粗糙。
(2)基于機(jī)器學(xué)習(xí)的情感分析一般采用傳統(tǒng)文本分類技術(shù),將情感詞匯作為分類特征關(guān)鍵詞,并聯(lián)合其他特征訓(xùn)練分類器完成文本情感分類,傳統(tǒng)機(jī)器學(xué)習(xí)方法有支持向量機(jī)(Support Vector Machine,SVM)、樸素貝葉斯(Naive Bayes,NB)、條件隨機(jī)場(chǎng)(conditional random field,CRF)等。Pang 等[4]分別使用SVM、最大熵及樸素貝葉斯方法對(duì)電影評(píng)論進(jìn)行分類,并研究了不同特征選擇方式對(duì)分類的影響,盡管在情感分析方面取得了一定效果,但該方法缺乏捕捉句子結(jié)構(gòu)的能力。隨著深度學(xué)習(xí)的發(fā)展,越來越多的深度學(xué)習(xí)方法被應(yīng)用于自然語(yǔ)言處理任務(wù)。在情感分析方面,Tang 等[5]使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),引入自底向上的基于向量的表示法判斷情感極性,RNN 以序列數(shù)據(jù)作為輸入,適用于多種自然語(yǔ)言處理任務(wù),但忽略了單詞特征表示和句法結(jié)構(gòu);Socher 等[6-7]于2011 年將遞歸神經(jīng)網(wǎng)絡(luò)成功應(yīng)用于句法分析,提出基于遞歸自編碼器(Recursive AutoEncoder,RAE)的樹形回歸模型,利用樹形模型層次結(jié)構(gòu)合成語(yǔ)義理解情感,在句子級(jí)別的情感分析中取得了很好的效果,但該模型也存在一些問題,如在傳統(tǒng)RAE 模型中,模型缺少用于計(jì)算損失函數(shù)的內(nèi)部情感標(biāo)簽,這直接影響分類準(zhǔn)確性,若采用人工標(biāo)注的方法對(duì)每個(gè)結(jié)點(diǎn)進(jìn)行標(biāo)記,人工工作量過于龐大且人為主觀的定向誤差難以避免。
為解決上述問題,本文提出一種遞歸自編碼器模型,利用點(diǎn)互信息的方法標(biāo)記內(nèi)部結(jié)點(diǎn),與半監(jiān)督遞歸自編碼器相比,本文模型無需手動(dòng)注釋非終端結(jié)點(diǎn)的情感標(biāo)簽,而是結(jié)合點(diǎn)互信息并按照給定規(guī)則計(jì)算每個(gè)結(jié)點(diǎn)情感極性,將其作為交叉熵函數(shù)的目標(biāo)標(biāo)簽,該標(biāo)簽用于定義損失函數(shù)訓(xùn)練Softmax 分類器,可減少手動(dòng)標(biāo)注工作量。
利用遞歸神經(jīng)網(wǎng)絡(luò)處理自然語(yǔ)言問題的一個(gè)原因是該模型可應(yīng)用于任意長(zhǎng)度的輸入序列,并且短語(yǔ)與句子的語(yǔ)法結(jié)構(gòu)也能夠被解析為二叉樹結(jié)構(gòu)[8],根據(jù)這種結(jié)構(gòu),將樹的每片葉子指定為固定長(zhǎng)度的向量,并將相同長(zhǎng)度的中間向量遞歸組合為單詞合并的短語(yǔ),最終合并為一個(gè)向量用于表示整個(gè)句子,如圖1 所示。
Fig.1 Recursive autoencoder圖1 遞歸自編碼器
編碼器的目標(biāo)是學(xué)習(xí)句子或短語(yǔ)輸入表示,Socher等[7]利用遞歸自編碼器(Recursive AutoEncoder,RAE)進(jìn)行語(yǔ)句特征提取,從而預(yù)測(cè)句子情感傾向,并在常用數(shù)據(jù)集上達(dá)到了預(yù)期效果;Irsoy 等[9]通過將反向傳播擴(kuò)展到遞歸神經(jīng)網(wǎng)絡(luò)中,其與樹有關(guān)的信息從根流回到葉結(jié)點(diǎn)中,使結(jié)點(diǎn)捕獲周圍結(jié)構(gòu)全局信息;Wang 等[10]利用遞歸神經(jīng)網(wǎng)絡(luò)與條件隨機(jī)場(chǎng)對(duì)句子進(jìn)行情感判斷;Rifai 等[11]利用卷積自編碼器對(duì)特征進(jìn)行提??;梁軍等[12-13]將情感極性轉(zhuǎn)移模型融入到遞歸自編碼器中,取得了不錯(cuò)的效果,之后將LSTM 與該模型融合,進(jìn)一步優(yōu)化模型表征能力;Fu 等[14]提出短語(yǔ)級(jí)遞歸神經(jīng)網(wǎng)絡(luò),減小了解析樹復(fù)雜度,并利用HowNet 詞典訓(xùn)練雙向遞歸神經(jīng)網(wǎng)絡(luò),在準(zhǔn)確性和效率方面均有提升。這些方法通過遞歸神經(jīng)網(wǎng)絡(luò)對(duì)文本進(jìn)行建模,可以有效捕獲文本語(yǔ)義信息,從而提高機(jī)器學(xué)習(xí)方法處理情感分類任務(wù)的性能。
情感分析是在自然語(yǔ)言處理中對(duì)指定文本或語(yǔ)料庫(kù)中的觀點(diǎn)和情感進(jìn)行分類的一項(xiàng)重要任務(wù)[15]。隨著在線評(píng)論網(wǎng)站和個(gè)人博客等網(wǎng)絡(luò)資源的普及,為使用信息技術(shù)理解他人觀點(diǎn),眾多研究者嘗試對(duì)不同粒度的文本進(jìn)行情感分析,并取得了良好效果[16-19]。本文致力于句子級(jí)情感分析,通過改進(jìn)RAE 以獲得更佳性能,采用遞歸自編碼器的組合方式學(xué)習(xí)句子向量表示并對(duì)其情感傾向進(jìn)行分析。
為構(gòu)建情感分析深度學(xué)習(xí)模型,本文將PMI 引入到情感極性值計(jì)算中,分別計(jì)算句中單詞情感傾向值,并整理出程度副詞和否定詞表調(diào)整短語(yǔ)情感強(qiáng)度及傾向性。
標(biāo)準(zhǔn)RAE 的目標(biāo)是學(xué)習(xí)回歸模型的輸入表示,使用RAE 獲得句子低維向量的遞歸自編碼結(jié)構(gòu),如圖2 所示。
Fig.2 Recursive autoencoder structure and reconstruction node(unfilled)圖2 遞歸自編碼結(jié)構(gòu)與重構(gòu)結(jié)點(diǎn)(未填充)
假設(shè)給定一個(gè)包含m 個(gè)單詞的句子,每個(gè)單詞均用N 維向量表示,首先將單詞投影到一個(gè)向量列表x=(x1,x2,…,xm),合并相鄰兩個(gè)單詞c1=x1和c2=x2,并根據(jù)子節(jié)點(diǎn)(c1,c2)計(jì)算其父節(jié)點(diǎn)向量p,如式(1)所示。
其中,[c1,c2]∈R2N由向量c1,c2連接得到,W∈R2N是一個(gè)連接兩個(gè)子向量的參數(shù)矩陣,添加偏置項(xiàng)后,對(duì)所得向量應(yīng)用激活函數(shù),例如tanh。編碼后通過在重構(gòu)層重構(gòu)子節(jié)點(diǎn)驗(yàn)證父節(jié)點(diǎn)p對(duì)子節(jié)點(diǎn)(c1,c2)的表示,如式(2)所示。
利用式(3)計(jì)算輸入與其父向量p之間的重構(gòu)誤差。
利用RAE 模型的目標(biāo)是最小化二叉樹中每個(gè)結(jié)點(diǎn)的重構(gòu)誤差總和。
其中,x為句子的向量列表,而A(x)表示根據(jù)輸入x構(gòu)建的所有可能的二叉樹集合,此外,T(y)是一個(gè)函數(shù),該函數(shù)返回由樹中所有非終端結(jié)點(diǎn)s索引的樹的三元組。
對(duì)于半監(jiān)督遞歸自編碼器,無需為輸入向量提供樹形結(jié)構(gòu),可利用貪心策略遞歸構(gòu)建短語(yǔ)樹,在計(jì)算第一對(duì)(c1,c2)=(x1,x2)重構(gòu)誤差分?jǐn)?shù)后,調(diào)整輸入向量對(duì)(c1,c2)=(x2,x3),計(jì)算其隱藏父節(jié)點(diǎn)和誤差分?jǐn)?shù),保存每個(gè)節(jié)點(diǎn)對(duì)父節(jié)點(diǎn)和誤差分?jǐn)?shù),再選擇誤差分?jǐn)?shù)最低的對(duì)以及其父節(jié)點(diǎn)表示p代表的短語(yǔ),替代子節(jié)點(diǎn)在句子中的表示。例如:假設(shè)句子(x1,x2,x3,x4)且(x3,x4)的誤差分?jǐn)?shù)最低,第一次組合后產(chǎn)生新序列(x1,x2,p(3,4)),該組合過程會(huì)重復(fù),并把p(3,4)作為新向量輸入,接下來依次計(jì)算新序列中各節(jié)點(diǎn)誤差分?jǐn)?shù),按照誤差分?jǐn)?shù)大小產(chǎn)生新序列(p(1,2),p(3,4))或(x1,p(2,3,4)),最終合并為一個(gè)節(jié)點(diǎn)作為句子表示。
對(duì)于遞歸自編碼器,樹中每一個(gè)內(nèi)部結(jié)點(diǎn)均有一個(gè)Softmax 分類器預(yù)測(cè)該結(jié)點(diǎn)類分布,通常通過最小化交叉熵函數(shù)訓(xùn)練Softmax 分類器,該損失函數(shù)可衡量預(yù)測(cè)輸出與目標(biāo)之間的差異相似性,本部分介紹如何獲取樹中每個(gè)結(jié)點(diǎn)的目標(biāo)分布。每個(gè)結(jié)點(diǎn)目標(biāo)分布獲取的準(zhǔn)確性對(duì)最終模型訓(xùn)練的準(zhǔn)確性影響很大,采用人工標(biāo)注的方式對(duì)每個(gè)結(jié)點(diǎn)進(jìn)行標(biāo)注,不僅需付出高額代價(jià),而且會(huì)產(chǎn)生人為的定向誤差。為了解決該問題,本文提出一種基于點(diǎn)互信息的方法計(jì)算該結(jié)點(diǎn)情感極性。
2.2.1 單個(gè)單詞情感極性計(jì)算
互信息是一種計(jì)算兩個(gè)隨機(jī)變量間相似信息的度量,本文選取具有較強(qiáng)情感的種子詞建立褒義詞和貶義詞表,分別計(jì)算句中單詞與褒義詞表和貶義詞表中詞語(yǔ)PMI 值,并將其相減,得到該目標(biāo)詞情感傾向值,如式(5)所示。
其中,P(xi xj)表示兩個(gè)詞語(yǔ)在文本中出現(xiàn)的概率,P(xi)和P(xj)分別為xi和xj在文本中單獨(dú)出現(xiàn)的概率。
px和nx分別表示褒義詞表Pxs和貶義詞表Nxs中的單詞,當(dāng)SO-PMI(xi)大于0 時(shí),xi為褒義詞;當(dāng)其等于0 時(shí),xi為中性詞;當(dāng)其小于0 時(shí),xi為貶義詞。
2.2.2 計(jì)算短語(yǔ)的情感傾向
獲得情感極性后,使用以下規(guī)則基于單詞情感值為樹中的每個(gè)節(jié)點(diǎn)計(jì)算情感標(biāo)簽。
(1)程度副詞。程度副詞能夠極大增強(qiáng)情感詞情感程度,根據(jù)程度副詞表,若短語(yǔ)中包含程度副詞,該短語(yǔ)情感強(qiáng)度將被修改(見表1)。例如:在”I am very happy today”中副詞”very”修飾”happy”,原本情感傾向經(jīng)過修飾后得到明顯加強(qiáng)。其中情感值計(jì)算公式為:
其中,d表示修飾該情感詞匯的程度詞情感權(quán)重,p為單詞”very”與”happy”組合后的短語(yǔ)。另外,本文將短語(yǔ)情感強(qiáng)度限制在-1~1,即如果label(p) >1,label(p)=1。
(2)否定詞。否定詞在文本分析中有反轉(zhuǎn)情感傾向的作用,所以在文本情感分析中否定詞也應(yīng)作為重要的分析對(duì)象。本文構(gòu)建否定詞詞表,并規(guī)定若短語(yǔ)中包含否定詞,則反轉(zhuǎn)短語(yǔ)情感傾向,例如:連接單詞”not”與”happy”的短語(yǔ),則label(pnot happy)=-label(xhappy)。
Table 1 Examples of adverbs of degree表1 程度副詞示例
除上述情況外,還根據(jù)單詞情感值通過線性運(yùn)算計(jì)算短語(yǔ)情感傾向,其中xleft和xright分別是短語(yǔ)左孩子節(jié)點(diǎn)和右孩子節(jié)點(diǎn)。
根據(jù)上述規(guī)則,為每個(gè)內(nèi)部節(jié)點(diǎn)定義一個(gè)初始標(biāo)簽,對(duì)目標(biāo)分布t∈RK,假設(shè)每個(gè)目標(biāo)分布均遵循0-1 編碼,即如果有K個(gè)類別,則其長(zhǎng)度為K且正確的標(biāo)簽為1,其他為0,節(jié)點(diǎn)預(yù)測(cè)分布為:
為了驗(yàn)證準(zhǔn)確性,將交叉熵函數(shù)用作代價(jià)函數(shù),并假定tk為標(biāo)簽真實(shí)概率。
每個(gè)內(nèi)部節(jié)點(diǎn)總誤差由交叉熵誤差與重構(gòu)誤差組成。
其中,α是可調(diào)參數(shù),用于調(diào)整交叉熵誤差和重構(gòu)誤差之間的平衡,根據(jù)交叉熵誤差與重構(gòu)誤差函數(shù),可以得到最終代價(jià)函數(shù)。
其中θ為參數(shù)集合,θ=Wl′}。
實(shí)驗(yàn)采用IMDB 電影評(píng)論數(shù)據(jù),該數(shù)據(jù)被分為用于訓(xùn)練的25 000 條評(píng)論和用于測(cè)試的25 000 條評(píng)論,訓(xùn)練集和測(cè)試集均包含50%的正面評(píng)價(jià)和50%的負(fù)面評(píng)價(jià)。本文共設(shè)計(jì)2 個(gè)實(shí)驗(yàn)驗(yàn)證遞歸自編碼器模型。
實(shí)驗(yàn)一:可調(diào)參數(shù)選擇,以確定可調(diào)參數(shù)對(duì)算法本身的影響,并最終選擇一組最優(yōu)參數(shù);實(shí)驗(yàn)二:比較本文模型與傳統(tǒng)RAE 及其他模型優(yōu)劣。
實(shí)驗(yàn)主要從4 類參數(shù)進(jìn)行調(diào)整:詞向量維度、重構(gòu)誤差權(quán)重α、正則系數(shù)λ以及算法迭代次數(shù)。針對(duì)重構(gòu)誤差權(quán)重α,實(shí)驗(yàn)選擇從0.1 增長(zhǎng)至0.5,間隔為0.1,對(duì)于正則系數(shù)λ的取值依次從{1e-07,1e-06,1e-05,1e-04,1e-03,1e-02}中進(jìn)行測(cè)試。詞向量維度選擇從{50,100,150,200,300}中對(duì)模型進(jìn)行驗(yàn)證,算法迭代次數(shù)則從{50,70,100,120,150}進(jìn)行測(cè)試,具體效果如圖3、圖4 所示。
Fig.3 The influence of α on the IMDB dataset圖3 重構(gòu)誤差權(quán)重選擇
Fig.4 The influence of iteration number on the IMDB dataset圖4 迭代次數(shù)選擇
通過實(shí)驗(yàn)發(fā)現(xiàn)重構(gòu)權(quán)重參數(shù)α=0.2 時(shí)效果最佳,隨著實(shí)驗(yàn)次數(shù)的增加,模型數(shù)據(jù)擬合度也隨之增加,但當(dāng)?shù)螖?shù)超過120 之后,過擬合問題隨之出現(xiàn),導(dǎo)致泛化能力下降,因此最終參數(shù)選擇為迭代次數(shù)120,重構(gòu)權(quán)重α=0.2,詞向量維度為100,正則化系數(shù)λL=1e-04,λW=1e-05,λcat=1e-07。
為了分析模型情感分類效果,將本文模型與其他模型進(jìn)行比較,包括SVM、LSTM、MLP、NB 以及傳統(tǒng)RAE,在傳統(tǒng)RAE 中,采用與文獻(xiàn)[7]中相同的參數(shù)配置。從表2 可以看出,本文算法在電影評(píng)論數(shù)據(jù)集上的性能優(yōu)于其他方法,這也驗(yàn)證了節(jié)點(diǎn)包含的情感信息對(duì)算法分類的影響,同時(shí)定義程度副詞以及否定詞等語(yǔ)義規(guī)則能夠有效改善句子上下文情感信息。
Table 2 Model comparison results表2 模型對(duì)比結(jié)果
本文提出一種新的半監(jiān)督方法進(jìn)行情感分類。該方法利用點(diǎn)互信息訓(xùn)練RAE 模型,對(duì)IMDB 電影評(píng)論數(shù)據(jù)集進(jìn)行分析,實(shí)驗(yàn)表明本文模型在情感分類任務(wù)上優(yōu)于其他算法。
盡管該方法在句子級(jí)的情感分析中取得了較好效果,但仍需進(jìn)一步改進(jìn),例如利用點(diǎn)互信息的方法訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),最終結(jié)果很大程度上取決于種子詞表質(zhì)量,因此該方法具有一定的局限性。另外程度副詞與否定詞對(duì)句子影響采用的規(guī)則需進(jìn)一步完善。下一步將從這兩個(gè)方面對(duì)模型進(jìn)行改進(jìn),并將模型應(yīng)用于其它粒度級(jí)別的情感分析,以驗(yàn)證模型適用性。