張?chǎng)斡?才智杰
(1. 青海師范大學(xué)計(jì)算機(jī)學(xué)院,青海 西寧 810016;2. 成都信息工程大學(xué)軟件工程學(xué)院,四川 成都 610041;3. 藏文信息處理教育部重點(diǎn)實(shí)驗(yàn)室,青海 西寧 810008;4. 青海省藏文信息處理與機(jī)器翻譯重點(diǎn)實(shí)驗(yàn)室,青海 西寧 810008;5. 藏語(yǔ)智能信息處理及應(yīng)用國(guó)家重點(diǎn)實(shí)驗(yàn)室,青海 西寧 810008)
情感分析指用數(shù)據(jù)挖掘算法對(duì)帶有情感態(tài)度的文本自動(dòng)進(jìn)行情感傾向性分析及判定[1]。近年來(lái)隨著信息技術(shù)的快速發(fā)展,用戶(hù)通過(guò)網(wǎng)絡(luò)平臺(tái)表達(dá)和傳遞情緒,互聯(lián)網(wǎng)上產(chǎn)生了大量用戶(hù)參與的對(duì)于諸如人物、事件、產(chǎn)品等有價(jià)值的評(píng)論信息,且隨著科技的發(fā)展和時(shí)間的推移呈指數(shù)增長(zhǎng)。這些評(píng)論信息表達(dá)了人們的喜、怒、哀、樂(lè)等情感色彩和批評(píng)、贊揚(yáng)等情感傾向,用戶(hù)通過(guò)瀏覽這些帶有主觀色彩的評(píng)論了解大眾輿論對(duì)某一事件或產(chǎn)品的看法。單純依靠人工分析這些海量信息費(fèi)時(shí)費(fèi)力,借助計(jì)算機(jī)可以幫助人們分析并挖掘信息中潛在的價(jià)值,做出更科學(xué)的決策。
本文在情感分析現(xiàn)有研究成果的基礎(chǔ)上,提出了一種Bert-BiGRU-CNN文本情感分析模型。該模型首先用Bert對(duì)文本進(jìn)行向量化,然后通過(guò)BiGRU從整體提取序列特征,再利用CNN局部連接的特點(diǎn)學(xué)習(xí)局部特征,從而提高文本情感分析性能。
自2000年初以來(lái),文本情感分析逐漸成為自然語(yǔ)言處理中重要研究領(lǐng)域之一,其研究方法主要包括情感詞典、傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)三種?;谇楦性~典的方法是通過(guò)計(jì)算情感詞典中詞語(yǔ)之間的相關(guān)程度來(lái)判斷文本情感傾向。Kennedy A[2]等人使用關(guān)聯(lián)分?jǐn)?shù)計(jì)算語(yǔ)義方法,提高了文本情感分類(lèi)的準(zhǔn)確性。Md. Sharif Hossen[3]等人提出一種改進(jìn)Lexicon的分析模型,提高了情感分類(lèi)效果。為有效提高情感詞典詞語(yǔ)覆蓋率,郝苗[4]等人將大規(guī)模語(yǔ)料庫(kù)進(jìn)行融合,朱顥東[5]等人在此基礎(chǔ)上加入了表情符號(hào)和網(wǎng)絡(luò)新詞,高祥[6]提出STSA算法融合擴(kuò)展詞典,構(gòu)造了適合微博文本的情感詞典,情感分類(lèi)的準(zhǔn)確率均有所提升。但是基于情感詞典的方法依賴(lài)于詞典的構(gòu)建,隨著信息量的增加,該方法無(wú)法滿(mǎn)足文本情感分析的需求。為了擺脫人工構(gòu)建詞典的約束,學(xué)者們采用基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法進(jìn)行文本情感分析,該方法能從大量語(yǔ)料中自動(dòng)獲取信息以構(gòu)建情感計(jì)算模型?;趥鹘y(tǒng)機(jī)器學(xué)習(xí)的方法是通過(guò)數(shù)據(jù)訓(xùn)練模型,再由訓(xùn)練好的模型來(lái)預(yù)測(cè)情感。Abbasi A[7]等人提出了一種基于規(guī)則的多元文本特征選擇方法,該方法考慮了語(yǔ)義信息和特征之間的句法關(guān)系,以增強(qiáng)情感分類(lèi)。Mustofa RL[8]等人利用情感詞典和樸素貝葉斯進(jìn)行文本情感分析,結(jié)果顯示準(zhǔn)確率達(dá)到79.72%。王磊[9]等人采用最大熵模型的文本情感分析方法,結(jié)合上下文環(huán)境緩解了詞語(yǔ)情感傾向的不確定性。張俊飛[10]通過(guò)PMI特征值TF-IDF加權(quán)樸素貝葉斯算法實(shí)現(xiàn)了情感分析,實(shí)驗(yàn)證明該方法優(yōu)于傳統(tǒng)算法分類(lèi)方法?;趥鹘y(tǒng)機(jī)器學(xué)習(xí)的方法取得了不錯(cuò)的成果,但該方法在文本情感分析時(shí)無(wú)法充分利用上下文信息,學(xué)者把目光聚集在基于深度學(xué)習(xí)的方法上,該方法自動(dòng)學(xué)習(xí)特征,保留上下文語(yǔ)義信息,在文本情感分析方面取得較好的效果,成為了近年來(lái)文本情感分析的主流方法。J. Shobana[11]等人提出了APSO-LSTM模型,利用自適應(yīng)粒子群算法得到了比傳統(tǒng)模型更高的精度。曹宇[12]等人提出了基于BGRU的文本情感分析方法,實(shí)驗(yàn)對(duì)比發(fā)現(xiàn)該方法的分類(lèi)效果優(yōu)于其它模型,并且訓(xùn)練速度快。張瑜[13]等人采用多重卷積循環(huán)網(wǎng)絡(luò)(CRNN)增強(qiáng)了模型的擬合能力和對(duì)長(zhǎng)文本序列的分析能力。楊奎河[14]利用基于Bert和BiLSTM相結(jié)合的模型,得到了比傳統(tǒng)詞向量模型更精準(zhǔn)的分類(lèi)結(jié)果。
從近年來(lái)的研究現(xiàn)狀可見(jiàn),神經(jīng)網(wǎng)絡(luò)模型間的有機(jī)結(jié)合可以提高文本情感分析的性能?;谏疃葘W(xué)習(xí)的方法進(jìn)行文本情感分析的核心在于文本的向量表示和特征提取。本文采用深度學(xué)習(xí)方法,以文本向量表示和特征提取為研究點(diǎn),發(fā)揮Bert、BiGRU和CNN各自的優(yōu)點(diǎn),提出了Bert-BiGRU-CNN文本情感分析模型。該模型采用Bert生成動(dòng)態(tài)詞向量,減輕一詞多義現(xiàn)象帶來(lái)的影響,同時(shí)利用BiGRU提取全局序列特征和CNN提取局部重點(diǎn)特征。從而使該模型既具有強(qiáng)大的詞向量表示能力,又有文本特征的全面提取能力,經(jīng)驗(yàn)證該模型取得了較好的文本情感分類(lèi)效果。
文本情感分析包括文本預(yù)處理、特征提取以及情感分析等模塊,其基本流程如圖1所示。
圖1 文本情感分析流程圖
文本預(yù)處理包括分詞、去停用詞和詞性標(biāo)注等步驟。分詞是將連續(xù)的字分為單個(gè)獨(dú)立的字或詞,去停用詞的過(guò)程是過(guò)濾掉分詞過(guò)程中產(chǎn)生的噪聲及對(duì)文本情感分析有負(fù)作用的字或詞,詞性標(biāo)注是聯(lián)系上下文對(duì)文本中的詞進(jìn)行詞性標(biāo)記。特征提取是從原始文本中提取對(duì)文本情感分析有效的特征。情感分析是將提取的特征與種子詞進(jìn)行比對(duì),從而分析文本情感。
Bert-BiGRU-CNN文本情感分析模型包括輸入層、特征提取層和輸出層,模型結(jié)構(gòu)圖如圖2所示。
圖2 模型結(jié)構(gòu)圖
1)輸入層
為提高文本語(yǔ)義表示,Bert-BiGRU-CNN模型在文本表示方面使用具有強(qiáng)大語(yǔ)義表示能力的Bert模型。Bert的輸入表示是通過(guò)相應(yīng)的Token Embedding、Segment Embedding和Position Embedding的單位和來(lái)構(gòu)造。Token Embedding表示單詞本身的嵌入信息,將詞語(yǔ)轉(zhuǎn)換為固定維數(shù)的向量表示形式,開(kāi)始([CLS])和結(jié)束([S EP])處添加額外的tokens共同作為輸入表示。Segment Embedding表示句對(duì)信息,其作用是對(duì)輸入的兩個(gè)語(yǔ)義相似的文本進(jìn)行區(qū)分。Position Embedding表示每個(gè)詞語(yǔ)在句中的位置信息。
2)特征提取層
特征提取是文本情感分析的核心,Bert-Bi GRU-CNN模型分別利用BiGRU雙向結(jié)構(gòu)從整體捕獲特征和CNN自動(dòng)獲取局部特征。GRU由重置門(mén)和更新門(mén)組成,重置門(mén)決定前一時(shí)刻的隱藏狀態(tài)信息ht-1和當(dāng)前時(shí)刻的隱藏狀態(tài)輸出信息ht傳遞到未來(lái)的數(shù)據(jù)量,更新門(mén)決定過(guò)去信息傳遞。為提取更完整的文本特征,利用由兩個(gè)方向相反的單向GRU構(gòu)成的BiGRU獲取長(zhǎng)文本序列特征。為了進(jìn)一步提升文本局部重點(diǎn)特征提取性能,在BiGRU之后連接CNN卷積層和池化層。
3)輸出層
為節(jié)省權(quán)重空間參數(shù),模型輸出層的分類(lèi)器采用Sigmoid函數(shù)。為解決輸出層神經(jīng)元學(xué)習(xí)緩慢的問(wèn)題,模型的損失函數(shù)使用交叉熵。
Bert-BiGRU-CNN模型文本情感分析過(guò)程如下:
1)文本向量化
Bert-BiGRU-CNN模型采用24層Transfor mer構(gòu)成的Bert-Large預(yù)訓(xùn)練模型,通過(guò)Mask language model和Next Sentence Prediction預(yù)訓(xùn)練和微調(diào)得到適合于文本情感分析的Bert模型,利用Bert中的Bert-as-service庫(kù)對(duì)輸入的句子進(jìn)行向量化;
2)全局特征提取
(1)
(2)
(3)
其中GRU(,)表示向量的非線性變換函數(shù),yt表示正向權(quán)重矩陣,vt表示反向權(quán)重矩陣,bt表示偏置向量。單向GRU在接收詞向量序列后經(jīng)重置門(mén)“重置”之后得到數(shù)據(jù)ht-1′,經(jīng)過(guò)激活函數(shù)映射,使用更新門(mén)進(jìn)行更新得到特征ht,表達(dá)式為
ht-1′=ht-1⊙r
(4)
h′=tanh(w[xt,ht-1′])
(5)
ht=(1-z)⊙ht-1+z⊙h′
(6)
其中r為重置門(mén)門(mén)控,z為更新門(mén)門(mén)控;
3)局部特征提取
對(duì)于從BiGRU傳過(guò)來(lái)的句子向量利用卷積核進(jìn)行級(jí)聯(lián)操作生成特征向量。為同時(shí)獲取不同特征,本模型采用窗口大小分別為2、3、4的過(guò)濾器提取特征,圖3為一個(gè)33的過(guò)濾器工作示意圖。采用最大池化法縮小特征參數(shù)矩陣的尺寸,保留卷積的重要特征;
圖3 過(guò)濾器工作示意圖
4)輸出層
全連接層將池化后的特征進(jìn)行拼接,輸送到Sigmoid函數(shù)得到情感標(biāo)簽。
1)實(shí)驗(yàn)數(shù)據(jù)集
為了評(píng)估Bert-BiGRU-CNN文本情感分類(lèi)模型的效果,用酒店評(píng)論[15]和網(wǎng)絡(luò)購(gòu)物[16]兩個(gè)公開(kāi)數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練和測(cè)試。酒店評(píng)論數(shù)據(jù)集為譚松波老師整理的4000條酒店管理評(píng)論數(shù)據(jù),其中積極和消極評(píng)論各2000條,數(shù)據(jù)集按4:1分為訓(xùn)練集和測(cè)試集。網(wǎng)絡(luò)購(gòu)物(Onlin e_shopping_10_cats)數(shù)據(jù)集共60000多條評(píng)論數(shù)據(jù),包含書(shū)籍、衣服、酒店等10個(gè)類(lèi)別,其中正、負(fù)評(píng)論各約三萬(wàn)條,數(shù)據(jù)集按4:1分為訓(xùn)練集和測(cè)試集。
2)實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
本實(shí)驗(yàn)通過(guò)準(zhǔn)確率、精確率、召回率和 F1值等四個(gè)指標(biāo)來(lái)評(píng)判模型的優(yōu)劣。準(zhǔn)確率(Accur acy)表示所有樣本預(yù)測(cè)的準(zhǔn)確度,其表達(dá)式為
(7)
精確率(Precision)表示所有預(yù)測(cè)結(jié)果為正的樣本中實(shí)際為正的概率,其表達(dá)式為
(8)
召回率(Recall)表示樣本中為正且被預(yù)測(cè)正確的概率,其表達(dá)式為
(9)
F1值表示精確率和召回率的加權(quán)調(diào)和平均值,其表達(dá)式為
(10)
其中TP表示預(yù)測(cè)為正且實(shí)際為正的個(gè)數(shù),FP表示預(yù)測(cè)為正但實(shí)際為負(fù)的個(gè)數(shù),FN表示預(yù)測(cè)為負(fù)但實(shí)際為正的個(gè)數(shù),TN表示預(yù)測(cè)為負(fù)且實(shí)際為負(fù)的個(gè)數(shù)。
1)實(shí)驗(yàn)參數(shù)
為驗(yàn)證Bert-BiGRU-CNN文本情感分析模型的有效性,本文在相同實(shí)驗(yàn)平臺(tái)、環(huán)境和參數(shù)的條件下做了對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)平臺(tái)為L(zhǎng)inux,系統(tǒng)環(huán)境為Ubuntu18.04,開(kāi)發(fā)語(yǔ)言為Python 3.6,開(kāi)發(fā)IDE為Pycharm,深度學(xué)習(xí)框架為T(mén)ensorflow-gpu 2.2.0,詞向量特征提取框架為Keras-Bert,模型超參數(shù)設(shè)置見(jiàn)表1。
表1 超參數(shù)設(shè)置表
Rate為學(xué)習(xí)率,L2Reg表示L2正則化參數(shù),Max-length為數(shù)據(jù)集的最大句子長(zhǎng)度,Dim表示BiGRU隱藏層維度。
2)實(shí)驗(yàn)結(jié)果及分析
為驗(yàn)證Bert-BiGRU-CNN文本情感分析模型的分類(lèi)性能,以Multi-GRU[17]模型、BiGRU-CNN[18]模型、Bert-CLS[19]模型為基線進(jìn)行了對(duì)比實(shí)驗(yàn)。Multi-GRU模型由多層GRU堆疊而成,利用窗口方法進(jìn)行數(shù)據(jù)預(yù)處理,使用單輸入、雙輸入和多輸入通道將特征輸入到GRU預(yù)測(cè)模型中,通過(guò)Sigmoid函數(shù)得到情感分類(lèi)標(biāo)簽。BiGRU-CNN模型是由雙向門(mén)控循環(huán)單元和卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成的復(fù)合模型,BiGRU雙向提取上下文特征信息,然后Text-CNN準(zhǔn)確的提取關(guān)鍵特征,最后經(jīng)過(guò)Sigmoid函數(shù)得到二分類(lèi)情感標(biāo)簽。Bert-CLS模型在Transformer中加入了適配器,在融合層的運(yùn)算過(guò)程中融入了句向量CLS,生成結(jié)合語(yǔ)義的特征向量,經(jīng)由全連接層和Sigmoid函數(shù)預(yù)測(cè)文本情感傾向。實(shí)驗(yàn)結(jié)果見(jiàn)表2。
表2 對(duì)比實(shí)驗(yàn)結(jié)果
由表2的結(jié)果可以看出,Bert-BiGRU-CNN文本情感分析模型在酒店評(píng)論測(cè)試集上的最高準(zhǔn)確率、精準(zhǔn)率、召回率和F1值分別達(dá)到了98.4%、97.4%、97.6%和97.5%,在線購(gòu)物測(cè)試集的準(zhǔn)確率、精準(zhǔn)率、召回率和F1值分別達(dá)到了98.8%、97.9%、98.9%和98.4%。從實(shí)驗(yàn)數(shù)據(jù)可以看出,Bert-BiGRU-CNN文本情感分析模型在兩個(gè)數(shù)據(jù)集上的分類(lèi)效果都明顯高于基線模型。該模型利用Bert得到高質(zhì)量的文本向量語(yǔ)義表示,BiGRU對(duì)長(zhǎng)文本序列特征的有效提取和CNN對(duì)局部重點(diǎn)特征的高效獲取,提升了模型的特征提取能力,從而取得了較好的分類(lèi)效果。
針對(duì)文本情感分析任務(wù)中靜態(tài)詞向量和特征信息提取效果不佳的問(wèn)題,本文提出了一種Bert-BiGRU-CNN文本情感分析模型。模型首先采用Bert一次性讀取要分析的整個(gè)文本序列,從詞語(yǔ)的兩側(cè)學(xué)習(xí)詞之間的上下文關(guān)系,使得同一詞在不同語(yǔ)境下具有不同詞向量,解決了一詞多義現(xiàn)象對(duì)文本情感分類(lèi)的影響;其次結(jié)合BiGRU和CNN各自的特點(diǎn),分別從整體和局部提取特征,提升了文本情感分類(lèi)的特征質(zhì)量。經(jīng)在酒店評(píng)論和在線購(gòu)物數(shù)據(jù)集上的測(cè)試,其準(zhǔn)確率分別達(dá)到98.4%和98.8%,體現(xiàn)了模型具有良好的文本情感分類(lèi)效果。今后在此模型的基礎(chǔ)上,進(jìn)一步研究多模型整合的文本情感分類(lèi)方法,以提高情感分類(lèi)的準(zhǔn)確率。