馬明旭 蘇凡軍 佟國香
(上海理工大學光電信息與計算機工程學院 上海 200093)
文本分類是自然語言處理中的一個經典問題,目的是為句子、段落或文檔等文本單位分配標簽或標記,已被應用于許多現實場景,例如垃圾郵件檢測、情感分析和新聞分類等。
基于規則和傳統機器學習的文本分類算法,離不開繁瑣的人工分析和特征工程,特殊領域的文本分類需要強大的專業知識,限制了龐大訓練數據的使用,時間長且代價昂貴[1]。
隨著深度學習的發展,神經網絡在文本分類任務中廣泛應用,提出了許多基于卷積神經網絡(Convolutional Neural Network,CNN)或循環神經網絡(Recurrent Neural Network,RNN)的方法[2~5],但是許多方法很大程度上忽略了遠距離和非連續語義在內的信息[6]。
最近幾年,圖神經網絡(Graph Neural Network,GNN)[7~9]成為研究熱點,緩解了上述方法的局限性,研究者們提出了許多算法[10~14]。Yao[10]在GCN[7]的基礎上提出了Text-GCN,首先將語料庫轉化為含有文本和單詞的大型異構圖,預先定義節點之間的關系,利用GCN 聚合節點的鄰域單詞特征更新文本和單詞表示,將文本分類任務轉換為空間中的節點分類任務。Rahul[11]分解Text-GCN 文本和單詞的嵌入操作,根據網絡層不同類型的輸入輸出,提出了分別編碼文本和單詞特征的同構層和異構層,并融合不同層的輸出提出了用于文本分類的Hete-GCN 模型。Xin[12]將標簽轉換為節點加入異構圖,利用GCN 將標簽信息融入文本特征,促進模型學習更準確的文本嵌入。Huang[13]考慮為每個文本構造文本圖,共享語料庫中的單詞表示和單詞關系,提出了將節點和鄰域特征加權求和更新節點表示的消息傳遞機制。Zhao[14]通過Bi-LSTM 建模單詞特征,并利用GCN 從預先定義的句法依存樹中提取句法和單詞依賴信息,獲取文本表示。但是構建文本-單詞異構圖的方法[10~12]忽略了文本和單詞的細粒度交互[15],并且預先定義節點間的關系忽略了單詞之間的細粒度交互問題,即忽略了噪聲信息[16]和鄰域節點的貢獻程度[9]。
為了解決上述問題,本文提出了一個改進的門控圖神經網絡算法。門控圖神經網絡(Gated Graph Neural Network,GGNN)[8]是一種基于門控循環單元(Gated Recurrent Unit,GRU)[17]的圖神經網絡,在門控機制的作用下,更好地融合節點特征和鄰域特征更新節點表示,可以提取文本內遠距離和非連續的語義信息。Zhang[14]考慮文本-單詞的細粒度交互,預先定義每個文本的圖數據,并利用門控圖神經網絡聚合單詞節點鄰域信息更新單詞表示,最后融合所有單詞特征得到文本表示并進行分類。GGNN 用于文本分類方面的文獻較少,目前這個方面的研究仍處于進展中。
本文提出了一種融合注意力機制的門控圖神經網絡文本分類算法(GGNN-AM)。算法分為三部分:數據處理層、文本嵌入層和分類層。數據處理層處理文本得到初始圖數據,文本嵌入層得到圖級別的文本表示,分類層提取文本特征并預測文本類別。
所提算法主要的創新如下:
1)針對單詞-單詞的交互關系,考慮到單詞鄰域的噪聲信息[15]和每個鄰域節點的貢獻程度[9],在文本嵌入層引入注意力機制[18],在聚合鄰域信息時為鄰域節點動態分配重要性系數,使網絡能夠自動識別并提取重要特征,過濾噪聲信息。
2)為了增強文本-單詞的細粒度交互,在分類層將卷積核作為特征編碼器,對每個單詞和多個單詞組合的局部信息編碼,提取重要特征和一般特征表示文本,增強文本表示的表征能力。
在三個英文開放數據集上與多個文本分類算法相比,GGNN-AM算法取得了更好的分類結果。
GGNN-AM 算法分為三部分:數據處理層、文本嵌入層和分類層。
數據處理層處理文本并得到初始圖數據。文本為T={w1,w2,…,wn},其中wi?T為單詞,n為文本T的長度。構造文本T的初始圖數據G={V,E},其中單詞節點集V={h1,h2,…,hm},hi?Rd為第i個單詞節點的初始表示,d為單詞表示的嵌入維度,m≤n表示文本T中唯一單詞的個數,E為邊集。參考文獻[9]的工作,邊集E通過一個大小為z的滑動窗口和點互信息(Point-wise Mutual Information,PMI)確定。不同的是,PMI值僅用于判斷單詞之間是否存在邊,忽略PMI值很小的邊,并將其余邊的權值初始化為1,后續通過注意力機制自動分配。滑動窗口中單詞hi和hk的邊定義為
其中,PMI 值大于0 表示單詞之間有較高的語義關聯,等于或小于0 表示很小或沒有語義關聯。對于單詞hi和hk的PMI值計算定義為
其中,#W(hi,hk)表示同時出現單詞hi和hk滑動窗口的個數,#W(hi)為出現單詞hi的窗口個數,#W為滑動窗口的總個數。
如圖1所示為利用大小為3的滑動窗口和點互信息構造的文本“the file is a verbal duel two gifted performers”的圖數據,其中,節點為單詞,邊上的權值表示PMI值,虛線表示過濾的邊。

圖1 文本圖數據示例
文本嵌入層處理文本圖數據,獲取圖級別的文本表示。本層使用注意力機制自動分配單詞之間的權重,使網絡自動識別并提取單詞節點的鄰域重要特征;通過門控機制融合節點特征和鄰域重要特征,更新單詞節點嵌入,獲取圖級別的文本表示。
2.2.1 注意力機制
注意力機制為單詞鄰域節點分配重要性分數,并據此加權聚合鄰域信息。如圖2 所示為單詞的鄰域,表示第i個單詞在t時刻的表示,即擁有t階鄰域信息的單詞特征,表示第i個單詞的初始表示。通過式(5)計算在t時刻對的注意力分數,并據此加權聚合鄰域重要信息,計算過程為

圖2 節點和鄰域
其中,Wa為參數矩陣,?R表示注意力分數,?Ni為的鄰域節點,C(·)為點積操作,為利用注意力機制聚合的鄰域重要信息,f(·)為Re-LU激活函數。
2.2.2 特征融合
參考文獻[8]的工作,利用門控循環單元融合節點和鄰域特征。如圖3 所示為門控循環單元,其中rt為重置門,用于控制信息遺忘的程度;zt為更新門,控制信息保留的程度;為t時刻的鄰域信息為記憶信息,為融合t+1 階鄰域信息的單詞節點特征。對于單詞節點的處理過程為

圖3 門控循環單元
其中,σ(·)是sigmoid 函數,W,U和b是可訓練的權值和偏差。特征融合后,得到融合鄰域信息的圖級別文本表示
分類層將卷積核作為特征編碼器,編碼圖級別文本嵌入,提取重要特征和平均特征表征文本,預測文本類別。首先,利用多尺寸卷積核分別對單個單詞和多個單詞的局部信息編碼,得到特征。對于大小為s的卷積核,計算過程為
其中,W?Rs×hd是卷積核,s?Ns為卷積核的尺寸,hd為圖級別文本嵌入的維度,Hi:i+s-1表示單詞i到i+s-1 組成的特征矩陣,b為偏置項,f(·)為ReLU激活函數。經過s尺寸卷積核編碼后的特征為
考慮到Cs中重要特征和所有特征的作用,利用池化層提取重要特征和平均特征。拼接所有卷積核得到的特征得到最終文本表示,并利用softmax預測文本類別,計算過程為
其中,s,S1,Sn?Ns為卷積核的尺寸,⊕為拼接操作,WF和bF是可訓練的參數,F是最終文本表示,ypred是模型預測的文本類別。目標函數使用交叉熵損失函數,并加入L2 正則化防止過擬合,目標函數為
其中,第一部分為交叉熵損失函數,ytrue為真實的文本類別,第二部分為正則化項,λ為系數。
數據集采用公開的MR、R8 和Ohsumed 英文數據集,對三個數據集處理并進行統計,得到數據集的統計信息,如表1。

表1 數據集的統計信息
MR:電影評論的情感數據集,每個評論只有一個句子,分類涉及正負兩類,共10662個文本。
R8:Reuters-21578 新聞數據集的子集,共7674個文本,涉及8個類別的分類。
Ohsumed:醫藥信息數據集,共7400 個文本,分類涉及23個類別。
實驗采用glove[19]詞向量glove.6B.200d 表示初始單詞特征,維度為200,未登錄詞(Out Of Vocabulary,OOV)使用在[-0.01,0.01]范圍內隨機生成的向量表示。數據集按9∶1 分為訓練集和驗證集,學習率設置為0.001,正則化系數設置為0.0001,Dropout 參數為0.5,采用Adam[20]優化網絡,其余參數根據數據集而定。實驗選用分類評價性能指標Accuracy描述算法的性能,公式為
其中,PTrue為預測正確的樣本數,Psamples為總樣本數。
如表2 所示為GGNN-AM 與各算法在三個英文數據集上的分類準確度結果。Text-CNN[2]在卷積核的作用下更關注文本的局部特征,對比Text-GCN[9],前者在MR 短文本數據集上利用卷積核捕捉到了對分類重要的特征,并且可以獲取局部單詞的序列語義信息,提升了模型的分類準確率,但是在Ohsumed 和R8 長文本數據集上不如Text-GCN 預測準確,是因為CNN 對不連續詞及長距離依賴關系的信息的提取存在限制[8]。Text-GCN 在MR 數據上表現不好,是因為MR 文本較短,圖中邊的數量較少,限制了信息在圖中的傳遞,并且忽略了文本與單詞的細粒度交互問題。Label-text[12]將標簽信息融入了圖數據,促進了模型學習對分類更重要的特征信息,增強了文本分類的能力,在R8 和Ohsumed 數據上均有提升。SC-DGCN[14]通過Bi-LSTM 提取文本的序列特征,并利用GCN 結合從預先定義的句子依存結構中提取句法信息,在MR 數據上提升較大。Huang[13]為每個文本建立圖數據,模型更加關注單個文本圖內信息的交互,在R8和Ohsumed數據上均有提升。

表2 實驗結果
從表中可以看出,GGNN-AM 算法在MR、R8和Ohsumed 數據上取得了最好的結果。這是因為GGNN-AM 在注意力機制的作用下,關注不同狀態下單詞之間的交互關系,學習并提取到了鄰域的重要信息,得到更準確、更相關的非連續語義特征。結合多尺寸卷積層的作用,突出了對分類有重要作用的重要單詞和局部特征,得到更準確的文本表示,增強了文本-單詞的細粒度交互,提升了分類的準確度。
本小節實驗結果均為模型運行3 次后取平均值。
1)注意力機制對預測結果的影響
去除GGNN-AM 中的注意力機制得到GGNN-NOAM,并使用PMI 值預先定義文本圖數據。分別在MR 和R8 數據上進行實驗,結果如表3所示。含有注意力機制的模型在兩個數據集上取得了更好的結果,證明了在注意力機制的作用下,模型識別并提取了單詞鄰域的重要信息,從而提升了模型預測的準確度。

表3 對比實驗
2)滑動窗口大小對實驗結果的影響
如圖4 所示,隨著滑動窗口增大,模型預測準確率上升。由于滑動窗口的增大增加了單詞的鄰域范圍,增加了邊的數量,信息在圖中的流動更加廣泛,提升了實驗結果的準確度。但是增大到5時,MR和R8的實驗結果均出現了下降。推測是因為隨著滑動窗口的增大,長距離單詞之間關系較小,單詞特征引入了無關信息,造成了結果的下降。

圖4 不同窗口大小下的實驗準確度
3)文本嵌入層數對實驗結果的影響
如圖5 所示,隨著文本嵌入層的層數增加,模型預測準確度逐漸上升,MR和R8數據的預測結果分別在3層和2層時取得最好結果。但隨著層數的上升,準確度下降,推測是因為單詞節點通過網絡獲取到圖數據中高階長遠距離的無關信息,降低了單詞的表示質量,對實驗結果造成了影響。

圖5 不同時間步下的實驗準確度
本文提出了一種融合注意力機制的門控圖神經網絡文本分類算法GGNN-AM。構造每個文本圖數據,將注意力機制與門控圖神經網絡融合,動態的分配單詞之間權重,注重單詞之間的細粒度交互,讓模型自動識別并提取出鄰域的重要信息。最后使用多尺寸卷積核對單詞和局部特征編碼,提取出重要的特征信息,增強文本與單詞的細粒度交互,得到更準確的分類結果。在3 個數據集上的實驗結果證明了GGNN-AM的有效性。