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

表1 Word2vec 詞向量參數設置
2.3.2 模型參數設置
由于RNN 無法解決長期依賴及梯度爆炸問題,本文選取基于長短期記憶神經網絡模型(LSTM)、門控循環單元網絡模型(GRU),針對預處理后的訓練集和驗證集進行情感分類效果驗證,模型借助Tensorflow2.1 框架實現[15]。訓練模型LSTM及GRU 模型結構參數設置如表2 所示。

表2 LSTM/GRU 模型訓練參數設置
在模型Dense 層(全連接層)設置二層網絡結構,Dense 層激活函數使用softmax;并加入了Dropout 機制、L2 正則項,用來避免或者減少模型訓練時,可能出現的過擬合現象,同時也提升模型泛化力,其中L2 正則項設置為0.1。
本文在循環神經網絡各變體模型的基礎上,提出以情感詞驅動的注意力神經網絡模型(SD-ANN),該模型能夠“注意到”對情感傾向更重要的詞的特征,給予更能代表評論數據情感的詞以更高的注意力權重,以此探究結合注意力機制的不同網絡模型結構在相同數據集上的分類效果。包括基于情感詞注意力機制的長短期記憶網絡模型(Att-LSTM)、基于情感詞注意力機制的雙向長短期記憶網絡模型(Att-BiLSTM)、基于情感詞注意力機制的門控循環單元網絡模型(Att-GRU)。模型訓練參數設置與表2 同。
LSTM以及GRU 網絡模型,其模型構建過程是:首先,在Gensim 模塊中,依據Word2vec 工具下的Skip-Gram 模型,以詞為最小單元訓練詞向量,獲得各單詞的詞向量表示,維度大小為150;其次,將預訓練好的詞向量,生成詞向量和詞匯- 索引映射字典,獲取詞列表和順序對應的預訓練權重矩陣;最后按照訓練集0.8 的比例生成訓練集與驗證集,將預訓練詞向量及其權重矩陣分別輸入到設計的LSTM 及GRU 模型網絡中訓練,實現對文本進行情感分類,獲得模型情感分類效果。LSTM 及GRU 模型準確率如表3 所示。循環神經網絡變體模型訓練過程如圖1 所示。

圖1 模型訓練過程

表3 LSTM 及GRU 模型準確率(%)
結果顯示,從訓練集角度,GRU 網絡模型在情感分類任務上的準確率(97.8%)相比LSTM 網絡模型(90.6%)較高;二者均隨著epoch 增加,其準確率也不斷提升,尤其是三輪數據集訓練之后(epoch>3),GRU模型的準確率高于LSTM模型較為明顯,且二者在10次訓練后其準確率均到達最大值。從驗證集角度,總體上LSTM模型其準確率隨著epoch 增加,變化較為平緩,其準確率穩定在90%左右;而GRU 模型其準確率隨著epoch 增加而不斷增加,在epoch>2 之后,其準確率趨于穩定在93%且高于長短期記憶模型(LSTM)。因此由于GRU 模型網絡結構較LSTM更為簡化,模型在訓練過程中的準確率更早達到優化值,GRU 模型在文本分類上的效果要優于LSTM模型。
以情感詞驅動的注意力神經網絡在LSTM、GRU及Bi-LSTM基礎上進行構建,模型改進部分是以情感詞為最小單元,并引入注意力機制。實現過程有:首先,將輸入信息(預訓練詞向量)和上下文向量之間的相關程度作為權重進行選取特征以及匹配度獲取,并使用雙曲正切(tanh)激活函數實現;其次,在輸入所有詞上計算注意力權重;最后將情感詞特征輸入到softmax 層進行情感分類實現。為了防止過擬合以及訓練出的模型更加適應于數據集,采取了early stopping技術,若模型結果多次提升,則訓練過程結束。基于注意力機制的神經網絡模型準確率如表4 所示?;谧⒁饬C制的神經網絡模型訓練過程如圖2 所示。

圖2 模型訓練過程

表4 基于注意力機制的神經網絡模型準確率(%)
結果顯示,從訓練集角度,基于注意力機制的門控循環單元(Att-GRU)模型在情感分類任務上的準確率(97.1%)比基于注意力機制的長短期記憶模型(Att-LSTM)準確率(96.1%)、基于注意力機制的雙向長短期記憶(Att-BiLSTM)模型準確率(95.8%)較高;三者模型訓練均隨著epoch 增加,其準確率也不斷提升;在二輪數據集訓練之后(epoch>2),三者模型準確率上升開始緩慢,且三者模型準確率在7 次訓練后其準確率均到達最大值,之后訓練模型準確率開始下降。從驗證集角度,總體上看三者模型準確率波動較大,其準確率隨著epoch 增加,有上升有下降。Att-LSTM 模型在epoch=4 時,準確率達到最好,之后訓練準確率開始下降;模型Att-BiLSTM,在epoch=5達到最大值,而模型Att-GRU,在epoch=2 時其模型準確率達到最好,之后均不斷下降?;谧⒁饬C制的長短期記憶模型,在驗證集準確率上表現最好。然而,基于注意力機制的門控循環單元模型,在訓練過程中的準確率更早達到優化值。
傳統基于循環神經網絡的各情感分類模型,普遍是基于輸入評論中的每個詞或短語基礎上進行學習并提取特征,但這種模型沒有考慮到一條評論中不同的詞語對最終情感傾向貢獻程度的不同。本文在循環神經網絡各變體模型的基礎上,引入以情感詞驅動的注意力神經網絡模型,賦予更能代表評論數據情感的詞以更高的注意力權重訓練模型。本文基于深度神經網絡不同的變體模型,將其分別與以情感詞驅動的注意力機制相結合的方式進行模型實驗,實驗表明,引入注意力機制的神經網絡模型較傳統神經網絡模型分類準確率都有所提升,且會更快地達到優化值。根據實驗結果分析,本文實驗的以情感詞驅動的基于注意力機制的門控循環單元(Att-GRU)及門控循環單元(GRU)深度神經網絡模型在文本情感分類上效果優于其他模型。
必須指出的是,本研究訓練的情感分類模型依舊是針對二分類,對于更加細粒度的文本情感分類在各模型上的訓練效果有待進一步深入研究。另外,目前提出的深度神經網絡模型無法解決詞匯的一詞多義問題,對分類結果會造成一定偏差,后期研究可以在現有研究基礎上,利用Transformer 和Bert 模型進行詞向量訓練,驗證各模型分類效果。