許 欣,余 杉(.北方工業大學 信息學院,北京 0044;.鎮江毓秀智教科技有限公司,江蘇 鎮江 0)
隨著信息技術的飛速發展和移動互聯網的迅速普及,互聯網已經走進千家萬戶,成為人們生活的一部分。過去主流的購物場所是線下實體店,網購這種方式由于商品質量難以得到保證,比起商品的廣告和圖文介紹,人們更愿意通過其他消費者的評論信息來了解商品的詳細信息。豐富的評論信息可以降低網絡購物的不安全性。對于商家層面,商家可以實時通過這些評論得到真實的用戶反饋,了解商品的優點、缺點和消費者口碑,從而判斷商品存在哪些問題,制定合理的銷售策略[1]。

圖1 數據集部分截圖Fig.1 Screenshot of part of the data set
利用人工智能以及自然語言處理領域的相關技術,從這些主觀信息評價中智能地挖掘出網民對某份商品的態度和情緒,并分析出對整個商業和社會有價值的信息,是當今熱門且很有意義的研究課題[2]。
至今,特定領域情感分析研究大體可分為兩類:一類是利用傳統語言處理手段,針對特殊場景開展情感分析任務,主要通過人工構建情感字典[3,4]。這種方法工藝繁瑣復雜,準確率低;另一類是利用神經網絡對通用場景開展情感分析任務,這種方法僅提取淺層語義,對不同場景不同含義的歧義詞識別率差。本文采用深度學習結合預訓練模型,對特殊場景語言表達進行深層次語義提取,以此開展情感分析任務[5,6]。
構建數據集所用的商品評論信息來源于2019年國內7家主流電商平臺部分商品的文本評價信息,共計40萬條,數據集如圖1所示。隨后,對數據集數據進行數據預處理操作,數據預處理流程圖如圖2所示,包括異常字符處理、表情轉義處理、平臺數據標準化、數據去重、無價值數據剔除等步驟。最終完成數據集搭建工作,數據集共計21萬條評論數據。在數據長度分布方面:80%數據長度集中在10~26個字符區間內,數據集數據平均長度為18個字符。數據情感傾向分布方面:96%的評論數據為正面評論,4%為負面評論。因此,存在嚴重的數據不平衡情況。

圖2 數據預處理流程圖Fig.2 Data preprocessing flowchart
下面將詳細描述本研究中用于情感分析的基本語言模型BERT,以及用于分類的損失函數。
BERT是一種基于雙向Transformer的通用語言模型,它基于self-attention機制捕捉長距離信息,生成文本語義級別的詞向量,核心計算公式如下:


圖3 Transformer結構示意圖Fig.3 Schematic diagram of transformer structure
BERT使用33億單詞以及25億維基百科和8億文本語料的大型語料庫進行預訓練來提高其語義提取能力。在訓練過程中,BERT通過使用[mask]標記隨機替換文本字符,再通過模型預測原始字符,提高其對語義的理解與預測能力。BERT核心Transformer的結構如圖3所示[6-8]。
為了將BERT應用于情感分析任務[9,10],首先使用大量評論數據對BERT進行fine-tuning訓練,通過WordPiece masking(MLM)與Next Sentence Prediction(SEQ)任務,提高模型在電商評論領域的通用語義提取能力,隨后將BERT模型的輸入[CLS]句首標記作為分類器的輸入[11-13]。
3.2.1 Cross Entropy Loss(CEL)
BERT在解決分類問題的損失函數時,通常采用Cross Entropy Loss(交叉熵損失)[14,15]。在這項研究中,使用Eq表示二元交叉熵損失,公式如下:

對于本項目數據分布嚴重不平衡問題,二元交叉熵損失函數會嚴重偏向易分類類別,導致數據量少的類別對于總損失貢獻甚微[16,17]。為解決由每個類別數據規模導致的數據不平衡問題,引入權值α∈[0,1]來調整損失平衡,經過多次試驗,發現可以使用每個類別包含數據規模的倒數作為α的實際值,公式如下:

3.2.2 Focal Loss(FL)
Focal Loss是圖像處理領域中目標檢測問題的一個有效的損失函數[18,19]。在目標檢測問題中,背景占據了圖像的很大一部分,因此很難識別特定目標。Focal Loss在損失函數基礎上引入一個調制因子γ,用來區分每個類的識別難度。公式如下:

由于調制因子的作用,模型減弱了容易識別類的錯誤貢獻,并防止了壓倒性的損失函數。這使得模型可以更有效地集中在難以識別的類別。
在本次實驗中,采用google公開的BART與訓練參數Bert_base_chinese (num_transformer=12;hidden_size=768;num_transformer_block=12),比較了使用不同損失函數的分類器在情感分析問題的性能,使用的損失函數如下:
◇ BSE loss:傳統最大交叉熵損失函數[20]。
◇ Focal loss:引入權值與調制因子的交叉熵損失函數。
使用的評價指標如下:
◇ F1_Score公式如下:

◇ Accuracy公式如下:

◇ MCC馬修斯系數。MCC本質上是介于-1和+1之間的數值,1表示預測與真實分布接近,0表示預測為平均,-1表示預測與真實分布相反。MCC,也稱為phi coefficient(phi)系數。MCC公示如下:

對每個分類器模型分別進行6次實驗,取所有實驗結果的平均值作為實驗結果,具體見表1。首先,檢測了使用兩種不同損失函數的分類器的性能,之后通過改變Focal Loss引入權值與調制因子的取值,進行了不同的實驗,以此來驗證不同權值與調制因子對模型的性能的影響。隨后選用正負類別規模不同的數據集A、B,分別檢測不同損失函數分類器的分類效果,以此驗證對于不同程度數據不平衡問題,不同損失函數的貢獻。
由表1可見,通過對比BERT與BERT_Focal_Loss分類效果的差異,表明在數據不平衡問題中,增加權重與調制因子是有效的。當使用符合數據規模倒數的權重時,模型獲得了最好的F1_score與正確率。通過對比模型在A、B數據集分類效果的差異,表明對于不同程度的數據不平衡問題Focal_Loss的貢獻是不同的,類別規模相差越大,Focal_Loss的作用越明顯,并且都超過了Bert模型。因此可以說,增加Focal Loss的模型是通用的。

表1 實驗結果Table 1 Experimental results
實驗結果證明本課題的研究方法是行之有效的,且對電商評論的數據不平衡特性進行了有效的研究。根據訓練結果來看,模型對于評論信息具有良好的情感分析效果,尤其對于正面評價的樣本具有更高的預測正確率。而對于數據規模較小的負面評論樣本,模型會出現一些輕微的分類錯誤的情況[21]。另一類錯誤情況則是當評論數據中同時包含兩種情緒的觀點的時候,模型可能會給出錯誤的分類情況[22]。