GCN和GCN在文本分類中應用


1.GCN的概念

       傳統CNN卷積可以處理圖片等歐式結構的數據,卻很難處理社交網絡、信息網絡等非歐式結構的數據。一般圖片是由c個通道h行w列的矩陣組成的,結構非常規整。而社交網絡、信息網絡等是圖論中的圖(定點和邊建立起的拓撲圖)。

       傳統CNN卷積面對輸入數據維度必須是確定的,進而CNN卷積處理后得到的輸出數據的維度也是確定的。歐式結構數據中的每個點周邊結構都一樣,如一個像素點周圍一定有8個像素點,即每個節點的輸入維度和輸出維度都是固定的。而非歐式結構數據則不一定,如社交網絡中A和B是朋友,A有n個朋友,但B不一定有n個朋友,即每個節點的輸入維度和輸出維度都是不確定的。

       所以不能使用CNN來對社交網絡、信息網絡等數據進行處理,因為對A節點處理后得到輸出數據的維度和對B節點處理后得到輸出數據維度是不一樣的。為了得到社交網絡、信息網絡的空間特征所以我們使用GCN(Graph Convolutional Network)來處理。

2. GCN工作原理


圖1 一個GCN的實例(圖片來源網頁[3])
       同一般的卷積神經網絡不同,GCN輸入的數據是一個圖拓撲矩陣,這個拓撲矩陣一般是圖的鄰接矩陣。

2.1 概念定義

概念 定義
G 一個拓撲圖定義為G=(V,E) 其中V是節點集合,E是邊集合。
N N是圖中節點個數,即|V|
F 節點的特征數,不同學習任務F不同
X 網絡初始化矩陣, X是N行F列的矩陣
D 圖的度矩陣,Dij表示點i和點j是否存在連接
A 圖結構表征矩陣, A是N行N列的矩陣,A通常是G的鄰接矩陣
Hi GCN中每層輸出矩陣 Hi是一個N行F列矩陣
Wi GCN中每層權值矩陣 Wi是一個F行F列矩陣

2.2 GCN計算方式

       在GCN中,第1層又H0 = X,從i層到i+1層網絡計算其中一個簡單傳播規則,即傳播規則1:

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {{\bf{A}}{{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       其中激活函數σ一般為ReLu函數。盡然這個規則下GCN是一個簡單模型,但已經足夠強大,當然實際使用傳播規則是下面幾個:

       傳播規則2

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {{{\bf{D}}^{ - \frac{1}{2}}}{\bf{A}}{{\bf{D}}^{ - \frac{1}{2}}}{{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       傳播規則3

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {\left( {{\bf{I}} + {{\bf{D}}^{ - \frac{1}{2}}}{\bf{A}}{{\bf{D}}^{ - \frac{1}{2}}}} \right){{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       傳播規則4

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {{{\bf{D}}^{ - \frac{1}{2}}}\left( {{\bf{D}} - {\bf{A}}} \right){{\bf{D}}^{ - \frac{1}{2}}}{{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       傳播規則5

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {{{{\bf{\hat D}}}^{ - \frac{1}{2}}}{\bf{\hat A}}{{{\bf{\hat D}}}^{ - \frac{1}{2}}}{{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       其中\({\bf{\hat A}}{\rm{ = }}{\bf{A}}{\rm{ + }}{\rm I}\),I是一個N×N的單位矩陣。而\({\bf{\hat D}}\)\({\bf{\hat A}}\)
是一個對角線矩陣,其中${{\bf{\hat D}}{ii}} = \sum\limits_j {{{{\bf{\hat A}}}{ij}}} $。

       最后根據不同深度學習任務來定制相應的GCN網絡輸出。

3 GCN在文本分類中的應用

3.1 文本分類常用算法

       文本分類是自然語言處理比較常見的問題,常見的文本分類主要基於傳統的cnn、lstm以及最近幾年比較熱門的transform、bert等方法,傳統分類的模型主要處理排列整齊的矩陣特征,也就是很多論文中提到的Euclidean Structure,但是我們科學研究或者工業界的實際應用場景中,往往會遇到非Euclidean Structure的數據,如社交網絡、信息網絡,傳統的模型無法處理該類數據,提取特征進一步學習,因此GCN 應運而生,本文主要介紹GCN在文本分類中的應用。

3.2 GCN在文本分類中具體應用

       首先我們將我們的文本語料構建拓撲圖,改圖的節點由文檔和詞匯組成,即圖中節點數|v|=|doc|+|voc| 其中|doc|表示文檔數,|voc|表示詞匯總量,對於特征矩陣X,我們采用單位矩陣I表示,即每個節點的向量都是one-hot形式表示,下面我們將介紹如何定義鄰接矩陣A,其公式如所示,對於文檔節點和詞匯節點的權重,我們采用TF-IDF表示,對於詞匯節點之間的權重,我們采用互信息表示(PMI, point-wise mutual information),在實驗中,PMI表現好於兩個詞匯的共現詞匯數,其公式如所示:

\[{A_{ij}} = \left\{ \begin{array}{l} {\rm{PMI}}\left( {i,j} \right)\quad \quad \quad \quad i和j是詞語而且{\rm{PMI}}\left( {i,j} \right) > {\rm{0}} \\ {\rm{TF - IDF}}\left( {i,j} \right)\quad \;\;i是文檔j是詞語 \\ 1\quad \quad \quad \quad \quad \quad \quad \;\;\;i = j \\ 0\quad \quad \quad \quad \quad \quad \quad \;\;其他\\ \end{array} \right.\]

       其中#W(i)表示在固定滑動窗口下詞匯i出現的數量,#W(i, j)表示在固定滑動窗口下詞匯i,j同時出現的數量,當PMI(i, j)為正數表示詞匯i和詞匯j有較強的語義關聯性,當PMI(i, j)為負數的時候表示詞匯i,j語義關聯性較低,在構建完圖后,我們代入GCN中,構建兩層GCN,如下:

       我們采用經典的交叉熵來定義損失函數:

       其中YD表示帶標簽的文擋集合,Ydf 表示標注類別,Zdf為預測的類別。

       下面介紹GCN在多個公開數據集上的實驗結果,其中數據源為:

表1: Summary statistic of datasets

       GCN在文本分類上的實驗結果見表2。

表2: GCN在在文本分類上的實驗結果

       這種新穎的文本分類方法稱為文本圖卷積網絡(Text-GCN),巧妙地將文檔分類問題轉為圖節點分類問題。Text-GCN可以很好地捕捉文檔地全局單詞共現信息和利用好文檔有限地標簽。一個簡單的雙層Text-GCN已經取得良好地成果。

參考文獻

[1] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.
[2] Yao L, Mao C, Luo Y. Graph convolutional networks for text classification[J]. arXiv preprint arXiv:1809.05679, 2018.
[3] http://tkipf.github.io/graph-convolutional-networks/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM