魏 剛,裴貴軍,張 毅,張 麒
(1.成都融微軟件服務(wù)有限公司,四川 成都 610213;2.上海三零衛(wèi)士信息安全有限公司,上海 200030)
情感分析是自然語(yǔ)言處理中的經(jīng)典任務(wù),被廣泛應(yīng)用在各行各業(yè)中,發(fā)揮了很大作用。目前,我國(guó)互聯(lián)網(wǎng)具有極高的民眾普及度,網(wǎng)絡(luò)成為民眾表達(dá)觀點(diǎn)的主要場(chǎng)所,而互聯(lián)網(wǎng)上信息龐大,無法使用人工的方法對(duì)海量輿情信息進(jìn)行觀點(diǎn)分析。情感分析則可以對(duì)輿情文本進(jìn)行自動(dòng)分析,及時(shí)反饋民眾對(duì)于事件的情感傾向。
輿情文本情感分析屬于篇章級(jí)情感分析,其目的是對(duì)輸入文本自動(dòng)分析出其整體所具有的正面或負(fù)面情感極性。篇章級(jí)情感分析可被視為文本二分類問題,類別標(biāo)簽為正面和負(fù)面。雖然基于預(yù)訓(xùn)練語(yǔ)言模型的方法在多個(gè)情感分析任務(wù)中取得了最佳的效果,但仍存在一些值得改進(jìn)的地方,即沒有顯式地對(duì)情感極性信息進(jìn)行建模,未能突出情感信息在情感分析中的重要作用。因此,本文提出一種基于情感信息增強(qiáng)的情感分析方法,結(jié)合預(yù)訓(xùn)練模型的優(yōu)點(diǎn),同時(shí)顯式強(qiáng)調(diào)情感信息。實(shí)驗(yàn)結(jié)果表明,基于情感信息增強(qiáng)的情感分析方法在公開數(shù)據(jù)集ChnSentiCorp及自建的中文輿情情感分析數(shù)據(jù)集上,均取得了明顯的效果提升。
情感分析的研究由來已久,其方法可以總結(jié)概括為情感詞典的規(guī)則方法、統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法及深度學(xué)習(xí)方法。
基于情感詞典的規(guī)則方法不需要訓(xùn)練模型,僅制定判定規(guī)則即可,因而具有簡(jiǎn)單、快捷、解釋性強(qiáng)的優(yōu)點(diǎn),對(duì)于情感強(qiáng)烈的文本效果較好。但其無法在進(jìn)行情感判斷時(shí),考慮文本語(yǔ)義的因素,且效果受限于情感詞典的規(guī)模和質(zhì)量。雖然在實(shí)際應(yīng)用中存在一些問題,但研究者長(zhǎng)期以來一直繼續(xù)進(jìn)行這方面的研究[1-2]。
統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法首先需要人工設(shè)計(jì)特征,然后基于這些特征選用機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練和分類,這類方法的效果往往受特征的影響較大。該方法采用詞向量均值作為輸入文本的句向量表示,然后采用分類模型實(shí)現(xiàn)情感分類的任務(wù),其中,支持向量機(jī)是其常采用的分類模型[3]。
深度學(xué)習(xí)方法不需要人工進(jìn)行特征提取,神經(jīng)網(wǎng)絡(luò)可以自動(dòng)提取特征并進(jìn)行分類,其效果優(yōu)于基于特征工程的統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法,其中,TextCNN是經(jīng)典神經(jīng)網(wǎng)絡(luò)方法[4]。近年來,預(yù)訓(xùn)練語(yǔ)言模型技術(shù)快速發(fā)展,如生成式預(yù)訓(xùn)練(Generative Pre-Training,GPT)模型、BERT 模型等[5-6],為情感分析任務(wù)帶來了較大的效果提升?;陬A(yù)訓(xùn)練語(yǔ)言模型的方法是目前情感分析的最佳方法。
預(yù)訓(xùn)練語(yǔ)言模型泛指由多層Transformer 結(jié)構(gòu)組成并提前經(jīng)過大規(guī)模數(shù)據(jù)訓(xùn)練的語(yǔ)言模型,預(yù)訓(xùn)練語(yǔ)言模型的出現(xiàn)開啟了自然語(yǔ)言處理的新時(shí)代。基于Transformer 結(jié)構(gòu)[7]的預(yù)訓(xùn)練語(yǔ)言模型在多項(xiàng)自然語(yǔ)言處理任務(wù)中取得了良好的效果,且僅在預(yù)訓(xùn)練語(yǔ)言模型后添加全連接層,就可以達(dá)到情感分類任務(wù)的最佳效果。
ERNIE 是非常具有代表性的預(yù)訓(xùn)練語(yǔ)言模型,在2019 年由百度公司提出。該公司受BERT 掩碼策略的啟發(fā),提出實(shí)體級(jí)別和短語(yǔ)級(jí)別的掩碼方式,這種掩碼策略更加符合中文的特點(diǎn),在包括情感分類的5 項(xiàng)中文自然語(yǔ)言處理任務(wù)中,創(chuàng)造了當(dāng)時(shí)的最好成績(jī)[8]。
除以上所列方法之外,許多研究者[9-12]也嘗試在不同類型文本的情感分析中使用融合的方法,例如預(yù)訓(xùn)練語(yǔ)言模型結(jié)合深度學(xué)習(xí)的方法、增加注意力機(jī)制的方法等,這些方法都取得了不錯(cuò)的成果,推進(jìn)了情感分析技術(shù)的發(fā)展。
輿情文本中包括情感相關(guān)與情感無關(guān)部分,以情感詞和情感短語(yǔ)的形式出現(xiàn)的情感相關(guān)部分與文本情感極性高度相關(guān),其他部分則是無關(guān)緊要的,甚至?xí)?duì)情感極性的判斷造成干擾。因此,本文將輸入文本中與情感極性相關(guān)的部分稱之為情感極性信息,并設(shè)計(jì)出了一種情感極性信息增強(qiáng)的情感分析模型,以達(dá)到顯式地突出情感極性信息重要性,提升情感分析效果的目的。
情感極性信息由情感詞、修飾詞和否定詞構(gòu)成。情感詞類型包括固定成語(yǔ)、形容詞、動(dòng)詞、名詞、副詞、介詞及網(wǎng)絡(luò)產(chǎn)生的新詞匯[13],其常搭配修飾詞或否定詞以組合的方式出現(xiàn)或單獨(dú)出現(xiàn)。情感詞的組成分布如圖1 所示。修飾詞是對(duì)情感詞起修飾作用的詞匯,常為修飾程度的副詞,其可造成情感極性的加強(qiáng)或減弱,而否定詞的出現(xiàn)則會(huì)造成情感極性的反轉(zhuǎn)。
圖1 情感詞組成分布
情感極性信息通常具有多種組成結(jié)構(gòu),其結(jié)構(gòu)不同也會(huì)造成情感極性的差異,如“不很好”與“很不好”。通常,否定詞加在程度副詞之前表示對(duì)程度的否定,情感極性不發(fā)生變化,極性程度則減輕;否定詞加在程度副詞之后表示對(duì)否定程度的加強(qiáng),情感極性發(fā)生逆轉(zhuǎn),極性程度則增加。
情感極性信息有以下6 種組成方式:?jiǎn)为?dú)的情感詞;否定詞—情感詞組合;否定詞—否定詞—情感詞組合;否定詞—程度副詞—情感詞組合;程度副詞—情感詞組合;程度副詞—否定詞—情感詞組合。情感極性信息組合方式及示例如表1 所示。情感信息極性強(qiáng)度是衡量信息中所包含情感極性的程度,本文采用張成功等人[13]提出的情感極性強(qiáng)度計(jì)算方法。
表1 情感極性信息組合方式
本文研究所用的情感詞來自大連理工大學(xué)發(fā)布的中文情感詞匯本體庫(kù)[14],修飾詞采用藺璜等人[15]所總結(jié)的86 個(gè)修飾詞,否定詞采用郝雷紅等人[16-17]所總結(jié)出的否定詞。
考慮到情感信息的組成方式等因素,本文為了在輿情文本中提取極性信息,設(shè)計(jì)了情感極性信息提取算法。該算法首先對(duì)輸入中文輿情文本進(jìn)行分詞,分詞方法采用百度公司的LAC 工具[18];其次遍歷分詞結(jié)果中的每個(gè)詞,并判斷是否為情感詞,若為情感詞則判斷情感詞周圍詞匯是否為修飾詞或否定詞,將修飾詞、否定詞及情感詞組成的情感信息提取出來,若情感詞單獨(dú)出現(xiàn)則將其視為情感極性信息提取出來;最后依據(jù)情感極性強(qiáng)度排名來提取出前3 位的情感極性信息。例如,在算法中輸入文本“這款手機(jī)性能不是很好”,得到情感極性信息“不是很好”;在算法中輸入文本“這里風(fēng)景秀麗”,得到情感極性信息“秀麗”。情感極性信息提取算法的偽代碼如下:
信息增強(qiáng)的情感分析模型(Enhanced Information Sentiment Analysis Model,EISA)結(jié)構(gòu)如圖2 所示。與Transformer 類預(yù)訓(xùn)練模型相比,EISA 有兩處不同:第一,增加了情感信息提取部分;第二,EISA預(yù)訓(xùn)練部分輸入由之前的輿情文本變?yōu)榍楦行畔?輿情文本。情感信息和輿情文本共同進(jìn)入到預(yù)訓(xùn)練模型中進(jìn)行雙向交互,有利于增強(qiáng)模型中的情感信息。
圖2 EISA 模型結(jié)構(gòu)
預(yù)訓(xùn)練部分由多層Transformer 編碼層組成,即Transformer 類預(yù)訓(xùn)練語(yǔ)言模型,其可以有多種選擇,如GPT、BERT 和ERNIE 等,此處本文中采用中文版ERNIE 預(yù)訓(xùn)練模型,由12 層Transformer 編碼層堆疊而成,采用實(shí)體級(jí)和短語(yǔ)級(jí)別的掩碼方式進(jìn)行預(yù)訓(xùn)練。
2.2.1 模型輸入
模型的輸入為中文輿情文本,經(jīng)過情感信息提取模塊后,文本轉(zhuǎn)換為預(yù)訓(xùn)練模塊的輸入,其形式為情感極性信息與輸入輿情文本的拼接。然后模型將拼接后的文本按字粒度進(jìn)行切分,在文本開始處添加符號(hào)[CLS],在情感極性信息及文本結(jié)束處添加符號(hào)[SEP],情感極性信息之間使用英文逗號(hào)進(jìn)行分割,即“[CLS]信息1,信息2,信息3[SEP]輿情文本[SEP]”。
2.2.2 輸入信息編碼
輸入信息的編碼由字編碼、塊編碼和位置編碼3 部分相加得到。塊編碼將情感極性信息及其前后的[CLS][SEP]設(shè)置為0,輿情文本及其后的[SEP]設(shè)置為1,如圖3 所示。
圖3 模型的輸入表示
位置編碼采用函數(shù)式的相對(duì)位置編碼[19]。之前研究者已經(jīng)證實(shí),在預(yù)訓(xùn)練模型中,自注意力機(jī)制計(jì)算時(shí)起作用的是相對(duì)位置而非絕對(duì)位置。本文采用的位置編碼方式與相對(duì)位置的正弦函數(shù)有關(guān),位置編碼的每個(gè)維度對(duì)應(yīng)不同的正弦曲線,不同維度所對(duì)應(yīng)的正弦函數(shù)的波長(zhǎng)不同。相對(duì)位置編碼如式(1)、式(2)所示。
式中:k為維度;dz為隱藏狀態(tài)特征數(shù)量與注意力頭數(shù)量之比;j-i為相對(duì)位置。
中文輿情情感數(shù)據(jù)集是本文所制作的數(shù)據(jù)集,是通過網(wǎng)絡(luò)爬蟲采集的民眾關(guān)于某些重大事件、政府政策的評(píng)論文本,經(jīng)過數(shù)據(jù)清洗后進(jìn)行正負(fù)面的人工標(biāo)注后得到的數(shù)據(jù)集,共有1 萬(wàn)條數(shù)據(jù)。該數(shù)據(jù)集任務(wù)是判斷評(píng)論文本屬于積極情感還是消極情感。按照8 ∶1 ∶1 的比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集與測(cè)試集。ChnSentiCorp 是公開的情感分析數(shù)據(jù)集,它包括酒店、圖書、電子產(chǎn)品多個(gè)領(lǐng)域的評(píng)論文本,共12 000 條,包含訓(xùn)練集9 600 條、驗(yàn)證集1 200 條、測(cè)試集1 200 條。該數(shù)據(jù)集任務(wù)是判斷數(shù)據(jù)集中每段文本屬于積極還是消極。數(shù)據(jù)集示例如表2 所示。
表2 中文輿情文本數(shù)據(jù)集和ChnSentiCorp 數(shù)據(jù)集示例
本文采用中文版ERNIE 模型作為預(yù)訓(xùn)練部分的模型進(jìn)行實(shí)驗(yàn),其具有12 層Transformer 層,采用實(shí)體級(jí)和短語(yǔ)級(jí)別的掩碼方式進(jìn)行預(yù)訓(xùn)練。
實(shí)驗(yàn)中,文本最大長(zhǎng)度限制設(shè)置為256,批次大小設(shè)置為32,用[UNK]來表示未登錄詞,[PAD]用來對(duì)輸入文本進(jìn)行補(bǔ)齊。采用Adam 作為優(yōu)化算法,學(xué)習(xí)率設(shè)置為2E-5,動(dòng)量參數(shù)分別設(shè)置為β1=0.9,β2=0.999,殘量ε=10-8。Dropout 概率的值設(shè)置為0.2。將訓(xùn)練輪次設(shè)置為50,在每個(gè)輪次訓(xùn)練結(jié)束后自動(dòng)保存模型參數(shù),并在驗(yàn)證集上進(jìn)行驗(yàn)證,最后依據(jù)每個(gè)輪次的驗(yàn)證結(jié)果選取最優(yōu)的模型。
情感分析任務(wù)可視為文本分類任務(wù),本文采用精確率P、召回率R及F1 值進(jìn)行評(píng)價(jià)。精確率是模型預(yù)測(cè)正確的正樣本數(shù)量占模型預(yù)測(cè)為正樣本數(shù)量的比例。召回率是模型預(yù)測(cè)正確的正樣本數(shù)量占真正的正樣本數(shù)量的比例。F1 值是精確率和召回率的調(diào)和平均值,可以更好地反映模型的真實(shí)效果。精確率P、召回率R及F1 值的計(jì)算方式為:
式中:TP為真正面情感數(shù)量;FP為假正面情感數(shù)量;FN為假負(fù)面情感數(shù)量。
在兩個(gè)情感分析數(shù)據(jù)集中,分別使用TextCNN、ERNIE 及本文所提出的EISA 模型進(jìn)行情感分析實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3 所示??梢钥闯觯陬A(yù)訓(xùn)練語(yǔ)言模型的模型(ERNIE 和EISA)相比于TextCNN,在情感分類任務(wù)上有很明顯的效果提升?;谇楦行畔⒃鰪?qiáng)的模型EISA 比ERNIE 預(yù)訓(xùn)練語(yǔ)言模型的F1 值提升了1.1~1.7 個(gè)百分點(diǎn),這說明信息增強(qiáng)機(jī)制在情感分析任務(wù)中取得了明顯的效果提升。
表3 模型結(jié)果對(duì)比
本文提出的EISA 模型解決了預(yù)訓(xùn)練語(yǔ)言模型在情感分類任務(wù)中,沒有顯式地對(duì)文本中重要情感極性信息進(jìn)行建模的問題。所提模型在利用預(yù)訓(xùn)練語(yǔ)言模型強(qiáng)大的語(yǔ)義表示能力的同時(shí),也顯式地對(duì)情感信息進(jìn)行建模,實(shí)現(xiàn)了情感極性信息的增強(qiáng)。
在兩個(gè)情感分類數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,基于信息增強(qiáng)的模型EISA 在情感分類任務(wù)中有良好的表現(xiàn),與預(yù)訓(xùn)練語(yǔ)言模型的情感分類方法相比也有明顯的效果提升,這說明模型能夠有效捕獲輿情文本中與情感分類任務(wù)高度相關(guān)的極性信息,進(jìn)而提高模型情感分析的能力。
本文所采用的情感信息提取算法屬于基于規(guī)則的方法,有一定的局限性,未來可采用序列標(biāo)注的方式進(jìn)行情感信息自動(dòng)提取,然后將情感信息與輸入文本拼接后輸入信息增強(qiáng)的情感分析模型中,進(jìn)一步提高情感分析的準(zhǔn)確性。