計文麗
(吉利學(xué)院,四川 成都)
電商評論信息量大、文本規(guī)范性差、內(nèi)容形式豐富,如果用傳統(tǒng)統(tǒng)計分析方法處理分析海量文本數(shù)據(jù),不僅效率低而且會造成較大誤差[1]。利用文本情感分析技術(shù)對文本數(shù)據(jù)進行處理分析來挖掘文本評論數(shù)據(jù)中蘊含的用戶情感傾向是目前常見方法[2]。文本情感分析關(guān)鍵任務(wù)是情感分類,比如對某商品的評論可以是正面情緒、負面情緒、中立情緒[3]。深度學(xué)習(xí)情感分類方法是完全區(qū)別于傳統(tǒng)方法的研究模式,在圖像分類、語音識別、NLP 等領(lǐng)域取得不錯效果[4]。在情感分類任務(wù)中,深度學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)模型可以從原始數(shù)據(jù)中選擇合適的特征,不需要人工進行特征選取,能從大數(shù)據(jù)集中挖掘文本所蘊含的深層次信息,在NLP 領(lǐng)域中得到大量應(yīng)用[5]。因此,本文將深度學(xué)習(xí)中循環(huán)神經(jīng)網(wǎng)絡(luò)不同變體模型應(yīng)用到文本情感分類任務(wù)中,以此對比不同模型的文本分類效果。
相比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),理論上循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)針對任何長度文本序列數(shù)據(jù)都能夠有效訓(xùn)練,然而在模型訓(xùn)練中RNN 模型一般只能“記憶”有限長度的序列信息,由于各層神經(jīng)網(wǎng)絡(luò)的參數(shù)權(quán)重共享,當模型采用誤差反向傳播梯度下降法更新權(quán)重時,輸出依賴當前狀態(tài)時刻,且依賴當前狀態(tài)之前時刻的狀態(tài),使得RNN 模型在訓(xùn)練時容易出現(xiàn)梯度消失的問題[6]。為了解決傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)模型的長時依賴問題,研究者們提出了很多RNN 的擴展模型。
LSTM由Hochreiter 等人[7]于1997 年提出的RNN的變體模型之一。通過改變RNN 的隱藏層狀態(tài)結(jié)構(gòu),使用門(gate)機制對信息的流通和損失進行控制,使傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)中存在的問題得到了解決,并能提取更加豐富的長評論特征。LSTM模型網(wǎng)絡(luò)結(jié)構(gòu)與傳統(tǒng)RNN 模型結(jié)構(gòu)相比更為復(fù)雜,增加了記憶細胞狀態(tài)Ct以及三個控制門。與傳統(tǒng)RNN 網(wǎng)絡(luò)結(jié)構(gòu)類似,LSTM當前狀態(tài)St由當前輸入以及上一隱藏層狀態(tài)決定,不同的是內(nèi)部結(jié)構(gòu)的變化,LSTM結(jié)構(gòu)中引入輸入門it、遺忘門ft、輸出門ot三個門限以及內(nèi)部長期記憶單元Ct、等待存入長期記憶的候選單元C~t。計算公式如下
遺忘門ft表示神經(jīng)細胞單元需要丟棄的信息。其中,Wf是遺忘門權(quán)值矩陣,bf是遺忘門偏置項,σ 表示Sigmoid 函數(shù),ht-1是當前上一時刻的隱藏層輸出,xt是當前時刻輸入。輸入門it用來將新輸入的信息選擇性的輸入到細胞單元中,通過Sigmoid 層決定哪部分數(shù)據(jù)信息輸出。其中,Wi是輸入門權(quán)值矩陣,bi是輸入門偏置項,通過tanh 層創(chuàng)建候選向量C~i,表示歸納出待存入神經(jīng)細胞狀態(tài)中的新信息,由當前時刻的輸入特征xt和上一時刻的短期記憶ht-1得到。并在此基礎(chǔ)上更新狀態(tài)值,添加新信息得到C~t,即長期記憶細胞單元,細胞態(tài)等于上一時刻的長期記憶與遺忘門乘積,加上當前時刻歸納出的新信息與輸入門乘積。輸出門ot用來控制輸出信息,同樣通過Sigmoid 層決定神經(jīng)細胞狀態(tài)中的哪部分數(shù)據(jù)被輸出出去,且將長期記憶神經(jīng)單元狀態(tài)通過tanh 層,與ot相乘獲得輸出部分ht。LSTM網(wǎng)絡(luò)模型由于引入門限機制,可以遺忘無效信息,將重要信息更新到神經(jīng)細胞狀態(tài)中,使其具備處理長序列數(shù)據(jù)的能力;并且由于梯度傳播過程中變成了導(dǎo)數(shù)累加,很大程度上避免了梯度消失或者梯度爆炸問題,在很多任務(wù)中其效果均優(yōu)于傳統(tǒng)RNN 模型。
LSTM模型在模型訓(xùn)練效果上雖然優(yōu)于傳統(tǒng)RNN模型,但是門限機制也使得模型訓(xùn)練參數(shù)過多,網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜化,模型訓(xùn)練效率下降。針對此類問題,Cho等人[8]提出了基于LSTM模型的門控循環(huán)單元(GRU),該變體模型將LSTM網(wǎng)絡(luò)結(jié)構(gòu)中的遺忘門和輸入門合并為更新門,并將記憶狀態(tài)和隱藏層狀態(tài)進行了合并,模型結(jié)構(gòu)比傳統(tǒng)LSTM模型更加簡化,待訓(xùn)練參數(shù)更少。
GRU 模型網(wǎng)絡(luò)結(jié)構(gòu)只有更新門zt和重置門rt兩個門,zt表示更新門,用于限制上一時刻細胞狀態(tài)信息應(yīng)有哪些信息更新到當前狀態(tài)中,值越大,即代表更新信息越多;rt表示重置門,來控制上一時刻有哪些信息應(yīng)寫入當前候選集h~t,其值越小,表示前一時刻信息被選進候選集的越少。模型計算公式如下
式中,Wr,Wz,Wh分別表示重置門、更新門、候選集權(quán)重矩陣;br,bz分別表示各門限偏置項;σ 為Sigmoid 激活函數(shù);其中ht包含了過去信息ht-1和當前候選集信息h~t。GRU 模型相較于LSTM模型減少了門函數(shù),模型訓(xùn)練參數(shù)大大減少,模型訓(xùn)練效果在某些任務(wù)中比LSTM模型好,但針對具體應(yīng)用場景應(yīng)做合適選擇。
Attention 機制[9]首先應(yīng)用在CV 領(lǐng)域,給圖像的不同局部賦予不同的權(quán)重,讓網(wǎng)絡(luò)模型在訓(xùn)練過程中更加關(guān)注指定目標。此后,Bahdanau 等人[10]首次將Attention 機制應(yīng)用在了NLP 領(lǐng)域,嘗試處理機器翻譯任務(wù)。該機制能夠注意到語句中不同詞語的重要程度,并給予不同詞不同權(quán)重,且權(quán)重賦予越高,代表該詞對研究對象越重要。Attention 機制經(jīng)常與深度神經(jīng)網(wǎng)絡(luò)模型相結(jié)合使用,Luong 等人[11]基于RNN 模型引入Attention 機制,研究其拓展模型,為后續(xù)研究奠定了基礎(chǔ)。王瑞龍[12]將注意力機制與深度模型結(jié)合,探究了不同組合模型的情感分類效果,文中在內(nèi)容注意力機制基礎(chǔ)上結(jié)合了Bi-GRU 模型,實驗顯示情感分類效果較好。
注意力可以用查詢項與輸入信息表示,也可以將其描述為查詢項和一組鍵(key)值(value)對的映射[13],注意力計算過程為,先通過兼容性函數(shù)計算查詢項與鍵(key)之間的相似度,將其得分作為權(quán)值,而后將計算得到權(quán)值乘上對應(yīng)的值(value)求和得出查詢項的注意力表示。注意力機制中,給定查詢項q 以及輸入信息X1:N,首先計算查詢項q 與序列x 中每一項的相似度,計算公式是:s(q,xi);其次,通過softmax 函數(shù)對相似度得分進行歸一化操作,由此得到權(quán)重,計算公式如下:
最后,對其進行加權(quán)求和,得到最終注意力值:
傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)各情感分類模型,普遍是基于輸入評論中的每個詞或短語基礎(chǔ)上進行學(xué)習(xí)并提取特征,但模型沒有考慮到評論中不同詞語對最終情感傾向的貢獻程度是不同的。本文基于循環(huán)神經(jīng)網(wǎng)絡(luò)各變體模型結(jié)構(gòu),研究了以情感詞驅(qū)動的注意力神經(jīng)網(wǎng)絡(luò)模型(SD-ANN),該模型能夠“注意到”對情感傾向更重要的詞的特征,給予更能代表評論數(shù)據(jù)情感的詞以更高的注意力權(quán)重。將進行注意力加權(quán)后的局部特征作為輸入層輸入評論最終的特征表達,將預(yù)處理后的評論單詞輸入SD-ANN 模型,根據(jù)特征向量判斷情感極性。通過引入注意力機制,進而對比不同模型在引入注意力機制后的情感分類效果。
本文以京東商城的部分類別商品評論數(shù)據(jù)為研究對象,共爬取121 058 條數(shù)據(jù),由于噪聲數(shù)據(jù)的存在,需要對文本評論數(shù)據(jù)進行分詞、停用詞等預(yù)處理。采用Python 語言下的jieba 分詞第三方庫,對采集的數(shù)據(jù)進行分詞處理;并剔除如連詞、副詞、語氣詞、助詞等無意義詞,這些詞對提取文本評論特征、分析用戶情感情緒沒有價值,在文本預(yù)處理過程中需要將其剔除掉,以減少索引量增加檢索效率。
本研究訓(xùn)練的模型均在詞向量的基礎(chǔ)上進行實現(xiàn),詞向量訓(xùn)練依據(jù)Python 語言下的gensim 開源庫,使用其中的Word2vec 工具完成。模型訓(xùn)練所用的編程語言為Python3.7,訓(xùn)練模型所用的集成開發(fā)環(huán)境是Anaconda3,構(gòu)建Tensorflow2.1 模型框架來實現(xiàn),并使用Jieba 分詞工具,詞向量訓(xùn)練使用Word2vec(gensim)進行實現(xiàn),引入WordCloud、Numpy、Matplotlib等第三方Python 庫幫助模型訓(xùn)練。
本文將采集的真實評論數(shù)據(jù)標注為二類,采用人工標注法實現(xiàn)評論數(shù)據(jù)集的情感極性標注,分為積極(好評)、消極(差評)。通過對文本評論進行情感分析統(tǒng)計,約有50 500 條評論為積極情感類別,有50 558條評論為消極情感類別,并且將商品評論數(shù)據(jù)集以訓(xùn)練集0.8 的比例分為訓(xùn)練集和驗證集兩部分,其中,訓(xùn)練集有80 846 條評論數(shù)據(jù),驗證集有20 212 條評論數(shù)據(jù)。本文主要通過準確率(Accuracy)來評估模型分類性能,一般而言,準確率越高,模型分類性能越好,模型準確度越高[14]。
2.3.1 詞向量訓(xùn)練
本文使用Gensim 模塊下的Word2vec 工具以詞為最小單元進行詞向量訓(xùn)練,保存為詞向量模型。其中詞向量訓(xùn)練參數(shù)設(shè)置如表1 所示。
表1 Word2vec 詞向量參數(shù)設(shè)置
2.3.2 模型參數(shù)設(shè)置
由于RNN 無法解決長期依賴及梯度爆炸問題,本文選取基于長短期記憶神經(jīng)網(wǎng)絡(luò)模型(LSTM)、門控循環(huán)單元網(wǎng)絡(luò)模型(GRU),針對預(yù)處理后的訓(xùn)練集和驗證集進行情感分類效果驗證,模型借助Tensorflow2.1 框架實現(xiàn)[15]。訓(xùn)練模型LSTM及GRU 模型結(jié)構(gòu)參數(shù)設(shè)置如表2 所示。
表2 LSTM/GRU 模型訓(xùn)練參數(shù)設(shè)置
在模型Dense 層(全連接層)設(shè)置二層網(wǎng)絡(luò)結(jié)構(gòu),Dense 層激活函數(shù)使用softmax;并加入了Dropout 機制、L2 正則項,用來避免或者減少模型訓(xùn)練時,可能出現(xiàn)的過擬合現(xiàn)象,同時也提升模型泛化力,其中L2 正則項設(shè)置為0.1。
本文在循環(huán)神經(jīng)網(wǎng)絡(luò)各變體模型的基礎(chǔ)上,提出以情感詞驅(qū)動的注意力神經(jīng)網(wǎng)絡(luò)模型(SD-ANN),該模型能夠“注意到”對情感傾向更重要的詞的特征,給予更能代表評論數(shù)據(jù)情感的詞以更高的注意力權(quán)重,以此探究結(jié)合注意力機制的不同網(wǎng)絡(luò)模型結(jié)構(gòu)在相同數(shù)據(jù)集上的分類效果。包括基于情感詞注意力機制的長短期記憶網(wǎng)絡(luò)模型(Att-LSTM)、基于情感詞注意力機制的雙向長短期記憶網(wǎng)絡(luò)模型(Att-BiLSTM)、基于情感詞注意力機制的門控循環(huán)單元網(wǎng)絡(luò)模型(Att-GRU)。模型訓(xùn)練參數(shù)設(shè)置與表2 同。
LSTM以及GRU 網(wǎng)絡(luò)模型,其模型構(gòu)建過程是:首先,在Gensim 模塊中,依據(jù)Word2vec 工具下的Skip-Gram 模型,以詞為最小單元訓(xùn)練詞向量,獲得各單詞的詞向量表示,維度大小為150;其次,將預(yù)訓(xùn)練好的詞向量,生成詞向量和詞匯- 索引映射字典,獲取詞列表和順序?qū)?yīng)的預(yù)訓(xùn)練權(quán)重矩陣;最后按照訓(xùn)練集0.8 的比例生成訓(xùn)練集與驗證集,將預(yù)訓(xùn)練詞向量及其權(quán)重矩陣分別輸入到設(shè)計的LSTM 及GRU 模型網(wǎng)絡(luò)中訓(xùn)練,實現(xiàn)對文本進行情感分類,獲得模型情感分類效果。LSTM 及GRU 模型準確率如表3 所示。循環(huán)神經(jīng)網(wǎng)絡(luò)變體模型訓(xùn)練過程如圖1 所示。
圖1 模型訓(xùn)練過程
表3 LSTM 及GRU 模型準確率(%)
結(jié)果顯示,從訓(xùn)練集角度,GRU 網(wǎng)絡(luò)模型在情感分類任務(wù)上的準確率(97.8%)相比LSTM 網(wǎng)絡(luò)模型(90.6%)較高;二者均隨著epoch 增加,其準確率也不斷提升,尤其是三輪數(shù)據(jù)集訓(xùn)練之后(epoch>3),GRU模型的準確率高于LSTM模型較為明顯,且二者在10次訓(xùn)練后其準確率均到達最大值。從驗證集角度,總體上LSTM模型其準確率隨著epoch 增加,變化較為平緩,其準確率穩(wěn)定在90%左右;而GRU 模型其準確率隨著epoch 增加而不斷增加,在epoch>2 之后,其準確率趨于穩(wěn)定在93%且高于長短期記憶模型(LSTM)。因此由于GRU 模型網(wǎng)絡(luò)結(jié)構(gòu)較LSTM更為簡化,模型在訓(xùn)練過程中的準確率更早達到優(yōu)化值,GRU 模型在文本分類上的效果要優(yōu)于LSTM模型。
以情感詞驅(qū)動的注意力神經(jīng)網(wǎng)絡(luò)在LSTM、GRU及Bi-LSTM基礎(chǔ)上進行構(gòu)建,模型改進部分是以情感詞為最小單元,并引入注意力機制。實現(xiàn)過程有:首先,將輸入信息(預(yù)訓(xùn)練詞向量)和上下文向量之間的相關(guān)程度作為權(quán)重進行選取特征以及匹配度獲取,并使用雙曲正切(tanh)激活函數(shù)實現(xiàn);其次,在輸入所有詞上計算注意力權(quán)重;最后將情感詞特征輸入到softmax 層進行情感分類實現(xiàn)。為了防止過擬合以及訓(xùn)練出的模型更加適應(yīng)于數(shù)據(jù)集,采取了early stopping技術(shù),若模型結(jié)果多次提升,則訓(xùn)練過程結(jié)束?;谧⒁饬C制的神經(jīng)網(wǎng)絡(luò)模型準確率如表4 所示?;谧⒁饬C制的神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程如圖2 所示。
圖2 模型訓(xùn)練過程
表4 基于注意力機制的神經(jīng)網(wǎng)絡(luò)模型準確率(%)
結(jié)果顯示,從訓(xùn)練集角度,基于注意力機制的門控循環(huán)單元(Att-GRU)模型在情感分類任務(wù)上的準確率(97.1%)比基于注意力機制的長短期記憶模型(Att-LSTM)準確率(96.1%)、基于注意力機制的雙向長短期記憶(Att-BiLSTM)模型準確率(95.8%)較高;三者模型訓(xùn)練均隨著epoch 增加,其準確率也不斷提升;在二輪數(shù)據(jù)集訓(xùn)練之后(epoch>2),三者模型準確率上升開始緩慢,且三者模型準確率在7 次訓(xùn)練后其準確率均到達最大值,之后訓(xùn)練模型準確率開始下降。從驗證集角度,總體上看三者模型準確率波動較大,其準確率隨著epoch 增加,有上升有下降。Att-LSTM 模型在epoch=4 時,準確率達到最好,之后訓(xùn)練準確率開始下降;模型Att-BiLSTM,在epoch=5達到最大值,而模型Att-GRU,在epoch=2 時其模型準確率達到最好,之后均不斷下降?;谧⒁饬C制的長短期記憶模型,在驗證集準確率上表現(xiàn)最好。然而,基于注意力機制的門控循環(huán)單元模型,在訓(xùn)練過程中的準確率更早達到優(yōu)化值。
傳統(tǒng)基于循環(huán)神經(jīng)網(wǎng)絡(luò)的各情感分類模型,普遍是基于輸入評論中的每個詞或短語基礎(chǔ)上進行學(xué)習(xí)并提取特征,但這種模型沒有考慮到一條評論中不同的詞語對最終情感傾向貢獻程度的不同。本文在循環(huán)神經(jīng)網(wǎng)絡(luò)各變體模型的基礎(chǔ)上,引入以情感詞驅(qū)動的注意力神經(jīng)網(wǎng)絡(luò)模型,賦予更能代表評論數(shù)據(jù)情感的詞以更高的注意力權(quán)重訓(xùn)練模型。本文基于深度神經(jīng)網(wǎng)絡(luò)不同的變體模型,將其分別與以情感詞驅(qū)動的注意力機制相結(jié)合的方式進行模型實驗,實驗表明,引入注意力機制的神經(jīng)網(wǎng)絡(luò)模型較傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型分類準確率都有所提升,且會更快地達到優(yōu)化值。根據(jù)實驗結(jié)果分析,本文實驗的以情感詞驅(qū)動的基于注意力機制的門控循環(huán)單元(Att-GRU)及門控循環(huán)單元(GRU)深度神經(jīng)網(wǎng)絡(luò)模型在文本情感分類上效果優(yōu)于其他模型。
必須指出的是,本研究訓(xùn)練的情感分類模型依舊是針對二分類,對于更加細粒度的文本情感分類在各模型上的訓(xùn)練效果有待進一步深入研究。另外,目前提出的深度神經(jīng)網(wǎng)絡(luò)模型無法解決詞匯的一詞多義問題,對分類結(jié)果會造成一定偏差,后期研究可以在現(xiàn)有研究基礎(chǔ)上,利用Transformer 和Bert 模型進行詞向量訓(xùn)練,驗證各模型分類效果。