劉心惠,陳文實,周 愛,陳 飛,屈 雯,魯明羽
大連海事大學 信息科學技術學院,遼寧 大連 116026
多標簽文本分類是自然語言處理領域的一個重要研究方向,目標是為數據集中的每個樣本分配一個或多個類別標簽。目前多標簽文本分類算法廣泛應用于推薦算法[1]、信息檢索[2]、垃圾郵件檢測[3]等任務。
當前多標簽文本分類方法大致分為三類:問題轉換方法、算法適應方法和神經網絡方法。問題轉換方法將多標簽分類轉化為單標簽分類問題,Binary Relevance(BR)算法將每個標簽作為單獨的類別進行分類處理[4];Label Powerset(LP)方法為每一個標簽組合創建一個二進制分類器[5];Classifier Chains(CC)算法通過模擬標簽之間的相關性進行分類[6]。算法適應方法通過擴展現有的算法,使其適用多標簽分類任務,不需要進行問題轉換,Clare等人通過ML-DT方法構建基于多標簽熵的決策時進行分類[7];Elisseeff等人提出Rank-SVM,使用支持向量機進行分類[8];陸凱等人使用ML-KNN方法來處理大數據集問題[9]。上述兩類方法都是基于傳統機器學習的方法,依賴于大量的特征工程,隨著深度學習的發展,神經網絡方法被廣泛應用于多標簽文本分類任務,相比于傳統機器學習方法,深度學習方法可以自動學習文本特征,具有泛化性更強的優點。
當前主流神經網絡有卷積神經網絡(Convolutional Neural Networks,CNN)、循環神經網絡(Recurrent Neural Network,RNN)等,在不同的領域表現出較好的性能[10]。膠囊網絡(CapsuleNet)由深度學習之父Hinton提出,在圖像處理領域表現出較好的結果,但是在自然語言處理領域的有效性仍在探索[11]。Zhao等人首次將膠囊網絡應用在文本分類任務上,分類性能超過CNN[12]。Google團隊提出多頭注意力機制,在輸入文本序列內部做注意力操作,尋找序列內部之間的聯系,自動學習輸入文本序列的權重分布[13]。
本文利用多頭注意力機制、膠囊網絡和BiLSTM組成聯合模型,獲得更為豐富的信息。注意力機制對文本中的每個單詞的向量權重進行重新分配,對文本內容貢獻大的信息賦以較大的權重,從而來區分每個單詞對于文本識別重要性的大小。再通過特征融合的方式將膠囊網絡提取的局部特征和BiLSTM提取的全局特征進行平均融合,可以同時提取不同層次、具有不同特點的文本特征。
深度學習在自然語言處理領域的應用廣泛[14],與傳統的機器學習方法相比,不需要人工設計特征,可以自動學習并提取文本特征,并且取得了比傳統方法更好的效果。周志華等人提出了BP-MLL方法,首次將神經網絡模型用于多標簽文本分類,使用全連接網絡和排序損失來進行分類[15];Nam等人在周志華提出的方法上,采用adagrad和dropout來加速收斂并防止訓練過程中發生過擬合,將交叉熵函數作為目標函數[16];Berger等人使用預訓練的word2vec詞向量捕獲單詞順序,作用在CNN和GRU上直接用到多標簽文本分類中,相比于傳統的詞袋模型分類性能得到提升[17];Kurata等人把CNN的輸出層利用類別標簽之間的共現關系進行初始化,來獲得標簽之間相關性[18];Chen等人提出一種CNN和RNN的融合機制,把CNN得到的輸出作為RNN的輸入,來捕獲文本的語義信息,然后進行類別的預測[19];Nam首次將機器翻譯中的Encoder-Decoder模型用于多標簽分類,提出一種計算標簽聯合概率的公式,按照順序生成類別標簽[20];Yang等人首次將強化學習用于多標簽文本分類,提出基于深度強化學習的Encoder-Decoder模型,把類別標簽視為集合,來減弱標簽之間的依賴關系[21]。
上述模型大多基于CNN和RNN網絡結構,CNN的池化操作造成信息丟失,RNN會隨著序列輸入長度的增加而產生梯度爆炸或梯度消失問題。膠囊網絡不僅獲取單詞在文本中的位置信息,還可以捕獲文本的局部空間特征;BiLSTM不僅加入門控機制,而且可以捕獲文本的上下文順序信息[22]。另外,考慮到文本序列中詞語的重要程度對分類結果的影響不同,本文引入注意力機制(attention mechanism)。注意力機制是一種用來識別關鍵詞信息的選擇機制,廣泛應用于神經機器翻譯任務中,考慮輸入文本的單詞貢獻差異,突出關鍵輸入對輸出類別標簽的作用,對貢獻大的詞賦予較高的權重,其他詞賦予較低的權重[23]。
本文模型提出一種基于聯合模型的多標簽文本分類方法,利用多頭注意力機制來獲取關鍵詞信息,膠囊網絡提取文本的局部特征表示,BiLSTM提取文本的全局特征表示,并通過融合層將其融合,從而獲得更為全面、細致的文本特征,提升分類性能。
多標簽分類問題可以定義為:設X=?d表示輸入樣本有d維特征空間,Y={y1,y2,…,yq}表示所有類別標簽集合,共有q個類別標簽。通過訓練集D={(xi,Yi)|1≤i≤n}訓練樣本得到分類器 f:X→2Y,其中 xi∈X是輸入空間X的訓練樣本,Yi∈Y是xi的類別標簽集合,最終通過分類器 f得到測試樣本的所屬標簽集合[24]。
基于聯合模型的多標簽文本分類框架如圖1所示,本文所提出的模型由五部分組成:文本的向量表示、多頭注意力機制、特征提取、模型融合和分類。
(1)向量表示:通過預訓練GloVe詞嵌入將輸入的文本序列轉化為向量表示。
(2)多頭注意力機制:在文本向量表示的基礎上使用多頭注意力機制來發現文本中的重要信息,自動學習輸入文本序列的相對重要的單詞。
(3)特征提取:將注意力運算后的結果作為膠囊網絡和BiLSTM的輸入,不僅可以獲得文本的局部特征表示,還可以捕捉文本的局部特征表示。
(4)模型融合:利用融合層實現對全局特征信息和局部特征信息進行平均融合,實現多層次提取文本信息,有效減少文本信息丟失。
(5)分類:將特征融合后的向量信息輸入到sigmoid分類器中,進行分類操作。

圖1 聯合模型結構圖
將輸入序列表示為W=(w1,w2,…,wn),n為輸入文本序列的單詞數,通過詞嵌入將每個詞進行向量化表示,每篇文章形成一個詞向量矩陣E={e1,e2,…,en},ei代表第i個詞的詞向量,維度為z,其中e∈?n×z。
由于多標簽文本分類任務的每篇文本對應多個類別標簽,不同單詞對不同類別標簽的影響程度不同,多頭注意力機制可以作用在對分類具有決定性作用的詞匯上,與其他注意力相比,多頭注意力機制可以同時捕獲與多個類別標簽相關的不同單詞,從多角度多層面獲取重要的單詞信息。
多頭注意力機制使用單獨的注意頭在相同的輸入上多次應用注意機制,獲取不同類別標簽的關鍵單詞,從不同方面提取不同類別標簽的重要信息。多頭注意力機制的計算方法為:

Q∈?n×dk,K∈?m×dk,V∈?n×dv,i∈h
其中,Q、K、V 分別代表query矩陣、key矩陣、value矩陣,attention操作表示為查詢Q到鍵值對K-V的映射。將其編碼形成一個新的n×dv的序列,起到調節作用,控制Q和K的內積不會太大,每個注意力的頭部使用自注意力機制,尋找序列內部之間的聯系。在文本分類任務中,Q、K、V的值相等,代表嵌入層的輸出E,大小為n×dk,其中dk為嵌入層的輸出維數。h表示頭的數量,i表示第i個注意力頭部,每個注意力的頭部采用公式(2)計算,從左到右拼接每個頭,最終形成注意力矩陣X。
傳統的CNN通過池化操作來降低卷積運算的計算復雜度,來捕獲局部特征,但是池化操作會造成信息損失。膠囊網絡中使用神經元向量(膠囊)代替傳統神經網絡的單個神經元節點,每一個值都由向量表示,通過動態路由(Dynamic Routing)訓練神經網絡學習單詞之間的關系,對特征向量進行特征間聚類,從而不僅獲取單詞在文本中的位置信息,還可以捕獲文本的局部空間特征。動態路由過程如圖2所示,計算方法如公式(4)~(9)所示。

其中,sj為網絡的輸入,u為上一層膠囊的輸出,W為權重矩陣,cij為耦合系數,用來預測上層膠囊和下層膠囊之間的相似性,bij的初始值設置為0,通過動態路由更新bij從而更新cij。

squash為壓縮激活函數,對向量進行壓縮,得到向量的模長hj。向量的模長越大,所表示的特征就越強。整個動態路由過程迭代r次,以獲取局部特征向量HC=(hC1,hC2,…,hCn)。

圖2 動態路由過程
LSTM模型是在RNN的基礎上改進而來,由門機制和記憶單元組成,可以選擇性地記住或遺忘記憶單元中的信息,門機制包括遺忘門、輸入門和輸出門,從而每一個LSTM單元都具有記憶能力,可以體現上下文信息之間的相互影響。神經單元計算方法如下:


其中,ft、it、ot分別表示遺忘門、輸入門、輸出門,x、h、c表示輸入層、隱藏層、記憶單元,W、b表示權重矩陣、偏置。

膠囊網絡無法體現上下文之間的深層語義影響,只能提取局部的文本特征;BiLSTM單元在同層神經網絡之間相互傳遞,能體現相隔較遠的單詞之間的聯系,從而提取文本的全局特征表示。單一的神經網絡提取的特征有局限性,通過特征融合的方式可以同時利用不同神經網絡的各自特點,優勢互補,獲得不同層次上的文本信息特征,提高分類效果。
本文在特征融合階段使用平均融合的方式,而不是采用合并拼接的融合方式即拼接膠囊網絡生成的特征向量和BiLSTM生成的特征向量,形成一個維度更大的特征向量。采用拼接方式的缺點是由于維度過大,產生梯度爆炸問題。膠囊網絡輸出的維度和BiLSTM輸出具有相同的維度,不會增加數據維度計算,不僅節約計算成本,還能獲取不同層次的文本特征。膠囊網絡輸出的特征向量HC=(hC1,hC2,…,hCn)和BiLSTM輸出的特征向量HL=(hL1,hL2,…,hLn)進行特征融合,形成一個新的特征向量H,計算方法為:

本文模型采用sigmoid分類器:

函數返回值為不同的概率值,每個概率值對應于一個輸出類別的概率,以此劃分該文本所屬類別信息,完成分類。計算特征融合后的向量H屬于各個類別標簽的概率,概率值在[0,1]之間,設定一個閾值,本實驗選取的閾值為0.5,如果大于該閾值,則認為屬于某個類別。
本文采用路透社新聞語料庫Reuters-21578和arxiv網站上與計算機相關論文的摘要,每篇論文對應不同的主題的AAPD(Arxiv Academic Paper Dataset)語料庫進行實驗。
Reuters-21578和AAPD數據集概況如表1所示。

表1 數據集概況
表1表示數據集的基本信息,T表示數據集文本總數,L表示類別標簽數量,VC表示每個數據集的平均標簽數,VL表示平均文本長度,M表示最大標簽數。本文將數據集中的2/3用于訓練集,1/3用于測試集,并且訓練集中的1/5用于驗證集。
本文實驗基于Keras框架,TensorFlow后端實現,編程語言為python3.6。通過多次實驗及驗證實驗結果,選定最優的實驗參數。由于提取的文本特征維度過大容易產生梯度爆炸問題,維度過少無法提取充分的特征信息,因此提取全局特征和局部特征的維度為設置為240。本文使用GloVe預訓練的300維詞向量,選定Adam(Adaptive Moment Estimation)作為優化器函數來優化神經網絡,dropout值設置為0.5來防止過擬合。模型的具體參數設置如表2。

表2 實驗參數設置
本文使用四個性能評價指標來評價本文模型的實驗效果,分別是精確率(P)、召回率(R)、F1值(F1 Score)、漢明損失(Hamming Loss)(公式(20)),其中F1值為主要的參考指標。

其中, ||D表示樣本總數, ||L表示標簽總數,xi和yi分別表示預測的標簽結果和真實標簽,xor表示異或運算。
本文提出的基于聯合模型的多標簽分類方法ATTCapsule-BiLSTM在Reuters-21578和AAPD數據集上的實驗結果如表3和表4所示,在P、R、F1、HL四個評價指標上進行對比,P、R、F1中“+”表示該值越大,模型性能越好,HL中“-”表示該值越小,模型性能越好。下面通過對比實驗來驗證本文提出方法的有效性。

表3 Reuters-21578數據集實驗結果

表4 AAPD數據集實驗結果
為了驗證本文提出ATT-Capsule-BiLSTM模型的有效性,設置與代表性的機器學習方法Binary Relevance(BR)、Classifier Chains(CC)、Label Powerset(LP)和深度學習CNN-RNN方法進行對比實驗,并將CNN-RNN方法[19]作為基線模型。
上述結果表明,與傳統機器學習方法相比,本文模型不基于特征工程,取得了合理的性能。在Reuters-21578數據集上,其F1指標取得了較好的性能,相比于CNN-RNN模型提升了4.32%;在AAPD數據集上,其F1值提升了1.08%。并且本文的模型在P、R和HL指標上也展現出了較好的結果。
為了驗證膠囊網絡相比較于CNN提取局部文本局部特征展現出的優勢,設置ATT-CNN-BiLSTM和ATTCapsule-BiLSTM對比實驗。使用膠囊網絡提取特征展現了較好的效果,幾乎所有的指標都超過了使用CNN網絡提取的特征的結果,F1值分別提升了1.29%和1.16%。
對實驗結果進行進一步分析,比較了數據集中不同類別的F1值差異,和不同實例的分類情況如圖3~圖6所示。

圖3 21578數據集各個類別標簽的分類情況

圖4 21578數據集樣本預測結果可視化

圖5 AAPD數據集各個類別標簽的分類情況

圖6AAPD數據集樣本預測結果可視化
圖3 表示21578數據集每個類別標簽的分類效果,橫軸表示類別標簽,縱軸表示F1值,4/5的類別標簽的分類結果F1值超過0.8,取得了較好的效果。
圖4表示在21578數據集的測試集隨機抽取28個文本實例,查看其分類情況,縱軸表示測試文本實例的ID。綠色代表該類別預測正確,紅色代表類別預測錯誤,橙色代表沒有預測到該類別。從圖4中可以看出,只有2個標簽預測錯誤,11個類別標簽預測缺失,其余均預測正確。
圖5表示AAPD數據集每個類別標簽的分類效果,橫軸表示類別標簽,縱軸表示F1值,1/4的類別標簽的分類結果F1值超過0.7,由于類別分布不平衡,屬于cs.it和math.it類別的文本數占總文本數的32%。因此F1值達到了89%;math.st占總文本數的1.63%,F1值僅為25%,導致分類結果較差。
圖6表示在AAPD數據集的測試集隨機抽取28個文本實例,查看其分類情況,橫軸表示類別標簽(未涉及到的類別已剔除),縱軸表示測試文本實例的ID。綠色代表該類別預測正確,紅色代表類別預測錯誤,橙色代表沒有預測到該類別。從圖6中可以看出,ID為28的實例“Algorithmic randomness theory starts with a notion of an individual random object to be reasonable,this notion should have some natural properties,an object should be random with respect to image distribution only if it has a random preimage this result was known for a long time in this paper we prove its natural generalization for layerwise computable mappings,discuss the related quantitative results.”預測結果最差,其真實類別標簽共有四個“math.io;cs.it;math.it;math.pr”,預測結果為“cs.ds;cond.stat;cs.pl”,有1個標簽預測正確,漏掉了3個標簽,2個標簽預測錯誤。該實例中有64個單詞,而AAPD數據集的文本平均長度是111,由于這個實例中文本長度過短,未表達出能預測所有類別的信息,導致這個實例的預測效果最差。
結合圖3~圖6分析可知,由于21578數據集的平均標簽數為1.34,AAPD數據集的平均標簽數為2.41,并且21578數據集的標簽數和平均文本長度都遠小于AAPD數據集,因此在21578數據集的F1值高于AAPD數據集。
本文提出了一種基于多頭注意力機制、膠囊網絡和BiLSTM網絡的聯合模型用于多標簽文本分類研究,利用于多頭注意力機制學習輸入文本中的關鍵信息,膠囊網絡有效提取文本的局部特征,BiLSTM充分考慮了詞的上下文信息提取文本的全局特征。通過不同層次的特征融合,減少信息丟失。結果表明,本文提出的聯合模型在F1指標上優于對比模型,有效地提升了分類的性能。本文的下一步工作是將該模型的結構用于seq2seq模型的編碼器結構中,不僅可以學習文本不同層次的特征信息,還可以捕獲類別標簽的相關性。