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

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

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


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

對(duì)于本項(xiàng)目數(shù)據(jù)分布嚴(yán)重不平衡問(wèn)題,二元交叉熵?fù)p失函數(shù)會(huì)嚴(yán)重偏向易分類類別,導(dǎo)致數(shù)據(jù)量少的類別對(duì)于總損失貢獻(xiàn)甚微[16,17]。為解決由每個(gè)類別數(shù)據(jù)規(guī)模導(dǎo)致的數(shù)據(jù)不平衡問(wèn)題,引入權(quán)值α∈[0,1]來(lái)調(diào)整損失平衡,經(jīng)過(guò)多次試驗(yàn),發(fā)現(xiàn)可以使用每個(gè)類別包含數(shù)據(jù)規(guī)模的倒數(shù)作為α的實(shí)際值,公式如下:

3.2.2 Focal Loss(FL)
Focal Loss是圖像處理領(lǐng)域中目標(biāo)檢測(cè)問(wèn)題的一個(gè)有效的損失函數(shù)[18,19]。在目標(biāo)檢測(cè)問(wèn)題中,背景占據(jù)了圖像的很大一部分,因此很難識(shí)別特定目標(biāo)。Focal Loss在損失函數(shù)基礎(chǔ)上引入一個(gè)調(diào)制因子γ,用來(lái)區(qū)分每個(gè)類的識(shí)別難度。公式如下:

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

◇ Accuracy公式如下:

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

對(duì)每個(gè)分類器模型分別進(jìn)行6次實(shí)驗(yàn),取所有實(shí)驗(yàn)結(jié)果的平均值作為實(shí)驗(yàn)結(jié)果,具體見表1。首先,檢測(cè)了使用兩種不同損失函數(shù)的分類器的性能,之后通過(guò)改變Focal Loss引入權(quán)值與調(diào)制因子的取值,進(jìn)行了不同的實(shí)驗(yàn),以此來(lái)驗(yàn)證不同權(quán)值與調(diào)制因子對(duì)模型的性能的影響。隨后選用正負(fù)類別規(guī)模不同的數(shù)據(jù)集A、B,分別檢測(cè)不同損失函數(shù)分類器的分類效果,以此驗(yàn)證對(duì)于不同程度數(shù)據(jù)不平衡問(wèn)題,不同損失函數(shù)的貢獻(xiàn)。
由表1可見,通過(guò)對(duì)比BERT與BERT_Focal_Loss分類效果的差異,表明在數(shù)據(jù)不平衡問(wèn)題中,增加權(quán)重與調(diào)制因子是有效的。當(dāng)使用符合數(shù)據(jù)規(guī)模倒數(shù)的權(quán)重時(shí),模型獲得了最好的F1_score與正確率。通過(guò)對(duì)比模型在A、B數(shù)據(jù)集分類效果的差異,表明對(duì)于不同程度的數(shù)據(jù)不平衡問(wèn)題Focal_Loss的貢獻(xiàn)是不同的,類別規(guī)模相差越大,F(xiàn)ocal_Loss的作用越明顯,并且都超過(guò)了Bert模型。因此可以說(shuō),增加Focal Loss的模型是通用的。

表1 實(shí)驗(yàn)結(jié)果Table 1 Experimental results
實(shí)驗(yàn)結(jié)果證明本課題的研究方法是行之有效的,且對(duì)電商評(píng)論的數(shù)據(jù)不平衡特性進(jìn)行了有效的研究。根據(jù)訓(xùn)練結(jié)果來(lái)看,模型對(duì)于評(píng)論信息具有良好的情感分析效果,尤其對(duì)于正面評(píng)價(jià)的樣本具有更高的預(yù)測(cè)正確率。而對(duì)于數(shù)據(jù)規(guī)模較小的負(fù)面評(píng)論樣本,模型會(huì)出現(xiàn)一些輕微的分類錯(cuò)誤的情況[21]。另一類錯(cuò)誤情況則是當(dāng)評(píng)論數(shù)據(jù)中同時(shí)包含兩種情緒的觀點(diǎn)的時(shí)候,模型可能會(huì)給出錯(cuò)誤的分類情況[22]。