許學(xué)添,賴河蒗
(廣東司法警官職業(yè)學(xué)院信息管理系,廣州 510520)
隨著終端移動(dòng)設(shè)備的智能化和交互技術(shù)的高速發(fā)展使得人們在線交流溝通更加高效與頻繁,人們多會(huì)傾向于通過互聯(lián)網(wǎng)來發(fā)表自己的觀點(diǎn),例如在微博中對熱點(diǎn)事件發(fā)表自己的看法及態(tài)度,表達(dá)自己的心情[1]。 如何從互聯(lián)網(wǎng)中的文本信息中分析出信息發(fā)布者的情感傾向,是自然語言處理領(lǐng)域的重要內(nèi)容之一[2]。 當(dāng)前,文本情感分析方法主要有基于情感詞典的情感分析方法、基于傳統(tǒng)機(jī)器學(xué)習(xí)的情感分析方法和基于深度學(xué)習(xí)的情感分析方法等[3]。 其中,基于情感詞典的文本情感分析方法,識(shí)別結(jié)果過度依賴已建立的“情感詞典”,在今天網(wǎng)絡(luò)評(píng)論大量使用網(wǎng)絡(luò)用語、雙關(guān)語、諧音語的情況下,要不斷擴(kuò)充“情感詞典”才能取得較好的識(shí)別準(zhǔn)確率。 基于傳統(tǒng)機(jī)器學(xué)習(xí)的情感分析方法,對不同分類器的組合選擇依賴程度較高,不能充分利用上下文文本的語境來進(jìn)行情感分析,也存在一定的缺陷。 基于深度學(xué)習(xí)的情感分析方法能主動(dòng)學(xué)習(xí)文本的高維度深層次特征,并主動(dòng)保留文本中的詞語的信息,從而更好地提取到相應(yīng)詞語的情感語義信息,提高識(shí)別準(zhǔn)確率。
Word2vec 技術(shù)將文本單詞映射到低維稠密的向量空間,實(shí)現(xiàn)了詞語的向量表示,并且可以通過相關(guān)性來表示詞語之間的關(guān)聯(lián),這極大地推動(dòng)深度學(xué)習(xí)在文本分類上的廣泛應(yīng)用[4]。 隨之而來,卷積神經(jīng)網(wǎng)絡(luò)(CNN),長短期記憶網(wǎng)絡(luò)(LSTM)、注意力機(jī)制等模型在自然語言領(lǐng)域得到了廣泛研究與應(yīng)用,其中也包含了在文本情感分析領(lǐng)域的應(yīng)用,Kim 等學(xué)者[5]最先提出了將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于文本情感分類。 馮興杰等學(xué)者[6]將卷積神經(jīng)網(wǎng)絡(luò)結(jié)合注意力機(jī)制進(jìn)行文本情感分析。 成璐[7]使用基于雙向LSTM 和注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)模型對中文評(píng)論進(jìn)行情感分析。 Yuan 等學(xué)者[8]使用多通道卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行局部語義特征信息的提取并結(jié)合雙向GRU 模型來將文本的整體語義信息進(jìn)行融合從而獲得最終的情感傾向。 Wang 等學(xué)者[9]采用雙向LSTM 網(wǎng)絡(luò)結(jié)合常用微博情感符號(hào)以增強(qiáng)文本情感語義的捕獲能力,提高了微博情感分類的性能。 這些方法會(huì)存在語義角色重疊、高維度文本詞向量訓(xùn)練中難以收斂等問題,本文在CNN 的基礎(chǔ)上將其與文本中的情感詞進(jìn)行結(jié)合,采用一種加入詞語情感特征的CNN 模型,并結(jié)合BiLSTM 來對文本情感特征進(jìn)行分析,以提高分類準(zhǔn)確率和收斂速度。
情感詞典是基于情感知識(shí)構(gòu)建的有情感色彩的詞語的集合,其基本原理是根據(jù)經(jīng)驗(yàn)將廣泛使用的情感詞進(jìn)行歸納整理,通過將待分析語句拆分為單個(gè)詞匯,并完成去除停用詞等工作后,與情感詞典的內(nèi)容進(jìn)行匹配,尋找文本中詞語與情感詞典中匹配的情感詞,結(jié)合語法規(guī)則來計(jì)算情感分?jǐn)?shù),從而判斷文本的情感極性[10],領(lǐng)域情感詞典在文本挖掘和自然語言處理領(lǐng)域發(fā)揮著重要的作用[11]。 目前,國內(nèi)開放的情感詞典主要包括知網(wǎng)(HowNet)[12]、大連理工大學(xué)情感詞匯本體庫[13]、清華大學(xué)情感詞典[14]等。 情感詞典由于需要通過專家經(jīng)驗(yàn)進(jìn)行情感特征劃分,具有一定的局限性,無法走出作為“詞典”的限制,不能涵蓋所有情感表達(dá)形式,因此基于情感詞典的文本情感分析任務(wù),面對特定領(lǐng)域存在較多“新詞”的情感分析時(shí),其判斷的準(zhǔn)確率較低。
在文本分析中,通常將詞語作為處理的基本單元,而詞嵌入層(Word Embedding)將詞語轉(zhuǎn)化為長度的向量表示,從早期的獨(dú)熱編碼發(fā)展到現(xiàn)在主流的Word2vec 模型。 Word2vec 模型可以解決獨(dú)熱編碼容易造成維度災(zāi)難和詞語編碼缺乏相關(guān)性等問題,是通過對大規(guī)模文本數(shù)據(jù)進(jìn)行訓(xùn)練將高維稀疏的特征向量映射為低維稠密的詞向量,可以更好地表示詞語之間的關(guān)系及信息。 Mikolov 等學(xué)者[15]提出的Word2vec 模型有CBOW 和Skip-gram 兩種結(jié)構(gòu),兩者都不局限于以前n個(gè)詞向量來預(yù)測第n +1個(gè)詞向量,而是以n為窗口來計(jì)算其中詞的出現(xiàn)概率,從而可以充分考慮上下文的關(guān)聯(lián)與影響,都是基于霍夫曼樹來實(shí)現(xiàn),其中CBOW 模型由窗口中上下文多個(gè)詞去預(yù)測中心詞,而Skip-gram 則是由中心詞去預(yù)測周圍上下文的多個(gè)詞。 利用Word2vec 模型訓(xùn)練得到的詞向量之間余弦距離表示詞語之間的關(guān)系,余弦相似度值越大,詞語間關(guān)系越大、余弦相似度值越小、詞語間關(guān)系越小,這樣就能較好地表示詞語之間的語義相關(guān)性,一個(gè)文本字符通過詞嵌入層之后轉(zhuǎn)成詞向量,就能成為下一步深度學(xué)習(xí)模型的有效輸入信息。
在對文本特征進(jìn)行分析時(shí),由于RNN 網(wǎng)絡(luò)無法對文本句子中的局部特征進(jìn)行聚焦,將會(huì)影響對文本中詞語的情感特征識(shí)別,從而進(jìn)一步引入了卷積神經(jīng)網(wǎng)絡(luò)。 CNN 是一種常用的深度學(xué)習(xí)模型,是通過多維的卷積核可以獲取信息對象不同層次的多維特征,再通過池化操作來取得局部的關(guān)鍵信息。 由于CNN 的卷積核具有局部特征提取功能,因此也適合應(yīng)用在自然語言處理領(lǐng)域,并在文本的上下文信息獲取上具有天然的優(yōu)勢,卷積神經(jīng)網(wǎng)絡(luò)能夠提取不同粒度的短文本特征,因此能有效提取到關(guān)鍵的情感信息[16]。
陳珂等學(xué)者[17]在CNN 的基礎(chǔ)上將其與文本中的情感詞進(jìn)行結(jié)合,提出一種結(jié)合情感詞向量的CNN 模型( Sentiment Words Convolution Neural Networks,SWCNN) 來對文本情感特征進(jìn)行分析。為此,將情感詞的詞義特征作為文本句子的特征輸入矩陣,并利用不同的輸入通道來接收文本句子中不同情感語義特征等信息的組合,使文本數(shù)據(jù)在訓(xùn)練時(shí)能夠感知到更多的情感語義特征信息,提高對文本句子中的情感特性進(jìn)行有效識(shí)別。
對于長度為n的句子S =w1,w2,…,wn,其中wn為第n個(gè)詞經(jīng)過詞嵌入層轉(zhuǎn)換后輸出的詞向量。 首先,將該詞向量wi根據(jù)情感詞典詞映射為多維的情感特征向量tagi,從而獲得情感特征向量矩陣E∈Rm×|V|,tagi∈Rm,同時(shí)也要對否定詞和程度副詞進(jìn)行標(biāo)注與映射,進(jìn)而對句子的情感向量進(jìn)行正確表示。
因此,對于一個(gè)具有n個(gè)詞語的句子,其特征表示為:
其中,e是句子中的詞向量,tag是情感特征向量。 進(jìn)一步使用拼接操作形成CNN 層的輸入特征矩陣x∈Rm+k作為卷積神經(jīng)網(wǎng)絡(luò)的輸入:
其中,“ ⊕”表示拼接操作。 在本研究中,句子輸入的最大長度為maxlen,若長度小于maxlen則用0 向量補(bǔ)全。
在卷積層中,若對不同卷積核的輸入矩陣進(jìn)行局部特征提取,可將長度為h的卷積核句子分為{x0:h-1,x1:h,…,xi:i+h-1,…,xn-h(huán)+1:n},然后對所獲得的分量進(jìn)行卷積操作,從而獲得文本句子的情感卷積特征圖:
其中,ci表示利用分量xi:i+h-1進(jìn)行卷積操作所提取獲得的文本情感語義特征信息,見下式:
其中,W∈Rh×(m+k)表示卷積核權(quán)重,b∈R表示卷積核偏置。
而后,在卷積神經(jīng)網(wǎng)絡(luò)的池化層中,利用了Max-Over-Time Pooling 方法對文本情感語義特征進(jìn)行采樣,則所提取的特征信息如下:
其中,表示利用一個(gè)卷積核進(jìn)行采樣后所獲得的結(jié)果,對于k個(gè)卷積核采樣得到的特征信息可以表示為:
最后,將SWCNN 算法中上述池化層所獲得的文本情感語義特征等相關(guān)信息作為全連接層的輸入,得到分類結(jié)果具體如式(8)所示:
其中,bf∈R表示全連接層的偏置;Wf∈Rk表示全連接層權(quán)重;y是輸出結(jié)果。
對于文本句子的情感語義識(shí)別,在將一個(gè)句子通過詞嵌入層轉(zhuǎn)為詞向量S =w1,w2,…,wn后,可以將文本語句S中所包括的情感語義及角色認(rèn)作一個(gè)切分集,記為R ={r1,r2,…,rm},每一個(gè)切分rj對應(yīng)一個(gè)本文情感語義角色[17-18]。 這樣一來,文本中的情感語義角色識(shí)別與處理又可看作針對句子S =w1,w2,…,wn進(jìn)行情感識(shí)別分析,最終自動(dòng)獲得切分集R ={r1,r2,…,rm}。 對上述序列切分問題的處理,通過引入文本語句的序列標(biāo)記集合,最終將其轉(zhuǎn)化為序列標(biāo)注與識(shí)別類問題。 本研究將文本框架語義識(shí)別問題形式化描述為:對于一條句子S =w1,w2,…,wn,給定文本句子中的目標(biāo)詞wt以及其所屬的情感框架fwt,并將句子中的每個(gè)詞標(biāo)記一個(gè)合適的標(biāo)簽ti,ti∈{B,I,O}。 其中,“B”指一個(gè)標(biāo)注單元中的第一個(gè)詞;“I” 指該詞屬于一個(gè)標(biāo)注單元中的中間詞或結(jié)束詞,表示該標(biāo)注單元的延續(xù);“O”指該詞不屬于任何一個(gè)標(biāo)注單元。 這樣,對于一個(gè)標(biāo)記序列T =t1,t2,…,tn,語義角色識(shí)別任務(wù)轉(zhuǎn)化后可得到如式(9)的一個(gè)序列優(yōu)化問題:
其中,T?表示一個(gè)可對文本句子的語義角色信息進(jìn)行還原的合理序列。 針對該文本的情感語義識(shí)別優(yōu)化問題,傳統(tǒng)的方法是使用SVM(Support Vector Machine)、CRF(Conditional Random Field)等統(tǒng)計(jì)機(jī)器學(xué)習(xí)算法來對式(9)的條件概率進(jìn)行求解。 但這些方法存在對特征流程嚴(yán)重依賴、需人工構(gòu)建復(fù)雜的特征以及成本過高等問題。 隨著深度學(xué)習(xí)算法在眾多領(lǐng)域得到廣泛應(yīng)用,眾多人工神經(jīng)網(wǎng)絡(luò)算法在自然語言的情感語義角色標(biāo)注任務(wù)上取得了極大進(jìn)展。 其中,BiLSTM(Bidirectional Long Short-Term Memory)作為循環(huán)神經(jīng)網(wǎng)絡(luò)的一種改進(jìn)算法,在自然語言處理領(lǐng)域取得了較好的應(yīng)用效果。
LSTM 算法是RNN 算法的變體,能解決RNN 的梯度消失問題,更重要的是相對于RNN,增加了3個(gè)特殊的門:輸入門(Input Gate)、輸出門(Output Gate)和遺忘門(Forget Gate),這樣其記憶單元具有了保存、更新和重置功能,以及兼顧長距離歷史信息的能力。 應(yīng)用在文本信息處理中,可以有效提取上下文語義信息,其單元結(jié)構(gòu)圖如圖1 所示。 LSTM的更新公式為:
圖1 LSTM 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 1 LSTM algorithm structure diagram
圖1 中,σ為Sigmoid 激活函數(shù),代表了門開關(guān),it為輸入門的輸出,ot為輸出門的輸出,ft為遺忘門輸出,W為對應(yīng)的權(quán)重,b為對應(yīng)的偏置。
本文基于SWCNN 和BiLSTM 的文本情感預(yù)測模型總體框架結(jié)構(gòu)如圖2 所示。 其中,將句子的文本字符通過詞嵌入層轉(zhuǎn)為詞向量,同時(shí)也對否定詞和程度副詞進(jìn)行標(biāo)注,最終通過向量化操作,將每一個(gè)詞進(jìn)行多維映射。 接著,一方面輸入BiLSTM 網(wǎng)絡(luò),獲取文本上下文的情感特征信息,另一方面利用情感詞典,將詞向量轉(zhuǎn)為情感特征向量,與詞向量拼接為SWCNN 的輸入特征矩陣,再通過CNN 層的卷積核獲取句子局部的多維度情感特征,隨后將BiLSTM 和SWCNN 網(wǎng)絡(luò)的輸出特征進(jìn)行融合,再輸入全連接神經(jīng)網(wǎng)絡(luò),最后通過Softmax層輸出句子的情感分類。
圖2 基于SWCNN 和BiLSTM 的文本情感預(yù)測模型Fig. 2 Text emotion prediction model based on SWCNN and BiLSTM
本文采用第二十六屆全國信息檢索學(xué)術(shù)會(huì)議評(píng)測大賽提供的疫情期間網(wǎng)民情緒數(shù)據(jù)集(https:/ /www.datafountain.cn/competitions/423/datasets)進(jìn)行測試,該數(shù)據(jù)集是2020年1月1日至2020年2月20日期間根據(jù)與“新冠肺炎”相關(guān)的230 個(gè)主題關(guān)鍵詞所采集的數(shù)據(jù),其中10 萬條已經(jīng)過人工標(biāo)注(積極、中性和消極)的文本數(shù)據(jù),以7 ∶3 劃分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,并保證2 個(gè)數(shù)據(jù)集中每類數(shù)據(jù)的比例保持一致。 本研究所構(gòu)建模型算法的超參數(shù)如下:更新模型參數(shù)為mini -batch梯度下降算法,batch -size為150,學(xué)習(xí)率衰減系數(shù)為0.05,優(yōu)化器為Adam,模型訓(xùn)練時(shí)使用dropout方法,dropout -rate為0.5;迭代周期為30 次。
具體仿真實(shí)驗(yàn)操作系統(tǒng)為Linux 64 bit,Python 3.6.1 版本,開發(fā)平臺(tái)為PyCharm; CPU 為Intel core i7-8700@4. 2 GHz 8 核,內(nèi)存為Kingston ddr4 2 400 MHz 16 G,GPU 為Nvidia GeForce 2080 8 G。
對于SWCNN 模型,卷積核的尺寸決定了每次卷積讀取的單詞長度,也即局部特征提取的尺度,而情感向量和詞向量的長度決定了卷積核的長度,直接影響了模型的訓(xùn)練速度和識(shí)別準(zhǔn)確率(見表1)。當(dāng)情感向量長度為5,詞向量長度為150,卷積核為(2,3,4)時(shí),SWCNN 模型可以取得較高的識(shí)別準(zhǔn)確率。
表1 SWCNN 模型參數(shù)分析Tab. 1 SWCNN model parameter analysis
在對本研究算法模型的性能分析中,與相關(guān)領(lǐng)域其他學(xué)者應(yīng)用的算法進(jìn)行了比較,分別選取CNN[5]、 RNN[19]、 BiLSTM[9]、 SWCNN[17]、 CNN +BiLSTM[20]和SWCNN+BiLSTM(本文)進(jìn)行對比分析。 情感文本分析識(shí)別正確率分別利用Accuracy、Precision、Recall及F1值等指標(biāo)進(jìn)行分析,結(jié)果見表2。
表2 算法性能比較Tab. 2 Algorithm performance comparison%
由表1 可發(fā)現(xiàn)本研究的識(shí)別精確度達(dá)到89.23%,相比其他學(xué)者提出的模型算法在準(zhǔn)確率上至少提高1.95%;進(jìn)一步從Precision、Recall及F1三個(gè)角度對比,可發(fā)現(xiàn)本研究模型算法的Precision、Recall及F1分別為88.57%、74.58%及73.09 %,與其他算法相比,明顯本研究模型算法的Precision、Recall及F1值更高。 由此可見,在文本情感分析領(lǐng)域,相比其他深度學(xué)習(xí)模型算法,本研究所構(gòu)建基于SWCNN 和BiLSTM 的文本情感分析模型的識(shí)別準(zhǔn)確度更優(yōu)。
圖3 為幾種模型在訓(xùn)練過程中的校驗(yàn)集準(zhǔn)確率變化情況。 由圖3 可以看出,傳統(tǒng)的CNN、RNN 和BiLSTM 和本文提出的SWCNN 都有較大的波動(dòng)性和收斂速度也較慢,CNN+BiLSTM 由于兼顧了局部的語義信息和上下文信息,具有較快的收斂速度和較高的準(zhǔn)確率,而本文所提出的SWCNN+BiLSTM,將CNN+BiLSTM 模型中的CNN 升級(jí)為SWCNN,同時(shí)考慮了詞向量的情感特征信息,因此訓(xùn)練過程穩(wěn)定而且具有最快的收斂速度和最佳的準(zhǔn)確率。
圖3 驗(yàn)證集準(zhǔn)確率變化曲線Fig. 3 Accuracy change curve of verification set
本文提出了一種結(jié)合情感詞的卷積神經(jīng)網(wǎng)絡(luò)算法以獲取句子的局部情感特征,并與雙向長短期記憶神經(jīng)網(wǎng)絡(luò)所獲取的全局情感特征進(jìn)行融合,構(gòu)建了基于SWCNN 與BiLSTM 結(jié)合的文本情感預(yù)測模型,該模型充分考慮了詞語的情感屬性、位置信息等局部特征,也兼顧了上下文詞語的全局關(guān)聯(lián)信息,因此具有較高的識(shí)別準(zhǔn)確率與較強(qiáng)的泛化性能。 經(jīng)實(shí)驗(yàn)分析表明,與其他模型算法相比,本研究模型的情感識(shí)別精確度達(dá)到89.23%,訓(xùn)練過程更加平穩(wěn)、且具有更快的收斂速度,為文本情感識(shí)別提供了一種更優(yōu)的思路與方法。