苗育華, 李格格, 線巖團
(1.昆明理工大學(xué) 信息工程與自動化學(xué)院, 云南 昆明 650500;2.昆明理工大學(xué) 云南省人工智能重點實驗室, 云南 昆明 650500)
多標(biāo)簽文本分類是文本分類的子任務(wù),是從標(biāo)簽集合中選中具體標(biāo)簽,為每個實例分配最相關(guān)的類標(biāo)簽子集,目前已廣泛應(yīng)用在信息檢索[1]、情感計算[2]、情感分析[3]、郵件垃圾郵件檢測[4]和多模態(tài)情感分析[5]等領(lǐng)域。多標(biāo)簽文本分類比單標(biāo)簽分類更復(fù)雜,每個實例都涉及到一個或多個類別,且類別數(shù)量不固定,部分類別之間往往是相互關(guān)聯(lián)的,因此多標(biāo)簽文本分類是自然語言處理中一個重要而又具有挑戰(zhàn)性的課題。
現(xiàn)如今在多標(biāo)簽文本分類的任務(wù)中,標(biāo)簽分類變得極為復(fù)雜,很多時候都出現(xiàn)了“長尾”分布,也就是標(biāo)簽不平衡。所謂的標(biāo)簽不平衡問題,就是指數(shù)據(jù)集頭部標(biāo)簽有很多的實例,但是在尾標(biāo)簽中較少存在甚至只有幾個實例,導(dǎo)致標(biāo)簽下的數(shù)據(jù)嚴(yán)重不平衡,即可以理解為標(biāo)簽“長尾”的問題。面對標(biāo)簽不平衡問題,在數(shù)據(jù)層面,主要的方法中根據(jù)數(shù)據(jù)本身進行一些替換,構(gòu)造噪聲數(shù)據(jù);在集成算法層面,包括樣本采樣方法、代價敏感學(xué)習(xí)方法[6]等,主要是在模型訓(xùn)練階段對訓(xùn)練實例的樣本進行采樣訓(xùn)練。
本文從標(biāo)簽聯(lián)系和數(shù)據(jù)增強的角度出發(fā),利用隱空間數(shù)據(jù)增強的思想,提出一種融合標(biāo)簽關(guān)聯(lián)的隱空間數(shù)據(jù)增強的多標(biāo)簽文本分類方法。首先計算出各個標(biāo)簽相互出現(xiàn)的次數(shù),通過對訓(xùn)練數(shù)據(jù)的挖掘,發(fā)現(xiàn)各類標(biāo)簽聯(lián)系的先驗知識。在隱空間中,通過標(biāo)簽之間的聯(lián)系來匹配數(shù)據(jù),并將標(biāo)簽的先驗知識和文本特征相結(jié)合,創(chuàng)建出一條隱空間下的合成樣本,進而解決類別下數(shù)據(jù)不平衡的問題。
本文將Mixup 數(shù)據(jù)增強的方法引入到多標(biāo)簽文本分類的任務(wù)中,在隱空間下通過原始數(shù)據(jù)和其他相關(guān)數(shù)據(jù)進行結(jié)合,有效地提高了多標(biāo)簽文本分類模型的泛化能力。同時,提出了融合標(biāo)簽關(guān)聯(lián)的先驗知識來進行數(shù)據(jù)策略增強,利用先驗知識改進合成策略,在文本的表示空間下擴增了低頻標(biāo)簽樣本,提高了多標(biāo)簽文本分類的效果。實驗結(jié)果表明,該方法能應(yīng)用于一些強大的基礎(chǔ)模型上,并在每種情況下性能都有一定的提升,在具有挑戰(zhàn)性的AAPD 和RCV1-V2 兩個數(shù)據(jù)集上的微平均F1值分別達到了74.86%和89.05%,相較于基線模型取得了較好的提升。
討論常見的多標(biāo)簽文本分類方法,主要包括機器學(xué)習(xí)算法和現(xiàn)在比較成熟的神經(jīng)網(wǎng)絡(luò)方法,還討論了當(dāng)前對多標(biāo)簽文本分類下標(biāo)簽不平衡問題的解決方法。
多標(biāo)簽文本分類是單標(biāo)簽分類的分支,在二分類任務(wù)中的技術(shù)已經(jīng)相當(dāng)成熟。問題轉(zhuǎn)換方法就是將復(fù)雜的問題轉(zhuǎn)化為一個更簡單的問題。在這種思想下,將原始多標(biāo)簽文本分類問題轉(zhuǎn)換為多個二分類問題或者多類分類的問題。二元相關(guān)性算法(Binary Relevance,BR)[7]就是典型的問題轉(zhuǎn)換方法。LP(Label Powerset)[8]為每一個可能的標(biāo)簽組合提供一個獨特的類,將任務(wù)轉(zhuǎn)換為標(biāo)簽組合的多類分類問題?;诜诸惼麈湥–C)的方法[9]是對BR 算法的一個改進,將任務(wù)轉(zhuǎn)化為二元分類問題鏈。但是該方法的問題就是通過分類鏈的順序和先前分類器的預(yù)測得到標(biāo)簽的預(yù)測準(zhǔn)確度,對模型性能有著很大的影響,而且不能預(yù)測沒有出現(xiàn)在當(dāng)前標(biāo)簽組合內(nèi)的標(biāo)簽。
基于算法自適應(yīng)的方法擴展了傳統(tǒng)的標(biāo)簽分類技術(shù),采用合適的算法直接處理多個標(biāo)簽數(shù)據(jù)來解決多標(biāo)簽文本分類。ML-DT[10]算法借鑒了決策樹根據(jù)信息增益篩選特征生成分類器的思想來解決多標(biāo)簽分類。Elisseeff 等人提出排名支持向量機(Ranking Support Vector Machine, Rank-SVM),使用一個新的度量,采用支持向量機訓(xùn)練來處理多標(biāo)簽問題[11]。ML-KNN(Multi-Label K-Nearest-Neighbor)[12]算法是在內(nèi)部構(gòu)建一個BR分類器,通過K 近鄰的方法處理多標(biāo)簽數(shù)據(jù),然后計算每個標(biāo)簽的先驗概率和條件概率。
深度學(xué)習(xí)方法發(fā)展快速,在自然語言處理領(lǐng)域內(nèi)的任務(wù)中得到了廣泛的應(yīng)用。G.Kurata 提出使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)進行分類[13],J.Nam 等人基于RNN 的Seq2Seq 來建模,借助RNN 依次產(chǎn)生的標(biāo)簽序列來捕獲標(biāo)簽之間的相關(guān)性[14]。Chen 等人將CNN 和RNN 進行了融合[15],Yang 等人提出了SGM 方法,將注意力機制融入Seq2Seq 框架[16]。雖然有一些方法提出了改進,但是能否學(xué)到標(biāo)簽之間的相關(guān)性還有待商榷。 隨著Transformer 和BERT 的提出,Sun 等人將BERT 應(yīng)用到文本分類中,介紹了一些調(diào)參和改進的方法,進一步挖掘BERT 在文本分類中的應(yīng)用[17]。深度學(xué)習(xí)算法大大提高了多標(biāo)簽文本的分類效果,但仍有很大的提升空間。
數(shù)據(jù)增強方法在解決數(shù)據(jù)不平衡方面有著一定的改進。數(shù)據(jù)擴展是一種范圍從基于規(guī)則到基于可學(xué)習(xí)的生成方法,而且上述所有方法基本上都保證了擴展數(shù)據(jù)[18]的有效性。文獻[19]僅用于對文本分類的數(shù)據(jù)增強的綜述。Zhang 等人將敘詞表應(yīng)用于數(shù)據(jù)增強,使用來自WordNet 的同義詞典,根據(jù)它們的相似性對同義詞進行分類[20]。Min 等人交換數(shù)據(jù)的主語和賓語,而且還將謂語動詞轉(zhuǎn)換成被動語態(tài),以此來達到數(shù)據(jù)增強的目的[21]。V.Verma 等人提出一種在嵌入空間中生成偽樣本(x~,y~)的Manifold Mixup 方法[22]。
面對多標(biāo)簽文本分類任務(wù),已有方法沒有很好地解決標(biāo)簽不平衡問題。本文從標(biāo)簽聯(lián)系和數(shù)據(jù)增強的角度出發(fā),利用隱空間數(shù)據(jù)增強的思想,提出了一種融合標(biāo)簽關(guān)聯(lián)的隱空間數(shù)據(jù)增強的多標(biāo)簽文本分類方法。模型整體框架如圖1 所示。
圖1 模型整體框架
2.2.1 編碼層
本文模型的編碼層包括詞嵌入層、編碼層和結(jié)構(gòu)化注意力層,詞嵌入層使得詞序列xi= (w1,w2,…,wk,…,wn)經(jīng)過詞嵌入了詞序列的低維向量E= (e1,e2,…,ek,…,en),其中ek∈Rd表示第k個詞元素,為驗證數(shù)據(jù)增強方法的適用性,分別以Bi-LSTM 和Bert 作為模型的編碼器,將E作為輸入,傳入編碼器,通過訓(xùn)練得到數(shù)據(jù)集對應(yīng)的隱狀態(tài)H= (h1,h2,…,hk,…,hn),其中hk表示每條數(shù)據(jù)的隱狀態(tài)。在編碼后,利用結(jié)構(gòu)化自注意力機制將隱狀態(tài)H作為輸入,得到:
式 中:注 意 力 權(quán) 重 矩 陣A∈Rr×n;Ws1∈Rda×(2u+d);Ws2∈Rr×d是注意力層的參數(shù)。da、r為模型的超參數(shù),da為注意力層的隱狀態(tài)維度,r為注意力機制的個數(shù)。
由文本詞序列的隱狀態(tài)表示H和注意力權(quán)重矩陣A得到句子的嵌入矩陣M=AH,最終通過M中的r個向量拼接得到文本的向量X= (X1,X2,…,Xi,…,XN)。
2.2.2 隱空間數(shù)據(jù)增強
為融入標(biāo)簽之間的關(guān)系,通過對數(shù)據(jù)集的分析,統(tǒng)計出各個標(biāo)簽相互出現(xiàn)的次數(shù),其中標(biāo)簽對自身的影響為0,構(gòu)建矩陣L=[L1,L2,…,Li,…,Lk],其維度為k×k,其中k為標(biāo)簽類別數(shù)量。為計算出標(biāo)簽之間的影響,對Li按行進行歸一化操作,其長度為k,表示其他標(biāo)簽對當(dāng)前第i個標(biāo)簽的影響得分,最終得到得分矩陣L~ =[L~1,L~2,…,L~i,…,L~k]。
本文借鑒Manifold Mixup 方法的思想,在文本的隱藏空間中合成偽樣本。在此基礎(chǔ)上,提出融合標(biāo)簽關(guān)聯(lián)的隱空間下的數(shù)據(jù)增強策略。在合成樣本時采用標(biāo)簽匹配策略,通過對每條訓(xùn)練數(shù)據(jù)的標(biāo)簽yi與數(shù)據(jù)集中的所有數(shù)據(jù)的標(biāo)簽集合Y= (Y1,Y2,…,Yi,…,YN)進行計算。其中yi的長度為標(biāo)簽類別長度k,Y的維度為N×k,通過式(2)得到與原始數(shù)據(jù)(xi,yi)匹配的數(shù)據(jù)(xj,yj)。
式中:D( )x,y為數(shù)據(jù)集的文本及標(biāo)簽特征表示的集合;F(·)表示隨機取出與原始樣本的標(biāo)簽相近的數(shù)據(jù)位置。對訓(xùn)練樣本(xi,yi)和匹配樣本(xj,yj)進行結(jié)合,得出偽樣本,公式如下:
式中:λ∈[0,1]為樣本的混合因子,由Beta(α,α)分布采樣得到;α為超參數(shù);f(yj,yi)表示匹配標(biāo)簽特征yj對于訓(xùn)練標(biāo)簽特征yi中每類標(biāo)簽不一樣的位置;m表示將標(biāo)簽出現(xiàn)在yj但不在yi中的位置記為1,其他標(biāo)簽位置記為0;k為 標(biāo)簽個數(shù);g(m,L~)表示在序列m為1 的位置上,通過得分矩陣L~,得出其他為1 的標(biāo)簽對當(dāng)前標(biāo)簽影響的概率,最終通過伯努利分布得出m對應(yīng)位置具體標(biāo)簽分配;G(·)表示將標(biāo)簽特征集合進行融合,得出偽數(shù)據(jù)的標(biāo)簽特征。
2.2.3 損失函數(shù)
在計算損失函數(shù)時,借鑒Circle Loss 思想[23],基于深度特征學(xué)習(xí)對相似度優(yōu)化的觀點,以類內(nèi)相似度sp最大、類之間相似度sn最小為目標(biāo)。再結(jié)合蘇劍林提出的“softmax +交叉熵”的思想[24],得到:
式中:Ωneg和Ωpos分別代表樣本的正負(fù)類別集合;si為非目標(biāo)類中第i類的得分;sj為目標(biāo)類中第j類的得分,對于額外的0 類得分s0,使其閾值為0。對于訓(xùn)練樣本和偽樣本,通過損失函數(shù)得到最終的混合損失:
式中:?~1為訓(xùn)練數(shù)據(jù)的損失;?~2為偽數(shù)據(jù)的損失;α∈[0,1]為損失結(jié)合的超參數(shù)。
介紹用于實驗的兩個數(shù)據(jù)集、評價指標(biāo)和基線方法,并且展示在兩個不同的編碼器下的實驗結(jié)果,驗證所提方法的有效性。
采用以下兩個數(shù)據(jù)集進行試驗驗證:
1) Arxiv Academic Paper Dataset(AAPD)[25]:是 由Yang 等人創(chuàng)建的,考慮到一篇論文可能涉及到一個或者多個學(xué)科,最終共收集了54 種學(xué)科共計55 840 篇論文的摘要。
2) Reuters Corpus Volume I(RCV1-V2)[26]:是 由Lewis 等人收集路透社新聞專欄報道得到的,共計103 個主題和804 414 篇報道。
基于已有研究[25,27-28],采用漢明損失(HL)和微平均下的F1得分作為主要的評價指標(biāo),同時測試微平均下的準(zhǔn)確率和召回率。
本文方法將與以下幾個基線模型進行比較:
1) LSTM:應(yīng)用長短期記憶網(wǎng)絡(luò)來考慮文本的順序結(jié)構(gòu),以及減輕爆炸和消失梯度的問題。
2) Bert:使用以Transformer 為主要框架的雙向編碼表征模型。使用了大量的語料庫進行訓(xùn)練,在許多自然語言處理的任務(wù)中實現(xiàn)了很高的性能。
3) BR、CC、LP、CNN-RNN、SGM 的結(jié)果在之前的論文中被引用,其他基線的結(jié)果由本文實現(xiàn),所有算法都遵循相同的數(shù)據(jù)劃分。
本文提出的基于標(biāo)簽先驗知識的數(shù)據(jù)增強方法,分別基于Bi-LSTM 和BERT 兩種編碼器對AAPD 和RCV1-V2 兩個數(shù)據(jù)集進行處理。將本文方法與基線模型進行對比,結(jié)果如表1 和表2 所示。從表1 和表2 可以看出,在使用Mixup 方法后,對基線模型的性能都有一定的提升。
表1 數(shù)據(jù)集AAPD 在每個算法上的性能
表2 數(shù)據(jù)集RCV1-V2 在每個算法上的性能
由表1 可知,在處理AAPD 數(shù)據(jù)集時,對于基線方法中最好的BERT 方法,本文方法基于BERT 編碼的微平均F1值提高了4.2%,漢明損失值0.021 4 較SGM 值0.025 1 提高14.7%。在表2 中,隨著RCV1-V2 的數(shù)據(jù)集實例數(shù)量的增加,不同的基線方法都獲得了一定的提升,可見數(shù)據(jù)規(guī)模對模型也有著一定的影響。其中基于BERT 編碼方式的本文方法的微平均F1值最高,為0.890 5。對于兩個數(shù)據(jù)集同時使用本文方法,發(fā)現(xiàn)基于BERT 編碼方式優(yōu)于基于LSTM 方式,在AAPD 數(shù)據(jù)集上提升了3.62%,在RCV1-V2 的數(shù)據(jù)集上提升了4.29%。表1中展示的兩個數(shù)據(jù)集實驗結(jié)果,證實了本文方法比已有處理大型數(shù)據(jù)集的方法都具有顯著的優(yōu)勢。
標(biāo)簽先驗知識的數(shù)據(jù)增強策略是本文方法的重要組成部分,為驗證對多標(biāo)簽文本分類模型的影響,本文進行兩組消融實驗。第一組實驗在隱空間數(shù)據(jù)增強構(gòu)建合成數(shù)據(jù)的過程中,移除標(biāo)簽先驗知識對合成標(biāo)簽的影響,標(biāo)記為(raw_mix);第二組實驗在模型訓(xùn)練過程中移除了隱空間數(shù)據(jù)增強策略,標(biāo)記為(att)。數(shù)據(jù)集AAPD 和RCV1-V2 加入Mixup 方法性能前后對比的結(jié)果如表3 所示。
表3 數(shù)據(jù)集AAPD 和RCV1-V2 加入Mixup方法前后性能對比結(jié)果
由表3 可知,在移除標(biāo)簽先驗知識對合成標(biāo)簽的影響后,基于BERT 編碼時,AAPD 和RCV1-V2 兩個數(shù)據(jù)集融入隱空間數(shù)據(jù)增強方法對于性能有著一定的提升,且在數(shù)據(jù)集實例較少的AAPD 上,宏平均F1值從0.564 2到0.594 0,上升了約3 個百分點。
在移除隱空間數(shù)據(jù)增強策略后,基于LSTM 編碼方式下在AAPD 數(shù)據(jù)集上微平均F1提升了2.5%,基于LSTM 編碼方式在AAPD 數(shù)據(jù)集上宏平均F1值提升了2.98%。但隨著數(shù)據(jù)規(guī)模的增大,在RCV1-V2 數(shù)據(jù)集上整體提升較小。
本文提出一種利用標(biāo)簽之間的先驗知識在隱空間進行數(shù)據(jù)增強的方法,以解決多標(biāo)簽文本分類任務(wù)中類別不平衡的問題。相比于其他解決標(biāo)簽不平衡方法,本文方法摒棄了傳統(tǒng)的數(shù)據(jù)增強的思想,無需額外的人工標(biāo)注和對數(shù)據(jù)集進行擴建,也不用降采樣或過采樣,只在模型的隱空間中的特征層進行拼接數(shù)據(jù)的創(chuàng)建,以及通過對長尾標(biāo)簽下的數(shù)據(jù)進行一定的構(gòu)建。實驗結(jié)果表明,在具有挑戰(zhàn)性的多標(biāo)簽數(shù)據(jù)集上隱空間Mixup 優(yōu)于有競爭力的基線,也驗證了本文提出方法的合理性。在未來的任務(wù)中,Mixup 思想可以進一步應(yīng)用于其他自然語言處理的分類任務(wù)。