許 欣,余 杉(.北方工業(yè)大學(xué) 信息學(xué)院,北京 0044;.鎮(zhèn)江毓秀智教科技有限公司,江蘇 鎮(zhèn)江 0)
隨著信息技術(shù)的飛速發(fā)展和移動互聯(lián)網(wǎng)的迅速普及,互聯(lián)網(wǎng)已經(jīng)走進千家萬戶,成為人們生活的一部分。過去主流的購物場所是線下實體店,網(wǎng)購這種方式由于商品質(zhì)量難以得到保證,比起商品的廣告和圖文介紹,人們更愿意通過其他消費者的評論信息來了解商品的詳細(xì)信息。豐富的評論信息可以降低網(wǎng)絡(luò)購物的不安全性。對于商家層面,商家可以實時通過這些評論得到真實的用戶反饋,了解商品的優(yōu)點、缺點和消費者口碑,從而判斷商品存在哪些問題,制定合理的銷售策略[1]。
圖1 數(shù)據(jù)集部分截圖Fig.1 Screenshot of part of the data set
利用人工智能以及自然語言處理領(lǐng)域的相關(guān)技術(shù),從這些主觀信息評價中智能地挖掘出網(wǎng)民對某份商品的態(tài)度和情緒,并分析出對整個商業(yè)和社會有價值的信息,是當(dāng)今熱門且很有意義的研究課題[2]。
至今,特定領(lǐng)域情感分析研究大體可分為兩類:一類是利用傳統(tǒng)語言處理手段,針對特殊場景開展情感分析任務(wù),主要通過人工構(gòu)建情感字典[3,4]。這種方法工藝繁瑣復(fù)雜,準(zhǔn)確率低;另一類是利用神經(jīng)網(wǎng)絡(luò)對通用場景開展情感分析任務(wù),這種方法僅提取淺層語義,對不同場景不同含義的歧義詞識別率差。本文采用深度學(xué)習(xí)結(jié)合預(yù)訓(xùn)練模型,對特殊場景語言表達進行深層次語義提取,以此開展情感分析任務(wù)[5,6]。
構(gòu)建數(shù)據(jù)集所用的商品評論信息來源于2019年國內(nèi)7家主流電商平臺部分商品的文本評價信息,共計40萬條,數(shù)據(jù)集如圖1所示。隨后,對數(shù)據(jù)集數(shù)據(jù)進行數(shù)據(jù)預(yù)處理操作,數(shù)據(jù)預(yù)處理流程圖如圖2所示,包括異常字符處理、表情轉(zhuǎn)義處理、平臺數(shù)據(jù)標(biāo)準(zhǔn)化、數(shù)據(jù)去重、無價值數(shù)據(jù)剔除等步驟。最終完成數(shù)據(jù)集搭建工作,數(shù)據(jù)集共計21萬條評論數(shù)據(jù)。在數(shù)據(jù)長度分布方面:80%數(shù)據(jù)長度集中在10~26個字符區(qū)間內(nèi),數(shù)據(jù)集數(shù)據(jù)平均長度為18個字符。數(shù)據(jù)情感傾向分布方面:96%的評論數(shù)據(jù)為正面評論,4%為負(fù)面評論。因此,存在嚴(yán)重的數(shù)據(jù)不平衡情況。
圖2 數(shù)據(jù)預(yù)處理流程圖Fig.2 Data preprocessing flowchart
下面將詳細(xì)描述本研究中用于情感分析的基本語言模型BERT,以及用于分類的損失函數(shù)。
BERT是一種基于雙向Transformer的通用語言模型,它基于self-attention機制捕捉長距離信息,生成文本語義級別的詞向量,核心計算公式如下:
圖3 Transformer結(jié)構(gòu)示意圖Fig.3 Schematic diagram of transformer structure
BERT使用33億單詞以及25億維基百科和8億文本語料的大型語料庫進行預(yù)訓(xùn)練來提高其語義提取能力。在訓(xùn)練過程中,BERT通過使用[mask]標(biāo)記隨機替換文本字符,再通過模型預(yù)測原始字符,提高其對語義的理解與預(yù)測能力。BERT核心Transformer的結(jié)構(gòu)如圖3所示[6-8]。
為了將BERT應(yīng)用于情感分析任務(wù)[9,10],首先使用大量評論數(shù)據(jù)對BERT進行fine-tuning訓(xùn)練,通過WordPiece masking(MLM)與Next Sentence Prediction(SEQ)任務(wù),提高模型在電商評論領(lǐng)域的通用語義提取能力,隨后將BERT模型的輸入[CLS]句首標(biāo)記作為分類器的輸入[11-13]。
3.2.1 Cross Entropy Loss(CEL)
BERT在解決分類問題的損失函數(shù)時,通常采用Cross Entropy Loss(交叉熵?fù)p失)[14,15]。在這項研究中,使用Eq表示二元交叉熵?fù)p失,公式如下:
對于本項目數(shù)據(jù)分布嚴(yán)重不平衡問題,二元交叉熵?fù)p失函數(shù)會嚴(yán)重偏向易分類類別,導(dǎo)致數(shù)據(jù)量少的類別對于總損失貢獻甚微[16,17]。為解決由每個類別數(shù)據(jù)規(guī)模導(dǎo)致的數(shù)據(jù)不平衡問題,引入權(quán)值α∈[0,1]來調(diào)整損失平衡,經(jīng)過多次試驗,發(fā)現(xiàn)可以使用每個類別包含數(shù)據(jù)規(guī)模的倒數(shù)作為α的實際值,公式如下:
3.2.2 Focal Loss(FL)
Focal Loss是圖像處理領(lǐng)域中目標(biāo)檢測問題的一個有效的損失函數(shù)[18,19]。在目標(biāo)檢測問題中,背景占據(jù)了圖像的很大一部分,因此很難識別特定目標(biāo)。Focal Loss在損失函數(shù)基礎(chǔ)上引入一個調(diào)制因子γ,用來區(qū)分每個類的識別難度。公式如下:
由于調(diào)制因子的作用,模型減弱了容易識別類的錯誤貢獻,并防止了壓倒性的損失函數(shù)。這使得模型可以更有效地集中在難以識別的類別。
在本次實驗中,采用google公開的BART與訓(xùn)練參數(shù)Bert_base_chinese (num_transformer=12;hidden_size=768;num_transformer_block=12),比較了使用不同損失函數(shù)的分類器在情感分析問題的性能,使用的損失函數(shù)如下:
◇ BSE loss:傳統(tǒng)最大交叉熵?fù)p失函數(shù)[20]。
◇ Focal loss:引入權(quán)值與調(diào)制因子的交叉熵?fù)p失函數(shù)。
使用的評價指標(biāo)如下:
◇ F1_Score公式如下:
◇ Accuracy公式如下:
◇ MCC馬修斯系數(shù)。MCC本質(zhì)上是介于-1和+1之間的數(shù)值,1表示預(yù)測與真實分布接近,0表示預(yù)測為平均,-1表示預(yù)測與真實分布相反。MCC,也稱為phi coefficient(phi)系數(shù)。MCC公示如下:
對每個分類器模型分別進行6次實驗,取所有實驗結(jié)果的平均值作為實驗結(jié)果,具體見表1。首先,檢測了使用兩種不同損失函數(shù)的分類器的性能,之后通過改變Focal Loss引入權(quán)值與調(diào)制因子的取值,進行了不同的實驗,以此來驗證不同權(quán)值與調(diào)制因子對模型的性能的影響。隨后選用正負(fù)類別規(guī)模不同的數(shù)據(jù)集A、B,分別檢測不同損失函數(shù)分類器的分類效果,以此驗證對于不同程度數(shù)據(jù)不平衡問題,不同損失函數(shù)的貢獻。
由表1可見,通過對比BERT與BERT_Focal_Loss分類效果的差異,表明在數(shù)據(jù)不平衡問題中,增加權(quán)重與調(diào)制因子是有效的。當(dāng)使用符合數(shù)據(jù)規(guī)模倒數(shù)的權(quán)重時,模型獲得了最好的F1_score與正確率。通過對比模型在A、B數(shù)據(jù)集分類效果的差異,表明對于不同程度的數(shù)據(jù)不平衡問題Focal_Loss的貢獻是不同的,類別規(guī)模相差越大,F(xiàn)ocal_Loss的作用越明顯,并且都超過了Bert模型。因此可以說,增加Focal Loss的模型是通用的。
表1 實驗結(jié)果Table 1 Experimental results
實驗結(jié)果證明本課題的研究方法是行之有效的,且對電商評論的數(shù)據(jù)不平衡特性進行了有效的研究。根據(jù)訓(xùn)練結(jié)果來看,模型對于評論信息具有良好的情感分析效果,尤其對于正面評價的樣本具有更高的預(yù)測正確率。而對于數(shù)據(jù)規(guī)模較小的負(fù)面評論樣本,模型會出現(xiàn)一些輕微的分類錯誤的情況[21]。另一類錯誤情況則是當(dāng)評論數(shù)據(jù)中同時包含兩種情緒的觀點的時候,模型可能會給出錯誤的分類情況[22]。