翟社平 楊媛媛 邱 程 李 婧 毋志云
1(西安郵電大學(xué)計(jì)算機(jī)學(xué)院 陜西 西安 710121)2(陜西省網(wǎng)絡(luò)數(shù)據(jù)分析與智能處理重點(diǎn)實(shí)驗(yàn)室 陜西 西安 710121)
隨著互聯(lián)網(wǎng)行業(yè)的發(fā)展,電商評(píng)論和社交平臺(tái)得到了有效的推廣,形成了大量包含用戶情感觀點(diǎn)的短文本信息數(shù)據(jù)。將文本中的情感及觀點(diǎn)進(jìn)行提取,可以幫助企業(yè)、政府進(jìn)行有效決策。情感分析也稱為觀點(diǎn)挖掘,是自然語(yǔ)言處理領(lǐng)域的研究熱點(diǎn),其關(guān)鍵任務(wù)是分析社交媒體和商品評(píng)論的文本數(shù)據(jù),進(jìn)而挖掘出用戶的情感觀點(diǎn)。目前國(guó)內(nèi)外對(duì)于文本的情感分析多為單語(yǔ)種文本的分析,但隨著中英文搭配使用在社交中的普遍化,情感分析的相關(guān)研究仍需更深一步。
在單語(yǔ)種情感分析方面,已取得了較好的研究成果[1]。其中,深度學(xué)習(xí)模型在情感分析任務(wù)重有著優(yōu)異的表現(xiàn),可以在沒(méi)有人工標(biāo)注的特征工程前提下,提高分類的準(zhǔn)確率。Tai等[2]構(gòu)建了樹狀長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)結(jié)構(gòu),在情感分析任務(wù)中取得了進(jìn)步。Wang等[3]將遞歸神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場(chǎng)整合到一個(gè)統(tǒng)一的框架中,用于顯式方面和意見(jiàn)術(shù)語(yǔ)的共同提取,提升了分類準(zhǔn)確率。但此類方法未將文本中重點(diǎn)知識(shí)進(jìn)行突出,由此,注意力機(jī)制被引入情感分析任務(wù)。注意力機(jī)制可為文本分配不同權(quán)重,進(jìn)而為關(guān)鍵部分分配更多注意力,提升分類準(zhǔn)確率。譚皓等[4]考慮到表情符對(duì)文本的影響作用,提出了基于表情符注意力機(jī)制的情感分析模型。張仰森等[5]提出雙重注意力機(jī)制,構(gòu)建包含情感詞、程度副詞、否詞、表情符等情感符號(hào)庫(kù),引入注意力模型和雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bilateral-LSTM,Bi-LSTM),提升情感分析的準(zhǔn)確率。胡朝舉等[6]提出深層注意力的LSTM情感分析,對(duì)文本進(jìn)行特定主題探索,分析特定主題的情感傾向。
在雙語(yǔ)種情感分析方面,Meng等[7]利用平行語(yǔ)料庫(kù)提升詞典覆蓋率,采用最大化似然值對(duì)詞語(yǔ)進(jìn)行標(biāo)注,進(jìn)而提升情感分類準(zhǔn)確率。栗雨晴等[8]通過(guò)構(gòu)建雙語(yǔ)詞典,進(jìn)行微博多類情感分析。但這兩種方法需構(gòu)建多語(yǔ)言平行語(yǔ)料庫(kù),分類準(zhǔn)確率依賴于語(yǔ)料庫(kù)的質(zhì)量和規(guī)模大小。Wang等[9]利用因子圖模型的屬性函數(shù)從每個(gè)帖子中學(xué)習(xí)單語(yǔ)和雙語(yǔ)信息,利用因子函數(shù)來(lái)探索不同情緒之間的關(guān)系,并采用置信傳播算法來(lái)學(xué)習(xí)和預(yù)測(cè)模型。
在中英文搭配文本中,英文單詞對(duì)文本的情感表達(dá)產(chǎn)生重要影響,甚至能改變文本的情感極性,但情感的表達(dá)并非詞語(yǔ)極性的累加。例如下面兩個(gè)例子,句①通過(guò)英文單詞更改了句子極性,句②通過(guò)英文單詞加強(qiáng)了句子極性。
① 玩了一下午輪滑so tired!(中性+負(fù)性=負(fù)性)
② 昨晚一夜沒(méi)睡,坐過(guò)了車,多么happy的一天啊。(負(fù)性+正性=負(fù)性)
結(jié)合以上分析,本文將雙語(yǔ)文本和句中的英文子句分別作為Bi-LSTM的輸入,得到兩者的知識(shí)表示。引入注意力機(jī)制,根據(jù)英文子句為雙語(yǔ)文本分配不同權(quán)重,得到融合了英文子句特征的知識(shí)表示,進(jìn)而得到最終的情感分析模型。通過(guò)爬取新浪微博上的數(shù)據(jù)作為數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),與現(xiàn)有雙語(yǔ)分析模型相比,本文所構(gòu)建模型實(shí)現(xiàn)了效率的有效提高。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是前饋神經(jīng)網(wǎng)絡(luò)的改進(jìn),一個(gè)序列t時(shí)刻的輸出不僅與之后的輸出有關(guān),也與之前的輸出也有關(guān)。RNN會(huì)對(duì)前面的信息進(jìn)行記憶,保存于網(wǎng)絡(luò)的內(nèi)部狀態(tài),當(dāng)前的輸出即由該內(nèi)部狀態(tài)計(jì)算得出。RNN中隱含層的節(jié)點(diǎn)是相互連接的,隱含層的輸入由上一隱含層的輸出和輸入層的輸出兩部分組成。理論上,RNN可以對(duì)任何長(zhǎng)度的數(shù)據(jù)進(jìn)行處理,但實(shí)踐中,任意長(zhǎng)度的數(shù)據(jù)具有復(fù)雜性,為了簡(jiǎn)化運(yùn)算過(guò)程,設(shè)置當(dāng)前狀態(tài)只于前n個(gè)狀態(tài)相關(guān)。
RNN仍然存在梯度消失和梯度爆炸問(wèn)題,為了避免該問(wèn)題,Hochreiter等[10]提出并實(shí)現(xiàn)了LSTM。在一個(gè)LSTM模型中,每個(gè)單元包含輸入門it、遺忘門ft、輸出門ot以及記憶單元ct。輸入詞向量可以表示為{x1,x2,…,xn},其中xt為一個(gè)單元的輸入,是輸入文本中一個(gè)單詞的詞向量。ht表示網(wǎng)絡(luò)中的隱藏層向量。單元中的3個(gè)門和記憶單元可由以下公式計(jì)算得出:
(1)
ft=σ(Wf·X+bf)
(2)
it=σ(Wi·X+bi)
(3)
ot=σ(Wo·X+bo)
(4)
ct=ft⊙ct-1+it⊙tanh(Wc·X+bc)
(5)
ct=ft⊙ct-1+it⊙tanh(Wc·X+bc)
(6)
ht=ot⊙tanh(ct)
(7)
式中:Wi、Wf、Wo∈Rd×2d為權(quán)重矩陣;bi、bf、bo∈Rd表示訓(xùn)練過(guò)程中學(xué)習(xí)到的偏置值;σ表示激活函數(shù);⊙表示點(diǎn)乘積。
雙向循環(huán)神經(jīng)網(wǎng)絡(luò)由前向神經(jīng)網(wǎng)絡(luò)和后向神經(jīng)網(wǎng)絡(luò)構(gòu)成,前向神經(jīng)網(wǎng)絡(luò)負(fù)責(zé)記憶上文信息,后向神經(jīng)網(wǎng)絡(luò)負(fù)責(zé)記憶下文信息,對(duì)文本分析起到了促進(jìn)作用。Bi-LSTM由兩個(gè)LSTM構(gòu)成,且連接著同一個(gè)輸出層,為輸出層的數(shù)據(jù)同時(shí)提供上下文的信息,圖1為Bi-LSTM沿時(shí)間的展開(kāi)圖。
人腦關(guān)注事物會(huì)為關(guān)鍵部分分配更多的注意力,注意力機(jī)制即為該現(xiàn)象的抽象化。通過(guò)計(jì)算注意力概率分布,對(duì)事物的關(guān)鍵性部分分配更重的權(quán)重,進(jìn)行突出,進(jìn)而對(duì)模型起到優(yōu)化作用。注意力機(jī)制最主要的特質(zhì)是為文本中的關(guān)鍵信息分配更多的權(quán)重,使得模型更多地關(guān)注重要信息,早期多用于圖像處理領(lǐng)域,近年來(lái)自然語(yǔ)言處理領(lǐng)域也引入了該方法。根據(jù)當(dāng)前單詞為輸出矩陣分配不同權(quán)重,生成特定的上下文表示。
根據(jù)LSTM產(chǎn)生的隱藏層特征H=[h1,h2,…,hN]構(gòu)建注意力機(jī)制的輸入,H∈Rd×N,其中:d表示隱藏層的長(zhǎng)度;N為輸入文本的長(zhǎng)度。注意力機(jī)制最終產(chǎn)生注意力權(quán)重矩陣α和特征表示v可由以下公式計(jì)算得出:
ui=tanh(Wshi+bs)
(8)
(9)
(10)
為了關(guān)注更多有價(jià)值信息,本文提出基于英文注意力機(jī)制的雙語(yǔ)情感分析模型,對(duì)語(yǔ)句中英文詞匯進(jìn)行抽取,并對(duì)英文詞匯和語(yǔ)句進(jìn)行向量表示與融合。采用雙向LSTM和注意力機(jī)制,更好地提取出文本中重點(diǎn)詞匯。模型構(gòu)建如圖2所示,輸入數(shù)據(jù)包含兩部分:雙語(yǔ)文本s和英文子句t,英文子句即雙語(yǔ)文本中出現(xiàn)的非中文詞匯。
圖2 基于注意力機(jī)制的模型框圖
模型的網(wǎng)絡(luò)結(jié)構(gòu)中主要包含4個(gè)網(wǎng)絡(luò)層:詞向量輸入層、雙向LSTM層、注意力計(jì)算層、情感預(yù)測(cè)層。詞向量層的作用是把句子中的每個(gè)詞匯映射成為低維、連續(xù)和實(shí)數(shù)的向量表示;雙向LSTM層對(duì)句子s和英文子句t進(jìn)行建模,分別生成上下文特征表示和外文特征表示;注意力計(jì)算層根據(jù)上下文和外文兩個(gè)部分的特征表示輸入,為句子中的單詞分配合適的注意力權(quán)重,生成特定的情感特征表示;情感預(yù)測(cè)層基于特定的情感特征來(lái)預(yù)測(cè)情感傾向。
模型采用共享權(quán)重的雙向LSTM將文本和英文詞匯映射到相同向量空間。記Bi-LSTM中的前向LSTM和后向LSTM在時(shí)刻i的輸入處理分別為:
(11)
(12)
根據(jù)英文詞匯對(duì)為句子中的每一個(gè)詞匯分配合適的注意力權(quán)重,從而生成特征相關(guān)的情感特征表示。經(jīng)過(guò)注意力計(jì)算層,整個(gè)句子的表示如下:
(13)
式中:αt表示了句子第t個(gè)詞結(jié)合英文詞匯后的重要程度,即模型表示的第t個(gè)詞在句子中的注意力權(quán)重,其定義如下:
(14)
式中:score為衡量詞語(yǔ)與英文詞匯組合后的重要程度的打分函數(shù),score的定義如下:
(15)
式中:WS、WT為權(quán)重矩陣;b為偏執(zhí)向量;v為權(quán)重向量;vT表示v的轉(zhuǎn)置。
雙語(yǔ)文本的情感傾向預(yù)測(cè)需要同時(shí)考慮上下文信息和英文詞匯對(duì)文本的影響,本文將前向LSTM和后向LSTM的最后一個(gè)時(shí)間步的隱藏狀態(tài)連接起來(lái)作為句子s的特征表示,并利用非線性變換將其和英文相關(guān)的情感特征結(jié)合起來(lái):
dc=tanh(Wcs+bc)
(16)
然后,采用softmax函數(shù)來(lái)獲取其情感分布。
(17)
式中:C表示情感標(biāo)簽個(gè)數(shù);pc表示情感標(biāo)簽c的預(yù)測(cè)概率。
模型采用交叉熵作為優(yōu)化的損失函數(shù),若D表示訓(xùn)練數(shù)據(jù)集,則基于英文注意力的雙語(yǔ)分析模型損失函數(shù)如下:
(18)
為了訓(xùn)練和測(cè)試語(yǔ)料,從新浪微博抽取雙語(yǔ)微博文本信息。使用分詞器進(jìn)行分詞,替換掉微博中的網(wǎng)址、用戶及話題標(biāo)簽等,過(guò)濾掉長(zhǎng)度小于5的微博文本,獲得7 000條用于標(biāo)注的雙語(yǔ)文本。然后依照高興、悲傷、憤怒、恐懼和驚訝五類情感對(duì)文本進(jìn)行人工類別標(biāo)注。雙語(yǔ)文本表達(dá)情感共有四種可能:1) 句子沒(méi)有表達(dá)情感;2) 句中的中文子句表達(dá)情感;3) 句中的英文子句表達(dá)情感;4) 中英文共同表達(dá)情感。因此,分別對(duì)句中英文子句、中文子句和雙語(yǔ)文本進(jìn)行人工類別標(biāo)注。語(yǔ)料在各情感類別中的分布情況如表1所示。
表1 雙語(yǔ)文本在5類情感類別中的分布
本實(shí)驗(yàn)采用詞向量訓(xùn)練工具word2vec,設(shè)置參數(shù)為:雙語(yǔ)文本和英文子句詞向量為100維;訓(xùn)練迭代次數(shù)100;設(shè)置學(xué)習(xí)速率0.05等。采用Bi-LSTM生成文本表示,因此雙語(yǔ)文本中每個(gè)單詞的輸出表示為200維。注意力權(quán)重的維度與文本長(zhǎng)度一致。本文利用TensorFlow框架來(lái)訓(xùn)練注意力機(jī)制Bi-LSTM模型,設(shè)置LSTM的層數(shù)為64層,Bi-LSTM的層數(shù)為128層。實(shí)驗(yàn)時(shí)標(biāo)注語(yǔ)料按照8∶1∶1分別分為訓(xùn)練集、開(kāi)發(fā)集和測(cè)試集。采用準(zhǔn)確率P(Precision)、召回率R(Recall)和F1值來(lái)表示評(píng)估實(shí)驗(yàn)的性能。
1) 通過(guò)設(shè)定不同輸入體現(xiàn)英文子句對(duì)雙語(yǔ)文本的影響作用。
(1) CN-Bi-LETM,僅考慮雙語(yǔ)文本中的中文,作為Bi-LSTM網(wǎng)絡(luò)的輸入,得到的表示直接作為判斷模型的特征向量。
(2) EN-Bi-LSTM,僅考慮雙語(yǔ)文本中的英文,作為Bi-LSTM網(wǎng)絡(luò)的輸入,得到的表示直接作為判斷模型的特征向量。
(3) CN-EN-Bi-LSTM,將混合文本的向量表之直接作為Bi-LSTM網(wǎng)絡(luò)的輸入,得到的表示直接作為判斷模型的特征向量。
(4) EN-Attention Bi-LSTM,為雙重LSTM模型引入注意力機(jī)制,在特征表示時(shí)為不同詞語(yǔ)分配不同權(quán)重,作為最終的特征向量。
2) 通過(guò)與現(xiàn)有算法進(jìn)行對(duì)比,體現(xiàn)深度學(xué)習(xí)在情感分析中的高效性,以及引入注意力機(jī)制對(duì)深度學(xué)習(xí)情感分析算法的影響。
(1) 基于平行語(yǔ)料庫(kù)的分類方法。采用平行語(yǔ)料庫(kù)與最大化似然值結(jié)合的方法擴(kuò)展詞典,進(jìn)而實(shí)現(xiàn)情感分類。
(2) 采用情感詞典與監(jiān)督學(xué)習(xí)算法相結(jié)合,實(shí)現(xiàn)較好的分類效果。
(3) 基于雙語(yǔ)詞典的分類方法。通過(guò)構(gòu)建雙語(yǔ)詞典,采用半監(jiān)督高斯混合模型進(jìn)行中文及雙語(yǔ)微博文本進(jìn)行分類。
(4) 聯(lián)合因子圖模型。利用因子圖模型的屬性函數(shù)學(xué)習(xí)文本的單語(yǔ)和雙語(yǔ)信息,使用置信傳播算法進(jìn)行情感預(yù)測(cè)。
1) 表2顯示了不同基線的實(shí)驗(yàn)結(jié)果,可以看出:
表2 與其他基線比較
(1) 由于雙語(yǔ)文本中存在大量由中文陳述客觀事實(shí)、英文表述情感的現(xiàn)象,CN-Bi-LSTM只考慮了中文文本同樣是不穩(wěn)定的。
(2) 由于英語(yǔ)是我們語(yǔ)料庫(kù)中的嵌入式語(yǔ)言,EN-Bi-LSTM的結(jié)果只考慮英語(yǔ)文本是不穩(wěn)定的。
(3) CN-EN-Bi-LSTM將雙語(yǔ)文本共同作為網(wǎng)絡(luò)輸入,忽略了英文對(duì)中文子句的影響作用。
(4) EN-Attention Bi-LSTM引入注意力機(jī)制,明顯優(yōu)于以上算法。
上述實(shí)驗(yàn)表明,本文所提模型由于英文子句改變或加強(qiáng)了文本的極性,同時(shí)注意力模型也發(fā)掘出了文本內(nèi)部的語(yǔ)義權(quán)重,提升了識(shí)別效果。
2) 表3顯示了不同算法在相同數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,可以看出,本文提出模型提升了分類的準(zhǔn)確率。
表3 各分類算法F值
本文提出一種基于注意力機(jī)制的雙語(yǔ)文本情感分析模型,將雙語(yǔ)文本中的英文子句提取出來(lái),分別采用雙重LSTM模型進(jìn)行特征表示,利用注意力機(jī)制,根據(jù)英文子句對(duì)雙語(yǔ)文本詞匯分配不同權(quán)重,進(jìn)行特征融合,最終形成基于注意力機(jī)制的特征向量,該方法能獲取到更加精準(zhǔn)的語(yǔ)義表示。實(shí)驗(yàn)結(jié)果顯示,英文子句注意力機(jī)制能夠有效識(shí)別雙語(yǔ)文本情感極性,并且準(zhǔn)確率都超越了現(xiàn)有分類算法,取得了較好分析的結(jié)果。
本文方法立足于新浪微博,雙語(yǔ)文本以中文為主,英文為輔,未考慮到英文所占比重對(duì)分析結(jié)果的影響,不具有普適性。此外,下一步工作可針對(duì)雙語(yǔ)文本中的詞性進(jìn)行比重劃分,對(duì)本方法進(jìn)行改進(jìn)。