摘" 要:情感分析(SA)是互聯(lián)網(wǎng)時代非常重要的自然語言處理(NLP)子任務,可以幫助使用者進行評論分析、輿情分析等。然而,現(xiàn)有大多數(shù)研究都致力于提升情感分析任務的整體表現(xiàn),很少有針對不同文本特征的分類研究。分類研究可以幫助研究者找到當前分析方法在特定場景中的短板,也可以指導使用者在面對不同場景時選擇更合適的分析方法。文章基于BERT模型,按照文本長度和評價目標個數(shù)對SentiHood進行分類,使用不同的分析方法進行分組實驗。實驗結果表明,各個方法在短文本分析中的表現(xiàn)優(yōu)于長文本分析中的表現(xiàn),單目標分析的表現(xiàn)優(yōu)于多目標分析。在不同的文本特征下,分別有不同的分析方法體現(xiàn)出最優(yōu)性能。
關鍵詞:情感分析;文本特征;BERT
中圖分類號:TP391" " 文獻標識碼:A" 文章編號: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" 引" 言
隨著計算機技術和互聯(lián)網(wǎng)技術的不斷發(fā)展,網(wǎng)民通過服務評價、買家討論、自媒體留言等方式產(chǎn)生海量有價值的信息。然而,由于信息數(shù)量龐大,通過人工提取的方式不可能完成對所有信息的處理,依托計算機強大的批處理能力進行評論分析變得愈發(fā)重要。
情感分析(Sentiment Analysis, SA)是指利用計算機技術對產(chǎn)品、服務、事件、話題等進行分析,挖掘文本中的觀點、情感、評價和態(tài)度,輸出對評價對象情感極性的計算研究[1]。
情感分析從最初依賴于純理論的研究方法(例如支持向量機、最大熵、樸素貝葉斯、情感詞典等),逐步與深度學習相結合,借助Word2Vec詞嵌入技術、前饋神經(jīng)網(wǎng)絡(FNN)、卷積神經(jīng)網(wǎng)絡(CNN)、循環(huán)神經(jīng)網(wǎng)絡(RNN)、LSTM網(wǎng)絡等提高整體性能表現(xiàn)。近年來,隨著BERT、GPT、ELMo等預訓練模型的問世,情感分析的性能表現(xiàn)走向一個新的高度[2]。
然而,幾乎所有的研究(如基于詞共現(xiàn)的模型和融合BERT多層特征的模型)都致力于提高模型預測的整體表現(xiàn),鮮少有針對不同場景的分類研究[3,4]。事實上,針對不同場景進行分類研究有著特殊的意義。例如,對于影評平臺而言,其長評數(shù)量往往大于短評數(shù)量,因此長文情感分析有著更大的應用價值;同時,對于產(chǎn)品測評平臺而言,多對象橫向?qū)Ρ鹊膱鼍岸嘤趩螌ο蠓治觯鄬ο笄楦蟹治鲲@得尤為重要。
對數(shù)據(jù)集進行分類研究有助于發(fā)現(xiàn)現(xiàn)有方法的優(yōu)勢與短板,在處理不同特征的數(shù)據(jù)集時可以根據(jù)實際情況選擇更合適的方法。同時,分類研究對于未來的研究具有指導意義,各個團隊可以根據(jù)他們所關心的特征場景或分類分析報告中呈現(xiàn)出的短板情景進行針對性優(yōu)化。
本文使用SentiHood數(shù)據(jù)集將所有數(shù)據(jù)按兩種方式分為多組:按照評價目標數(shù)量將數(shù)據(jù)分為單目標組和多目標組;按照文本長度將數(shù)據(jù)分為數(shù)量大致相等的5組[5]。對于不同的數(shù)據(jù)集,本文將基于BERT(Bidirectional Encoder Representation from Transformers)模型,采用NLI_M、QA_M、NLI_B、QA_B四種不同的輔助句構造方式,分別探究同一方法在不同特征測試集上的預測表現(xiàn)以及不同方法在相同特征測試集上的預測表現(xiàn)[6,7]。
1" 研究方法
1.1" 任務描述
情感分析根據(jù)粒度特征的不同可以分為篇章級、句子級和方面級。篇章級和句子級情感分析屬于粗粒度情感分析,這兩類任務假設一段文本只包含單一情感,對文本進行整體分析,丟失了許多細節(jié)信息。方面級情感分析屬于細粒度情感分析,對句子中的方面項(Aspect Term)、方面類別(Aspect Category)、觀點項(Opinion Term)、情感極性(Sentiment Polarity)等進行分析,可以幫助分析者從句子中提取更多有價值的信息[8,9]。
本文使用的方法用于解決給定目標的方面級情感分析任務(TABSA)[5]。所用數(shù)據(jù)集中的原始數(shù)據(jù)包含以下幾個要素:目標(Target),T = {LOCATION1,LOCATION2};方面(Aspect),A = {General,Price,Transit-location,Safety};情感極性(Polarity),y ∈ {Positive,Negative,None}。根據(jù)輔助句構造方式的不同,本文分別以目標、方面作為評價對象,以情感極性作為輸出進行三分類任務;以目標、方面、情感極性作為評價對象,以正誤作為輸出進行二分類任務。
1.2" 方法描述
本文使用預訓練的BERT模型,根據(jù)文中的任務進行微調(diào)。
1.2.1" 輔助句構造
考慮到BERT模型在句對分類任務上的出色表現(xiàn)及其在問答系統(tǒng)(QA)和自然語言推理(NLI)上的優(yōu)越性能,本文采用了針對TABSA任務的優(yōu)秀方法,利用四種輔助句構造方式將單句分類任務轉(zhuǎn)化為句對分類任務,分別采用不同特征的數(shù)據(jù)集進行實驗[6]。
以“l(fā)ocation - 1 actually has quite a cool feel to it”為例,四種構造方式如表1所示。
對于指定的目標對象,*_M方法將會生成4個輔助句;*_B方法由于額外包含情感極性信息,所生成的輔助句數(shù)量為*_M方法的3倍。
1.2.2" 輸入詞嵌入
實驗通過將原始輸入語句與輔助句相結合,將單句分類任務轉(zhuǎn)化為句對分類任務。根據(jù)預訓練模型中提供的詞表,將原始輸入語句和生成的輔助句轉(zhuǎn)化為詞元(token)列表。將原始輸入語句與輔助句的詞元列表拼接,在列表首尾分別加上“[CLS]”標簽和“[SEP]”標簽,并在兩句中間插入“[SEP]”標簽作為分隔,最后將其進一步轉(zhuǎn)化為id列表,形成input_ids。將原始輸入語句中各詞元位置及首尾標簽位置設為1,將輔助句中各詞元位置及句末標簽位置設為0,形成segment_ids,用以區(qū)分兩個不同的句子??紤]到BERT不同于其他模型的雙向特性,將上述句子中的各詞元位置(包括標簽位置)依次從0開始標號,形成position_ids,用以標記各詞元在句中的原始位置?;谏鲜隽斜矸謩e形成張量并相加,得到輸入張量。
1.2.3" 模型微調(diào)
將經(jīng)過詞嵌入處理的張量送入由多層Transformer-Encoder堆疊形成的BERT中,選用“[CLS]”標簽所在位置經(jīng)過處理的結果作為分類器層的輸入,分類結果經(jīng)過Softmax函數(shù)處理,最終生成各分類的概率并給出預測結果。
1.3" 數(shù)據(jù)集
本文使用針對TABSA任務設計的SentiHood數(shù)據(jù)集[5]。為了研究實驗所用方法對不同特征文本的預測能力,本文對測試集的評價目標個數(shù)及原始文本長度進行分類。根據(jù)評價目標個數(shù),測試集被分為單目標組和雙目標組。根據(jù)輔助句拼接前的原始文本長度(以token個數(shù)衡量),測試集被分為數(shù)據(jù)量大致相等的5組:(0, 10)、[10, 15)、[15, 20)、[20, 25)、[25, +∞)。
1.4" 實驗參數(shù)
實驗使用預訓練基于BERT的uncased_L-12_H-768_A-12模型進行微調(diào),模型共包含12層Transformer-blocks,隱藏層大小為768,自注意力頭數(shù)量為12,總參數(shù)量約為110M。本次實驗中,對于不同的輔助句構造方式均采用相同的微調(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" 結果預測
根據(jù)Sun等人在論文中對模型優(yōu)化原因的分析,語料豐度的提升會提高預測精度[6]。根據(jù)這一結論進行結果預測,多目標的分析精度會高于單目標分析精度,包含更多信息長文本的分析精度會高于短文本分析精度。同理,*_B模型會生成比*_M模型更多的輔助句,因此預測*_B模型的分析精度會高于*_M模型。
2" 實驗結果
2.1" 分類結果展示
2.1.1" 目標數(shù)量
四種輔助句構建模型在單目標及雙目標測試集上的預測結果如圖1所示。表2中用下劃線表示各測試集上的最優(yōu)預測結果,用字體傾斜表示各測試集上的最差預測結果。
表2中相關評估指標計算式及相關概念如下:
TP(True Positive)表示真陽性,即預測結果為陽性,實際樣本也為陽性的樣本數(shù)量。
FP(False Positive)表示假陽性,即預測結果為陽性,實際樣本為陰性的樣本數(shù)量。
TN(True Negative)表示真陰性,即預測結果為陽性,實際樣本也為陰性的樣本數(shù)量。
FN(False Negative)表示假陰性,即預測結果為陰性,實際樣本為陽性的樣本數(shù)量。
ROC曲線:表示受試者工作特征曲線(Receiver Operating Characteristic Curve, ROC),以假陽性概率(False Positive Rate)為橫軸,真陽性概率(True Positive Rate)為縱軸組成的坐標圖。
召回率(Recall, R)、精確率(Precision, P)、Acc、F1的公式分別如下,其中,Acc值越大代表分類器性能越好,ROC曲線下的面積即AUC值越大代表分類器性能越好。
在單個模型內(nèi)部,以BERT_NLI_M模型為例,單目標及雙目標測試集的預測結果如圖1所示。結合表2與圖1,可以看出所有模型的單目標預測效果在各個方面都優(yōu)于雙目標預測,且單目標的aspect_F1有顯著優(yōu)勢。
在各個模型之間,以F1分數(shù)為例,單目標及雙目標測試集的預測結果如圖2所示。結合表2與圖2,可以看出*_M輔助句構造方式的預測效果優(yōu)于*_B。
就單目標分析而言,綜合考慮所有評分項,QA_M有更精確的分析能力,其F1分數(shù)是各種模型中最優(yōu)的,aspect_AUC和sentiment_AUC分數(shù)雖然不是最優(yōu)的,但與最優(yōu)值差距極小,絕對差值分別為0.001 71和
0.000 30,相對值分別為最優(yōu)值的99.825%、99.969%。
就多目標分析而言,綜合考慮所有評分項,NLI_M有微弱優(yōu)勢,其F1分數(shù)是各種模型中最優(yōu)的,aspect_AUC和sentiment_AUC分數(shù)同樣與最優(yōu)值差距極小,絕對差值分別為0.001 37和0.000 68,相對值分別為最優(yōu)值的99.858%、99.930%。
2.1.2" 原始文本長度
四種輔助句構建模型在不同本文長度測試集上的預測結果如表3所示。
在單個模型內(nèi)部,以BERT_QA_M模型為例,不同本文長度測試集的預測結果如圖3所示。結合表3與圖3,可以看出短文本分析精度普遍高于長文本分析精度,且隨著文本長度的增加,大部分指標整體上呈下降趨勢。
在各個模型之間,以F1分數(shù)為例,不同本文長度測試集的預測結果如圖4所示。結合表3與圖4,可以看出*_M輔助句構造方式的預測效果優(yōu)于*_B。
就短文本分析而言,根據(jù)本實驗的分類方法為15詞以內(nèi),QA_M有更精確的分析能力。其F1分數(shù)和aspect_AUC是各模型中最優(yōu)的。
就長文本分析而言,根據(jù)本實驗的分類方法為20詞以上,NLI_M有更精確的分析能力,其F1分數(shù)和aspect_AUC是各模型中最優(yōu)的。
2.2" 預測結果對比
根據(jù)實驗數(shù)據(jù)可以發(fā)現(xiàn),實驗結果與預測結果恰好相反,單目標情感分析和短文本情感分析有著更高的分析精度,并且*_M模型在各個評估指標上也普遍優(yōu)于*_B模型。*_B模型不但精度表現(xiàn)不佳,而且由于生成了更多的輔助句語料,其整體耗時約為*_M模型耗時的三倍。除了部分場景中的sentiment_AUC之外,更多的輔助句語料不但沒有帶來分析表現(xiàn)的提升,還造成更大的時間和硬件開銷。
對于以上現(xiàn)象,推測可能源于以下原因:
1)對多目標文本情感分析而言,雖然句中包含更多的信息,但對象之間的相互關系會更加復雜,更多的信息也意味著更多的相互干擾,導致多目標分析的精度降低。
2)對長文本情感分析而言,雖然長句包含更多的信息,但長句的句子結構更加復雜,存在冗余和噪聲問題,導致對長文本中方面相關信息的特征提取不夠充分,分類不精準,從而降低長文本分析精度[10]。
3)對*_B模型而言,雖然額外將情感極性編入輔助句,但輔助句構建只是簡單的排列組合,過多的輔助句不但沒有提高有效信息的密度,反而形成了噪聲,導致*_B模型的分析精度偏低。
3" 結" 論
實驗中除了探究各個文本場景的最優(yōu)方法外,還展現(xiàn)出若干現(xiàn)象及問題,對此有下幾種思考,同時也是日后深入研究的方向:
1)多目標分析結果較差。以雙目標分析為例,雙目標之間的關系可能為正向、反向或無關。對于正向或反向的場景,能否提前識別并將雙目標聚合,利用各自的有效信息加強對其中一個對象情感極性的預測,進而得到另一個對象的情感極性。對于相互無關的場景,能否提前識別并將無關語料從原始語料中裁剪出來,暫時將雙目標分析問題轉(zhuǎn)化為單目標分析問題以提高分析精度。
2)長文本分析結果較差。句子中各詞的詞性對句意理解有著重要作用,能否對輸入語料進行詞性標注并將標注結果嵌入到輸入向量中,幫助計算機準確找到有效的注意力焦點。考慮到短文本的分析精度更高,能否對原始文本進行裁剪,將長句轉(zhuǎn)化為短句以提高分析精度。
3)輔助句生成方式不夠巧妙。過多的低質(zhì)量輔助句不僅造成時間的浪費,還難以帶來性能的提升。能否將情感分析任務與內(nèi)容生成任務相結合,通過內(nèi)容生成任務構造輔助句,使輔助句更貼合原始文本,攜帶更多有效信息,進而達到減少時間開銷以及提升分析精度的能力。
參考文獻:
[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] 楊春霞,姚思誠,宋金劍.基于詞共現(xiàn)的方面級情感分析模型 [J].計算機工程與科學,2022,44(11):2071-2079.
[4] 陳葉楠.基于BERT模型的方面級情感分析研究 [D].西安:西安石油大學,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] 王海燕,陶皖,余玲艷,等.文本細粒度情感分析綜述 [J].河南科技學院學報:自然科學版,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] 王昆,鄭毅,方書雅,等.基于文本篩選和改進BERT的長文本方面級情感分析 [J].計算機應用,2020,40(10):2838-2844.
作者簡介:漆陽帆(1999—),男,漢族,湖北黃石人,講師,本科,研究方向:自然語言處理。