李智強,過 弋,2,3,王志宏
(1. 華東理工大學 信息科學與工程學院,上海 200237;2. 大數據流通與交易技術國家工程實驗室 商業智能與可視化技術研究中心,上海 200436; 3. 上海大數據與互聯網受眾工程技術研究中心,上海 200072)
在自然語言處理領域,文本分類是最基礎的任務。文本分類主要包括單標簽分類和多標簽分類。在單標簽分類中,一個樣本對應一個標簽,而多標簽分類則是一個樣本對應一個或多個標簽。其中,多標簽分類又可以細分為層級性多標簽分類和平行性多標簽分類[1],前者是指某個標簽類別有其父類或者有其子類;后者是指某段文本可能對應多個類別,如一部電影可能是喜劇片又是愛情片。本文主要研究的是多標簽分類下的平行性多標簽文本分類任務(Parallel Multi-Label Text Classification,PMLTC)。在大數據時代,面對大量的文本數據和標簽類別,PMLTC是一項極具挑戰性的任務,同時也是自然語言處理的核心任務之一。
文本數據可能很長,并且包含大量復雜的語義信息和一些與分類任務無關的噪聲信息。那么如何從長文本中提取出對分類任務有用的信息是解決該類任務的一個關鍵,因此文本表示是分類任務中最重要的一個步驟。研究表明,全局信息有利于分類,而局部信息也不能忽略。如對一段“體育”類文本: “目前全球規模大、影響力大的體育賽事有世界杯、奧運會等。”,“世界杯、奧運會”這些局部信息對分類起著重要作用。此外,對于簡單的分類任務,現有研究中很少考慮標簽信息,那么對于多標簽分類任務,若有100個標簽、1 000個標簽,甚至更多的標簽信息,如何利用這些大量的標簽信息來提升分類的準確率是當前研究的熱點和難點。為了解決上述問題,本文主要關注以下兩個方面: ①如何從原始文檔中提取出對分類任務有效的關鍵信息?②如何將標簽信息融合到待分類文本表示中?
在PMLTC任務中,一段文本可能包含多個標簽,每個標簽都可以被視為待分類文本的一部分。為了充分利用標簽信息,并從全局角度和局部角度對待分類文本進行編碼,本文提出了一種新穎的MSAPA(Parameter Adaptive Model under Multi-strategy Attention Mechanism)模型來獲取待分類文本的表示。本文有以下三點貢獻:
(1) 為了重點突出待分類文本中的關鍵信息和充分利用標簽信息,提出了一種多類型注意力機制融合模型,其中包括自注意力機制(self-attention)和標簽注意力機制(label-attention)。
(2) 為了解決多類型注意力機制的權重分配問題,引入了一種多參數自適應的融合策略。
(3) 在兩個常用公開數據集上的實驗表明,本文提出的MSAPA模型效果優于最新的基準模型。
隨著大數據時代的到來和算力的提升,基于深度學習的神經網絡模型也流行起來,并在自然語言處理領域中展現了極大的優勢。如在文本分類、機器翻譯、命名實體識別等眾多任務中,深度學習模型效果遠遠優于傳統機器學習算法。現在在文本分類領域中,使用較多的深度學習模型有卷積神經網絡(CNN)、循環神經網絡(RNN)和CNN與RNN的融合模型。
CNN起初用在計算機視覺領域中,一些研究者將CNN用在自然語言處理領域中也能達到很好的效果。Kim等人[2]在2014年開創了將CNN應用到文本分類領域的先河,采用多個不同大小的卷積和對文本進行不同大小的局部位置信息抽取,并達到了很好的效果。最常用的池化操作有最大池化和平均池化。其中,最大池化只考慮了最優信息,丟棄了次優等一些其他重要信息;平均池化則弱化最優信息,可能會將一些噪聲信息考慮進去。這些缺點都會降低分類的準確率。Chen等人[3]提出了K-max pooling操作,他們考慮特征的前K個最優信息,但并沒有弱化這些最優信息,同時將噪聲信息丟棄掉,該模型在句子建模中取得了不錯的效果。上述研究大多基于淺層CNN進行文本分類的特征提取,Conneau等人[4]提出了VDCNN模型,該模型采用29個卷積層來提升模型的準確率。此外,除使用單詞級別的CNN模型之外,Zhang等人[5]提出了一種完全基于字符級的文本分類模型。當訓練集規模足夠大時,卷積網絡不需要單詞層面的意義,也不需要語法句法等信息,就可以實現很好的效果,而且無論是什么語言,文本都是由字符組成的,這對于構建跨語言的系統至關重要。
文本是一種序列結構化表示,不同時刻的輸入之間存在一定的關聯。Zaremba等人[6]提出了循環神經網絡模型來“記憶”詞與詞之間的某種聯系,從全局角度進行文本表示。使用RNN進行文本分類最經典的模型之一是Lai等人[7]提出的TextRNN模型,該模型可以很好表達長距離上下文信息,解決了TextCNN中使用固定大小的卷積核而不能對文本進行長距離建模的問題。針對多標簽文本分類任務,Liu等人[8]提出RNN的三種不同的共享信息機制來對特定任務和文本進行建模,并取得很好的效果。RNN系列的模型雖然考慮了文本的序列結構化特征,卻不能很好地提取一些局部位置信息。Wang等人[9]采用固定的輸入步長k,比如第k時刻的輸出僅僅取決于前k-1時刻和當前時刻的輸入,這樣會大大減小模型對文本建模的負擔,并且達到很好的效果。
CNN擅長提取局部位置信息,屬于無偏模型,能夠通過最大池化獲取最重要的特征,但是CNN的滑動窗口大小不容易確定,滑動窗口過小容易造成重要信息丟失,滑動窗口過大則會增大模型計算代價。RNN擅長處理序列結構文本,能夠考慮句子的上下文信息,屬于有偏模型,通常一個句子中越往后的詞重要性越高,這可能影響到最后的分類結構。為了很好地利用CNN和RNN的優點(CNN可以提取局部信息;RNN擅長提取全局信息),互相彌補雙方的不足(CNN卷積核大小不容易確定,使得pooling操作會造成一定的信息丟失或弱化最優信息;RNN很難提取關鍵短語信息)。研究者們在CNN和RNN模型融合方面也進行了許多創新,如Lai等人[7]提出的RCNN模型是將RNN和CNN進行外部結合,在學習文本表示時可以大范圍地保留詞序,用最大池化層獲取文本的重要部分。Wang等人[9]提出的DRNN模型將RNN和CNN進行內部結合,其性能均優于單個CNN和RNN模型。
本文提出的MSAPA模型如圖1所示。該模型主要由詞嵌入層、特征抽取層、注意力層、特征融合層和輸出層五部分組成。

圖1 MSAPA模型
模型輸入一串文本序列S={x1,x2,…,xn}。首先要經過詞嵌入層(Embedding)將文本序列進行編碼。常用的詞向量有Word2Vec[10]和Glove[11],為了加快網絡的收斂速度,本文使用Glove詞向量對文本進行編碼。Glove詞表的第一列是單詞,其余列是該單詞所對應的向量表示。通過查找Glove詞表可以將文本序列S中每個單詞表示xi編碼成相應的詞向量表示ei,則文本序列S最終可以編碼成相應的詞向量表示E,如式(1)所示。
其中,E∈n×d,n表示文本序列的長度,d表示詞向量的維度。
2.2.1 局部特征提取層
局部特征常用CNN進行提取。對于一段待分類文本來說,關鍵信息常常以二字短語、三字詞語、四字成語的形式出現,因此本文采用卷積核大小分別為2、3、4的卷積核來提取待分類文本中的不同局部特征。
經過詞嵌入層將文本序列編碼成詞向量序列E,然后使用CNN進行特征提取,定義卷積核大小w∈n×d,其中,h為卷積核寬度,表示提取長度為h的局部特征;d表示詞向量的維度。局部特征ci是通過窗口大小為h的卷積核滑動產生的新特征,如式(2)所示。
其中,w為模型的學習參數,b為偏置項,f()屬于非線性激活函數,如ReLU[12]、Tanh、Mish[13]等。為了使更好的特征融入神經網絡,本文使用Mish激活函數:f(x)=x*tanh(log(1+ex))。

2.2.2 全局特征提取層
為了建模全局特征引入循環神經網絡(RNN),然而傳統的RNN存在梯度消失和長距離依賴問題。本文采用Bi-LSTM對文本序列進行全局建模,LSTM在RNN的基礎上提出輸入門、遺忘門和更新門三個門限機制,從而更好地解決了RNN缺點。
LSTM原理以及三個門限機制可以通過式(3)來解釋。

(3)
其中,it,ft,gt,ot分別表示輸入門,遺忘門,細胞狀態和輸出門,ht表示第t時刻的隱藏狀態,ct表示第t時刻的細胞狀態,xt表示第t時刻的輸入,ht-1表示t-1時刻的隱藏狀態或者初始化的隱藏狀態。
本文采用Bi-LSTM對編碼后的詞向量序列進行全局特征提取,第t個時間戳的全局特征可通過式(4)表示。

(4)


(5)
通過2.2節可以得到文本的局部特征表示:C=[c1,c2,…,ci]和全局特征表示:H=[h1,h2,…,hi]。為了獲得全局和局部的關鍵詞特征以及融合標簽信息,本文引入自注意力機制(self-attention)和標簽注意力機制(label-attention)。
2.3.1 自注意力機制
為了對分類任務的關鍵信息分配較高的權重,對 “噪聲”信息分配較低的權重,本文采用自注意力機制。融合self-attention[14]的全局信息和局部信息如式(6)所示。

(6)
其中,WL2、WL1表示模型對于全局信息訓練的超參數,WC1、WC2表示模型對于局部信息訓練的超參數。H、C分別表示通過特征抽取層得到的全局信息和局部信息表示。AL(s)、AC(s)分別表示為融合自注意力機制的全局關鍵詞特征和融合自注意力機制的局部關鍵詞特征。
2.3.2 標簽注意力機制
對于多標簽文本分類任務,為了充分關聯標簽和文本全局信息以及局部信息,本文采用標簽注意力機制。
首先將標簽信息編碼成詞向量表示,即:L∈l×d,其中,l表示標簽的個數,d表示詞向量的維度(1)和Glove對文本編碼的詞向量的維度一樣。然后將標簽矩陣和文本全局信息矩陣及局部信息矩陣分別進行內積運算,給重要的信息分配較高的權重,給“噪聲”信息分配較低的權重,即給文本全局信息和局部信息分別添加標簽注意力機制,如式(7)所示。

(7)
其中,L為標簽信息的詞向量矩陣,H、C表示從文本中抽取的全局信息和局部信息。AL(l)、AC(l)分別表示為融合標簽注意力機制的全局關鍵詞特征和融合標簽注意力機制的局部關鍵詞特征。
經過上述計算,該模型可以得到四個輸出:
(1) 融合自注意力機制的全局關鍵詞特征AL(s);(2) 融合自注意力機制的局部關鍵詞特征AC(s);(3) 融合標簽注意力機制的全局關鍵詞特征AL(l);(4) 融合標簽注意力機制的局部關鍵詞特征AC(l)。
本文采用自適應融合機制來動態地為融合自注意力機制后的文本信息和融合標簽注意力機制后的文本信息分配不同權重。
通過式(8)為AL(s)和AL(l)動態分配不同的權重。

(8)
其中,WL2、WL3分別表示模型要訓練的超參數。αL、βL表示模型分別對AL(s)和AL(l)動態分配的權重。則AL(s)和AL(l)的最終表示如式(9)所示。
通過式(10)為AC(s)和AC(l)動態分配不同的權重,如式(10)所示。

(10)
其中,WC2、WC3分別表示模型要訓練的超參數。αC、βC表示模型分別對AC(s)和AC(l)動態分配的權重。則AC(s)和AC(l)的最終表示如式(11)所示。
通過式(12)為DL和DC動態分配不同的權重,如式(12)所示。

(12)
其中,WO2、WO3分別表示模型要訓練的超參數。αO、βO表示模型分別對DL和DC動態分配不同的權重。用于分類的最終文檔表示如式(13)所示。
通過式(14)預測文檔所屬每個標簽的概率。
在分類任務中常用交叉熵作為損失函數,如式(15)所示。

為了證明本文模型具有更好的有效性,本節通過在AAPD數據集(54個類別)和RCV1數據集(103個類別)上評估本文的模型。
(1)AAPD[15]數據集: AAPD從arXiv的計算機科學領域收集了55 840篇論文的摘要和相應主題。
(2)RCV1[16]數據集: Reuters Corpus Volume 1(RCV1)包含超過80k的手動分類新聞,共有103個類別。
實驗數據集詳細統計信息如表1所示。

表1 實驗數據集詳細統計信息

本文實驗采用Pytorch框架開發,實驗環境如表2所示。

表2 實驗環境
MSAPA模型詳細參數設置如表3所示。

表3 實驗參數設置
3.3.1 評價指標
本文采用P@n和NDCG@n作為模型的評價指標。
P@n: 其中P為模型的準確率,n是取前n個結果的準確率,則P@n表示為返回前n個結果的準確率,其計算如式(16)所示。

NDCG@n: 其中NDCG(Normalized Discounted Cumulated Gains)為歸一化折損累計增益,其計算如式(17)所示。

(17)
其中,||y||o表示計算真實標簽y中相關標簽的數量。
3.3.2 對比實驗
對于PMLTC任務,在AAPD和RCV1數據集上,本文選用9個深度神經網絡模型作為基線模型。
?SLEEC[17]: Bhatia等人在2015年提出一種基于嵌入的方法將高維標簽向量投影到線性低維子空間中。
?PfastreXML[18]: 基于樹的方法被用作基線模型,因為它們在每種類型中都獲得了最佳性能。
?XML-CNN[19]: Liu等人在2017年首次將深度學習應用到極端多標簽文本分類任務中。將CNN和動態池化層結合來解決該類任務。
?DXML[20]: Zhang等人在2018年通過考慮標簽共現圖的標簽結構來探索標簽相關性。
?SGM[15]: Yang等人在2018年提出一種將輸入文檔中的序列生成模型應用于輸出標簽,以構造多標簽的文本分類器。
?AttentionXML[21]: You等人在2018年針對XML-CNN不能捕捉單詞之間長距離依賴關系和在文本中每個單詞的重要性程度不同這兩個問題,使用Bi-LSTM和多標簽注意力機制來解決上述兩個問題。
?EXAM[22]: Du等人在2019年利用標簽文本來學習單詞和標簽之間的交互。
?LAHA[23]: Huang等人在2019年使用混合注意力神經網絡為每個文檔建立一個明確的標簽感知表示,利用文檔內容和標簽相關性來更好地探索每個文檔與極端標簽之間的語義關系。
?LSAN[24]: Xiao等人在2019年提出一種標簽特定注意力網絡,其利用標簽語義信息來確定標簽和文檔之間的語義聯系。
實驗結果如表4所示,模型的評價指標分別為: P@1、P@3、P@5、NDCG@3、NDCG@5。
實驗分析: 觀察表4可以發現SLEEC和PfastreXML模型效果均差于最新的模型: LAHA、LSAH以及本文提出的MSAPA模型,其主要原因在于SLEEC和PfastreXML模型的重心并沒有放在文本的表示上,SLEEC只是將高維標簽向量投影到線性低維子空間中,PfastreXML只是提出了一種損失函數。可以看出,在文本分類任務中,文本的表示是至關重要的。

表4 實驗對比結果 (單位: %)
XML-CNN在AAPD和RCV1數據集上均差于AttentionXML, 其主要原因是XML-CNN沒有考慮文本中每個詞對于分類的重要性,這一點驗證了注意力機制在文本分類任務中的重要性。雖然DXML模型考慮了標簽信息,但并沒有充分考慮文本的局部關鍵信息和全局關鍵信息,所以DXML模型效果也并不理想。
SGM模型將多標簽分類看作序列生成問題,提出了一種新的解碼器結構的序列生成模型來解決這一問題,但該模型的效果并不理想。AttentionXML在RCV1數據集上的表現要優于EXAM模型,主要是因為該數據集屬于層次標簽結構,即父標簽和子標簽可能包含相似的文本,而EXAM模型很難基于文本的嵌入進行區分。AttentionXML模型在這兩個數據集上的表現均差于LSAN模型,在AAPD數據集上差于LAHA模型,因為AttentionXML模型僅僅關注文本的內容信息而忽略了標簽信息,這一點驗證了標簽注意力機制在多標簽文本分類任務中的重要性。
本文的模型在這兩個數據集上的表現均優于LSAN模型,在AAPD數據集上優于LAHA模型,其主要原因是LSAN和LAHA僅僅關注文本的全局信息而忽略了局部關鍵信息。這一結果進一步證明了本文所提出的基于全局和局部的多類型注意力機制參數自適應模型對于多標簽文本分類具有很好的效果。
3.3.3 消融實驗
本文提出的是一種融合多類型注意力機制多參數自適應學習的模型,主要包括以下四部分: 提取文檔的局部特征(記為C);提取文檔的全局特征(記為B);融合標簽注意力機制的文檔表示(記為L);融合自注意機制的文檔表示(記為S)。本節通過消融實驗來測試每一部分重要性。
圖2和圖3分別按照指標P@1、P@3、P@5、NDCG@3和NDCG@5列出對AAPD和RCV1數據集的結果。可以看出本文的模型效果最好,即C+B+L+S。

圖2 AAPD結果對比

圖3 RCV1結果對比
對于上述兩個數據集效果分析可以得出以下3個結論:
(1) 模型C+B+S的各個指標均優于模型C+B+L,說明對于本文中的兩個數據集,自注意力機制的重要性要優于標簽注意力機制。
(2) 模型B+S+L的各個指標均優于模型C+S+L,說明對于本文中的兩個數據集,全局信息要比局部信息更重要。

圖4 固定權重和參數自適應模型對比(AAPD)
(3) 模型C+B+L+S的各個指標均優于所有的模型,說明只有充分考慮文本的全局信息和局部信息,并充分利用自注意力機制和標簽注意力機制,才能達到較好的分類效果。
為了進一步說明參數自適應的重要性,本文對比參數自適應的模型和固定參數權重(=0.5)的模型。實驗效果如圖5、圖6所示。

圖5 固定權重和參數自適應模型對比(RCV1)
通過圖5和圖6發現在這兩個數據集上參數自適應模型的效果均比固定參數權重模型更優,這進一步說明參數自適應模型通過讓網絡自身學習較好的參數從而解決了固定參數不能使模型達到較好分類效果的問題。
本文提出了一種多類型注意力機制下參數自適應的多標簽文本分類模型(MSAPA)。該模型充分考慮了待分類文本的全局信息和局部信息,以及標簽信息。通過融合自注意力分別提取文本的全局關鍵信息和局部關鍵信息;通過融合標簽注意力機制將標簽信息和待分類文本信息相關聯,從而學習更好的文本表示。對于本文提出的多類型注意力機制,采用參數自適應策略為其動態分配權重,從而進一步提高文本分類的準確率。在AAPD和RCV1兩個公開數據集上的大量實驗證明了MSAPA模型的優越性。
未來的工作中,一方面我們將把本文提出的MSAPA模型應用到更多的多標簽分類數據集上,進一步優化和驗證模型的魯棒性;另一方面我們將會考慮多標簽文本分類數據集本身的特性(如數據集領域、規模等)優化模型,從而提升多標簽文本分類的準確率。