楊 茜
(鄭州大學體育學院 河南 鄭州 450000)
文本分類是自然語言處理的一個重要研究方向,其目的是將一段文本序列分為不同的類別[1]。文本分類大致分為單標簽分類和多標簽分類兩種,其中多標簽分類更具挑戰(zhàn)性[2]。多標簽文本分類(Multi-Label Text Classification,MLTC)是為語料庫中的每個輸入樣本分配一個或多個標簽的任務,在信息檢索、標簽推薦和情感分析等領(lǐng)域得到廣泛的應用[3-4]。
在以往的研究中,多標簽文本分類任務的解決方法主要包括問題轉(zhuǎn)換方法、算法適應方法和神經(jīng)網(wǎng)絡(luò)模型三種[5]。其中,問題轉(zhuǎn)換方法通過對樣本集進行分解,將MLTC問題轉(zhuǎn)換為一個或多個單標簽分類或回歸問題,經(jīng)典問題轉(zhuǎn)換方法是二進制相關(guān)性[6](Binary Relevance,BR),BR為每個標簽學習一個單獨的分類器,并通過忽略標簽之間的相關(guān)性將所有分類器的結(jié)果組合為一個多標簽預測。但是,如果數(shù)據(jù)集和標簽太大,該類方法需要花費大量的時間和空間。算法適應方法在原有單標簽分類方法的基礎(chǔ)上進行適當改進,使之能夠直接處理MLTC問題,如ML-KNN方法[7],采用傳統(tǒng)的K-最近鄰(KNN)算法通過計算不同標簽之間的相關(guān)性來解決MLTC問題。這類方法不需要將數(shù)據(jù)進行轉(zhuǎn)換,而且計算效率有所增加,但是僅限于利用一階或二階標簽相關(guān)性。近年來,隨著深度學習的發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的MLTC方法也快速地涌現(xiàn)出來。Gargiulo等[8]采用CNN神經(jīng)模型對多標簽多類文本進行分類,但是由于CNN自身編碼效率低且不具有旋轉(zhuǎn)不變性,因此在復雜結(jié)構(gòu)的文本分類中效果不佳。為了克服這一問題,Yang等[9]提出了基于膠囊網(wǎng)絡(luò)的文本分類模型,通過引入動態(tài)路由更新機制和向量神經(jīng)單元來克服CNN的弊端。為了能夠選擇性地關(guān)注文本中重要信息,研究人員還將注意力機制引入到文本分類中。Qu等[10]提出了一種基于分層注意網(wǎng)絡(luò)的文本分類方法,該方法采用多層注意力機制用于改善模型的分類精度。但是,注意力機制不能夠很好地保留單詞的位置信息。因此,Jing[11]通過將注意力機制與LSTM網(wǎng)絡(luò)相結(jié)合,利用LSTM網(wǎng)絡(luò)提取文本序列的全局特征,注意力機制重點關(guān)注局部信息來提高處理長句和整個文檔的分類性能。陳榕等[12]提出了一種基于注意力機制的CRNN算法,利用CNN提取文本向量的特征,然后利用Bi-GRU網(wǎng)絡(luò)捕獲文本的上下文依賴關(guān)系并結(jié)合注意力機制識別不同特征的重要性,該算法通過幾種網(wǎng)絡(luò)的組合有效提高了分類任務的準確率。
目前,雖然大多數(shù)MLTC方法能夠在文本分類中具有很好的性能,但是這些往往忽略標簽之間的依賴關(guān)系,從而沒有將分類效果達到最優(yōu)。針對這一情況,本文提出一種基于Bi-LSTM和圖注意力網(wǎng)絡(luò)(GAT)的多標簽文本分類算法,本文算法首先利用預訓練語言模型提取文本序列的信息特征,然后使用Bi-LSTM網(wǎng)絡(luò)提取文本序列的上下文信息和全局特征,同時使用圖注意力網(wǎng)絡(luò)捕獲標簽之間的相關(guān)性,最后結(jié)合特征向量和標簽依賴性來對MLTC任務進行預測。
深度雙向長短時記憶Bi-LSTM是一種雙向的RNN網(wǎng)絡(luò),一個Bi-LSTM單元由兩個上下反向疊加在一起的單向LSTM組成,一個負責前向信息傳遞和一個負責后向信息傳遞,如圖1所示,兩個單向LSTM輸出信息的組合作為最終的輸出。
圖1 Bi-LSTM網(wǎng)絡(luò)架構(gòu)
(1)
式中:ω和?為權(quán)重系數(shù);b為偏置值。與單個LSTM 模型相比,Bi-LSTM模型不僅利用時間序列中前后時刻數(shù)據(jù)之間的正向關(guān)聯(lián)信息,還考慮了前后時刻的反向關(guān)聯(lián)信息,因此在序列數(shù)據(jù)的分類問題中展現(xiàn)出了優(yōu)越的性能。
圖注意力神經(jīng)網(wǎng)絡(luò)是將注意力機制引入圖卷積網(wǎng)絡(luò)中的一個新型架構(gòu),用于捕獲網(wǎng)絡(luò)節(jié)點之間更好的相關(guān)性。GAT采用注意力機制為每個相鄰節(jié)點分配不同的權(quán)重系數(shù),權(quán)重大小完全取決于鄰近節(jié)點的特征,然后對鄰近節(jié)點特征加權(quán)求和,其結(jié)果能夠有效關(guān)注特征重要的節(jié)點,忽略不重要的節(jié)點。GAT由多個圖注意力層組成,下面給出單層圖注意力層的更新機制如圖2所示。
圖2 圖注意力神經(jīng)網(wǎng)絡(luò)的架構(gòu)
(2)
(3)
(4)
式中:‖表示拼接,激活函數(shù)的小于零斜率設(shè)置為0.2。為了使互相關(guān)系數(shù)能夠更容易地計算,模型引入了Softmax對節(jié)點i所有的相鄰節(jié)點j進行正則化:
(5)
最后,利用正則化后的不同節(jié)點之間的注意力互相關(guān)系數(shù)來預測每個節(jié)點的輸出特征:
(6)
式中:σ是一個激活函數(shù)。為了使自注意力機制能夠穩(wěn)定地表示節(jié)點i,模型使用了多頭注意力機制并使用其平均值作為輸出,因此式(6)修改為:
(7)
式中:K表示多頭注意力機制中的頭數(shù)量。
本文提出一種基于深度雙向長短時記憶Bi-LSTM和圖注意力網(wǎng)絡(luò)GAT的多標簽文本分類算法,對于給定的文本序列輸入,該算法首先利用BERT語言模型將文本序列進行詞向量表示,然后將詞向量特征輸入到Bi-LSTM網(wǎng)絡(luò)中,用于學習文本序列的上下文信息和全局特征,同時利用GAT網(wǎng)絡(luò)捕獲標簽之間的相關(guān)性,最后將基于注意力機制的標簽特征應用于Bi-LSTM網(wǎng)絡(luò)輸出的特征向量上,增強多標簽文本分類的預測精度。圖3給出了本文模型的具體架構(gòu)。
圖3 本文模型的架構(gòu)示意圖
多標簽分類是指將給定的樣本分配給多個分類類別的過程。該分類模型具有廣泛的應用場景,如一篇文章可以同時屬于經(jīng)濟類和文化類,一個蛋白質(zhì)可能具有多個功能等。對于多標簽問題,其難點有兩個:一個是類標簽的數(shù)量是不確定,如一些樣本只有一個標簽,而一些樣本可能具有幾十個標簽;另一個是類標簽之間可能會存在復雜的依賴關(guān)系,如包含藍天類標的樣本很大概率上包含白云。
多標簽分類任務的目的就是訓練一個預測模型,使得未標記的新樣本能夠準確地分類到已知的語義標簽中。給定訓練集中存在m個文本序列X={x1,x2,…,xm}和q個標簽L={l1,l2,…,lq},假定標記空間中存在n個標簽Y={y1,y2,…,yn}。對于文本分類任務,標簽是指具有語義信息的文本。傳統(tǒng)的分類任務一般是針對一個樣本給定一個標簽,而在MLTC問題中,每個樣本可以有多個標簽。從建模的角度來講,MLTC任務可以通過尋找最優(yōu)標記序列Y*使得條件概率p(Y|X)最大:
(8)
文本序列和標簽中的詞向量可以通過預訓練模型得到。目前,存在多種詞向量的表示方法,其中最常用的表示方法為詞袋模型,但是這類方法沒有考慮詞的位置信息。Word2vec是另一種獲取文本詞向量表示的方式,該工具是谷歌公司開發(fā)的一款開源工具,經(jīng)過大量的語料庫預訓練的模型,但是Word2vec工具的缺點是對于每一個詞只有一種向量表示,無法解決多義詞的問題。因此,本文采用BERT模型進行詞向量表示。 BERT模型是2018年提出的一種預訓練語言表示方法[13],它使用雙向編碼器網(wǎng)絡(luò)在大型語料庫上對語言模型進行預訓練,并在其他任務上對預訓練模型進行微調(diào)。任務特定的BERT設(shè)計能夠?qū)⒁粋€句子或一對句子表示為一個連續(xù)的標記數(shù)組。對于給定的標記,其輸入表示形式是通過將其相應的標記、段和位置嵌入相加而構(gòu)造的。BERT模型可以基于文本中各個字詞的原始詞向量輸入,得到文本中各個字詞融合了全文語義信息后的向量表示,圖4給出了BERT模型的嵌入過程。
圖4 BERT模型嵌入示意圖
所提MLTC方法的深度學習部分主要由Bi-LSTM網(wǎng)絡(luò)和GAT網(wǎng)絡(luò)兩部分組成,其中Bi-LSTM網(wǎng)絡(luò)用于提取文本序列的全局特征,GAT網(wǎng)絡(luò)用于捕獲標簽之間的依賴關(guān)系,然后將兩個網(wǎng)絡(luò)輸出的特征向量結(jié)合在一起來對文本序列進行分類。
本文使用BERT嵌入單詞,而后輸入到Bi-LSTM網(wǎng)絡(luò)中進行微調(diào)以完成針對文本分類領(lǐng)域任務的參數(shù)優(yōu)化。Bi-LSTM從兩個方向讀取文本序列X并計算每個單詞的隱藏狀態(tài),然后將兩個方向的隱藏狀態(tài)串聯(lián)起來,從而獲得第i個單詞的最終隱藏表示:
(9)
因此,Bi-LSTM網(wǎng)絡(luò)通過學習BERT輸入數(shù)據(jù)而獲得最終特征向量輸出的過程可以表示為:
F=fBi-LSTM(fBERT(s;θBERT);θBi-LSTM)∈RD
(10)
式中:f表示映射關(guān)系;s表示文本句子;θBERT和θBi-LSTM分別表示BERT和Bi-LSTM網(wǎng)絡(luò)的參數(shù);D表示Bi-LSTM網(wǎng)絡(luò)中隱藏層的維度。
一般來說,GAT網(wǎng)絡(luò)中的圖網(wǎng)絡(luò)塊G由特征向量M∈Rn×d和相應的鄰接矩陣A∈Rn×n組成,其中:n表示標簽的個數(shù);d表示維度。因此,GAT網(wǎng)絡(luò)往往采用表示圖形數(shù)據(jù)的節(jié)點特征和鄰接矩陣作為輸入。在本文中,沒有相應的現(xiàn)有圖數(shù)據(jù)集對GAT進行訓練。相反,將標簽的嵌入向量充當節(jié)點特征,通過構(gòu)建鄰接矩陣來學習標簽之間的相關(guān)性,進而利用標簽之間的相關(guān)性建模為加權(quán)圖,并迫使GAT網(wǎng)絡(luò)學習,以使鄰接矩陣和注意權(quán)重共同代表相關(guān)性。對于鄰接矩陣的初始化問題,本文使用相關(guān)矩陣來初始化權(quán)重。首先,通過計算標簽的成對共現(xiàn)來構(gòu)造相關(guān)矩陣,然后利用頻率向量對共現(xiàn)矩陣進行歸一化:
A=C/F
(11)
式中:C∈Rn×n表示共現(xiàn)矩陣;F∈Rn表示單個標簽的頻率向量。因此,GAT網(wǎng)絡(luò)的第一層輸出可以表示為:
(12)
式中:σ是一個激活函數(shù),本文采用tanh激活函數(shù)。第l層的輸出表示為:
(13)
將GAT網(wǎng)絡(luò)最后一層的注意力標簽特征輸出定義為Hgat∈Rc×d,其中:c表示標簽數(shù)量;d表示標簽特征的尺寸,然后與Bi-LSTM網(wǎng)絡(luò)輸出的特征向量進行點乘操作,用于獲得最終的預測分類結(jié)果:
(14)
本文使用交叉熵作為損失函數(shù):
(15)
式中:y∈Rc表示真實的標簽,其中yi∈{0,1}。
為了驗證本文方法的有效性,采用RCV1-V2[14]和AAPD[15]兩個數(shù)據(jù)集進行測試,并將測試結(jié)果與以下幾個MLTC方法進行對比。HAN+LG方法[3]在單詞和句子級別上使用分層注意力網(wǎng)絡(luò)來獲取文檔表示,然后引入標簽圖矩陣并通過邏輯回歸預測每個標簽;Seg2Set方法[14]使用簡單而有效的標簽序列來建立分類模型;reg-LSTM方法[15]使用帶有正則化的簡單BiLSTM體系結(jié)構(gòu)進行預測;SGM+GE方法[16]將多標簽分類任務視為一個序列生成問題,基于解碼器結(jié)構(gòu)進行求解;HLW-LSTM[17]方法使用混合注意力機制和LSTM捕捉標簽差異和標簽相關(guān)性信息;HLW-MDC使用混合注意力機制和基于多層擴展卷積的文本語義單元同時提取單詞級別和語義單元級別的信息[18]。
RCV1-V2數(shù)據(jù)集是由路透社有限公司提供的分類新聞報道組成,每個新聞熱線故事可以分成多個主題。該數(shù)據(jù)集共包含804 414個文件,包括643 531個訓練文件和160 883個測試文件,可劃分為103個主題。
AAPD數(shù)據(jù)集由55 840篇學術(shù)論文的摘要及其對應主題組成,每篇論文可以有多個主題。該數(shù)據(jù)集的研究目的是根據(jù)摘要內(nèi)容預測學術(shù)論文的主題。具體而言,AAPD數(shù)據(jù)集分為44 672個訓練文檔和11 168個測試文檔,共計54個類別。
對于上述2個數(shù)據(jù)集,篩選出超過500個單詞的樣本,這將能夠刪除每個數(shù)據(jù)集中約0.5%的樣本。將每個數(shù)據(jù)集分為訓練集、驗證集和測試集。詞匯表大小設(shè)置為50 000個單詞。數(shù)字和詞匯表外的單詞都選擇特殊的標記“#”和“UNK”進行替換。并且,采用頻率降序的方式對標簽進行排列。
本文模型包括Bi-LSTM網(wǎng)絡(luò)和GAT網(wǎng)絡(luò)兩個部分,其中Bi-LSTM網(wǎng)絡(luò)的正向與反向隱藏層中的節(jié)點個數(shù)均為128,同時在訓練過程中所有的Bi-LSTM網(wǎng)絡(luò)共享一套權(quán)重以避免過擬合現(xiàn)象的發(fā)生。GAT網(wǎng)絡(luò)由2個層組成,每個層是一個多頭部注意力機制的架構(gòu),頭部數(shù)量設(shè)置為8個。對于所有數(shù)據(jù)集,使用BERT嵌入對句子和標簽表示進行編碼,批處理大小設(shè)置為250。使用Adam優(yōu)化器來最小化最終目標函數(shù)。學習率初始化為0.001,為了避免過度擬合,將drop-out設(shè)置為0.5。
為了能夠有效評估本文模型的性能,采用漢明損失(Hamming Loss,HL)和微平均F1-分數(shù)(Micro F1-Score,MiF1)等指標來衡量模型的測試結(jié)構(gòu)。下面給出2個指標的具體內(nèi)容。
漢明損失HL是指錯誤預測標簽所占總數(shù)的百分比,其數(shù)學公式可以表示為:
(16)
式中:m和M分別表示樣本個數(shù)和標簽總個數(shù);Yi表示樣本i實際標簽的集合;Zi表示樣本i預測標簽的集合;Δ表示兩個集合的對稱差。漢明損失越小,預測結(jié)果越好。
微平均F1-分數(shù)MiF1是計算所有樣本標簽對的F1分數(shù),其數(shù)學公式定義為:
(17)
式中:TP、FP和FN分別表示真正例、假正例和假負例。微平均F1-分數(shù)越大,預測結(jié)果越好。
為了驗證本文方法的有效性,本文進行了2個實驗,第一個實驗是消融實驗,在2個數(shù)據(jù)集上進行測試模型不同部分的貢獻度,第二個實驗是對比實驗,通過與其他多標簽文本分類方法的結(jié)果對比來證明方法的可行性。
對于消融實驗,本文首先研究了4種不同的詞嵌入工具對本文模型的影響,圖5給出了幾種詞嵌入工具在測試數(shù)據(jù)集上的MiF1分數(shù)結(jié)果??梢钥闯?使用具有雙向語言編碼的BERT模型所取得的F1分數(shù)最好。
圖5 不同預訓練工具的MiF1結(jié)果對比
除此之外,本文還研究了GAT網(wǎng)絡(luò)對模型的貢獻,并對比了GAT和圖卷積網(wǎng)絡(luò)(Graph Convolution Network,GCN)網(wǎng)絡(luò)的性能。圖6給出了所提模型深度框架中包含Bi-LSTM、Bi-LSTM+GCN和Bi-LSTM+GAT3種不同網(wǎng)絡(luò)結(jié)構(gòu)時的MiF1分數(shù)結(jié)果??梢钥闯?模型僅有Bi-LSTM網(wǎng)絡(luò)構(gòu)成時性能最差,而Bi-LSTM+GAT組合的性能稍優(yōu)于Bi-LSTM+GCN網(wǎng)絡(luò),這是因為GAT網(wǎng)絡(luò)利用自注意力系數(shù)將鄰居頂點的特征聚合到中心頂點上,從而保證了頂點特征之間的相關(guān)性被更好地融入到模型中。
圖6 不同深度網(wǎng)絡(luò)組合的MiF1結(jié)果
本文的第二個實驗是對比實驗,將本文方法與其他分類方法在兩個數(shù)據(jù)集上進行了漢明損失(HL)和微平均F1-分數(shù)指標的衡量測試。圖7-圖8分別給出了HL和MiF1的測試結(jié)果,可以清楚地看到,本文方法在RCV1-V2數(shù)據(jù)集和AAPD數(shù)據(jù)集中的HL結(jié)果最小,MiF1結(jié)果最大,說明在所有對比方法中,本文模型的性能最優(yōu)。
圖7 不同分類方法在HL指標上的對比
圖8 不同分類方法在MiF1指標上的對比
本文提出一種基于Bi-LSTM網(wǎng)絡(luò)和GAT網(wǎng)絡(luò)的多標簽文本分類算法,通過關(guān)注標簽之間相關(guān)性來提高文本分類的精度,該算法主要由詞向量表示、深度學習和預測任務3個步驟組成。首先,本文使用BERT預訓練模型對文本序列和標簽進行詞向量表示;然后將文本序列輸入到Bi-LSTM網(wǎng)絡(luò)中來獲得全局特征向量,將標簽輸入到GAT網(wǎng)絡(luò)中用于捕獲標簽之間的相關(guān)性;最后利用矩陣相乘將兩個網(wǎng)絡(luò)模型的輸出組合在一起,用于完成MLTC任務。實驗結(jié)果表明,本文模型的性能明顯優(yōu)于其他方法,在多項指標上取得了最佳的結(jié)果。