王 麗
(廈門大學嘉庚學院 福建 廈門 363123)
目前,情感分析方法主要分三大類:基于情感詞典的方法、基于傳統機器學習的方法和基于深度學習的方法,其中基于深度學習的最新方法大多是使用預訓練模型[1]。所謂預訓練模型是指前人為了解決類似問題所創造出來的預先訓練好的模型,是遷移學習的一種應用,通過自監督學習從大規模數據中獲得與具體任務無關的預訓練模型,當后續遇到一個新任務的時候,不用從零開始訓練一個新模型,可以從預訓練模型入手,將從大規模數據中學到的知識遷移到新任務,只需要利用該任務的標注數據進行微調即可達到一個很好的效果。近年來,預訓練模型已經廣泛應用于自然語言處理(natural language processing,NLP)領域,在文本情感分析任務上相對傳統的機器學習方法有著更好的提升。
自Google BERT[2]預訓練模型之后,涌現了許多基于BERT優化的模型,本文選擇其中一些中文預訓練模型對下游互聯網情感分析任務進行有監督的微調,微調方法主要是對互聯網新聞的數據集進行擴充,以及對新聞長文本數據進行各種處理,最終選擇其中微調結果較優的模型。本文在具體實現上借助Hugging Face[3]提供的預訓練模型庫Transformers調用基于BERT的中文模型進行微調。其中Hugging Face是一個開源社區,提供了先進的預訓練模型、數據集以及其他便利的工具,方便快速開展NLP任務。
Hugging Face提供了非常多的預訓練模型,根據當前模型下載情況選擇下載量最多的五個中文預訓練模型進行微調。這五個模型分別是“BERT-Base, Chinese”“BERTwwm-ext,Chinese”“RoBERTa-wwm-ext,Chinese”“ELECTRA-180g-base,Chinese”“MacBERTbase,Chinese”。
1.1.1 BERT-Base, Chinese
“BERT-Base,Chinese”是BERT[2]的中文模型,其詞匯表包括中文簡體和繁體,中文處理以字為粒度進行切分,沒有考慮到傳統NLP中的中文分詞。BERT的全稱為Bidirectional Encoder Representation from Transformers,BERT-Base是Google發布的基礎版本模型,其架構基于雙向的Transformer[4],又稱為Transformer encoder,使用attention機制構建每個token的特征,利用語句中所有token來表達語句中的每一個token。其實現采用新的Masked Language Model(MLM)對雙向的Transformer進行預訓練,生成融合左右上下文信息的深層雙向語言表征。MLM模型在輸入語句中隨機選取15%的token用于預測,選中的token有80%的概率被替換為[MASK],有10%的概率被替換為其他隨機token,剩下10%的概率保持原有token,用以提高模型對語句特征信息的表達和泛化能力[5]。在結構上,BERT模型共有12層Transformer,隱藏層是768維,attention head是12頭,總參數量約110 M,在11種不同的NLP測試中創出最佳成績。
1.1.2 BERT-wwm-ext, Chinese
“BERT-wwm-ext, Chinese”是哈工大訊飛聯合實驗室(HFL)發布的中文模型,是BERT-wwm[6]的升級版本,相對于BERT-wwm在訓練集數據量和訓練步數上做了改進,性能更好一些。其中wwm全稱為Whole Word Masking,全詞Mask或整詞Mask,即BERT-wwm相對于Google發布的“BERT-Base, Chinese”,在中文切分上考慮到了中文分詞,使用了哈工大LTP作為分詞工具,對組成同一個詞的漢字全部進行Mask。
1.1.3 RoBERTa-wwm-ext, Chinese
“RoBERTa-wwm-ext, Chinese”是哈工大訊飛聯合實驗室(HFL)發布的中文模型,是基于RoBERTa[7]模型的中文版本,相對于RoBERTa模型考慮了中文全詞Mask,同時增加了訓練集和訓練步數。而RoBERTa模型是由Facebook和華盛頓大學發布,全稱是Robustly optimized BERT pretraining approach,是BERT模型的改進版本,在模型規模、算力、訓練數據以及訓練方法上都有一定的優化。
1.1.4 ELECTRA-180g-base, Chinese
“ELECTRA-180g-base, Chinese”是哈工大訊飛聯合實驗室(HFL)發布的中文模型,是ELECTRA模型的中文版本,相對于ELECTRA模型考慮了中文全詞Mask,180 g是大語料版本,基于180 G數據訓練。而ELECTRA[8]是由斯坦福大學和Google Brain團隊發布,全稱是Efficiently Learning an Encoder that Classifies Token Replacements Accurately,提出了Replaced Token Detection (RTD)的預訓練方法,訓練過程類似GAN,利用生成器將句子中的單詞進行替換,然后利用判別器判斷句子中哪些單詞被替換過,比BERT和RoBERTa效果更好。
1.1.5 MacBERT-base, Chinese
“MacBERT-base, Chinese”是哈工大訊飛聯合實驗室(HFL)發布的中文模型,是BERT的改進版本,Mac全稱是“MLM as correction”,糾錯型掩碼語言模型,主要是對BERT的MLM任務進行了改進,BERT在預訓練時使用[MASK]作為輸入,但是在微調任務時并沒有[MASK],造成了預訓練任務和下游微調任務的不一致,MacBERT[9]使用相似詞替換被[MASK]的詞,對于沒有相似詞的token使用隨機詞替換,縮小了預訓練任務和應用于下游微調任務時的差距,提升了模型的應用效果。
微調方法主要體現在兩方面,一方面是對互聯網新聞的數據集進行擴充,另一方面是對新聞長文本數據進行各種預處理。
1.2.1 擴充數據集
2019年CCF BDCI(CCF大數據與計算智能大賽)的賽題“互聯網新聞情感分析”中的訓練數據集主要是初賽的訓練集7 340條數據,實際比賽過程中有提供復賽的訓練集7 355條數據,所以訓練時融合初賽和復賽的訓練集數據一起訓練。
1.2.2 長文本處理
BERT模型能夠處理的最大序列長度是512,而新聞內容往往會超出這個長度限制。針對這類長文本,處理方法有截斷法和層次法[10],截斷法包括(1)head-only:只保留前510個tokens;(2)tail-only:只保留尾510個tokens;(3)head+tail:根據經驗選擇前128個tokens與后382個tokens。
本文基于互聯網新聞訓練數據的特點,包含新聞標題title及新聞內容content兩部分,title中包含關鍵主題信息,content是對title進行詳細描述,通過觀察發現,content中存在部分內容與title是重復的,故首先對content進行去重,考慮到互聯網新聞的情感信息可能存在于內容的頭部和尾部,參考head+tail截斷法進一步處理content的內容,根據剩余長度(512-title的長度)一分為二,在content頭部和尾部各取一半內容。
租用云平臺,實驗環境如表1所示。

表1 實驗環境
2.2.1 數據簡介
數據集采用2019年CCF BDCI(CCF大數據與計算智能大賽)的賽題“互聯網新聞情感分析”中的數據集,包括初賽的訓練集7 340條數據、復賽的訓練集7 355條數據以及測試集7 356條數據。其中訓練集用于算法模型訓練,數據格式如表2所示,測試集用于最終算法性能測試,在賽題官網平臺提交用于排名,故測試集中無label字段。

表2 數據格式
2.2.2 數據預處理
(1)文件合并:將訓練集的兩個文件Train_DataSet.csv(包含id,title,content)、Train_DataSet_Label.csv(包含id,label)通過id相等合并。
(2)label處理:檢查label是否存在空值,存在則刪除,經檢查不存在空值。將label字段數據類型轉換為int。
(3)id處理:檢查id是否存在空值、是否存在重復,存在則刪除,經檢查不存在空值和重復值。
(4)title、content處理:檢查是否存在空值,存在空值則替換為“無”。
2.2.3 描述性統計
在新聞情感標簽label中,正面情緒標簽為0,中性情緒標簽為1,負面情緒標簽為2。分布情況如圖1所示,可以發現標簽分布并不均勻,正面情緒0樣本數目最少,占比10%,中性情緒1樣本數目最多,占比50%。

圖1 新聞情感標簽label數目統計
新聞信息包括新聞標題title和新聞內容content,分布情況如表3和圖2所示。可以看出,新聞標題title長度主要集中在1~40之間,峰值在20~30之間,新聞內容content長度,主要集中在1~5 000之間,峰值在1~1 000之間。

表3 title和content文本長度統計——初賽+復賽訓練集

圖2 新聞標題title和新聞內容content長度分布——初賽+復賽訓練集
本賽題采用Macro-F1值進行評價,詳細評分算法如下。精確率:
召回率:
F1得分:
其中,TP是真陽例,FP是假陽例,FN是假陰例,通過以上公式得到某一類情感傾向的F1值,將每一類F1值求平均,即得到Macro-F1值。
基于預訓練模型MacBERT進行微調,設置epoch為3,批次大小batch_size為8,學習率learning rate為3e-5,最大序列長度max_length為512,優化器optimizer為Adam。
本文設計了四組對比實驗用于找到相對較優的情感分析預測模型。
第一組是基于初賽數據集的不同預訓練模型的對比實驗,用于選擇相對較好的預訓練模型。
數據集使用初賽訓練集7 340條數據,將訓練集按7:3劃分為訓練集和驗證集,在訓練集進行訓練,在驗證集進行模型評估,F1使用Macro-F1計算,測試集中F1由賽題官網平臺計算。進行兩次訓練之后求均值,不同預訓練模型的評價指標對比如表4所示,按照驗證集Macro-F1從大到小排列,選擇相對結果較好的三個模型“MacBERT-base, Chinese”“ELECTRA-180gbase, Chinese”“RoBERTa-wwm-ext, Chinese”,對測試集數據進行預測,并上傳至官網,最終“MacBERT-base,Chinese”得分最高,測試集F1得分0.804 099 62,當時經典賽排名第24。具體如表4所示,其中“--”表示均小于0.804 099 62,平臺沒有給出具體分值。

表4 不同預訓練模型微調結果——初賽訓練集
第二組是使用第一組篩選的三個模型基于初賽+復賽數據集進行對比實驗,用于選擇相對最好的預訓練模型。
數據集使用初賽+復賽訓練集14 695條數據,將訓練集按7:3劃分為訓練集和驗證集,在訓練集進行訓練,在驗證集進行模型評估,F1使用Macro-F1計算,測試集中F1由賽題官網平臺計算。不同預訓練模型的評價指標對比如表5所示,按照驗證集Macro-F1從大到小排列,選擇相對結果較好的模型“MacBERT-base,Chinese”“ELECTRA-180g-base, Chinese”對測試集數據進行預測,并上傳至官網,最終“MacBERT-base,Chinese”在測試集F1得分0.811 944 72,經典賽排名第7。具體如表5所示,其中“--”表示均小于0.808 525 09,平臺沒有給出具體分值。

表5 不同預訓練模型微調結果——初賽+復賽訓練集
第三組是根據第二組實驗結果,選擇“MacBERT-base,Chinese”模型針對不同數據清洗方式的對比實驗。
將訓練集按7:3劃分為訓練集和驗證集,在訓練集進行訓練,在驗證集進行模型評估,訓練集中F1使用Macro-F1計算,測試集中F1由賽題官網平臺計算。
數據清洗方式說明:
(1)不處理,即不做數據清洗。
(3)去長英文:去除如
“window.open('http://img.jsly001.com/attachment/mon_1801/4_291085_c796a6a86e17121.jpg?123');" onload=”
的網頁代碼。
(4)去重:從title中去除特殊字符,從content字段中去除與title重復的句子。去重之后title和content文本長度統計如表6所示,平均值、中位數、眾數、最大值均有所下降。

表6 title和content文本長度統計——去重
(5)去重+content首尾平均:因BERT模型能處理最大序列長度為512,默認從content頭部截取內容,考慮到互聯網新聞的情感信息可能存在于內容的頭部和尾部。所以對content去重后,再根據剩余長度(512-title的長度)一分為二,在content頭部和尾部各取一半內容。
去重+content首尾平均之后title和content文本長度統計如表7所示,最大值調整為512,與BERT模型能處理最大序列長度保持一致,平均值、中位數、眾數均有所下降。

表7 title和content文本長度統計——去重+content首尾平均
對比實驗結果如表8所示,按照不同清洗方式排序,其中不處理、去重及去重+content首尾平均的得分相對較高,將不同清洗方式組合之后得分反而降低。具體如表8所示,其中“--”表示均小于0.811 944 72,平臺沒有給出具體分值。

表8 不同數據清洗方式下“MacBERT-base, Chinese”模型微調結果
第四組是基于“MacBERT-base, Chinese”模型選擇相對較好的三種數據清洗方式不處理、去重、去重+content首尾平均,將所有訓練集數據用于訓練,得到相對最好的預測模型,即去重+content首尾平均的數據清洗方式下的“MacBERT-base, Chinese”模型,F1得分0.820 787 07,經典賽排名第3。具體如表9所示,其中“--”表示小于0.817 149 28,平臺沒有給出具體分值。

表9 所有訓練集數據用于訓練模型
本文基于常見的五個中文預訓練模型BERT、BERTwwm-ext、RoBERTa-wwm-ext、ELECTRA-180g-base、MacBERT-base進行對比實驗,提出基于MacBERT的互聯網新聞情感分析方法,在MacBERT微調時一方面擴充數據集的數量,一方面結合新聞文本的特點對長文本處理進行優化,最終得到相對較好的情感分析結果。在實際應用中,可以輔助識別蘊藏在新聞之中的情感傾向,為有關政府或企業的輿情監控、預警提供一定的理論依據。接下來的工作將進一步優化長文本處理,針對樣本不均衡在模型參數上做一些調整,從而探索更優的互聯網新聞情感分析模型。