王英明,郭艷梅,許 青,李 潔
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的持續(xù)發(fā)展,以智能手機(jī)及平板電腦為代表的智能移動(dòng)終端日益普及,以微博、微信、抖音為代表的新媒體平臺得到快速發(fā)展,全球互聯(lián)網(wǎng)用戶數(shù)量持續(xù)提升. 截至2022 年3 月,微博月活躍用戶達(dá)5.82 億,日活躍用戶為2.52 億;抖音用戶也已超過6.6 億. 伴隨著微博用戶的日益增長,評論信息也在不斷增加,這些評論信息中蘊(yùn)含著網(wǎng)民對某一特定話題的觀點(diǎn)和看法,分析這些情感信息的特征和極性對社會輿情的走向,以及政府引導(dǎo)策略的制定都有很重要的作用.
情感分析作為自然語言處理常見的應(yīng)用場景,可以采用基于情感詞典的分類方法,也可采用基于深度學(xué)習(xí)的方法. 基于深度學(xué)習(xí)的情感分類,具有精度高,通用性強(qiáng),不需要情感詞典等優(yōu)點(diǎn),在自然語言處理領(lǐng)域獲得了極大的成功.
目前,很多學(xué)者對一些深度學(xué)習(xí)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化或者在現(xiàn)有深度學(xué)習(xí)網(wǎng)絡(luò)模型的基礎(chǔ)上進(jìn)行組合,都取得了較好的效果. 文獻(xiàn)[1]將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Net‐work,CNN)和長短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)結(jié)合起來,在Kaggle 比賽惡意評論分類中取得了98% 的實(shí)驗(yàn)結(jié)果. 文獻(xiàn)[2]使用Glove 進(jìn)行詞向量化,構(gòu)建了一個(gè)卷積神經(jīng)網(wǎng)絡(luò)和門控循環(huán)單元(Gated Recurrent Unit,GRU)的混合模型,在IMDB 數(shù)據(jù)集上取得了86.34% 的訓(xùn)練正確率. 文獻(xiàn)[3]使用LSTM、Bi-LSTM、GRU 等網(wǎng)絡(luò)模型實(shí)現(xiàn)了土耳其推文多分類情感分析. 文獻(xiàn)[4]先利用BERT 模型作為特征提取模型,然后使用CNN 提取文本局部信息,最后接入一個(gè)全連接層,實(shí)現(xiàn)文本情感分類,實(shí)驗(yàn)結(jié)果優(yōu)于傳統(tǒng)情感分類算法.文獻(xiàn)[5]、文獻(xiàn)[6]和文獻(xiàn)[7]將注意力機(jī)制融入文本情感分析模型,模型先利用LSTM 等方法進(jìn)行初步特征提取,再結(jié)合注意力機(jī)制從不同的維度和表示子空間里提取相關(guān)的信息. 文獻(xiàn)[8]提出了一種基于BERT(Bidirec‐tional Encoder Representation from Transformers)和層次化Attention 的模型BERT-HAN,該模型能有效提升微博情感分析的Macro F1 和Micro F1 值,具有較高的實(shí)用價(jià)值.
以上研究或利用BERT 模型提取動(dòng)態(tài)詞向量,或?qū)⒆⒁饬C(jī)制融入到傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中捕獲重要信息,都取得了很好的效果,但構(gòu)造的模型仍存在未能同時(shí)解決一詞多義、關(guān)鍵特征提取、參數(shù)過多等問題. 為了解決這些問題,本文擬利用動(dòng)態(tài)詞向量解決一詞多義問題、使用門控循環(huán)單元降低模型參數(shù)、利用注意力機(jī)制提取關(guān)鍵特征,將三者融合起來,構(gòu)造分類模型對微博評論進(jìn)行情感分析,提高模型的準(zhǔn)確率.
為了使用動(dòng)態(tài)詞向量技術(shù)、提高模型情感分析的準(zhǔn)確率和訓(xùn)練的效率,本文將AL‐BERT(A Lite BERT)、Bi-GRU 模型和Attention結(jié)合起來,設(shè)計(jì)了一個(gè)新的模型,模型結(jié)構(gòu)如圖1 所示.
圖1 模型結(jié)構(gòu)圖
首先,對文本評論數(shù)據(jù)進(jìn)行預(yù)處理,將預(yù)處理后的數(shù)據(jù)輸入到詞嵌入層,詞嵌入層通過ALBERT 獲取到文本的動(dòng)態(tài)詞向量;然后,利用Bi-GRU 層提取文本特征,并引入多層注意力機(jī)制捕獲文本序列中的重要信息;最后經(jīng)過池化層、全連接層等構(gòu)建微博文本情感預(yù)測模型.
詞嵌入主要有兩種方式:靜態(tài)詞嵌入和動(dòng)態(tài)詞嵌入. 靜態(tài)詞嵌入有Word2Vec、Glove、FastText等,而動(dòng)態(tài)詞嵌入有BERT、GPT、ELMO、ENRIE 等,考慮到詞語的上下文語境,可能會存在一詞多義的情況,本文選擇使用動(dòng)態(tài)詞嵌入中的BERT 進(jìn)行文本向量化.
BERT[9]是2018 年10月由Google AI 研 究院提出的一種預(yù)訓(xùn)練模型,BERT 模型的結(jié)構(gòu)是Transformer 模型的Encode 結(jié)構(gòu),模型中的輸入信號由分詞向量(Token Embedding)、段落向量(Segment Embedding)和位置向量(Posi‐tion Embedding)組成,如圖2 所示.
圖2 BERT 模型的輸入信號
BERT 模型的創(chuàng)新在于模型訓(xùn)練,模型訓(xùn)練由兩個(gè)任務(wù)組成,一是掩碼語言模型(Masked Language Model,MLM),二是預(yù)測下一個(gè)句子(Next Sentence Prediction,NSP). 通過這兩個(gè)任務(wù),可以學(xué)習(xí)到詞語與上下文的相關(guān)性.
BERT 預(yù)訓(xùn)練模型參數(shù)過多,在實(shí)際使用時(shí)受內(nèi)存和GPU 制約,本文使用BERT 模型的改進(jìn)模型ALBERT,ALBERT[10]通過詞嵌入?yún)?shù)因式分解和隱藏層間參數(shù)共享減少模型參數(shù),通過句子間順序預(yù)測(Sentence-Order Pre‐diction,SOP)學(xué)習(xí)句子間的語義關(guān)系,提高模型準(zhǔn)確率. 相比于BERT,ALBERT 能夠在不損失模型性能的情況下,顯著地減少參數(shù)量.
GRU 是一種特殊類型的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),相較于LSTM,消耗資源較少,但能獲得幾乎相同的效果.GRU 更新門有助于捕捉時(shí)間序列里短期的依賴關(guān)系,重置門有助于捕捉時(shí)間序列里長期的依賴關(guān)系[11].GRU 模型存儲單元結(jié)構(gòu)圖如圖3 所示.
圖3 GRU 存儲單元結(jié)構(gòu)圖
GRU 計(jì)算過程如下:
首先,t時(shí)刻的重置門rt和更新門zt的輸入均為當(dāng)前時(shí)刻的輸入xt和上一時(shí)刻的隱藏狀態(tài)ht-1,重置門rt決定ht-1的更新情況,重置門zt決定是否要放棄ht-1,輸出由sigmod 激活函數(shù)的全連接計(jì)算得到.
接下來,將當(dāng)前時(shí)刻的重置門rt與上一時(shí)刻的隱藏狀態(tài)ht-1按元素作乘法,將計(jì)算結(jié)果與當(dāng)前時(shí)刻的輸入xt作連接,再通過tanh激活函數(shù)的全連接層,計(jì)算出當(dāng)前時(shí)刻的候選隱藏狀態(tài).
最后,使用當(dāng)前時(shí)刻的更新門zt對上一時(shí)刻的隱藏狀態(tài)ht-1和當(dāng)前時(shí)刻的候選隱藏狀態(tài)作組合,計(jì)算t時(shí)刻的隱藏狀態(tài)ht.
為充分利用文本信息中的過去時(shí)刻和將來時(shí)刻的上下文語義信息,本文采用雙向的GRU 算法,即Bi-GRU,模型結(jié)構(gòu)如圖4 所示.
圖4 Bi-GRU 結(jié)構(gòu)圖
為了關(guān)注評論信息文本序列中的關(guān)鍵部分、加快模型訓(xùn)練效率,本文使用多頭注意力機(jī)制(Multi-Head Mechanism),捕獲文本間的權(quán)重大小,模型結(jié)構(gòu)如圖5 所示[12].
圖5 多頭注意力機(jī)制模型結(jié)構(gòu)圖
多頭注意力機(jī)制的計(jì)算過程如下:
在計(jì)算第i頭注意力Mi時(shí),先計(jì)算Q'與K'的乘積,然后除以這是為了計(jì)算每個(gè)特征與句子中的其他特征的相關(guān)性大小,在訓(xùn)練階段突出重要特征的權(quán)重,提高模型的準(zhǔn)確率.
本文采用的數(shù)據(jù)集是開放數(shù)據(jù)集weibo_sen‐ti_100k,約12 萬條帶情感標(biāo)注的新浪微博評論,正負(fù)向評論各約6 萬條,數(shù)據(jù)集部分?jǐn)?shù)據(jù)如圖6 所示,其中1 表示正向評論,0 表示負(fù)向評論.
圖6 數(shù)據(jù)集示例圖
本實(shí)驗(yàn)是在Windows Server 2019 系統(tǒng)下進(jìn)行的,系統(tǒng)硬件配置為:CPU 為Intel Xeon Platinum 8255C(20 核心)、內(nèi)存為80 G、GPU為NAVIDA Tesla T4 16 G、硬盤50 G;軟件配置為:cuda_10.0.130、cudnn-10.0-windows10-x64-v7.4.1.5、python 3.6.13、Anaconda3-2022.05,具體配置見表1.
表1 實(shí)驗(yàn)環(huán)境
本文的實(shí)驗(yàn)參數(shù)主要有:詞向量模型為ALBERT,詞向量大小為312,批尺寸(batch-size)為64,epoch 為3,丟棄率(Dropout)為0.5,學(xué)習(xí)率為0.001,訓(xùn)練集與測試集比例為8:2,具體實(shí)驗(yàn)參數(shù)見表2.
表2 實(shí)驗(yàn)參數(shù)
其中,ALBERT 模型使用albert-tiny,主要配置參數(shù)如下:
情感分類的評價(jià)指標(biāo)主要有準(zhǔn)確率(Ac‐curacy)、精準(zhǔn)率(Precision)、召回率(Recall)、F1 值(F1-Measure)等,準(zhǔn)確率和F1 值的計(jì)算公式如下:
本文使用準(zhǔn)確率和F1 值在測試集上對模型進(jìn)行評價(jià). 準(zhǔn)確率是指分類正確的樣本數(shù)占總樣本的比例;F1 值為精確率和召回率的調(diào)和值,F(xiàn)1 值越大,說明該模型越穩(wěn)健.
本文在微博評論文本情感分析中將AL‐BERT 預(yù)訓(xùn)練模型、Bi-GRU 模型,以及注意力機(jī)制融合在一起,對比Bi-LSTM、Bi-GRU、Bi-GRU + Attention、Bi-LSTM + Attention 等模型,實(shí)驗(yàn)結(jié)果如表3 所示. 通過實(shí)驗(yàn)結(jié)果可以得出:
表3 實(shí)驗(yàn)結(jié)果
①詞嵌入層使用ALBERT 預(yù)訓(xùn)練模型效果明顯優(yōu)于使用Embedding 模型. 由表3 可知,使用ALBERT 預(yù)訓(xùn)練模型融合其他模型構(gòu)造的分類器在準(zhǔn)確率上均明顯高于Embedding詞向量模型,最高提升1.76%,直觀對比如圖7所示,而且在F1 值上也要優(yōu)于Embedding 詞向量模型,直觀對比如圖8 所示.
圖7 兩種詞向量構(gòu)造的模型Accuracy 對比圖
圖8 兩種詞向量構(gòu)造的模型F1 對比圖
②融合Bi-GRU 能有效降低模型訓(xùn)練參數(shù),提高訓(xùn)練效率.GRU 是LSTM 變動(dòng)較大的變體,比LSTM 少了一個(gè)門,參數(shù)有所降低,通過實(shí)驗(yàn)對比,融合Bi-GRU 的模型比文獻(xiàn)[8]中融合Bi-LSTM 的模型訓(xùn)練參數(shù)減少了25%,訓(xùn)練時(shí)間縮短了20%,具體數(shù)據(jù)見表4.
表4 融合Bi-GRU 的模型參數(shù)和訓(xùn)練時(shí)間對比圖
③對比同樣使用ALBERT 預(yù)訓(xùn)練模型融合其他模型構(gòu)建的分類器,如圖9 所示,在模型中增加注意力機(jī)制能提高模型的準(zhǔn)確率,但效果不是很明顯,約提升0.06%,這主要是源于ALBERT 預(yù)訓(xùn)練模型中本身存在注意力機(jī)制.
圖9 融合注意力的模型準(zhǔn)確率對比圖
④融合Bi-GRU 的模型在訓(xùn)練時(shí)的準(zhǔn)確率和損失率與訓(xùn)練輪次和迭代次數(shù)的變化關(guān)系如圖10、圖11 所示,當(dāng)?shù)谝惠喆斡?xùn)練結(jié)束時(shí),已迭代1 500 次,此時(shí)訓(xùn)練的準(zhǔn)確率和損失率均趨于穩(wěn)定.
圖10 準(zhǔn)確率、損失率與訓(xùn)練輪次變化曲線
圖11 準(zhǔn)確率、損失率與迭代次數(shù)變化曲線
⑤本文還對比了tensorflow 中GRU 模型的兩種實(shí)現(xiàn)方式在模型訓(xùn)練階段所需時(shí)間,以及最終模型在測試集上的準(zhǔn)確率和F1 值,具體見表5.
表5 實(shí)驗(yàn)結(jié)果
從實(shí)驗(yàn)結(jié)果可以看出,兩種實(shí)現(xiàn)方式訓(xùn)練出的模型在測試集上準(zhǔn)確率和F1 值非常接近,GRU 相對好一點(diǎn),但模型的訓(xùn)練時(shí)間相差很大,這是因?yàn)镃uDNNGRU 是基于CuDNN實(shí)現(xiàn)的,能充分發(fā)揮GPU 的計(jì)算能力.
本文構(gòu)造一個(gè)基于ALBERT、多頭注意力機(jī)制和雙向GRU 的情感分類模型. 首先利用ALBERT 層,從文本信息中獲取動(dòng)態(tài)詞向量作為特征提取層的輸入,然后使用Bi-GRU 層提取特征,并在模型中融入注意力機(jī)制捕獲關(guān)鍵特征,構(gòu)造新的網(wǎng)絡(luò)模型,從而更好地提取文本特征、分析情感極性,最后使用Softmax 分類器輸出分類結(jié)果,能夠獲得較好的分類效果.
實(shí)驗(yàn)結(jié)果表明,本文構(gòu)建的分類模型能有效提取文本的特征,與靜態(tài)詞向量相比,模型準(zhǔn)確率提升1.76%,與Bi-LSTM 相比,參數(shù)數(shù)量下降25%,訓(xùn)練效率提升20%,具有較高的應(yīng)用價(jià)值.
通化師范學(xué)院學(xué)報(bào)2022年8期