肖 馳,徐林莉
(中國科學技術(shù)大學 計算機科學與技術(shù)學院,合肥 230027)
隨著信息技術(shù)的快速發(fā)展,互聯(lián)網(wǎng)上文本信息資源不斷累積,如何快速、有效地處理這些文本信息資源是當前研究的重要問題.文本分類技術(shù)被認為是解決這一問題的重要技術(shù)手段.作為自然語言處理的基礎性技術(shù),文本分類已經(jīng)被廣泛應用于垃圾郵件判別[1]、新聞篩選[2]和輿情分析[3]等任務中.
早期的文本分類模型大多基于機器學習方法,該類模型通常使用詞頻(TF)或者詞頻-逆文檔頻率指數(shù)(TF-IDF)等作為特征,采用樸素貝葉斯(Naive Bayes)、支持向量機(SVM)等機器學習方法作為分類函數(shù).這類基于機器學習的模型存在特征稀疏、模型表達能力不足等問題.隨著深度學習的發(fā)展,神經(jīng)網(wǎng)絡模型因其出色的特征提取能力而被廣泛應用到文本分類任務當中.Kim等[4]提出基于卷積神經(jīng)網(wǎng)絡(CNN)的分類模型,該模型使用卷積和池化操作提取文本局部語義信息,并將最后一層網(wǎng)絡的結(jié)果作為全文特征進行分類.Liu等[5]使用長短期記憶網(wǎng)絡(LSTM)對語句的序列信息進行建模,并將網(wǎng)絡最后一個隱層狀態(tài)作為文本表示.然而上述神經(jīng)網(wǎng)絡模型只能捕捉局部語義信息,無法對單詞的全局共現(xiàn)關(guān)系進行建模[6].
近年來,圖神經(jīng)網(wǎng)絡(Graph Neural Network,GNN)因其處理不規(guī)則圖結(jié)構(gòu)的出色能力而受到廣泛關(guān)注.Defferrard等[7]首先將圖卷積網(wǎng)絡引入到文本分類任務中,Yao等[8]在此基礎上提出圖卷積文本分類模型Text-GCN.Text-GCN模型將語料庫中的訓練文本、測試文本和單詞都作為節(jié)點組織到同一張網(wǎng)絡中,然后利用圖卷積網(wǎng)絡[9]提取節(jié)點特征并對文本節(jié)點進行分類.該方法在多個開源數(shù)據(jù)集上取得了當前最好分類效果.
上述基于圖卷積網(wǎng)絡的分類模型采用緊耦合方式處理文本分類問題,這種緊耦合方式在實際使用中會導致以下兩個問題.首先,該模型將文本和單詞都作為同一張圖中的節(jié)點進行構(gòu)圖,這導致圖的尺寸會隨著文本數(shù)量和詞表大小而變化.通常,語料庫的詞表大小較為穩(wěn)定,而文本數(shù)目變化較大.當語料庫中文本數(shù)目變大時,圖的尺寸隨之變大.相應地,模型會消耗大量內(nèi)存并可能導致內(nèi)存錯誤.此外,緊耦合方式降低了模型的靈活性,給模型使用者帶來不便.譬如,上述模型將訓練文本、測試文本和單詞組織到圖中后,圖的大小和結(jié)構(gòu)隨之固定.當出現(xiàn)新的測試文本時,圖的結(jié)構(gòu)不能隨之做出修改,也就是說,該模型無法動態(tài)地處理新來樣本.緊耦合方式導致的上述問題限制了圖卷積文本分類模型的使用場景,嚴重制約了該模型在實際項目中的應用.
為解決上述問題,本文提出了一種松耦合圖卷積文本分類網(wǎng)絡模型(Loosely Coupled Graph Convolutional Neural Network,LCGCN).不同于緊耦合方法將語料庫組織成一張網(wǎng)絡,該模型將語料庫分解成核心網(wǎng)絡和文本-單詞網(wǎng)絡兩個部分.核心網(wǎng)絡的節(jié)點由單詞和標簽構(gòu)成,反映單詞和單詞、標簽和單詞之間的關(guān)系.文本-單詞網(wǎng)絡由文本和單詞構(gòu)成,反映文本和單詞之間的關(guān)系.實際運行時,模型先在核心網(wǎng)絡上運行圖卷積操作,提取單詞和標簽的向量表示.然后,模型通過文本-單詞網(wǎng)絡和第一步提取的單詞表示相乘得到文本的向量表示,最后將文本向量表示輸入到分類器中進行分類.通過上述步驟,該模型完成了對原始緊耦合模型的解耦操作,從而使得模型具備松耦合的特性.具體來說,本文具有以下創(chuàng)新點:
1)針對緊耦合方式導致的問題,本文提出松耦合圖卷積文本分類網(wǎng)絡模型.該模型能夠在保證分類效果的基礎上,極大地減少內(nèi)存開銷并且能夠動態(tài)地處理新樣本;
2)模型將標簽信息引入到核心網(wǎng)絡中,通過圖卷積操作捕捉單詞和標簽之間的關(guān)系,進一步提升分類效果;
3)我們在多個公開數(shù)據(jù)集進行實驗,與其他文本分類方法的對比結(jié)果顯示了我們模型的有效性.
文本分類任務是自然語言處理領(lǐng)域內(nèi)的基礎性任務,它一直是學術(shù)界和工業(yè)界的重要研究問題.現(xiàn)有的文本分類模型可以分為基于機器學習的方法和基于深度學習的方法兩大類.基于機器學習的方法大都使用手工構(gòu)造的特征,利用機器學習模型作為分類函數(shù).Trstenjak 等[10]使用詞頻-逆文檔頻率作為文本特征,使用最近鄰方法(KNN)方法作為分類函數(shù).但是詞頻-逆文檔頻率是一種表層特征,它無法揭示單詞的潛在聯(lián)系.為了捕捉文檔中單詞間的潛在語義結(jié)構(gòu)信息,Shima等[11]使用潛在語義索引方法(LSI)來提取文本的低維向量特征,并使用支持向量機(SVM)來指導提取過程.基于深度學習的文本分類模型大多借助神經(jīng)網(wǎng)絡強大的特征提取能力自動地學習文本特征并進行分類.Kim等[4]使用CNN提取文本局部語義特征,Liu等[5]使用LSTM對文本進行建模.Zhou等[12]結(jié)合LSTM和CNN中最大池化操作(Max Pooling)的優(yōu)勢,提出BLSTM-2DCNN.這些神經(jīng)網(wǎng)絡擅長于捕捉連續(xù)局部文本片段的語義信息,但是無法較好地對單詞全局關(guān)系和長距離語義信息建模[6].不同于上述神經(jīng)網(wǎng)絡,本文提出的方法借助于圖卷積網(wǎng)絡對單詞的全局信息進行建模和特征提取.
傳統(tǒng)神經(jīng)網(wǎng)絡模型在處理歐幾里得結(jié)構(gòu)數(shù)據(jù)時展現(xiàn)出出色的特征提取能力,但是這類模型無法應用到非歐幾里得結(jié)構(gòu)的數(shù)據(jù)上,如化學分子[13]、引用網(wǎng)絡等.處理非歐幾里得結(jié)構(gòu)數(shù)據(jù)的難點在于數(shù)據(jù)的不規(guī)則性.譬如,一個不規(guī)則網(wǎng)絡中的節(jié)點沒有先后順序,每個節(jié)點的鄰居個數(shù)也不盡相同,這些問題導致模型無法在網(wǎng)絡上運行傳統(tǒng)的卷積操作.為了將深度學習應用到非歐幾里得結(jié)構(gòu)數(shù)據(jù)上,許多研究人員開始探索圖神經(jīng)網(wǎng)絡模型[14,15].Niepert等[13]從將不規(guī)則圖結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)化為規(guī)則結(jié)構(gòu)數(shù)據(jù)的角度,提出針對任意圖結(jié)構(gòu)的圖規(guī)范化框架,該模型在多個化學化合物分類數(shù)據(jù)集上取得了當時最好效果.Yu等[16]提出時空圖卷積模型(STGCN)來解決交通領(lǐng)域的時間序列預測問題.Yao等[8]將文本和單詞當作節(jié)點組織到同一張網(wǎng)絡中,并使用圖卷積網(wǎng)絡提取節(jié)點特征進行分類.相比于傳統(tǒng)的神經(jīng)網(wǎng)絡,圖神經(jīng)網(wǎng)絡具有處理復雜網(wǎng)絡結(jié)構(gòu)、捕捉全局語義特征等優(yōu)點,因而受到越來越多的關(guān)注.不同于上述將圖卷積網(wǎng)絡應用到文本分類任務中的工作,我們希望設計一種松耦合的、使用靈活的圖卷積文本分類模型.
本小節(jié)中,我們先介紹圖卷積網(wǎng)絡模型的基本內(nèi)容,然后展示松耦合圖卷積文本分類網(wǎng)絡的設計思路和構(gòu)圖步驟,最后我們介紹分類模型的整體框架和運行細節(jié).
給定文本語料庫的標簽集合L={l1,l2,…,lL},詞表集合V={v1,v2,…,vV},文本集合X={D1,D2,…,DN},單標簽文本分類的任務就是給文本集合中的每篇文本Di={wi1,wi2,…}分配一個最有可能的標簽yi,其中文本的單詞wij∈V,預測標簽yi∈L.
卷積神經(jīng)網(wǎng)絡適用于處理歐幾里得結(jié)構(gòu)(Euclidean Structure)的數(shù)據(jù),如形狀規(guī)則的圖片,因此卷積神經(jīng)網(wǎng)絡在計算機視覺領(lǐng)域取得了較大成功.對于非歐幾里得結(jié)構(gòu)數(shù)據(jù),如圖結(jié)構(gòu)數(shù)據(jù),傳統(tǒng)的卷積神經(jīng)網(wǎng)絡難以使用卷積操作提取特征.為了處理非歐幾里得數(shù)據(jù),研究人員提出圖卷積神經(jīng)網(wǎng)絡模型(GCN).GCN的出發(fā)點是利用圖中其他節(jié)點的狀態(tài)來更新自身狀態(tài),從而學習到圖中節(jié)點的關(guān)系.假設給定輸入數(shù)據(jù)X,圖G的鄰接矩陣A,圖卷積模型通過公式進行卷積操作,更新節(jié)點特征向量
(1)
在先前的研究中,Yao等[8]將文本和單詞作為節(jié)點組織到同一張網(wǎng)絡中,然后對該網(wǎng)絡進行圖卷積操作,從而得到訓練文本、測試文本和單詞的特征表示.這是一種緊耦合的處理方式,該方式使得模型不夠靈活.在本小節(jié)中,我們提出一種松耦合的圖卷積文本分類網(wǎng)絡LCGCN.
松耦合模型的出發(fā)點是將分類模型的核心特征提取部分和一般計算部分分解開來,實現(xiàn)高內(nèi)聚、低耦合的特性.單詞是文本的基本構(gòu)成要素,單詞的語義直接影響了文本的含義.我們認為單詞的特征提取是松耦合圖卷積網(wǎng)絡的核心部分,因此語料庫中的單詞被組織到核心網(wǎng)絡中進行學習.在實際生活中單詞通常會和特定的標簽相關(guān)聯(lián).譬如,當我們討論“足球”這個詞匯時,我們更容易聯(lián)想到“運動”這個標簽,而不會想到“金融”.從這個例子,我們可以發(fā)現(xiàn)單詞的含義與標簽有著直接的聯(lián)系.因此,標簽也被作為節(jié)點整合到核心網(wǎng)絡中,與單詞一起進行特征提取.另一方面,文本是由一組單詞序列構(gòu)成,文本的語義表示可以通過單詞的語義表示計算得到.因而,文本的語義計算屬于一般計算部分,文本與單詞的關(guān)系被組織成另外一張網(wǎng)絡.
圖1 松耦合圖卷積文本分類網(wǎng)絡Fig.1 Loosely coupled graph convolutional neural network
按照上述分析,松耦合圖卷積文本分類模型將語料庫組織成兩張網(wǎng)絡:文本-單詞網(wǎng)絡Md∈Rn×V和核心網(wǎng)絡Mc∈R(V+L)×(V+L).如圖1所示,核心網(wǎng)絡包含單詞和標簽兩類節(jié)點,單詞與單詞節(jié)點之間邊的權(quán)重反映單詞與單詞之間的共現(xiàn)關(guān)系,標簽與單詞節(jié)點之間邊的權(quán)重體現(xiàn)標簽與單詞之間的語義相關(guān)關(guān)系.在實際建模中,單詞與單詞之間的權(quán)重使用兩個單詞之間的點互信息(PMI)來計算,該指標反映了兩個單詞之間的相關(guān)關(guān)系.點互信息值越大,說明兩個單詞語義上越相關(guān),反之,兩個單詞的相關(guān)性越小.標簽與單詞之間邊的權(quán)重使用公式(2)計算:
(2)
其中p(j|i)表示單詞j在給定標簽i的文本中出現(xiàn)的頻率,p(j)表示單詞j在整個語料庫中出現(xiàn)的頻率.當單詞在某個標簽的文本中出現(xiàn)的頻率越大,在整個語料庫中出現(xiàn)的頻率越小,說明單詞與該標簽的相關(guān)程度就越高.文本-單詞網(wǎng)絡中文本與單詞之間邊的權(quán)重使用單詞的TF-IDF值來表示.
如圖1所示,松耦合圖卷積模型先在核心網(wǎng)絡Mc上使用公式進行圖卷積操作以提取單詞特征向量EV∈RV×d和標簽特征向量EL∈RL×d.接著,模型使用文本-單詞矩陣Md和單詞特征向量EV相乘得到文本的向量表示ED∈Rn×d.通過上述兩個連續(xù)步驟,該方法將提取單詞特征向量和構(gòu)建文本向量表示的過程分解開來.在實際運行時,只有核心網(wǎng)絡會參與到圖卷積運算中,文本-單詞網(wǎng)絡在后續(xù)步驟中用來計算文本向量.因此,模型的內(nèi)存消耗大部分來自于核心網(wǎng)絡的卷積計算,它不會隨著文本數(shù)量增多而變大.另一方面,當出現(xiàn)新的測試樣本時,模型只需要構(gòu)建新測試文本的文本-單詞網(wǎng)絡并計算文本向量表示,然后將計算得到的文本向量輸入到分類器中進行分類.通過上述方法,模型能夠根據(jù)實際應用需求,便捷地處理新來測試樣本.
圖2展示了分類模型的整體框架,該框架分為核心網(wǎng)絡特征提取、分類和匹配3個子模塊.
圖2 模型整體框架Fig.2 Frameword of the model
(3)
(4)
(5)
(6)
為了驗證模型有效性,我們在5個開源數(shù)據(jù)集上做了文本分類實驗,包括 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.實驗數(shù)據(jù)集的劃分和處理方式參考Yao等[8]的實驗設置,數(shù)據(jù)集詳細信息表1所示.
表1 文本分類數(shù)據(jù)集統(tǒng)計信息Table 1 Details of text classification datasets
實驗中,我們選取了基于CNN、RNN和GCN 3類神經(jīng)網(wǎng)絡的方法作為對比實驗,相關(guān)方法介紹如下:
·CNN Kim等[4]提出使用CNN對文本中單詞的向量矩陣進行卷積操作從而提取文本向量并進行分類;
·LSTM Liu等[5]使用LSTM網(wǎng)絡對文本序列信息建模,并使用網(wǎng)絡的最后一個隱層狀態(tài)作為文本的特征表示進行分類;
·Text-GCN Yao等[8]使用緊耦合的方式將語料庫中的訓練文本、測試文本和單詞組織到同一張網(wǎng)絡中,然后使用圖卷積神經(jīng)網(wǎng)絡提取節(jié)點特征并對測試文本節(jié)點分類,該模型取得了當前最好效果;
·Text-level 該模型由Huang等[18]提出,用以解決Text-GCN消耗內(nèi)存過大等問題.模型對單篇文本進行構(gòu)圖,然后使用圖卷積網(wǎng)絡學習文本特征并進行分類.
表2展示了各模型在實驗數(shù)據(jù)集上的分類準確率,帶星號部分表示模型使用預訓練詞向量作為初始化詞向量,各對比模型的實驗結(jié)果來源于文獻[8,18].
從表2中我們可以發(fā)現(xiàn),相比于CNN、LSTM等傳統(tǒng)神經(jīng)網(wǎng)絡模型,基于圖卷積網(wǎng)絡的分類模型都表現(xiàn)出良好的分類性能.譬如,在Ohsumed數(shù)據(jù)集上,基于圖卷積網(wǎng)絡的模型有大約10個百分點的提升.這些結(jié)果說明GCN網(wǎng)絡能夠給文本分類任務帶來有效提升.這可能是因為GCN模型能夠?qū)卧~的全局共現(xiàn)關(guān)系進行建模,通過圖卷積操作后,模型能夠為每個節(jié)點學習到準確的向量表示.我們還注意到,在使用預訓練詞向量的情況下,LCGCN模型比Text-GCN模型平均提升了約1個百分點.提升主要來自兩部分:1)模型在核心網(wǎng)絡和匹配模塊中引入了標簽信息,使得整個模型具備更強的表達能力;2)模型采用拼接多層特征的方法緩解圖卷積網(wǎng)絡的過度平滑問題.我們還注意到在Ohsumed數(shù)據(jù)集上,LCGCN模型的分類結(jié)果比Text-level模型略差,但是依然排在第2位.這可能是因為Ohsumed數(shù)據(jù)集單詞詞表相對較大而訓練數(shù)據(jù)相對較少,這導致LCGCN模型的泛化性能受限.
表2 模型分類準確率Table 2 Test accuracy of models
圖3展示了Text-GCN和LCGCN模型中網(wǎng)絡節(jié)點的個數(shù).從圖中可以看出,LCGCN模型的網(wǎng)絡尺寸明顯小于Text-GCN模型的網(wǎng)絡尺寸,且當語料庫中文本數(shù)目越多時,網(wǎng)絡尺寸減小越明顯.Text-GCN將語料庫中的訓練文本、測試文本和單詞都當作圖中的節(jié)點進行構(gòu)圖,網(wǎng)絡尺寸會隨著文本數(shù)量和單詞詞表大小而變化.LCGCN通過松耦合方式將語料庫組織成兩張網(wǎng)絡,其中核心網(wǎng)絡的尺寸只與單詞詞表大小和標簽個數(shù)有關(guān).因此,LCGCN模型中網(wǎng)絡的尺寸能夠控制在合適的范圍內(nèi),從而避免消耗過多內(nèi)存.
圖3 網(wǎng)絡尺寸對比Fig.3 Comparison of network size
松耦合圖卷積網(wǎng)絡將特征提取步驟分解成核心特征提取和一般計算兩個步驟,從而使得模型具備高內(nèi)聚、低耦合的特性.該特性使得模型具備良好的移植拓展能力.為了展示松耦合圖卷積模型的靈活性,本實驗將LCGCN網(wǎng)絡移植到LSTM模型上.具體地說,我們將LCGCN模型的核心特征提取模塊插入到LSTM模型之前.每步迭代時,LCGCN網(wǎng)絡將提取得到的單詞向量作為LSTM模型中單詞的初始向量,然后使用LSTM網(wǎng)絡對文本序列進行建模分類.
表3 LSTM性能對比Table 3 Comparison of LSTM
表3展示了各模型在3個數(shù)據(jù)集上的分類準確率.從表中可以發(fā)現(xiàn),加入LCGCN模塊的LSTM模型能夠在模型原有基礎上提升文本分類性能.譬如,在R52數(shù)據(jù)集上,我們模型的分類準確率比LSTM模型高8個百分點,比使用預訓練詞向量初始化的LSTM方法高3個百分點.這說明LCGCN網(wǎng)絡學習得到的單詞向量表示較好地捕捉了單詞的語義信息.該實驗顯示,LCGCN模型只需要通過簡單的修改便可以與傳統(tǒng)神經(jīng)網(wǎng)絡相結(jié)合,并且能夠在原始模型的基礎上帶來性能提升.
本文提出了一種松耦合圖卷積文本分類網(wǎng)絡模型.該模型能夠在保持分類性能的基礎上,極大地減少原始圖卷積網(wǎng)絡的內(nèi)存開銷.另一方面,由于松耦合的特性,該模型能夠根據(jù)實際需求動態(tài)地處理新來樣本.此外,該模型還具備良好的移植能力,它能夠與其他神經(jīng)網(wǎng)絡相結(jié)合提升原始模型的效果.在接下來的工作中,我們希望將圖卷積神經(jīng)網(wǎng)絡應用到多標簽分類任務中.