崔建青 仇測皓
摘? 要:新聞文本分類是自然語言處理領(lǐng)域中一項重要任務(wù),本文使用新聞標(biāo)題進(jìn)行文本分類。隨著BERT預(yù)訓(xùn)練模型的崛起,BERT模型在多項NLP(Natural Language Processing)任務(wù)中都取得了較好的效果,并應(yīng)用在新聞分類任務(wù)中。為了提高新聞分類這一主要任務(wù)的效果,本文引入輔助任務(wù)判斷兩個新聞是否是同類新聞,對BERT預(yù)訓(xùn)練模型在輔助任務(wù)和主要任務(wù)上進(jìn)行微調(diào)。在THUCNews數(shù)據(jù)集上進(jìn)行實驗,實驗結(jié)果表明,引入輔助任務(wù)的BERT新聞分類模型在效果上優(yōu)于原BERT模型。
關(guān)鍵詞:新聞文本分類;BERT;輔助任務(wù)
中圖分類號:TP391? ? ?文獻(xiàn)標(biāo)識碼:A
Research on BERT Chinese News Text Classification based on Auxiliary Tasks
CUI Jianqing, QIU Cehao
Abstract: News text classification is an important task in the field of natural language processing. This paper proposes to use news headlines for text classification. With the rise of BERT (Bidirectional Encoder Representation from Transformers) pre-training model, BERT model has achieved good results in many NLP (Natural Language Processing) tasks, and it is also applied to news classification tasks. In order to improve the effect of the main task of news classification, an auxiliary task is introduced to judge whether the two news are similar ones, and the BERT pre-training model is fine-tuned in the auxiliary task and the main task separately. Experiments are carried out on THUCNews data set. The experimental results show that BERT news classification model with auxiliary tasks is better than the original BERT model.
Keywords: news text classification; BERT; auxiliary task
1? ?引言(Introduction)
近年來,隨著互聯(lián)網(wǎng)的高速發(fā)展與普遍接入,每天有大量的文本數(shù)據(jù)產(chǎn)生,人工方式已無法滿足海量數(shù)據(jù)的處理需求。在這種情況下,對大規(guī)模文本數(shù)據(jù)的自動識別和處理顯得尤為重要,而新聞文本是其中非常重要的一類數(shù)據(jù),對新聞文本的分類是自然語言處理領(lǐng)域中的一項重要任務(wù)。目前,基于傳統(tǒng)機器學(xué)習(xí)方法的文本分類方法已趨于成熟,常見的機器學(xué)習(xí)分類算法有樸素貝葉斯算法、KNN算法、SVM算法等[1],這些算法在文本分類任務(wù)中取得了不錯的效果,但是也存在一定的問題,比如在對文本進(jìn)行特征表示時不能很好地表示語序和語義信息,而且存在數(shù)據(jù)維度高和稀疏性等問題,這些問題在一定程度上都影響了文本的分類效率。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,CNN、RNN、LSTM等神經(jīng)網(wǎng)絡(luò)模型逐步應(yīng)用在文本分類任務(wù)中,2018 年Google提出了BERT模型[2],BERT預(yù)訓(xùn)練模型也被應(yīng)用在了文本分類技術(shù)中。本文基于BERT預(yù)訓(xùn)練模型,通過在輔助任務(wù)和主要任務(wù)(新聞分類任務(wù))上的微調(diào)來提升新聞分類模型的效果。
2? ?相關(guān)研究(Related research)
隨著深度學(xué)習(xí)在自然語言處理中的廣泛應(yīng)用,相關(guān)技術(shù)和研究算法也被應(yīng)用在文本分類任務(wù)中。2014 年,KIM[3]針對CNN(Convolutional Neural Network)的輸入層做了一些變形,提出了文本分類模型textCNN,該模型基于卷積神經(jīng)網(wǎng)絡(luò),關(guān)注的是文本的局部信息,無法獲取上下文信息,限制了對文本語義的理解。萬圣賢等人[4]為了解決LSTM(Long Short-Term Memory)只能獲取整個句子表達(dá)而不能獲取文本局部特征的問題,提出了局部化雙向LSTM模型,通過對LSTM模型的中間表示進(jìn)行卷積和最大池化操作,獲取局部的文本特征,再進(jìn)行分類,但由于LSTM在進(jìn)行序列化處理時需要依賴上一時刻的計算結(jié)果,因此存在計算效率低的問題。2017 年,VASWANI等人[5]提出了Transformer模型,通過引入自注意力機制實現(xiàn)計算的并行化,從而可以在更大的數(shù)據(jù)上訓(xùn)練更大的模型。從2018 年開始,涌現(xiàn)出了一系列基于Transformer的預(yù)訓(xùn)練模型,BERT就是其中被廣泛使用的一個預(yù)訓(xùn)練模型,它通過掩碼語言模型和下一句預(yù)測兩個預(yù)訓(xùn)練任務(wù)得到預(yù)訓(xùn)練模型,并在文本分類任務(wù)上進(jìn)行微調(diào),得到適用于文本分類的模型,并取得了當(dāng)時的最優(yōu)效果。林德萍等人[6]在新聞分類任務(wù)上,通過對比基于BERT的分類模型和基于LSTM的分類模型,得到BERT模型在新聞分類上準(zhǔn)確率更高的結(jié)果。YU等人[7]提出了BERT4TC模型,該模型通過構(gòu)造輔助句子來提升模型性能,它將單句分類任務(wù)轉(zhuǎn)換成句子對形式的分類任務(wù)進(jìn)行處理,旨在解決有限的數(shù)據(jù)問題和任務(wù)感知問題。張小為等人[8]將BERT當(dāng)作嵌入層接入CNN模型中進(jìn)行中文新聞文本分類。付靜等人[9]通過將BERT輸出的語義特征和word2vec詞向量與LDA(Latent Dirichlet Allocation)模型融合得到的主題擴展特征進(jìn)行拼接來進(jìn)行新聞短文本的分類。本文通過構(gòu)建輔助任務(wù)判斷兩個新聞?wù)Z句是否是同類新聞,對BERT預(yù)訓(xùn)練模型先在輔助任務(wù)上進(jìn)行微調(diào),再在主要任務(wù)(新聞文本分類任務(wù))上進(jìn)行微調(diào),并進(jìn)行效果驗證。
3? ?研究方法(Research method)
3.1? ?BERT模型
3.1.1? ?BERT模型結(jié)構(gòu)
如圖1所示,BERT是基于Transformer的深度雙向語言表征模型。BERT利用Transformer編碼器構(gòu)造了一個多層雙向的網(wǎng)絡(luò),由多層Transformer編碼器堆疊而成,每一層編碼器由一個多頭自注意力子層和一個前饋神經(jīng)網(wǎng)絡(luò)子層組成。多頭自注意力子層幫助編碼器在對每個單詞進(jìn)行編碼時關(guān)注輸入句子的其他單詞。
3.1.2? ?BERT輸入
BERT的輸入序列既可以是一個單一的句子,也可以是由兩個句子組合成的句子對。BERT輸入中有幾個有特殊作用的符號:
[CLS]:BERT輸入序列以[CLS]符號開始,其經(jīng)過BERT模型得到的隱藏向量可以作為整個句子的表征向量,從而用于后續(xù)的分類任務(wù)。
[SEP]:此符號用于分開兩個輸入句子,例如輸入句子A和B,要在句子A和句子B后面都增加一個符號[SEP],用來區(qū)分這兩個句子。
本文使用輸入為字粒度的BERT模型。假設(shè)有句子A,它由N 個字符A1、A2、…、AN按順序組成;有句子B,它由M 個字符B1、B2、…、BM按順序組成。當(dāng)輸入的是單個句子A時,其對應(yīng)的BERT輸入序列為:“[CLS] A1 A2 … AN”;當(dāng)輸入的是由A、B組合成的句子對時,其對應(yīng)的BERT輸入序列為:“[CLS] A1 A2 … AN [SEP] B1 B2 … BM [SEP]”。
BERT的輸入嵌入由三部分相加構(gòu)成。標(biāo)記嵌入(Token Embedding)是單詞本身的詞向量,位置嵌入(Position Embedding)表示單詞位置信息,片段嵌入(Segment Embedding)用于區(qū)分兩個句子。由于注意力層并不會捕獲詞與詞之間的序列信息,因此需要添加位置嵌入提供詞間的位置信息。
3.1.3? ?BERT預(yù)訓(xùn)練
BERT預(yù)訓(xùn)練過程由兩個無監(jiān)督任務(wù)構(gòu)成:掩碼語言模型(Masked LM)任務(wù)和下一句預(yù)測任務(wù)(Next Sentence Prediction)。
掩碼語言模型隨機替換輸入序列中15%的標(biāo)記(Token),被替換的標(biāo)記有80%的概率被替換成符號[MASK],有10%的概率被替換為其他任意一個標(biāo)記,有10%的概率保持原詞。與完形填空題類似,BERT這樣做使得模型被迫從上下文中猜測被遮掩的詞是什么,從而捕獲文本的深層含義。
在下一句預(yù)測任務(wù)中,輸入為兩個句子A和B,其中有50%的概率句子B是句子A的下一個句子,有50%的概率句子B是從語料中隨機選取的句子。模型的目標(biāo)是判斷句子B是否是句子A的下一個句子,使用輸入序列開始的符號[CLS]經(jīng)過BERT后對應(yīng)輸出的編碼向量C進(jìn)行預(yù)測。此任務(wù)的訓(xùn)練使得BERT模型可以理解句子之間的關(guān)系。
3.2? ?基于BERT的分類任務(wù)訓(xùn)練
預(yù)訓(xùn)練得到的BERT模型可以用于后續(xù)的NLP任務(wù)中,通過對BERT模型進(jìn)行微調(diào),BERT模型可以適用于多種不同的NLP任務(wù)。本文中文新聞文本分類就是通過在分類任務(wù)上對BERT模型進(jìn)行微調(diào)實現(xiàn)的。本文使用新浪新聞的THUCNews中文新聞數(shù)據(jù)集,使用新聞標(biāo)題這樣的短文本進(jìn)行分類。本文除了進(jìn)行新聞主題多分類這一主要任務(wù),還加入了輔助任務(wù),即判斷兩個新聞標(biāo)題是否是同一類新聞的二分類任務(wù)。本文使用新聞主題分類數(shù)據(jù)構(gòu)建同類和不同類的新聞標(biāo)題語句對,從而進(jìn)行二分類任務(wù)的訓(xùn)練,這樣既可以通過數(shù)據(jù)重構(gòu)有效利用現(xiàn)有的有限的標(biāo)注數(shù)據(jù),又可以通過對此二分類任務(wù)的訓(xùn)練,讓BERT模型學(xué)習(xí)到更好的類別特征,幫助BERT模型更好地進(jìn)行主題多分類任務(wù)的學(xué)習(xí)。本文在BERT微調(diào)階段,先進(jìn)行新聞標(biāo)題語句對二分類(同類/不同類)的訓(xùn)練,再進(jìn)行新聞主題多分類任務(wù)的訓(xùn)練,下面就這兩個任務(wù)進(jìn)行詳細(xì)闡述。
3.2.1? ?二分類任務(wù)微調(diào)
(1)數(shù)據(jù)的構(gòu)建
對于任意一個新聞標(biāo)題,隨機選取另一個同類的新聞標(biāo)題構(gòu)建同類新聞?wù)Z句對;等概率選取一個不同類別,從中隨機選取一條新聞標(biāo)題構(gòu)建不同類新聞?wù)Z句對。這樣就構(gòu)建好了二分類任務(wù)的訓(xùn)練數(shù)據(jù)。
(2)網(wǎng)絡(luò)結(jié)構(gòu)
如圖2所示,使用構(gòu)建好的新聞?wù)Z句對作為輸入,比如有新聞標(biāo)題“異動股點評”和“兩市幾乎平開”,那么輸入的符號序列為“ [CLS] 異 動 股 點 評 [SEP] 兩 市 幾 乎 平 開 [SEP] ”。此符號序列經(jīng)過嵌入層,分別得到對應(yīng)的標(biāo)記嵌入、位置嵌入和片段嵌入,將這三個嵌入相加得到最終的嵌入并傳入BERT預(yù)訓(xùn)練模型中,經(jīng)過BERT模型,得到此語句對的表征向量,再將表征向量經(jīng)過全連接層對此二分類任務(wù)進(jìn)行學(xué)習(xí),最后經(jīng)過Softmax層得到分類的概率,進(jìn)而得到分類結(jié)果。
3.2.2? ?主題多分類任務(wù)微調(diào)
本文對新聞進(jìn)行主題分類,共分為十個類別,分別是金融、房地產(chǎn)、股票、教育、科技、社會、政治、體育、游戲和娛樂。在新聞主題多分類任務(wù)中,輸入是新聞標(biāo)題,輸入序列通過嵌入層得到嵌入表示,再使用上面二分類任務(wù)中微調(diào)得到的BERT模型,將得到的嵌入表示輸入上述微調(diào)后的BERT模型中并得到其表示,再經(jīng)過全連接網(wǎng)絡(luò)和Softmax層,得到十分類的概率值,取概率最高的類別就是模型預(yù)測的分類結(jié)果。
4? ?實驗與結(jié)果(Experiments and results)
4.1? ?實驗?zāi)康?/p>
本次實驗使用BERT預(yù)訓(xùn)練模型首先進(jìn)行輔助任務(wù)的微調(diào)訓(xùn)練,其次對經(jīng)過微調(diào)訓(xùn)練后的模型進(jìn)行新聞文本分類任務(wù)訓(xùn)練,下面用BERT+AUX表示此模型,探究其效果是否優(yōu)于直接使用BERT預(yù)訓(xùn)練模型進(jìn)行新聞文本分類。
4.2? ?實驗數(shù)據(jù)集
深度神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)高度依賴數(shù)據(jù)集,一個好的數(shù)據(jù)集對模型的優(yōu)劣起決定性作用。我們使用THUCNews大型新聞?wù)Z料庫,它是根據(jù)新浪新聞RSS訂閱頻道2005 年到2011 年的歷史數(shù)據(jù)篩選過濾生成的,包含74萬篇新聞文檔(2.19 GB),均為UTF-8純文本格式。本次實驗使用該語料庫中的十個類別,即金融、房地產(chǎn)、股票、教育、科技、社會、政治、體育、游戲和娛樂,每個類別包含兩萬條數(shù)據(jù),共20萬條帶類別標(biāo)簽的新聞標(biāo)題數(shù)據(jù),從中抽取18萬條作為訓(xùn)練數(shù)據(jù)集,1萬條作為測試集,1萬條作為驗證集。
對于二分類微調(diào)任務(wù),使用上述20萬條新聞數(shù)據(jù),對其進(jìn)行正采樣和負(fù)采樣,得到訓(xùn)練數(shù)據(jù)。對于任意一條新聞數(shù)據(jù),正采樣是從同類數(shù)據(jù)中隨機抽取一個樣本組成二分類任務(wù)的一個正樣本,負(fù)采樣是等概率從其他類數(shù)據(jù)中隨機抽取一個樣本組成二分類任務(wù)的一個負(fù)樣本。通過此方式,我們得到36萬個新聞?wù)Z句對作為訓(xùn)練數(shù)據(jù)集,兩萬個新聞?wù)Z句對作為測試集,兩萬個新聞?wù)Z句對作為驗證集。
4.3? ?實驗環(huán)境
實驗采用Intel 酷睿i5 8300H四核八線程CPU,顯卡使用4 GB NVIDIA GTX 1050Ti,編程語言使用Python 3.7,深度學(xué)習(xí)框架使用Pytorch 1.7.1+cu101。本次實驗使用BERT開源庫Pytorch Transformers,預(yù)訓(xùn)練模型使用谷歌發(fā)布的BERT中文預(yù)訓(xùn)練模型。為了避免訓(xùn)練結(jié)果產(chǎn)生過擬合現(xiàn)象,本次實驗使用提前終止技術(shù)。
實驗超參數(shù)如下:迭代次數(shù)Epoch設(shè)為5,批量大小batch size設(shè)為16,學(xué)習(xí)率learning rate設(shè)為2e-5,梯度裁剪max grad norm設(shè)為10,提前終止批量大小設(shè)為1000。
4.4? ?評估指標(biāo)
采用分類任務(wù)中常用的評估指標(biāo):準(zhǔn)確率Acc(Accuracy)、精確率P(Precision)、召回率R(Recall)和F1。四種指標(biāo)的計算方法如下:
(1)
(2)
(3)
(4)
其中,TP表示實際為正,被預(yù)測為正的樣本數(shù)量;TN表示實際為負(fù),被預(yù)測為負(fù)的樣本數(shù)量;FN表示實際為正,被預(yù)測為負(fù)的樣本數(shù)量;FP表示實際為負(fù),被預(yù)測為正的樣本數(shù)量。
4.5? ?實驗結(jié)果與分析
4.5.1? ?實驗結(jié)果
在測試集上對模型效果進(jìn)行驗證,表1顯示BERT模型分類準(zhǔn)確率為94.53%,我們的模型BERT+AUX分類準(zhǔn)確率為94.76%,是優(yōu)于BERT模型的。
表2是BERT模型在新聞分類各類別上的精確率、召回率和F1值,表3是我們的模型BERT+AUX在新聞分類各類別上的精確率、召回率和F1值。從中可以看出,BERT+AUX模型在金融、房地產(chǎn)、股票、科技、政治、體育、游戲、娛樂八個類別上的F1值均高于直接使用BERT模型進(jìn)行新聞分類的效果。
4.5.2? ?實驗分析
本次實驗結(jié)果證明,先使用BERT預(yù)訓(xùn)練模型進(jìn)行兩個新聞標(biāo)題是否為同一類新聞的微調(diào)訓(xùn)練,然后再對經(jīng)過微調(diào)訓(xùn)練后的模型進(jìn)行新聞文本分類的訓(xùn)練,要優(yōu)于直接使用BERT預(yù)訓(xùn)練模型進(jìn)行新聞文本分類。由表1可以看出,BERT+AUX模型比BERT模型分類準(zhǔn)確率高0.23%;由表2、表3對比可以看出,BERT+AUX模型在多個類別上是明顯優(yōu)于BERT模型的。
通過分析預(yù)測錯誤的樣本,我們發(fā)現(xiàn),預(yù)測錯誤的樣本很多都是可以被標(biāo)注為多類別的。其中一些分類錯誤的樣本如表4所示,比如新聞:“江蘇南京140平方米景觀房7天漲價50萬元”,標(biāo)注的類別是“社會”,而模型預(yù)測的類別是“房地產(chǎn)”,因為這個新聞既可以是“社會”類新聞,又可以是“房地產(chǎn)”類新聞。
由于新聞存在多類別的情況,我們除了考慮模型的Top-1準(zhǔn)確率外,繼續(xù)考慮模型的Top-2準(zhǔn)確率和Top-3準(zhǔn)確率。表5就是BERT模型和BERT+AUX模型的Top-1、Top-2、Top-3準(zhǔn)確率對比。從表5中可以看到,我們的模型BERT+AUX在Top-1、Top-2和Top-3上的準(zhǔn)確率均高于BERT模型,并且Top-3準(zhǔn)確率可以達(dá)到97.73%。
5? ?結(jié)論(Conclusion)
本文針對中文新聞文本分類問題,在使用BERT預(yù)訓(xùn)練模型進(jìn)行文本表示的基礎(chǔ)上,首先借助輔助任務(wù)進(jìn)行微調(diào),再使用通過輔助任務(wù)微調(diào)得到的BERT模型對新聞分類任務(wù)進(jìn)行訓(xùn)練。通過引入輔助任務(wù),幫助BERT模型學(xué)習(xí)到更多的類別特征,同時輔助任務(wù)使用的數(shù)據(jù)是基于新聞分類數(shù)據(jù)重構(gòu)得到的,更加充分利用了有限的標(biāo)注數(shù)據(jù)。實驗結(jié)果表明,基于輔助任務(wù)的BERT分類模型效果更好。本文使用新聞標(biāo)題進(jìn)行文本分類存在信息量少的問題,后續(xù)可以考慮在其中加入更多的特征和知識以便更好地進(jìn)行短文本分類。
參考文獻(xiàn)(References)
[1] 高潔,吉根林.文本分類技術(shù)研究[J].計算機應(yīng)用研究,2004
(07):28-30,34.
[2] DEVLIN J, CHANG M W, LEE K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[C]//? BURSTEIN J, DORAN C, SOLORIO T. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2019. Minneapolis MN USA: ACL, 2019:4171-4186.
[3] KIM Y. Convolutional neural networks for sentence classification[C]// MOSCHITTI A, PANG B, DAELEMANS W.
Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Doha, Qatar: ACL, 2014:
1746-1751.
[4] 萬圣賢,蘭艷艷,郭嘉豐,等.用于文本分類的局部化雙向長短時記憶[J].中文信息學(xué)報,2017,31(3):62-68.
[5] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]// GUYON I, LUXBURG U V, BENGIO S, et al. Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems 2017. Long Beach, CA, USA: NIPS, 2017:5998-6008.
[6] 林德萍,汪紅娟.基于BERT和RNN的新聞文本分類對比[J].北京印刷學(xué)院學(xué)報,2021,29(11):156-162.
[7] YU S S, SU J D, LUO D. Improving BERT-based text classification with auxiliary sentence and domain knowledge[J]. IEEE Access, 2019, 7:176600-176612.
[8] 張小為,邵劍飛.基于改進(jìn)的BERT-CNN模型的新聞文本分類研究[J].電視技術(shù),2021,45(07):146-150.
[9] 付靜,龔永罡,廉小親,等.基于BERT-LDA的新聞短文本分類方法[J].信息技術(shù)與信息化,2021(2):127-129.
作者簡介:
崔建青(1989-),女,碩士,助教.研究領(lǐng)域:自然語言處理,人工智能.
仇測皓(2000-),男,本科生.研究領(lǐng)域:自然語言處理.