摘" 要:情感分析(SA)是互聯(lián)網(wǎng)時(shí)代非常重要的自然語(yǔ)言處理(NLP)子任務(wù),可以幫助使用者進(jìn)行評(píng)論分析、輿情分析等。然而,現(xiàn)有大多數(shù)研究都致力于提升情感分析任務(wù)的整體表現(xiàn),很少有針對(duì)不同文本特征的分類(lèi)研究。分類(lèi)研究可以幫助研究者找到當(dāng)前分析方法在特定場(chǎng)景中的短板,也可以指導(dǎo)使用者在面對(duì)不同場(chǎng)景時(shí)選擇更合適的分析方法。文章基于BERT模型,按照文本長(zhǎng)度和評(píng)價(jià)目標(biāo)個(gè)數(shù)對(duì)SentiHood進(jìn)行分類(lèi),使用不同的分析方法進(jìn)行分組實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,各個(gè)方法在短文本分析中的表現(xiàn)優(yōu)于長(zhǎng)文本分析中的表現(xiàn),單目標(biāo)分析的表現(xiàn)優(yōu)于多目標(biāo)分析。在不同的文本特征下,分別有不同的分析方法體現(xiàn)出最優(yōu)性能。
關(guān)鍵詞:情感分析;文本特征;BERT
中圖分類(lèi)號(hào):TP391" " 文獻(xiàn)標(biāo)識(shí)碼:A" 文章編號(hào):2096-4706(2024)10-0123-05
Sentiment Analysis of User Comments Based on BERT
QI Yangfan
(Jilin University, Changchun" 130012, China)
Abstract: Sentiment Analysis (SA) is a very important sub-task of Natural Language Processing (NLP) in the Internet era, which can help users to analyze comments and public opinion. However, most existing studies focus on improving the overall performance of sentiment analysis tasks, and there are few categorical studies targeting different text features. Classification research can help researchers find the shortcomings of current analysis methods in specific scenarios, and can also guide users to choose more appropriate analysis methods when facing different scenarios. Based on the BERT model, SentiHood is classified according to text length and number of evaluation targets, and different analysis methods are used to conduct group experiments. The experimental results show that each method performs better in short text analysis than in long text analysis, and the performance of single objective analysis is better than that of multi-objective analysis. Under different text features, there are different analysis methods that demonstrate optimal performance.
Keywords: SA; text feature; BERT
0" 引" 言
隨著計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)民通過(guò)服務(wù)評(píng)價(jià)、買(mǎi)家討論、自媒體留言等方式產(chǎn)生海量有價(jià)值的信息。然而,由于信息數(shù)量龐大,通過(guò)人工提取的方式不可能完成對(duì)所有信息的處理,依托計(jì)算機(jī)強(qiáng)大的批處理能力進(jìn)行評(píng)論分析變得愈發(fā)重要。
情感分析(Sentiment Analysis, SA)是指利用計(jì)算機(jī)技術(shù)對(duì)產(chǎn)品、服務(wù)、事件、話題等進(jìn)行分析,挖掘文本中的觀點(diǎn)、情感、評(píng)價(jià)和態(tài)度,輸出對(duì)評(píng)價(jià)對(duì)象情感極性的計(jì)算研究[1]。
情感分析從最初依賴于純理論的研究方法(例如支持向量機(jī)、最大熵、樸素貝葉斯、情感詞典等),逐步與深度學(xué)習(xí)相結(jié)合,借助Word2Vec詞嵌入技術(shù)、前饋神經(jīng)網(wǎng)絡(luò)(FNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、LSTM網(wǎng)絡(luò)等提高整體性能表現(xiàn)。近年來(lái),隨著B(niǎo)ERT、GPT、ELMo等預(yù)訓(xùn)練模型的問(wèn)世,情感分析的性能表現(xiàn)走向一個(gè)新的高度[2]。
然而,幾乎所有的研究(如基于詞共現(xiàn)的模型和融合BERT多層特征的模型)都致力于提高模型預(yù)測(cè)的整體表現(xiàn),鮮少有針對(duì)不同場(chǎng)景的分類(lèi)研究[3,4]。事實(shí)上,針對(duì)不同場(chǎng)景進(jìn)行分類(lèi)研究有著特殊的意義。例如,對(duì)于影評(píng)平臺(tái)而言,其長(zhǎng)評(píng)數(shù)量往往大于短評(píng)數(shù)量,因此長(zhǎng)文情感分析有著更大的應(yīng)用價(jià)值;同時(shí),對(duì)于產(chǎn)品測(cè)評(píng)平臺(tái)而言,多對(duì)象橫向?qū)Ρ鹊膱?chǎng)景多于單對(duì)象分析,多對(duì)象情感分析顯得尤為重要。
對(duì)數(shù)據(jù)集進(jìn)行分類(lèi)研究有助于發(fā)現(xiàn)現(xiàn)有方法的優(yōu)勢(shì)與短板,在處理不同特征的數(shù)據(jù)集時(shí)可以根據(jù)實(shí)際情況選擇更合適的方法。同時(shí),分類(lèi)研究對(duì)于未來(lái)的研究具有指導(dǎo)意義,各個(gè)團(tuán)隊(duì)可以根據(jù)他們所關(guān)心的特征場(chǎng)景或分類(lèi)分析報(bào)告中呈現(xiàn)出的短板情景進(jìn)行針對(duì)性優(yōu)化。
本文使用SentiHood數(shù)據(jù)集將所有數(shù)據(jù)按兩種方式分為多組:按照評(píng)價(jià)目標(biāo)數(shù)量將數(shù)據(jù)分為單目標(biāo)組和多目標(biāo)組;按照文本長(zhǎng)度將數(shù)據(jù)分為數(shù)量大致相等的5組[5]。對(duì)于不同的數(shù)據(jù)集,本文將基于BERT(Bidirectional Encoder Representation from Transformers)模型,采用NLI_M、QA_M、NLI_B、QA_B四種不同的輔助句構(gòu)造方式,分別探究同一方法在不同特征測(cè)試集上的預(yù)測(cè)表現(xiàn)以及不同方法在相同特征測(cè)試集上的預(yù)測(cè)表現(xiàn)[6,7]。
1" 研究方法
1.1" 任務(wù)描述
情感分析根據(jù)粒度特征的不同可以分為篇章級(jí)、句子級(jí)和方面級(jí)。篇章級(jí)和句子級(jí)情感分析屬于粗粒度情感分析,這兩類(lèi)任務(wù)假設(shè)一段文本只包含單一情感,對(duì)文本進(jìn)行整體分析,丟失了許多細(xì)節(jié)信息。方面級(jí)情感分析屬于細(xì)粒度情感分析,對(duì)句子中的方面項(xiàng)(Aspect Term)、方面類(lèi)別(Aspect Category)、觀點(diǎn)項(xiàng)(Opinion Term)、情感極性(Sentiment Polarity)等進(jìn)行分析,可以幫助分析者從句子中提取更多有價(jià)值的信息[8,9]。
本文使用的方法用于解決給定目標(biāo)的方面級(jí)情感分析任務(wù)(TABSA)[5]。所用數(shù)據(jù)集中的原始數(shù)據(jù)包含以下幾個(gè)要素:目標(biāo)(Target),T = {LOCATION1,LOCATION2};方面(Aspect),A = {General,Price,Transit-location,Safety};情感極性(Polarity),y ∈ {Positive,Negative,None}。根據(jù)輔助句構(gòu)造方式的不同,本文分別以目標(biāo)、方面作為評(píng)價(jià)對(duì)象,以情感極性作為輸出進(jìn)行三分類(lèi)任務(wù);以目標(biāo)、方面、情感極性作為評(píng)價(jià)對(duì)象,以正誤作為輸出進(jìn)行二分類(lèi)任務(wù)。
1.2" 方法描述
本文使用預(yù)訓(xùn)練的BERT模型,根據(jù)文中的任務(wù)進(jìn)行微調(diào)。
1.2.1" 輔助句構(gòu)造
考慮到BERT模型在句對(duì)分類(lèi)任務(wù)上的出色表現(xiàn)及其在問(wèn)答系統(tǒng)(QA)和自然語(yǔ)言推理(NLI)上的優(yōu)越性能,本文采用了針對(duì)TABSA任務(wù)的優(yōu)秀方法,利用四種輔助句構(gòu)造方式將單句分類(lèi)任務(wù)轉(zhuǎn)化為句對(duì)分類(lèi)任務(wù),分別采用不同特征的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)[6]。
以“l(fā)ocation - 1 actually has quite a cool feel to it”為例,四種構(gòu)造方式如表1所示。
對(duì)于指定的目標(biāo)對(duì)象,*_M方法將會(huì)生成4個(gè)輔助句;*_B方法由于額外包含情感極性信息,所生成的輔助句數(shù)量為*_M方法的3倍。
1.2.2" 輸入詞嵌入
實(shí)驗(yàn)通過(guò)將原始輸入語(yǔ)句與輔助句相結(jié)合,將單句分類(lèi)任務(wù)轉(zhuǎn)化為句對(duì)分類(lèi)任務(wù)。根據(jù)預(yù)訓(xùn)練模型中提供的詞表,將原始輸入語(yǔ)句和生成的輔助句轉(zhuǎn)化為詞元(token)列表。將原始輸入語(yǔ)句與輔助句的詞元列表拼接,在列表首尾分別加上“[CLS]”標(biāo)簽和“[SEP]”標(biāo)簽,并在兩句中間插入“[SEP]”標(biāo)簽作為分隔,最后將其進(jìn)一步轉(zhuǎn)化為id列表,形成input_ids。將原始輸入語(yǔ)句中各詞元位置及首尾標(biāo)簽位置設(shè)為1,將輔助句中各詞元位置及句末標(biāo)簽位置設(shè)為0,形成segment_ids,用以區(qū)分兩個(gè)不同的句子??紤]到BERT不同于其他模型的雙向特性,將上述句子中的各詞元位置(包括標(biāo)簽位置)依次從0開(kāi)始標(biāo)號(hào),形成position_ids,用以標(biāo)記各詞元在句中的原始位置。基于上述列表分別形成張量并相加,得到輸入張量。
1.2.3" 模型微調(diào)
將經(jīng)過(guò)詞嵌入處理的張量送入由多層Transformer-Encoder堆疊形成的BERT中,選用“[CLS]”標(biāo)簽所在位置經(jīng)過(guò)處理的結(jié)果作為分類(lèi)器層的輸入,分類(lèi)結(jié)果經(jīng)過(guò)Softmax函數(shù)處理,最終生成各分類(lèi)的概率并給出預(yù)測(cè)結(jié)果。
1.3" 數(shù)據(jù)集
本文使用針對(duì)TABSA任務(wù)設(shè)計(jì)的SentiHood數(shù)據(jù)集[5]。為了研究實(shí)驗(yàn)所用方法對(duì)不同特征文本的預(yù)測(cè)能力,本文對(duì)測(cè)試集的評(píng)價(jià)目標(biāo)個(gè)數(shù)及原始文本長(zhǎng)度進(jìn)行分類(lèi)。根據(jù)評(píng)價(jià)目標(biāo)個(gè)數(shù),測(cè)試集被分為單目標(biāo)組和雙目標(biāo)組。根據(jù)輔助句拼接前的原始文本長(zhǎng)度(以token個(gè)數(shù)衡量),測(cè)試集被分為數(shù)據(jù)量大致相等的5組:(0, 10)、[10, 15)、[15, 20)、[20, 25)、[25, +∞)。
1.4" 實(shí)驗(yàn)參數(shù)
實(shí)驗(yàn)使用預(yù)訓(xùn)練基于BERT的uncased_L-12_H-768_A-12模型進(jìn)行微調(diào),模型共包含12層Transformer-blocks,隱藏層大小為768,自注意力頭數(shù)量為12,總參數(shù)量約為110M。本次實(shí)驗(yàn)中,對(duì)于不同的輔助句構(gòu)造方式均采用相同的微調(diào)參數(shù):warmup為0.1,dropout_prob為0.1,max_seq_length為512,batch_size為24,learning_rate為2e-5,epoch為4。
1.5" 結(jié)果預(yù)測(cè)
根據(jù)Sun等人在論文中對(duì)模型優(yōu)化原因的分析,語(yǔ)料豐度的提升會(huì)提高預(yù)測(cè)精度[6]。根據(jù)這一結(jié)論進(jìn)行結(jié)果預(yù)測(cè),多目標(biāo)的分析精度會(huì)高于單目標(biāo)分析精度,包含更多信息長(zhǎng)文本的分析精度會(huì)高于短文本分析精度。同理,*_B模型會(huì)生成比*_M模型更多的輔助句,因此預(yù)測(cè)*_B模型的分析精度會(huì)高于*_M模型。
2" 實(shí)驗(yàn)結(jié)果
2.1" 分類(lèi)結(jié)果展示
2.1.1" 目標(biāo)數(shù)量
四種輔助句構(gòu)建模型在單目標(biāo)及雙目標(biāo)測(cè)試集上的預(yù)測(cè)結(jié)果如圖1所示。表2中用下劃線表示各測(cè)試集上的最優(yōu)預(yù)測(cè)結(jié)果,用字體傾斜表示各測(cè)試集上的最差預(yù)測(cè)結(jié)果。
表2中相關(guān)評(píng)估指標(biāo)計(jì)算式及相關(guān)概念如下:
TP(True Positive)表示真陽(yáng)性,即預(yù)測(cè)結(jié)果為陽(yáng)性,實(shí)際樣本也為陽(yáng)性的樣本數(shù)量。
FP(False Positive)表示假陽(yáng)性,即預(yù)測(cè)結(jié)果為陽(yáng)性,實(shí)際樣本為陰性的樣本數(shù)量。
TN(True Negative)表示真陰性,即預(yù)測(cè)結(jié)果為陽(yáng)性,實(shí)際樣本也為陰性的樣本數(shù)量。
FN(False Negative)表示假陰性,即預(yù)測(cè)結(jié)果為陰性,實(shí)際樣本為陽(yáng)性的樣本數(shù)量。
ROC曲線:表示受試者工作特征曲線(Receiver Operating Characteristic Curve, ROC),以假陽(yáng)性概率(False Positive Rate)為橫軸,真陽(yáng)性概率(True Positive Rate)為縱軸組成的坐標(biāo)圖。
召回率(Recall, R)、精確率(Precision, P)、Acc、F1的公式分別如下,其中,Acc值越大代表分類(lèi)器性能越好,ROC曲線下的面積即AUC值越大代表分類(lèi)器性能越好。
在單個(gè)模型內(nèi)部,以BERT_NLI_M模型為例,單目標(biāo)及雙目標(biāo)測(cè)試集的預(yù)測(cè)結(jié)果如圖1所示。結(jié)合表2與圖1,可以看出所有模型的單目標(biāo)預(yù)測(cè)效果在各個(gè)方面都優(yōu)于雙目標(biāo)預(yù)測(cè),且單目標(biāo)的aspect_F1有顯著優(yōu)勢(shì)。
在各個(gè)模型之間,以F1分?jǐn)?shù)為例,單目標(biāo)及雙目標(biāo)測(cè)試集的預(yù)測(cè)結(jié)果如圖2所示。結(jié)合表2與圖2,可以看出*_M輔助句構(gòu)造方式的預(yù)測(cè)效果優(yōu)于*_B。
就單目標(biāo)分析而言,綜合考慮所有評(píng)分項(xiàng),QA_M有更精確的分析能力,其F1分?jǐn)?shù)是各種模型中最優(yōu)的,aspect_AUC和sentiment_AUC分?jǐn)?shù)雖然不是最優(yōu)的,但與最優(yōu)值差距極小,絕對(duì)差值分別為0.001 71和
0.000 30,相對(duì)值分別為最優(yōu)值的99.825%、99.969%。
就多目標(biāo)分析而言,綜合考慮所有評(píng)分項(xiàng),NLI_M有微弱優(yōu)勢(shì),其F1分?jǐn)?shù)是各種模型中最優(yōu)的,aspect_AUC和sentiment_AUC分?jǐn)?shù)同樣與最優(yōu)值差距極小,絕對(duì)差值分別為0.001 37和0.000 68,相對(duì)值分別為最優(yōu)值的99.858%、99.930%。
2.1.2" 原始文本長(zhǎng)度
四種輔助句構(gòu)建模型在不同本文長(zhǎng)度測(cè)試集上的預(yù)測(cè)結(jié)果如表3所示。
在單個(gè)模型內(nèi)部,以BERT_QA_M模型為例,不同本文長(zhǎng)度測(cè)試集的預(yù)測(cè)結(jié)果如圖3所示。結(jié)合表3與圖3,可以看出短文本分析精度普遍高于長(zhǎng)文本分析精度,且隨著文本長(zhǎng)度的增加,大部分指標(biāo)整體上呈下降趨勢(shì)。
在各個(gè)模型之間,以F1分?jǐn)?shù)為例,不同本文長(zhǎng)度測(cè)試集的預(yù)測(cè)結(jié)果如圖4所示。結(jié)合表3與圖4,可以看出*_M輔助句構(gòu)造方式的預(yù)測(cè)效果優(yōu)于*_B。
就短文本分析而言,根據(jù)本實(shí)驗(yàn)的分類(lèi)方法為15詞以內(nèi),QA_M有更精確的分析能力。其F1分?jǐn)?shù)和aspect_AUC是各模型中最優(yōu)的。
就長(zhǎng)文本分析而言,根據(jù)本實(shí)驗(yàn)的分類(lèi)方法為20詞以上,NLI_M有更精確的分析能力,其F1分?jǐn)?shù)和aspect_AUC是各模型中最優(yōu)的。
2.2" 預(yù)測(cè)結(jié)果對(duì)比
根據(jù)實(shí)驗(yàn)數(shù)據(jù)可以發(fā)現(xiàn),實(shí)驗(yàn)結(jié)果與預(yù)測(cè)結(jié)果恰好相反,單目標(biāo)情感分析和短文本情感分析有著更高的分析精度,并且*_M模型在各個(gè)評(píng)估指標(biāo)上也普遍優(yōu)于*_B模型。*_B模型不但精度表現(xiàn)不佳,而且由于生成了更多的輔助句語(yǔ)料,其整體耗時(shí)約為*_M模型耗時(shí)的三倍。除了部分場(chǎng)景中的sentiment_AUC之外,更多的輔助句語(yǔ)料不但沒(méi)有帶來(lái)分析表現(xiàn)的提升,還造成更大的時(shí)間和硬件開(kāi)銷(xiāo)。
對(duì)于以上現(xiàn)象,推測(cè)可能源于以下原因:
1)對(duì)多目標(biāo)文本情感分析而言,雖然句中包含更多的信息,但對(duì)象之間的相互關(guān)系會(huì)更加復(fù)雜,更多的信息也意味著更多的相互干擾,導(dǎo)致多目標(biāo)分析的精度降低。
2)對(duì)長(zhǎng)文本情感分析而言,雖然長(zhǎng)句包含更多的信息,但長(zhǎng)句的句子結(jié)構(gòu)更加復(fù)雜,存在冗余和噪聲問(wèn)題,導(dǎo)致對(duì)長(zhǎng)文本中方面相關(guān)信息的特征提取不夠充分,分類(lèi)不精準(zhǔn),從而降低長(zhǎng)文本分析精度[10]。
3)對(duì)*_B模型而言,雖然額外將情感極性編入輔助句,但輔助句構(gòu)建只是簡(jiǎn)單的排列組合,過(guò)多的輔助句不但沒(méi)有提高有效信息的密度,反而形成了噪聲,導(dǎo)致*_B模型的分析精度偏低。
3" 結(jié)" 論
實(shí)驗(yàn)中除了探究各個(gè)文本場(chǎng)景的最優(yōu)方法外,還展現(xiàn)出若干現(xiàn)象及問(wèn)題,對(duì)此有下幾種思考,同時(shí)也是日后深入研究的方向:
1)多目標(biāo)分析結(jié)果較差。以雙目標(biāo)分析為例,雙目標(biāo)之間的關(guān)系可能為正向、反向或無(wú)關(guān)。對(duì)于正向或反向的場(chǎng)景,能否提前識(shí)別并將雙目標(biāo)聚合,利用各自的有效信息加強(qiáng)對(duì)其中一個(gè)對(duì)象情感極性的預(yù)測(cè),進(jìn)而得到另一個(gè)對(duì)象的情感極性。對(duì)于相互無(wú)關(guān)的場(chǎng)景,能否提前識(shí)別并將無(wú)關(guān)語(yǔ)料從原始語(yǔ)料中裁剪出來(lái),暫時(shí)將雙目標(biāo)分析問(wèn)題轉(zhuǎn)化為單目標(biāo)分析問(wèn)題以提高分析精度。
2)長(zhǎng)文本分析結(jié)果較差。句子中各詞的詞性對(duì)句意理解有著重要作用,能否對(duì)輸入語(yǔ)料進(jìn)行詞性標(biāo)注并將標(biāo)注結(jié)果嵌入到輸入向量中,幫助計(jì)算機(jī)準(zhǔn)確找到有效的注意力焦點(diǎn)??紤]到短文本的分析精度更高,能否對(duì)原始文本進(jìn)行裁剪,將長(zhǎng)句轉(zhuǎn)化為短句以提高分析精度。
3)輔助句生成方式不夠巧妙。過(guò)多的低質(zhì)量輔助句不僅造成時(shí)間的浪費(fèi),還難以帶來(lái)性能的提升。能否將情感分析任務(wù)與內(nèi)容生成任務(wù)相結(jié)合,通過(guò)內(nèi)容生成任務(wù)構(gòu)造輔助句,使輔助句更貼合原始文本,攜帶更多有效信息,進(jìn)而達(dá)到減少時(shí)間開(kāi)銷(xiāo)以及提升分析精度的能力。
參考文獻(xiàn):
[1] ZHANG L,WANG S,LIU B. Deep Learning for Sentiment Analysis: A Survey [J/OL].Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery,2018,8(4)[2023-09-06].https://doi.org/10.1002/widm.1253.
[2] JATNIKA D,BIJAKSANA M A,SURYANI A A. Word2vec Model Analysis for Semantic Similarities in English Words [J].Procedia Computer Science,2019,157:160-167.
[3] 楊春霞,姚思誠(chéng),宋金劍.基于詞共現(xiàn)的方面級(jí)情感分析模型 [J].計(jì)算機(jī)工程與科學(xué),2022,44(11):2071-2079.
[4] 陳葉楠.基于BERT模型的方面級(jí)情感分析研究 [D].西安:西安石油大學(xué),2023.
[5] SAEIDI M,BOUCHARD G,LIAKATA M,et al. Sentihood: Targeted Aspect Based Sentiment Analysis Dataset for Urban Neighbourhoods [J/OL].arXiv:1610.03771v1 [cs.CL].[2023-09-12].https://arxiv.org/abs/1610.03771.
[6] SUN C,HUANG L Y,QIU X P. Utilizing BERT for Aspect-based Sentiment Analysis via Constructing Auxiliary Sentence [J/OL].arXiv:1903.09588v1 [cs.CL].[2023-09-08].https://arxiv.org/abs/1903.09588v1.
[7] DEVLIN J,CHANG M W,LEE K,et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [J/OL].arXiv:1810.04805v2 [cs.CL].[2023-09-08].https://arxiv.org/pdf/1810.04805.
[8] 王海燕,陶皖,余玲艷,等.文本細(xì)粒度情感分析綜述 [J].河南科技學(xué)院學(xué)報(bào):自然科學(xué)版,2021,49(4):67-76.
[9] ZHANG W X,LI X,DENG Y,et al. A Survey on Aspect-based Sentiment Analysis: Tasks, Methods, and Challenges [J].IEEE Transactions on Knowledge and Data Engineering,2023,35(11):11019-11038.
[10] 王昆,鄭毅,方書(shū)雅,等.基于文本篩選和改進(jìn)BERT的長(zhǎng)文本方面級(jí)情感分析 [J].計(jì)算機(jī)應(yīng)用,2020,40(10):2838-2844.
作者簡(jiǎn)介:漆陽(yáng)帆(1999—),男,漢族,湖北黃石人,講師,本科,研究方向:自然語(yǔ)言處理。