肖 馳,徐林莉
(中國科學技術大學 計算機科學與技術學院,合肥 230027)
隨著信息技術的快速發展,互聯網上文本信息資源不斷累積,如何快速、有效地處理這些文本信息資源是當前研究的重要問題.文本分類技術被認為是解決這一問題的重要技術手段.作為自然語言處理的基礎性技術,文本分類已經被廣泛應用于垃圾郵件判別[1]、新聞篩選[2]和輿情分析[3]等任務中.
早期的文本分類模型大多基于機器學習方法,該類模型通常使用詞頻(TF)或者詞頻-逆文檔頻率指數(TF-IDF)等作為特征,采用樸素貝葉斯(Naive Bayes)、支持向量機(SVM)等機器學習方法作為分類函數.這類基于機器學習的模型存在特征稀疏、模型表達能力不足等問題.隨著深度學習的發展,神經網絡模型因其出色的特征提取能力而被廣泛應用到文本分類任務當中.Kim等[4]提出基于卷積神經網絡(CNN)的分類模型,該模型使用卷積和池化操作提取文本局部語義信息,并將最后一層網絡的結果作為全文特征進行分類.Liu等[5]使用長短期記憶網絡(LSTM)對語句的序列信息進行建模,并將網絡最后一個隱層狀態作為文本表示.然而上述神經網絡模型只能捕捉局部語義信息,無法對單詞的全局共現關系進行建模[6].
近年來,圖神經網絡(Graph Neural Network,GNN)因其處理不規則圖結構的出色能力而受到廣泛關注.Defferrard等[7]首先將圖卷積網絡引入到文本分類任務中,Yao等[8]在此基礎上提出圖卷積文本分類模型Text-GCN.Text-GCN模型將語料庫中的訓練文本、測試文本和單詞都作為節點組織到同一張網絡中,然后利用圖卷積網絡[9]提取節點特征并對文本節點進行分類.該方法在多個開源數據集上取得了當前最好分類效果.
上述基于圖卷積網絡的分類模型采用緊耦合方式處理文本分類問題,這種緊耦合方式在實際使用中會導致以下兩個問題.首先,該模型將文本和單詞都作為同一張圖中的節點進行構圖,這導致圖的尺寸會隨著文本數量和詞表大小而變化.通常,語料庫的詞表大小較為穩定,而文本數目變化較大.當語料庫中文本數目變大時,圖的尺寸隨之變大.相應地,模型會消耗大量內存并可能導致內存錯誤.此外,緊耦合方式降低了模型的靈活性,給模型使用者帶來不便.譬如,上述模型將訓練文本、測試文本和單詞組織到圖中后,圖的大小和結構隨之固定.當出現新的測試文本時,圖的結構不能隨之做出修改,也就是說,該模型無法動態地處理新來樣本.緊耦合方式導致的上述問題限制了圖卷積文本分類模型的使用場景,嚴重制約了該模型在實際項目中的應用.
為解決上述問題,本文提出了一種松耦合圖卷積文本分類網絡模型(Loosely Coupled Graph Convolutional Neural Network,LCGCN).不同于緊耦合方法將語料庫組織成一張網絡,該模型將語料庫分解成核心網絡和文本-單詞網絡兩個部分.核心網絡的節點由單詞和標簽構成,反映單詞和單詞、標簽和單詞之間的關系.文本-單詞網絡由文本和單詞構成,反映文本和單詞之間的關系.實際運行時,模型先在核心網絡上運行圖卷積操作,提取單詞和標簽的向量表示.然后,模型通過文本-單詞網絡和第一步提取的單詞表示相乘得到文本的向量表示,最后將文本向量表示輸入到分類器中進行分類.通過上述步驟,該模型完成了對原始緊耦合模型的解耦操作,從而使得模型具備松耦合的特性.具體來說,本文具有以下創新點:
1)針對緊耦合方式導致的問題,本文提出松耦合圖卷積文本分類網絡模型.該模型能夠在保證分類效果的基礎上,極大地減少內存開銷并且能夠動態地處理新樣本;
2)模型將標簽信息引入到核心網絡中,通過圖卷積操作捕捉單詞和標簽之間的關系,進一步提升分類效果;
3)我們在多個公開數據集進行實驗,與其他文本分類方法的對比結果顯示了我們模型的有效性.
文本分類任務是自然語言處理領域內的基礎性任務,它一直是學術界和工業界的重要研究問題.現有的文本分類模型可以分為基于機器學習的方法和基于深度學習的方法兩大類.基于機器學習的方法大都使用手工構造的特征,利用機器學習模型作為分類函數.Trstenjak 等[10]使用詞頻-逆文檔頻率作為文本特征,使用最近鄰方法(KNN)方法作為分類函數.但是詞頻-逆文檔頻率是一種表層特征,它無法揭示單詞的潛在聯系.為了捕捉文檔中單詞間的潛在語義結構信息,Shima等[11]使用潛在語義索引方法(LSI)來提取文本的低維向量特征,并使用支持向量機(SVM)來指導提取過程.基于深度學習的文本分類模型大多借助神經網絡強大的特征提取能力自動地學習文本特征并進行分類.Kim等[4]使用CNN提取文本局部語義特征,Liu等[5]使用LSTM對文本進行建模.Zhou等[12]結合LSTM和CNN中最大池化操作(Max Pooling)的優勢,提出BLSTM-2DCNN.這些神經網絡擅長于捕捉連續局部文本片段的語義信息,但是無法較好地對單詞全局關系和長距離語義信息建模[6].不同于上述神經網絡,本文提出的方法借助于圖卷積網絡對單詞的全局信息進行建模和特征提取.
傳統神經網絡模型在處理歐幾里得結構數據時展現出出色的特征提取能力,但是這類模型無法應用到非歐幾里得結構的數據上,如化學分子[13]、引用網絡等.處理非歐幾里得結構數據的難點在于數據的不規則性.譬如,一個不規則網絡中的節點沒有先后順序,每個節點的鄰居個數也不盡相同,這些問題導致模型無法在網絡上運行傳統的卷積操作.為了將深度學習應用到非歐幾里得結構數據上,許多研究人員開始探索圖神經網絡模型[14,15].Niepert等[13]從將不規則圖結構數據轉化為規則結構數據的角度,提出針對任意圖結構的圖規范化框架,該模型在多個化學化合物分類數據集上取得了當時最好效果.Yu等[16]提出時空圖卷積模型(STGCN)來解決交通領域的時間序列預測問題.Yao等[8]將文本和單詞當作節點組織到同一張網絡中,并使用圖卷積網絡提取節點特征進行分類.相比于傳統的神經網絡,圖神經網絡具有處理復雜網絡結構、捕捉全局語義特征等優點,因而受到越來越多的關注.不同于上述將圖卷積網絡應用到文本分類任務中的工作,我們希望設計一種松耦合的、使用靈活的圖卷積文本分類模型.
本小節中,我們先介紹圖卷積網絡模型的基本內容,然后展示松耦合圖卷積文本分類網絡的設計思路和構圖步驟,最后我們介紹分類模型的整體框架和運行細節.
給定文本語料庫的標簽集合L={l1,l2,…,lL},詞表集合V={v1,v2,…,vV},文本集合X={D1,D2,…,DN},單標簽文本分類的任務就是給文本集合中的每篇文本Di={wi1,wi2,…}分配一個最有可能的標簽yi,其中文本的單詞wij∈V,預測標簽yi∈L.
卷積神經網絡適用于處理歐幾里得結構(Euclidean Structure)的數據,如形狀規則的圖片,因此卷積神經網絡在計算機視覺領域取得了較大成功.對于非歐幾里得結構數據,如圖結構數據,傳統的卷積神經網絡難以使用卷積操作提取特征.為了處理非歐幾里得數據,研究人員提出圖卷積神經網絡模型(GCN).GCN的出發點是利用圖中其他節點的狀態來更新自身狀態,從而學習到圖中節點的關系.假設給定輸入數據X,圖G的鄰接矩陣A,圖卷積模型通過公式進行卷積操作,更新節點特征向量
(1)

在先前的研究中,Yao等[8]將文本和單詞作為節點組織到同一張網絡中,然后對該網絡進行圖卷積操作,從而得到訓練文本、測試文本和單詞的特征表示.這是一種緊耦合的處理方式,該方式使得模型不夠靈活.在本小節中,我們提出一種松耦合的圖卷積文本分類網絡LCGCN.
松耦合模型的出發點是將分類模型的核心特征提取部分和一般計算部分分解開來,實現高內聚、低耦合的特性.單詞是文本的基本構成要素,單詞的語義直接影響了文本的含義.我們認為單詞的特征提取是松耦合圖卷積網絡的核心部分,因此語料庫中的單詞被組織到核心網絡中進行學習.在實際生活中單詞通常會和特定的標簽相關聯.譬如,當我們討論“足球”這個詞匯時,我們更容易聯想到“運動”這個標簽,而不會想到“金融”.從這個例子,我們可以發現單詞的含義與標簽有著直接的聯系.因此,標簽也被作為節點整合到核心網絡中,與單詞一起進行特征提取.另一方面,文本是由一組單詞序列構成,文本的語義表示可以通過單詞的語義表示計算得到.因而,文本的語義計算屬于一般計算部分,文本與單詞的關系被組織成另外一張網絡.

圖1 松耦合圖卷積文本分類網絡Fig.1 Loosely coupled graph convolutional neural network
按照上述分析,松耦合圖卷積文本分類模型將語料庫組織成兩張網絡:文本-單詞網絡Md∈Rn×V和核心網絡Mc∈R(V+L)×(V+L).如圖1所示,核心網絡包含單詞和標簽兩類節點,單詞與單詞節點之間邊的權重反映單詞與單詞之間的共現關系,標簽與單詞節點之間邊的權重體現標簽與單詞之間的語義相關關系.在實際建模中,單詞與單詞之間的權重使用兩個單詞之間的點互信息(PMI)來計算,該指標反映了兩個單詞之間的相關關系.點互信息值越大,說明兩個單詞語義上越相關,反之,兩個單詞的相關性越小.標簽與單詞之間邊的權重使用公式(2)計算:
(2)
其中p(j|i)表示單詞j在給定標簽i的文本中出現的頻率,p(j)表示單詞j在整個語料庫中出現的頻率.當單詞在某個標簽的文本中出現的頻率越大,在整個語料庫中出現的頻率越小,說明單詞與該標簽的相關程度就越高.文本-單詞網絡中文本與單詞之間邊的權重使用單詞的TF-IDF值來表示.
如圖1所示,松耦合圖卷積模型先在核心網絡Mc上使用公式進行圖卷積操作以提取單詞特征向量EV∈RV×d和標簽特征向量EL∈RL×d.接著,模型使用文本-單詞矩陣Md和單詞特征向量EV相乘得到文本的向量表示ED∈Rn×d.通過上述兩個連續步驟,該方法將提取單詞特征向量和構建文本向量表示的過程分解開來.在實際運行時,只有核心網絡會參與到圖卷積運算中,文本-單詞網絡在后續步驟中用來計算文本向量.因此,模型的內存消耗大部分來自于核心網絡的卷積計算,它不會隨著文本數量增多而變大.另一方面,當出現新的測試樣本時,模型只需要構建新測試文本的文本-單詞網絡并計算文本向量表示,然后將計算得到的文本向量輸入到分類器中進行分類.通過上述方法,模型能夠根據實際應用需求,便捷地處理新來測試樣本.
圖2展示了分類模型的整體框架,該框架分為核心網絡特征提取、分類和匹配3個子模塊.

圖2 模型整體框架Fig.2 Frameword of the model

(3)

(4)

(5)

(6)

為了驗證模型有效性,我們在5個開源數據集上做了文本分類實驗,包括 20-Newsgroups(1)http://qwone.com/~jason/20Newsgroups/、Ohsumed(2)http://disi.unitn.it/moschitti/corpora.htm、R52(3)https://www.cs.umb.edu/~smimarog/textmining/datasets/、R8和 Movie Review(MR)(4)https://github.com/mnqu/PTE/tree/master/data/mr.實驗數據集的劃分和處理方式參考Yao等[8]的實驗設置,數據集詳細信息表1所示.

表1 文本分類數據集統計信息Table 1 Details of text classification datasets
實驗中,我們選取了基于CNN、RNN和GCN 3類神經網絡的方法作為對比實驗,相關方法介紹如下:
·CNN Kim等[4]提出使用CNN對文本中單詞的向量矩陣進行卷積操作從而提取文本向量并進行分類;
·LSTM Liu等[5]使用LSTM網絡對文本序列信息建模,并使用網絡的最后一個隱層狀態作為文本的特征表示進行分類;
·Text-GCN Yao等[8]使用緊耦合的方式將語料庫中的訓練文本、測試文本和單詞組織到同一張網絡中,然后使用圖卷積神經網絡提取節點特征并對測試文本節點分類,該模型取得了當前最好效果;
·Text-level 該模型由Huang等[18]提出,用以解決Text-GCN消耗內存過大等問題.模型對單篇文本進行構圖,然后使用圖卷積網絡學習文本特征并進行分類.
表2展示了各模型在實驗數據集上的分類準確率,帶星號部分表示模型使用預訓練詞向量作為初始化詞向量,各對比模型的實驗結果來源于文獻[8,18].
從表2中我們可以發現,相比于CNN、LSTM等傳統神經網絡模型,基于圖卷積網絡的分類模型都表現出良好的分類性能.譬如,在Ohsumed數據集上,基于圖卷積網絡的模型有大約10個百分點的提升.這些結果說明GCN網絡能夠給文本分類任務帶來有效提升.這可能是因為GCN模型能夠對單詞的全局共現關系進行建模,通過圖卷積操作后,模型能夠為每個節點學習到準確的向量表示.我們還注意到,在使用預訓練詞向量的情況下,LCGCN模型比Text-GCN模型平均提升了約1個百分點.提升主要來自兩部分:1)模型在核心網絡和匹配模塊中引入了標簽信息,使得整個模型具備更強的表達能力;2)模型采用拼接多層特征的方法緩解圖卷積網絡的過度平滑問題.我們還注意到在Ohsumed數據集上,LCGCN模型的分類結果比Text-level模型略差,但是依然排在第2位.這可能是因為Ohsumed數據集單詞詞表相對較大而訓練數據相對較少,這導致LCGCN模型的泛化性能受限.

表2 模型分類準確率Table 2 Test accuracy of models
圖3展示了Text-GCN和LCGCN模型中網絡節點的個數.從圖中可以看出,LCGCN模型的網絡尺寸明顯小于Text-GCN模型的網絡尺寸,且當語料庫中文本數目越多時,網絡尺寸減小越明顯.Text-GCN將語料庫中的訓練文本、測試文本和單詞都當作圖中的節點進行構圖,網絡尺寸會隨著文本數量和單詞詞表大小而變化.LCGCN通過松耦合方式將語料庫組織成兩張網絡,其中核心網絡的尺寸只與單詞詞表大小和標簽個數有關.因此,LCGCN模型中網絡的尺寸能夠控制在合適的范圍內,從而避免消耗過多內存.

圖3 網絡尺寸對比Fig.3 Comparison of network size
松耦合圖卷積網絡將特征提取步驟分解成核心特征提取和一般計算兩個步驟,從而使得模型具備高內聚、低耦合的特性.該特性使得模型具備良好的移植拓展能力.為了展示松耦合圖卷積模型的靈活性,本實驗將LCGCN網絡移植到LSTM模型上.具體地說,我們將LCGCN模型的核心特征提取模塊插入到LSTM模型之前.每步迭代時,LCGCN網絡將提取得到的單詞向量作為LSTM模型中單詞的初始向量,然后使用LSTM網絡對文本序列進行建模分類.

表3 LSTM性能對比Table 3 Comparison of LSTM
表3展示了各模型在3個數據集上的分類準確率.從表中可以發現,加入LCGCN模塊的LSTM模型能夠在模型原有基礎上提升文本分類性能.譬如,在R52數據集上,我們模型的分類準確率比LSTM模型高8個百分點,比使用預訓練詞向量初始化的LSTM方法高3個百分點.這說明LCGCN網絡學習得到的單詞向量表示較好地捕捉了單詞的語義信息.該實驗顯示,LCGCN模型只需要通過簡單的修改便可以與傳統神經網絡相結合,并且能夠在原始模型的基礎上帶來性能提升.
本文提出了一種松耦合圖卷積文本分類網絡模型.該模型能夠在保持分類性能的基礎上,極大地減少原始圖卷積網絡的內存開銷.另一方面,由于松耦合的特性,該模型能夠根據實際需求動態地處理新來樣本.此外,該模型還具備良好的移植能力,它能夠與其他神經網絡相結合提升原始模型的效果.在接下來的工作中,我們希望將圖卷積神經網絡應用到多標簽分類任務中.