楊冬菊 程偉飛
(1.北方工業(yè)大學(xué)信息學(xué)院 北京 100144)
(2.大規(guī)模流數(shù)據(jù)集成與分析技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室(北方工業(yè)大學(xué)) 北京 100144)
目前多標(biāo)簽文本分類[1]被廣泛應(yīng)用于文檔分類[2]、web 內(nèi)容分類[3~4]和推薦系統(tǒng)[5~6]等各種應(yīng)用。在運(yùn)用產(chǎn)業(yè)鏈圖譜對(duì)資源的管理方面,多標(biāo)簽文本分類發(fā)揮了重要作用。通過(guò)多標(biāo)簽文本分類,將文本與產(chǎn)業(yè)鏈圖譜進(jìn)行關(guān)聯(lián),可以實(shí)現(xiàn)產(chǎn)業(yè)鏈節(jié)點(diǎn)和科技資源的綁定,從而幫助用戶在生產(chǎn)、投資和決策等方面更好地利用和管理資源[7]。
雖然多標(biāo)簽文本分類在各個(gè)領(lǐng)域中被廣泛應(yīng)用,但它依然是一個(gè)具有挑戰(zhàn)性的任務(wù),總結(jié)如下:1)挖掘標(biāo)簽之間的關(guān)聯(lián)關(guān)系;2)挖掘文本與標(biāo)簽之間的關(guān)聯(lián)關(guān)系;3)文本數(shù)據(jù)中存在大量的標(biāo)簽不平衡和標(biāo)簽噪聲。這些存在的問(wèn)題可能對(duì)最終的分類結(jié)果產(chǎn)生影響。
針對(duì)上面的提出的問(wèn)題,本文融合了多種深度學(xué)習(xí)SOTA模塊,形成了R-BAGC深度語(yǔ)義模型。
在多標(biāo)簽文本分類中,比較經(jīng)典的傳統(tǒng)方法有二元相關(guān)方法(Binary Relevance,BR)[15]、分類器鏈方法(Classifier Chain,CC)[16]等,這些方法在多標(biāo)簽文本分類上取得了一些成果,但是這些傳統(tǒng)的方法也存在一些問(wèn)題。首先,這些傳統(tǒng)方法在處理多標(biāo)簽問(wèn)題時(shí)不能充分挖掘文本的語(yǔ)義信息。其次,傳統(tǒng)方法將標(biāo)簽視為一個(gè)無(wú)意思的符號(hào),也不能充分地利用標(biāo)簽之間的關(guān)系、簽與文本之間的關(guān)系。
為了彌補(bǔ)傳統(tǒng)方法的不足之處,近年來(lái)出現(xiàn)了一些基于深度學(xué)習(xí)的方法。Liu等利用可能的標(biāo)簽差異和標(biāo)簽相關(guān)性,提出了一種新的預(yù)訓(xùn)練任務(wù)和模型,在做分類任務(wù)時(shí)利用這種差異能夠獲得好的效果[9]。You等針對(duì)每個(gè)標(biāo)簽無(wú)法捕獲最重要的文本信息和大量label 缺少可擴(kuò)展性兩個(gè)問(wèn)題,提出了一種基于樹標(biāo)簽的深度學(xué)習(xí)模型,該模型能捕獲輸入文本和每個(gè)標(biāo)簽最相關(guān)的部分,同時(shí)針對(duì)長(zhǎng)尾標(biāo)簽,提出了概率標(biāo)簽樹[10]。Xiao 等提出的LSAN模型提出標(biāo)簽注意力機(jī)制學(xué)習(xí)特定于標(biāo)簽的文本表示,將標(biāo)簽語(yǔ)義信息引入到模型中[11]。任彥凝等[12]將標(biāo)簽語(yǔ)義和標(biāo)簽關(guān)系結(jié)合起來(lái)共同提取樣本中的信息,并且其內(nèi)部設(shè)置了自適應(yīng)融合單元。Xun 等[13]針對(duì)極端多標(biāo)簽文本分類模型忽略了不同標(biāo)簽之間有用的相關(guān)信息的問(wèn)題,通過(guò)在深度模型的預(yù)測(cè)層添加額外的CorNet 模塊來(lái)解決這一限制。支港等[14]提出基于Transformer 解碼器的序列生成模型,使用標(biāo)簽嵌入作為查詢,通過(guò)其多頭自注意力機(jī)制建立標(biāo)簽之間的高階相關(guān)性,并利用多頭交叉注意力子層從文本信息中自適應(yīng)地聚合標(biāo)簽相關(guān)的關(guān)鍵特征,取得了不錯(cuò)的效果。Ankit Pal等[22]提出了一種提出了一種基于圖注意力網(wǎng)絡(luò)的模型來(lái)捕捉標(biāo)簽之間的注意力依賴結(jié)構(gòu),并將生成的分類器應(yīng)用于從文本特征提取網(wǎng)絡(luò)(BiLSTM)獲得的句子特征向量,以實(shí)現(xiàn)端到端訓(xùn)練。
通過(guò)R-BAGC 模型架構(gòu),本文實(shí)現(xiàn)了文本向量化、標(biāo)簽之間關(guān)系挖掘以及“文本-標(biāo)簽”關(guān)系挖掘。具體的框架如圖1所示。
圖1 R-BAGC模型架構(gòu)
Word2Vec[18]和Glove[19]能夠把詞語(yǔ)轉(zhuǎn)化為向量,但是這種向量是靜態(tài)的,無(wú)法解決歧義問(wèn)題。為了更好地表示文本,本文使用BERT[8]預(yù)訓(xùn)練模型把文本向量化。BERT能夠?qū)ξ谋具M(jìn)行上下文理解,可以生成更準(zhǔn)確的向量表示,同時(shí)還可以解決歧義問(wèn)題。
模型的輸入由三種嵌入層相加構(gòu)成,分別是:詞嵌入、分段嵌入、位置嵌入,最終嵌入記為H,見式(1)。
其中:H?Rk×d,k 為文本的最大長(zhǎng)度,d 為BERT模型隱藏層的大小。
在多標(biāo)簽文本分類中,標(biāo)簽可以視為圖中的節(jié)點(diǎn),標(biāo)簽之間的共現(xiàn)關(guān)系可以表示為圖中的邊。利用GAT[20]模型,可以學(xué)習(xí)到每個(gè)標(biāo)簽節(jié)點(diǎn)的向量表示,并考慮標(biāo)簽之間的依賴關(guān)系,從而進(jìn)行更準(zhǔn)確的多標(biāo)簽分類。
首先通過(guò)計(jì)算標(biāo)簽的成對(duì)共現(xiàn)來(lái)構(gòu)造鄰接矩陣,共現(xiàn)矩陣的計(jì)算如下:
其中:L為共現(xiàn)矩陣,NORM為歸一化操作。
然后就是利用GAT 挖掘標(biāo)簽之間的關(guān)系。隨機(jī)生成的嵌入Qf={ }Q1,Q2,…,Qs作為標(biāo)簽的初始狀態(tài),其中標(biāo)簽嵌入是一個(gè)隨模型迭代更新的Embedding[21],然 后 將 其 輸 入 進(jìn)GAT 中,其 中Qi?Rd。因?yàn)镚AT 模型引入了注意力機(jī)制,所以接下來(lái)需要計(jì)算注意力系數(shù)。首先對(duì)于頂點(diǎn)i,逐個(gè)計(jì)算它的鄰節(jié)點(diǎn)(j?si)和它自己之間的相似系數(shù),如式(3)。
其中:W 是可訓(xùn)練參數(shù),a是前饋神經(jīng)網(wǎng)絡(luò)的可訓(xùn)練參數(shù);eij表示節(jié)點(diǎn)j 對(duì)于節(jié)點(diǎn)i 的重要性。注意力系數(shù)計(jì)算公式為
其中:LeakyReLU為非線性激活函數(shù);αij為標(biāo)簽j相對(duì)于標(biāo)簽i 的歸一化注意系數(shù);k?si表示節(jié)點(diǎn)i 的所有鄰節(jié)點(diǎn)。
得到歸一化的注意力系數(shù)之后,根據(jù)計(jì)算好的注意力系數(shù),把特征加權(quán)求和,見式(5)。
將經(jīng)過(guò)k 頭注意力機(jī)制計(jì)算后的特征向量進(jìn)行拼接,對(duì)應(yīng)的輸出特征向量表達(dá)為
經(jīng)過(guò)GAT 計(jì)算后S 個(gè)標(biāo)簽的向量記作Qg?Rs×d。
為了捕捉文本中不同部分與標(biāo)簽的關(guān)系,模型中利用了多頭自注意力機(jī)制(Multi-head Self-Attention,MSA)。
將文本向量H 作為Key 和Value,將標(biāo)簽嵌入Qg作為Query,輸入進(jìn)MSA 中,得到更新的標(biāo)簽嵌入Qm,公式如下:
其中:Concat 表示拼接每一個(gè)頭部的注意力輸出。最后將Qm傳入前饋網(wǎng)絡(luò)(FFN)得到Ql作為輸出。計(jì)算過(guò)程如公式:
模型訓(xùn)練時(shí)使用二元交叉熵?fù)p失和Sigmoid函數(shù)的組合作為損失函數(shù),公式如下:
其中:N 為文檔數(shù)量;l 為標(biāo)簽數(shù)量;y?ij、yij分別為第i個(gè)實(shí)例的第j個(gè)標(biāo)簽的預(yù)測(cè)值和真實(shí)值。
R-BAGC 模型中用到了傳統(tǒng)的Dropout 方法,可以防止模型過(guò)擬合。然而這種方法會(huì)導(dǎo)致模型訓(xùn)練和推理過(guò)程的行為不一致。所以為了彌補(bǔ)傳統(tǒng)Dropout的缺點(diǎn),研究人員們提出了R-Drop 來(lái)進(jìn)一步對(duì)子模型的輸出預(yù)測(cè)進(jìn)行了正則約束。
為驗(yàn)證模型有效性,本文在兩個(gè)英文公開數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。對(duì)數(shù)據(jù)集的介紹如下:
1)AAPD 訓(xùn)練集中包含論文摘要55840 條,測(cè)試摘要1000 條,經(jīng)過(guò)處理后的數(shù)據(jù)量在3.5KB 級(jí)別,共有54個(gè)類標(biāo)簽;
2)RCV1 數(shù)據(jù)集包含訓(xùn)練樣本23149 條,測(cè)試樣本781265 條。其數(shù)據(jù)量在80KB 級(jí)別,共有103個(gè)類標(biāo)簽。
表1 中列出了這些數(shù)據(jù)集的統(tǒng)計(jì)信息,其中N是總實(shí)例數(shù),W是數(shù)據(jù)集中每個(gè)文檔的平均字?jǐn)?shù),Q是標(biāo)簽的總數(shù),Qˉ是每個(gè)文檔的平均標(biāo)簽數(shù)。
表1 兩個(gè)數(shù)據(jù)集的信息
本文采用準(zhǔn)確率(precision)、召回率(recall)和micro-F1 作為實(shí)驗(yàn)的主要評(píng)估指標(biāo),見式(17)~(19),其中N為數(shù)據(jù)集中樣本的總數(shù)量。其中,TP、TN、FP、FN的具體含義可見表2混淆矩陣。
表2 混淆矩陣
為了充分驗(yàn)證提出模型的有效性,選擇了7 種模型作為對(duì)比算法。7種模型的簡(jiǎn)介如下:
BR[15]:該算法提出將多標(biāo)簽分類任務(wù)轉(zhuǎn)換為多個(gè)二進(jìn)制分類任務(wù)。
CC[16]:基于一系列二進(jìn)制分類任務(wù)來(lái)解決多標(biāo)簽分類任務(wù)。
TextCNN[17]:該方法基于Word2vec 進(jìn)行詞嵌入,并首次使用CNN結(jié)構(gòu)進(jìn)行文本分類。
CNN-RNN[8]:使用CNN 和RNN 獲得局部和全局語(yǔ)義,并對(duì)標(biāo)簽之間的關(guān)系進(jìn)行建模。
LSAN[11]:利用標(biāo)簽注意力機(jī)制建立特定于標(biāo)簽的文本信息,同時(shí)使用自適應(yīng)融合機(jī)制將標(biāo)簽信息與文本信息融合。
AttentionXML[10]:利用多標(biāo)簽注意力機(jī)制捕獲每個(gè)標(biāo)簽最相關(guān)的文本。
MAGNET[22]:利用圖注意力網(wǎng)絡(luò)來(lái)捕捉和探索標(biāo)簽之間的關(guān)鍵依賴關(guān)系,利用BiLSTM 獲得文本的特征向量。
從表3 和表4 中的實(shí)驗(yàn)結(jié)果來(lái)看,BR、CC、TextCNN 的性能明顯差于剩下的五種模型。因?yàn)锽R、CC、TextCNN 傳統(tǒng)的方法只考慮去挖掘文本中蘊(yùn)含的特征,而忽略了標(biāo)簽的作用,反觀其余五種模型都采用了不同的方法去發(fā)揮文本和標(biāo)簽的作用,極大地提高了模型的性能。
表3 在AAPD數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
表4 在RCV1數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
在AAPD 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明本文提出的模型在性能上優(yōu)于其他模型。本文所提出模型除了考慮到了標(biāo)簽與文本之間的關(guān)系,還考慮到了標(biāo)簽之間的關(guān)系,而其他的對(duì)比模型,除LSAN、CNN-RNN、MAGNET模型外,其余模型僅僅考慮了文本與標(biāo)簽之間的關(guān)系,而忽略標(biāo)簽內(nèi)部之間的關(guān)系,這說(shuō)明科學(xué)的利用標(biāo)簽內(nèi)部的關(guān)系能在一定程度上提高模型分類的性能。
本文提出的模型在RCV1 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果稍微差一點(diǎn),比起LSAN 模型,在召回率上低了1.4%,在F1 上低了0.5%。因?yàn)長(zhǎng)SAN 為每個(gè)標(biāo)簽學(xué)習(xí)一個(gè)特定的文檔表示,并將這些標(biāo)簽特定的表示合并成一個(gè)全局的文檔表示,這樣能夠更好地捕捉每個(gè)標(biāo)簽與文本之間的關(guān)系,并減輕了不同標(biāo)簽之間的相互干擾。通過(guò)計(jì)算標(biāo)簽的成對(duì)共現(xiàn)來(lái)構(gòu)造的鄰接矩陣是對(duì)稱的,即假設(shè)標(biāo)簽之間的相關(guān)性是對(duì)稱的,但實(shí)際上標(biāo)簽之間的相關(guān)性可能是非對(duì)稱的。這樣會(huì)導(dǎo)致鄰接矩陣中的權(quán)重不能準(zhǔn)確反映標(biāo)簽之間的關(guān)系,從而影響分類性能。而RCV1數(shù)據(jù)集的共現(xiàn)矩陣在維度上比AAPD 數(shù)據(jù)集的共現(xiàn)矩陣大三倍,在利用GAT 去挖掘標(biāo)簽之間的關(guān)系時(shí),不僅會(huì)消耗更多的內(nèi)存資源,而且模型可能需要更多的參數(shù)和計(jì)算資源來(lái)處理這個(gè)矩陣。這可能導(dǎo)致模型的學(xué)習(xí)效率下降,需要更多的數(shù)據(jù)和更長(zhǎng)的訓(xùn)練時(shí)間才能達(dá)到較好的性能,如果epoch過(guò)小或者數(shù)據(jù)過(guò)少,就會(huì)降低了模型的性能,所以這可能是R-BAGC 在RCV1 數(shù)據(jù)集上表現(xiàn)出來(lái)的性能弱于LSAN的原因。
為了進(jìn)一步驗(yàn)證模型各組件的有效性,本文在兩個(gè)數(shù)據(jù)集上進(jìn)行了兩組消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5、表6所示。
表5 在AAPD數(shù)據(jù)集上的消融實(shí)驗(yàn)
表6 在RCV1數(shù)據(jù)集上的消融實(shí)驗(yàn)
1)N-GAT 表示沒(méi)有使用GAT 建立標(biāo)簽之間的關(guān)系,直接使用標(biāo)簽嵌入作為多頭注意力機(jī)制的Query;
2)N-ATT 表示沒(méi)有使用多頭自注意力機(jī)制來(lái)建立文本與標(biāo)簽的關(guān)系,只是簡(jiǎn)單把經(jīng)過(guò)GAT 后的文本嵌入和標(biāo)簽嵌入在第二個(gè)維度上進(jìn)行拼接;
3)N-D-drop表示沒(méi)有使用D-drop策略進(jìn)行訓(xùn)練,直接采用式(13)作為損失函數(shù)進(jìn)行訓(xùn)練。
在兩個(gè)數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果顯示,去掉GAT、多頭自注意力機(jī)制兩個(gè)模塊,會(huì)降低模型整體的分類性能,這說(shuō)明這兩個(gè)模塊會(huì)提升模型整體效果。其中去掉多頭自注意力的模型性能下降最為顯著,可能是簡(jiǎn)單地將文本嵌入和標(biāo)簽嵌入拼接在一起,對(duì)于原本的文本特征添加了一定程度的干擾,從而影響了最終的性能,需要使用更加科學(xué)的和更深層次的“文本-標(biāo)簽”交互方案。在沒(méi)有使用R-drop 策略訓(xùn)練模型時(shí),準(zhǔn)確率提高而召回率降低的情況表明模型可能過(guò)于嚴(yán)格,對(duì)于模型認(rèn)為不確定或較為復(fù)雜的樣本,模型更傾向于將其劃分為負(fù)例,從而導(dǎo)致漏檢率較高。然而,在使用R-drop策略訓(xùn)練模型后,雖然準(zhǔn)確率略有下降,但召回率和F1值均提高了。這說(shuō)明R-drop策略有助于提高模型的魯棒性從整體消融實(shí)驗(yàn)結(jié)果來(lái)看,R-BAGC模型能夠有效地融合各個(gè)組件的優(yōu)勢(shì),提升模型整體效果。
本文提出了一種多標(biāo)簽文本分類模型R-BAGC,該模型充分挖掘并利用了文本與標(biāo)簽之間、標(biāo)簽與標(biāo)簽之間的關(guān)系。實(shí)驗(yàn)結(jié)果表明,該方法在兩個(gè)標(biāo)準(zhǔn)多標(biāo)簽文本分類數(shù)據(jù)集上的性能優(yōu)于當(dāng)前先進(jìn)的多標(biāo)簽文本分類算法。然而,R-BAGC 對(duì)于具有大量標(biāo)簽的數(shù)據(jù)集,計(jì)算標(biāo)簽的成對(duì)共現(xiàn)會(huì)得到一個(gè)高維度、多數(shù)元素為零的鄰接矩陣,會(huì)導(dǎo)致矩陣稀疏,增加計(jì)算的復(fù)雜度。而且所有標(biāo)簽都被等價(jià)看待,會(huì)忽略標(biāo)簽的重要性差異。在多標(biāo)簽分類中,不同的標(biāo)簽對(duì)于預(yù)測(cè)的重要性可能是不同的,因此這種方法可能無(wú)法很好地區(qū)分不同的標(biāo)簽。另外,基于R-drop 的對(duì)抗訓(xùn)練雖然可以提高模型的魯棒性,但是也在一定程度上增加了模型訓(xùn)練所需的資源和訓(xùn)練時(shí)間。下一階段將針對(duì)以上問(wèn)題進(jìn)行更深一步的研究。