








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