吳淑凡
(閩南理工學院 信息管理學院,福建 泉州 362700)
電商平臺中用戶數(shù)量急劇增加,如何在海量的用戶在線評論中準確挖掘消費者的情感,提高平臺中的商品質(zhì)量、改進銷售策略和提高客戶服務水平具有重要的商業(yè)價值和研究意義[1-2]。電商用戶評論情感極性分析是對帶有感情色彩的主觀性評論文本進行分析、處理、歸納和推理的過程,可幫助用戶了解某一商品在大眾心目中的口碑。深度學習在自然語言處理中的應用越來越廣泛,將其應用在情感極性分析中能夠得到較好的效果。深度學習能夠自動學習數(shù)據(jù)信息的內(nèi)在特征,在各種預測和分類中具有較高的準確率。2013年,Mikolov等[3]在學習詞語之間相互聯(lián)系的研究中利用上下詞和中間詞預測的方法,得到了詞語在更高維空間的映射。1997年,Hochreiter等[4]為了彌補在梯度傳遞上循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)自身的缺陷,提出長短時記憶網(wǎng)路(Long Short-Term Memory,LSTM),在一定程度上解決了梯度爆炸或消失的問題。雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bidirectional Long Short-Term Memory,BiLSTM)是由前向LSTM與后向LSTM組合而成。BiLSTM-Attention是在BiLSTM的模型上加入Attention層,加上Attention對實驗結(jié)果有所提升。2014年,Kalchbrenner等[5]在不同長度文本中將靜態(tài)和動態(tài)卷積網(wǎng)相結(jié)合,取得很好的效果。2014年,Denil等[6]提出多層次的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)模型,應用此模型通過池化結(jié)構(gòu)和多層次卷積獲取文本中的局部關(guān)鍵特征,取得了更好的效果。2019年,Mccoy等[7]在HANS上進行實驗比較,使用變換器雙向編碼器表征(Bidirectional Encoder Representations from Transformers,BERT)模型,激勵模型性能提升。同年,Lan等[8]為了提高BERT的訓練速度,降低內(nèi)存消耗,提出了兩種參數(shù)約簡技術(shù),取得了不錯的效果。2018年,胡朝舉等[9]提出將LSTM和CNN相結(jié)合的方法,該方法不僅能夠捕捉文本的局部特征,而且能夠獲取文本的上下文信息。2019年,Sun等[10]基于BERT模型提出一種基于知識增強語義表達(Enhanced Representation Through Knowledge Integration,ERNIE)模型,ERNIE優(yōu)于其他基線方法。同年,Yang等[11]也基于BERT模型提出一種在多個任務上表現(xiàn)得更突出的方法:廣義的自回歸預訓練方法(Generalized Autoregressive Pretraining for Language Understanding,XLNet)。
利用以上方法對用戶評論的情感進行分析,能取得一定的效果,但是訓練時間較長,當信息的語料不足時,效果不太理想,還需要做進一步的改進。本文通過實驗比較BERT-CNN模型、BiLSTM模型、BiLSTM-Attention模型和BERT模型的準確率、穩(wěn)定性、召回率、訓練時間,發(fā)現(xiàn)利用BERT-CNN模型,經(jīng)過訓練優(yōu)化參數(shù),對用戶評論進行情感分析,能達到較好的效果。
情感分析可用于電子商務平臺用戶評論、游客在線評論、學術(shù)質(zhì)量評價等領(lǐng)域[12-14]。在情感分析中,極性識別非常關(guān)鍵。目前情感極性分析主要有兩種:一種是極性的知識源,它使用詞典作為參照庫,在特定應用領(lǐng)域中,詞項極性的知識源采用專門的訓練文檔集[15];另一種是預測極性的概率模型,它是從已經(jīng)標注了觀點的文檔集中訓練的,要求被訓練的文檔集和預測文本具有一定的匹配性,預測的準確率和訓練文檔集的大小也相關(guān)。為有效利用大量已經(jīng)標記的可用訓練集,研究者們對一些電商平臺的評論信息進行了分析,盡量減少訓練文檔集大小和情感詞典對分析結(jié)果的影響[12-14]。
BERT是一個預訓練的模型,預訓練是使用樣本數(shù)據(jù)訓練模型之前所做的訓練,提前訓練好這些任務中底層和共性的模型部分,然后再使用各自的樣本數(shù)據(jù)訓練自己的模型,極大地加快收斂速度。BERT保存一個任務上學習到的網(wǎng)絡(luò)參數(shù),后面的任務加載前面任務的參數(shù)對網(wǎng)絡(luò)參數(shù)初始化,用新的任務數(shù)據(jù)集訓練網(wǎng)絡(luò)。優(yōu)點是當新任務的訓練數(shù)據(jù)比較少時,可以使用訓練好的參數(shù),不需要重新訓練就可以達到較好的效果。BERT可以有更深的深度,增加了詞向量的內(nèi)部表征信息,使用了transformer編碼器作為encoder,并行性更好,能夠?qū)崿F(xiàn)句子中每一個詞語都包含其他詞語信息,可以同一時刻內(nèi)雙向計算。
在對用戶評論文本進行情感分析中,如果使用簡單的分類器進行細粒度情感分析,只能對大致方向和內(nèi)容進行分類,這種方法容易出現(xiàn)錯誤或無法有效識別的問題,是粗粒度的分析。在進行粗粒度情感分析后,需要使用復雜模型對內(nèi)容進一步分析。為了提高分類的準確,使用多分類器進行識別。首先對文本數(shù)據(jù)進行多類別分析,確定所屬類別;然后進入下一層分析,分析出兩種不同情感,例如喜歡或者厭惡。不同的分類器采用自身的標簽數(shù)據(jù)進行分析。整個分析是自上而下進行,判斷所屬商品,進入情感極性分析,最后分析得出評論內(nèi)容屬于哪個情感類別。模型層次結(jié)構(gòu)如圖1所示。
圖1 模型層次結(jié)構(gòu)圖
實驗中使用9個類別的商品數(shù)據(jù),分別是衣服、書籍、水果、蔬菜、手機、電腦、洗衣機、酒店和護發(fā)素,商品的評論數(shù)據(jù)來自某某商城,評論數(shù)據(jù)60 000多條,“滿意”和“不滿意”各占一半。在訓練數(shù)據(jù)之前需要對數(shù)據(jù)進行預處理,使用正則表達式去掉無用標點和符號,減少數(shù)據(jù)的長度,以免增加模型識別難度。另外,還要對數(shù)據(jù)中的停用詞進行刪除,這些詞對文本分類沒有大的影響,例如人稱代詞“我”“他”“她”等。文本中對分類基本沒有影響的連詞和介詞也當作停用詞處理,例如“在”“和”等。經(jīng)過停用詞的處理可以有效提高情感分析的效率,提高句子關(guān)鍵信息密度,使識別效率提高。文本中的分詞對情感分析非常重要,分詞語料在情感分析模型中比較好。自然語言處理中英文差別較大,主要原因是英文中沒有分詞,文中采用的分詞工具是Jieba。對文本數(shù)據(jù)進行分詞之后需要對詞頻進行統(tǒng)計,篩選出使用頻率高的詞語,驗證分詞的準確性。對錯誤或者歧義的分詞創(chuàng)建分詞詞語來補充分詞字典。
2.4.1 相關(guān)參數(shù)
在深度學習模型訓練過程中的參數(shù)有很多,包括參數(shù)和超參數(shù)。參數(shù)的選擇取決于數(shù)據(jù)集中數(shù)據(jù)的類型,超參數(shù)是訓練前人為設(shè)置的,對模型性能有很大的影響,能夠體現(xiàn)模型的能力,在訓練過程中根據(jù)情況進行調(diào)整。文中實驗的參數(shù)主要由批處理大小、學習率、迭代次數(shù)、Dropout等。(1)批處理大小。模型進行學習時輸入的樣本數(shù)量用批處理大小來表示,設(shè)置時需要根據(jù)機器的情況來確定。如果設(shè)置太小會使得機器性能未能完全發(fā)揮,導致訓練速度很慢;如果設(shè)置太大,會使機器內(nèi)存占用太高,訓練不準確。因此,需要找到合適的大小進行模型訓練,實驗的BERT-CNN模型采用的批處理大小為128。(2)學習率。學習率是神經(jīng)網(wǎng)絡(luò)在訓練過程中所使用的權(quán)值更新的速度,更新速度太快導致過擬合,更新速度太慢則達不到最優(yōu)值。另外,不同算法的學習率設(shè)置要根據(jù)實際情況設(shè)置,模型的初始學習率為0.001。(3)迭代次數(shù)。模型中訓練數(shù)據(jù)的學習總次數(shù)用迭代次數(shù)來表示,迭代次數(shù)可以設(shè)為固定值,到達這個次數(shù)就停止訓練。迭代次數(shù)也可以根據(jù)模型停止的條件設(shè)置,使用早停法,實驗BERT-CNN模型設(shè)置迭代次數(shù)為30。(4)Dropout大小。為了使訓練過程中網(wǎng)絡(luò)結(jié)構(gòu)是變化的,Dropout大小表示訓練時隨機丟棄一定比例的神經(jīng)元,增強模型的泛化能力,降低模型過擬合。實驗采用的Dropout值設(shè)置為0.5。
2.4.2 訓練方法
BERT-CNN模型在訓練時首先輸入訓練集,然后設(shè)置訓練集中的相關(guān)參數(shù),根據(jù)評價指標值調(diào)整參數(shù),使模型的能力不斷加強,最后在訓練集上使用最終模型進行測試。文中通過不同的神經(jīng)網(wǎng)絡(luò)模型對9個類別的商品評論數(shù)據(jù)進行細粒度情感分析。使用數(shù)據(jù)增強、正則化和Dropout等提高訓練模型的效果。其中數(shù)據(jù)增強是增加訓練集的數(shù)據(jù),使用去標點符號、停用詞等方法對數(shù)據(jù)進行處理。正則化是為了防止BERT-CNN模型出現(xiàn)過擬合。
本實驗操作系統(tǒng)采用Win10(64位),CPU為Intel(R) Core(TM) i7-8565U CPU @1.80 GHz 1.99 GHz,內(nèi)存容量為64 GB,硬盤容量為4 TB,編程語言使用Python語言,詞向量訓練工具為Word2Vec,分詞工具為Jieba。數(shù)據(jù)集為某某商城上的9個類別的商品評論數(shù)據(jù),包括衣服、書籍、水果、蔬菜、手機、電腦、洗衣機、酒店和護發(fā)素。每個類別的商品包括“滿意”和“不滿意”兩張情感,在60 000多條的數(shù)據(jù)中訓練數(shù)據(jù)占50%,測試數(shù)據(jù)占50%。數(shù)據(jù)的預處理包括去停用詞、文本分詞、詞量統(tǒng)計等,文中實驗使用BERT進行詞量構(gòu)建。BERT和CNN參數(shù)如表1、表2所示。
表1 BERT參數(shù)
表2 CNN參數(shù)
準確率是預測的正類樣本正確的樣本數(shù)量所占的比例,召回率表示正類樣本預測正確的正類所占比率。由準確率和召回率的度量值得到度量模型的準確率的參數(shù)F。準確率、召回率和F的計算公式分別為準確率=TP/(TP+FP),召回率=TP/(TP+FN),F=(2×準確率×召回率)/(準確率+召回率)。其中,TP表示真正例,F(xiàn)P表示假正例,F(xiàn)N表示假反例。通過實驗比較了BERT-CNN模型、BiLSTM模型、BiLSTM-Attention模型和BERT模型的準確率、穩(wěn)定性、召回率、訓練時間,見表3。
表3 4種模型參數(shù)對比
圖2 4種模型損失趨勢圖
由表3可以看出,BERT-CNN模型的準確率和F比BiLSTM-Attention和BiLSTM模型有明顯的提升,但是訓練模型所用時間要長一些,因此,說明在細粒度評論數(shù)據(jù)集上,BERT預訓練詞向量模型作為BiLSTM-Attention模型輸入時,其效果要優(yōu)于使用Word2Vec作為詞向量模型,但是耗費了大量的時間。BERT-CNN的準確率和F比BERT模型高,耗費時間也高,說明在細粒度評論數(shù)據(jù)集上,在BERT模型上使用CNN進一步的特征提取,效果優(yōu)于BERT模型。綜上,BERT-CNN模型準確率和F最高,因此在本實驗中,BERT-CNN在用戶評論文本的情感分類中具有很高的性能。圖 2展示了4種模型的損失趨勢變化。BERT-CNN模型訓練過程穩(wěn)定,當收斂后損失較小,因此,在情感分析中BERT-CNN模型效果最好。
研究電商用戶評論情感極性,深度挖掘電商用戶的評論信息具有重要的應用價值,能夠提高企業(yè)的競爭力。本文首先對BERT-CNN模型層次結(jié)構(gòu)進行分類,然后對其參數(shù)進行優(yōu)化,最后將BERT-CNN模型與BiLSTM模型、BiLSTM-Attention模型和BERT模型進行了對比,BERT-CNN模型在準確率、穩(wěn)定性、召回率上都優(yōu)于其他模型,表明BERT-CNN模型更適合用于用戶評論文本的情感分類。