呂學強,彭 郴,張 樂,董志安,游新冬
(網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點實驗室(北京信息科技大學),北京 100101)
多標簽文本分類(Multi-Label Text Classification,MLTC)是自然語言處理(Natural Language Processing,NLP)研究領(lǐng)域的重要子課題之一。隨著深度學習的發(fā)展與進步,多標簽文本分類技術(shù)逐漸成熟,可以被應(yīng)用到現(xiàn)實生活中的諸多場景,比如文本分類[1]、知識抽?。?]、標簽推薦[3]等方面。不同于多類別文本分類(Multi-Class Text Classification,MCTC)任務(wù),每條數(shù)據(jù)僅關(guān)聯(lián)單個標簽的表示方法;多標簽文本分類為每條文本數(shù)據(jù)指定多個標簽,從多個標簽角度去概括與提煉文本主題中心。
在有限的計算資源下,多標簽文本分類對構(gòu)建高效且正確的分類器模型提出了巨大的挑戰(zhàn),如樣本標簽數(shù)量龐大、樣本空間的不均衡等問題。目前,在解決多標簽文本分類問題的可擴展性和標簽稀疏性的方向上已經(jīng)取得了很大的進展。
多標簽文本分類的首要問題是如何高效地從文本中提取特征。在早期,自然語言研究者們主要是通過詞袋模型即通過統(tǒng)計詞在文中出現(xiàn)的次數(shù)以構(gòu)成向量表示,然后將由詞向量與標簽組成的訓練數(shù)據(jù)輸入機器學習算法中,以訓練分類模型。然而,傳統(tǒng)的基于詞袋模型或其變體方法,忽略了詞的相對位置信息,無法充分捕捉文本的上下文信息和語義特征。
隨著神經(jīng)網(wǎng)絡(luò)與詞嵌入技術(shù)的發(fā)展與成熟,深度學習通過學習文本的向量表示方法取得了巨大的成功,其應(yīng)用較為廣泛的模型包括:有效結(jié)合上下文信息的Word2vec[4]、利用詞語共現(xiàn)頻率訓練的GloVe(Global Vector)[5]、基于雙向長短期記憶(Bidirectional Long Short-Term Memory,BiLSTM)神經(jīng)網(wǎng)絡(luò)[6]模型的ELMo(Embeddings from Language Models)[7]和具有注意力機制的Transformer[8]等。近年來,自然語言處理研究領(lǐng)域正在經(jīng)歷一個里程碑式發(fā)展,即基于預訓練的深度語言表示模型 ——BERT(Bidirectional Encoder Representations from Transformers)[9]。BERT 在許多NLP 任務(wù)中都達到了最領(lǐng)先水平,如閱讀理解[10]、文本分類[11]、情感分析[12]、信息抽?。?3]等。然而,在多標簽文本分類方向,利用BERT 模型在數(shù)據(jù)集中微調(diào)主要面臨著以下挑戰(zhàn):首先,現(xiàn)有模型難以捕捉來自不同來源標簽的依賴性與相關(guān)性,其次,由于額外的線性神經(jīng)網(wǎng)絡(luò)層會隨著標簽量級空間線性縮放,導致缺少擴展到大量標簽數(shù)據(jù)的泛化能力。
對于上述問題,本文提出了TLA-BERT(Text Label Attention BERT)模型,用一個可擴展的深度學習方法解決多標簽文本分類問題。首先,將文本輸入到BERT 模塊,BERT將學習到蘊含文本上下文信息的編碼向量;同時,將標簽輸入到標簽編碼層,利用LSTM 的長短期記憶能力獲取標簽之間的內(nèi)在關(guān)系;然后,將BERT 輸出向量與LSTM 輸出向量進行注意力機制操作,從而獲取每個標簽與文本的特定聯(lián)系,注意力機制可以顯性表現(xiàn)出每個文檔與各個標簽的突出關(guān)系;最后,利用Sigmoid 函數(shù)預測每個標簽的獨立分布,得出多標簽的預測序列。實驗結(jié)果表明,TLA-BERT 在有85 萬條多標簽分類的數(shù)據(jù)集上的表現(xiàn)優(yōu)于目前主流的模型。本文的主要工作如下:
1)提出了TLA-BERT 模型,在多標簽分類任務(wù)上應(yīng)用大規(guī)模預訓練語言模型,學習文本的深層句法語義信息;提出基于標簽語義與文本特征融合的注意力機制,顯性表達標簽與文本的關(guān)系表示的特征權(quán)重,從而提升模型的效果。
2)提出的TLA-BERT 模型在5 萬條數(shù)據(jù)的AAPD(Arxiv Academic Paper Datasets)[14]與80 萬條數(shù)據(jù)的RCV1(Reuters Corpus Volume I)-v2[15]公開數(shù)據(jù)集上取得了較好結(jié)果,相較于其他基線模型方法,F(xiàn)1 值提升了2%~3%。
對于解決多標簽文本分類的任務(wù),自然語言研究者們已經(jīng)提出了許多有效的方法。根據(jù)詞語特征的表示方法,一般可將其分為兩類。一類是以傳統(tǒng)的詞袋模型作為特征,它包含三種不同的方法:一對多方法、基于詞嵌入的方法和基于樹模型的方法。另一類是深度學習方法,深度學習模型通過深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)從原始文本中學習豐富的句法語義信息,并在不同的NLP 任務(wù)上取得了巨大的成功。
1)一對多方法。一對多方法將每個標簽獨立地處理為一個二分類問題,同時為每個標簽單獨學習一個分類器。一對多方法已經(jīng)被證實可以達到很高的準確率,但是當標簽的數(shù)量級非常龐大時,它們的準確性會受到復雜度計算的影響而有所下降。Yen 等[16]提出PDSparse(a parallel Primal-Dual Sparse method for extreme classification)為每個標簽學習一個單獨的線性分類器。在訓練過程中,分類器通過優(yōu)化標簽分布從而區(qū)分每個訓練樣本的所有正標簽和少量活躍的負標簽。楊菊英等[17]提出一種基于劃分子集的帶標簽隱含狄利克雷模型,通過對數(shù)據(jù)劃分子集降低算法的時間復雜度。Jain 等[18]提出Slice 模型利用負值采樣技術(shù)訓練最容易混淆的負標簽,針對性地解決了標簽樣本不均衡帶來的問題。
2)基于詞嵌入的方法。詞嵌入模型通過利用標簽的相關(guān)性和稀疏性將高維標簽空間投影到低維空間。由于壓縮階段必不可少的信息損失,詞嵌入的方法會在預測精度方面付出相應(yīng)代價。姚佳奇等[19]基于標簽語義的動態(tài)多標簽文本分類算法,將標簽語義轉(zhuǎn)換為特征向量,然后通過近鄰算法得出標簽分類結(jié)果。檀何鳳等[20]通過使用K近鄰圖作為弱監(jiān)督方法來分割文本標簽之前的關(guān)系,然后通過求得標簽值的最大化后驗概率來構(gòu)造多標簽分類模型,對新標簽進行預測。
3)基于樹模型的方法?;跇涞姆椒ㄍㄟ^構(gòu)建一個樹形的標簽結(jié)構(gòu),將實例或標簽劃分到不同的組中,使相似的標簽可以在同一組中。最初分配給根節(jié)點的整個標簽集合,然后將集合分割成固定數(shù)量的k個子集,對應(yīng)根節(jié)點的k個子節(jié)點。重復進行分割流程,直到所有標簽被劃分完成。在預測階段,輸入的實例沿著樹向下傳遞,直到到達葉子節(jié)點。每個葉子節(jié)點代表一個標簽,收集所有葉子節(jié)點的表示即可得到該實例的預測結(jié)果。對于實例樹,預測是由在葉實例上訓練的分類器所給出的。對于標簽樹,標簽的預測是通過從根節(jié)點到葉節(jié)點的遍歷節(jié)點而確定的概率。FastXML(a Fast,accurate and stable tree-classifier for eXtreme Multi-Label learning)[21]通過優(yōu)化nDCG(normalized Discounted Cumulative Gain),在特征空間維度上學習樹的結(jié)構(gòu)模式,為每個內(nèi)部節(jié)點訓練一個二元分類器,最終預測出給定實例的標簽分布。AttentionXML(label tree-based Attention-aware deep model for high-performance eXtreme Multi-Label text classification)[22]利用PLT(Probabilistic Label Tree)[23]結(jié)構(gòu)訓練一個淺層且寬廣的標簽概率結(jié)構(gòu)樹,以減少大量標簽對訓練過程帶來的計算負擔,同時,AttentionXML 利用BiLSTM 來捕捉詞語之間的長距離依賴性,利用注意力機制以突出表示文本與標簽相關(guān)聯(lián)部分。
4)深度學習方法。相較于簡單的詞袋模型作為文本表示,將原始文本編碼成詞向量的技術(shù)已經(jīng)開始在深度學習模型中有效利用。神經(jīng)網(wǎng)絡(luò)通過學習高緯度的文本表示向量,以捕捉文本上下文的語法和語義信息。SGM(Sequence Generation Model)[14]基于Seq2Seq 的方法使用一個循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)對給定的原始文本進行編碼,并使用一層新的RNN 作為解碼器,依次生成預測標簽。這種序列生成的缺點也非常明顯,后續(xù)生成的標簽正確與否過于依賴上一個時間序列的結(jié)果,導致標簽的預測結(jié)果會相互影響。肖琳等[24]提出了一種基于標簽注意力的多標簽文本分類方法,通過文檔和標簽之間共享單詞表示,利用注意力機制捕獲重要單詞的方法提升模型效果。王敏蕊等[25]利用BiLSTM 與注意力機制構(gòu)建了基于動態(tài)路由的序列生成模型,該模型利用動態(tài)路由聚合層參數(shù)的全局共享減弱了累積誤差產(chǎn)生的影響。
本文提出的模型TLA-BERT 的框架主要由三部分組成:BERT 模塊、標簽嵌入層、多標簽注意力層,如圖1 所示。受注意力機制的啟發(fā),由于注意力機制利用權(quán)重比可以有效引導文本信息進行分類,本文提出了基于標簽語義與文本特征融合的注意力機制,利用標簽語義信息學習不同標簽對應(yīng)數(shù)據(jù)文本的重要性權(quán)重,最終利用Sigmoid 函數(shù)預測每個標簽的獨立分布,得出多標簽的預測序列。
圖1 TLA-BERT模型結(jié)構(gòu)Fig.1 TLA-BERT model structure
預訓練語言模型在自然語言處理任務(wù)上取得了顯著進展,首先在無監(jiān)督目標下對海量文本進行預訓練,然后在特定任務(wù)數(shù)據(jù)上進行微調(diào)。語言模型是指通過給定文本的上下文來預測下一個詞的任務(wù),在訓練過程中模型可以有效地學習文本潛在的深層語義、語法信息。BERT 通過自動隨機掩碼機制來預測文本中的缺失詞,同時利用上下句預測(Next Sentence Prediction,NSP)任務(wù)來聯(lián)合表達文本的語句序列表示。BERT 通過最大化預測詞的似然函數(shù)進行訓練[26],似然函數(shù)計算公式如式(1)所示:
其中:θ表示模型參數(shù),為被預測目標詞,表示目標詞的上下文。當mt=1 時,表示該詞被掩碼,將被“[MASK]”標記替換。
將BERT 模型應(yīng)用到TLA-BERT 中來學習文本的向量表示,再通過微調(diào)的方法適應(yīng)多標簽文本分類任務(wù)模式。BERT 首先將句子通過“[CLS]”與“[SEP]”分隔同時輸入到模型中表示為En,每個詞的嵌入維度為768,再通過12 層Transformers Encoder 結(jié)構(gòu)將每個詞轉(zhuǎn)換成富含句法語義特征的Tn,取其中特殊的TCLS特征向量以表示句子的全局上下文信息?!埃跜LS]”標識不代表文本中某個特殊的字或詞,它將與句子中的每個詞進行自注意力操作,因此可以學習到句子每個詞的上下文語義信息,將其作為分類依據(jù)體現(xiàn)一定的公平性與合理性。
在標簽編碼層,首先,將標簽文本信息進行嵌入編碼,以獲取標簽的向量表示;然后,通過LSTM 結(jié)構(gòu)的記憶力機制以獲取標簽之間的關(guān)聯(lián)性;最后,融合BERT 的輸出層進行聯(lián)合注意力機制,其計算式如式(2)(3)所示:
其中,E∈Rl×e(l為標簽數(shù)量,e為詞向量維度);Hi∈Rl×h(h為LSTM 隱藏層維度)。標簽編碼的作用在于將所有標簽特征通過LSTM 提取,擴大標簽的向量維度,為后續(xù)的注意力機制提供計算的便捷性與可解釋性;同時,利用LSTM 的長短期記憶力結(jié)構(gòu)特征可以學習到不同標簽之間的內(nèi)在連續(xù)特征,比如:標簽之間含有包含關(guān)系或者層級關(guān)系等。
TLA-BERT 將BERT 模型的CLS 輸出層與標簽的LSTM隱藏層進行分離注意力融合操作,將得到CLS 向量與每個標簽的權(quán)重,再將權(quán)重分配給CLS 向量,其計算式如式(4)、(5)所示:
其中,αti∈Rh為BERT 模塊的CLS 輸出層,通過αti與Hi進行注意力操作,可以得到“[CLS]”與每個標簽編碼的相對應(yīng)關(guān)系。注意力機制可以有效地突出文本特征與標簽之間的顯性表達,最終通過Sigmoid 函數(shù)映射到標簽維度,得到每個標簽的預測結(jié)果,其結(jié)構(gòu)如圖2 所示。該結(jié)構(gòu)的優(yōu)點在于使得模型可以分別預測每個標簽的獨立分布,同時將概率分布映射到0~1,降低標簽數(shù)量所帶來的計算維度增長。
圖2 多標簽注意力層Fig.2 Multi-label attention layer
不同于多類別分類的歸一化輸出,多標簽分類由于每個實例的標簽數(shù)量不同,模型將不對預測的概率進行歸一化處理。假設(shè)在標簽進行排列后,{Lk}k=1,2,…,K表示標簽的索引。在給定實例xn,第k個標簽的概率為p(yk|xn),其計算式表示如式(6)所示:
在兩個公開數(shù)據(jù)集上對提出的TLA-BERT 性能進行評估。首先介紹了數(shù)據(jù)集、評估指標、實驗細節(jié)和所有基線對比模型;然后將TLA-BERT 與基線模型進行比較;最后對實驗結(jié)果進行了分析與討論。
1)AAPD 數(shù)據(jù)集。該數(shù)據(jù)集為北京大學大數(shù)據(jù)研究院提供的公開英文數(shù)據(jù)集(2018 年),數(shù)據(jù)集主要包括從網(wǎng)站上收集的55 840 篇計算機科學領(lǐng)域論文的摘要與相對應(yīng)的主題。一篇論文摘要可能包含多個主題,總計54 個主題詞。多標簽文本分類的目標是根據(jù)摘要內(nèi)容預測學術(shù)論文所對應(yīng)的主題。
2)RCV1-v2 數(shù)據(jù)集:該數(shù)據(jù)集是由Lewis 等[15]提供的公開英文數(shù)據(jù)集(2004 年),由路透社有限公司為研究人員提供的800 000 多條人工分類的新聞通訊報道組成。每篇新聞報道文章包含多個主題,總計103 個主題。數(shù)據(jù)集詳細信息如表1 所示,其中70%劃分為訓練集、15%劃分為驗證集,15%劃分為測試集。同時對每條文本根據(jù)數(shù)據(jù)長度進行截斷,閾值為512;詞庫以外的詞(Out-of-Vocabulary,OOV)將被“UNK”替換。
表1 數(shù)據(jù)集簡介Tab.1 Dataset description
與其他多標簽分類方法使用的評價指標相同,采用二元交叉熵損失(Binary Cross Entropy Loss,BCELoss)與Micro-F1[27]來評估模型的準確性與泛化能力。
1)BCELoss:或稱對數(shù)損失,衡量一個分類模型的性能,該模型的輸出是0 和1 之間的概率值,交叉熵損失隨著預測概率與實際標簽的偏離而增加,其表示如式(7):
其中:xn為訓練訓練數(shù)據(jù),yn為標簽,wn為模型參數(shù)。因此,當實際觀察標簽為1 時,預測概率非常小,會導致?lián)p失值很高;一個完美的模型其損失為0。
2)Micro-F1:可表示為精度和召回率的加權(quán)平均值,它是通過統(tǒng)計總的真正例TPc(預測正確的標簽數(shù)據(jù)),假負例FNc(正確標簽但模型預測錯誤的數(shù)據(jù))和假正例FPc(模型預測錯誤的正確標簽數(shù)據(jù))得到。其計算式表示如式(8)~(10)所示,其中N為樣本數(shù)。
3.3.1 對比實驗
為了充分驗證本文方法的有效性,選擇以下多標簽文本分類算法進行對比實驗。
BR(Binary Relevance)[28]:由Boutell 等2004 年提出的多標簽文本分類模型,其主要是思想是將多標簽分類分割成多個二分類,然后訓練多個二元分類器進行標簽預測。
CC(Classifier Chains)[29]:由Read 等于2011 年提出的鏈式分類模型,將多個標簽用鏈式分類器連接,并將高階標簽分配較大的權(quán)重,以提高模型正確率。
LP(Label Powerset)[30]:由Tsoumakas 等2006 年提出,將多標簽分類標簽問題轉(zhuǎn)換為多類別問題,用一個多類分類器對所有獨特的標簽組合進行整合訓練。
CNN(Convolutional Neural Network)[31]:由Kim 等2006 年提出,利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)獲取文本的局部語法語義信息,并且使用多個卷積核提取多維特征,最后對多標簽分類的損失函數(shù)進行軟邊界優(yōu)化。
CNN-RNN(Convolutional Neural Network-Recurrent Neural Network)[32]:2017 年由Chen 等提出,同時利用CNN 與RNN 捕獲文本的長短期依賴關(guān)系,最后將標簽與文本進行混合解碼。
SGM[14]:2018 年由Yang 等提出,將多標簽分類任務(wù)轉(zhuǎn)化為一個序列生成問題,并應(yīng)用具有新型結(jié)構(gòu)的解碼器來解決序列生成模型的標簽依賴關(guān)系問題。
MAGNET(Multi-label Attention-based Graph neural NETwork)[33]:2020 年由Pal 等提出,利用BiLSTM 提取文本的上下文特征,然后使用圖神經(jīng)網(wǎng)絡(luò)構(gòu)建各標簽之間的內(nèi)在聯(lián)系。
文本提出的TLA-BERT 利用預訓練語言模型BERT 提取文本上下文的深層句法語義特征,將其投影映射到標簽維度,隨后與使用LSTM 編碼后的標簽維度進行注意力機制融合,顯性地突出表示文本與標簽的特征關(guān)系。
本文實驗在以下環(huán)境進行:NVIDIA TESLA V100-32G 顯卡,Pytorch 1.4,Python 3.8。
在訓練過程中,本文方法采用“bert-base-uncased”預訓練模型,其BERT 模型結(jié)構(gòu)包含12 層Transformers,隱藏層維度為768,Head 數(shù)量為12。對于標簽編碼層,標簽嵌入維度為256,LSTM 隱藏層維度為768。另外,本文采用Adam[34]優(yōu)化器來加速神經(jīng)網(wǎng)絡(luò)的訓練過程,其初始學習率為α=3E-5,動量參數(shù)β=0.9,衰減學習率ε=1× 10-5。同時,在文本與標簽編碼層,采用Dropout[35]正則化技術(shù)以防止網(wǎng)絡(luò)過擬合,其Dropout 概率為0.5。
對比實驗結(jié)果如表2 所示。實驗結(jié)果表明,本文提出的方法在主要評價指標中獲得了最好的結(jié)果。在AAPD 數(shù)據(jù)集上,TLA-BERT 的正確率與召回率相較于其他深度學習模型的最優(yōu)值有一定提升,F(xiàn)1 值提升了1.7 個百分點;在RCV1-v2 數(shù)據(jù)集上,TLA-BERT 的F1 值相較其他方法中的最優(yōu)模型提升了0.6 個百分點。在所有模型中,本文提出的TLA-BERT 標簽注意力機制模型在兩個數(shù)據(jù)集上都取得了總體最好的召回率與F1 值。CNN 模型相較于其他模型有著最好的正確率,究其原因在于其模型基于字符級別的模型結(jié)構(gòu),利用CNN 特點細粒度地抓取標簽與字符文本的關(guān)聯(lián),一定程度上提高了模型的正確率。
表2 AAPD與RCV1-v2數(shù)據(jù)集上的對比實驗結(jié)果Tab.2 Experimental results of comparison on AAPD and RCV1-v2 datasets
3.3.2 消融實驗分析
為了驗證本文提出的文本與標簽編碼聯(lián)合注意力方法的有效性,將標簽編碼“TLA 模塊”作為實驗的消融變量?!癇ERT-noTLA”表示將文本輸入到BERT 模型中,再通過全連接層映射到標簽維度,最后通過Sigmoid 分別對每個維度計算所有標簽的分布。消融實驗結(jié)果如表3 所示,TLA-BERT 相較于未融合標簽編碼的“BERT-noTLA”方法,在兩個公開數(shù)據(jù)集中均有所提升,這進一步證明了全局嵌入標簽編碼內(nèi)容能夠幫助模型更準確地預測多標簽序列。
表3 AAPD與RCV1-v2數(shù)據(jù)集上的消融實驗結(jié)果Tab.3 Experimental results of ablation on AAPD and RCV1-v2 datasets
本文提出了一種融合BERT 與標簽語義注意力的文本多標簽分類方法。該方法通過預訓練語言模型BERT 學習文本的深層句法語義特征表示,有效地融合文本的上下文信息;利用注意力機制充分學習多個標簽與文本的概率分布特點,從而提升模型在多標簽分類任務(wù)上的性能。實驗結(jié)果表明,本文方法在兩個公開基準數(shù)據(jù)集上取得了較好結(jié)果,同時通過實驗分析得出:本文方法不僅能夠捕捉到標簽之間的相關(guān)性,而且注意力機制可以通過融合標簽與文本的內(nèi)在關(guān)系來提升模型效果。在未來的工作中,將在多標簽文本分類任務(wù)上考慮不同粒度的注意力機制結(jié)合方式,期望通過不同的注意力結(jié)合以獲取更為豐富的文本、標簽的語義表示內(nèi)容,從而高效準確地預測標簽序列。