GCN在文本分類中的應用

「什麼是圖卷積網絡?html

自2012年以來,深度學習在計算機視覺和天然語言處理等領域取得了巨大的成功,現已成爲人工智能領域最廣泛的方法。卷積神經網絡適合處理歐幾里得域(Euclidean domain)中的數據,例如圖像中像素的位置關係是很是明確的,所以能夠用固定大小的卷積模板(例如3x3的矩陣)逐行掃描來計算當前一層的輸出結果。算法

clipboard.png

卷積神經網絡處理流程
圖片來源http://xilinx.eetrend.com/d6-...網絡

在圖像領域中,像素間排列緊密,而且有明確的位置關係。然而在現實生活中,不少數據間沒有相似像素這樣的嚴格關聯,好比社交網絡中用戶之間的關係、化學結構中分子間的關係。dom

clipboard.png

唐朝詩人之間的關係
圖片來源http://www.sohu.com/a/1311156...機器學習

這些數據沒法經過像素矩陣直接描述,能夠經過圖譜(graph)的方式加以描述,例如,用戶可抽象爲頂點(V),用戶之間用線€相連,圖譜G=(E,V)就是以頂點和線爲基本數據組的拓撲結構。對於圖譜數據,每一個頂點的相鄰頂點數目是不肯定的,直接用卷積神經網絡處理圖譜數據會形成很大問題,所以有學者提出圖卷積網絡(Graph Convolutional Network,GCN)來處理具備拓撲結構的數據。ide

爲了實現圖譜(graph)上的卷積計算,咱們使用圖譜的鄰接矩陣(adjacency matrix)來表示節點間的關係,而且引入拉普拉斯算子來做爲卷積的基向量。具體推導過程能夠參考[1]。函數

圖卷積網絡是很是有效的圖譜處理模型,一般2層由隨機初始化獲得的圖卷積網絡即能有效提取圖譜頂點中的特徵表示。圖卷積網絡的每一層都按拓撲結構對圖譜進行處理:首先,每個頂點將自身的特徵信息通過變換後發送給鄰居;其次,各頂點將相鄰頂點傳遞的特徵信息彙集;最後,對頂點信息進行非線性變換,與卷積神經網絡中的激活層相似。圖卷積網絡的結構一般以下圖所示。性能

clipboard.png

圖片來源:www.jianshu.com/p/89fbed65c…學習

「圖卷積網絡在文本分類上的算法測試

Yao等人在[2]中提出的算法能夠簡單高效地經過圖卷積網絡處理文本分類。首先是根據訓練數據構建大型文本圖譜,以詞(word)和文檔(document)做爲頂點,創建詞與詞的邊(word-word edges)以及文檔與詞的邊(document-word edges)。而後根據前面定義的圖譜,創建鄰接矩陣A。

clipboard.png

圖片來源:參考論文[2]
A是nxn維方陣,n表示圖中全部頂點數目,即文檔與詞總數之和。A中每一個元素(i,j)表示頂點i與頂點j之間的權重,一般頂點之間越相關,元素的數值越大,若頂點之間沒有關聯,則該位置元素爲0。爲描述頂點間的關係,邊的定義採用如下4個規則:

1.鏈接文檔和詞的邊,用詞在文檔中的詞頻-逆向文本頻率(TF-IDF)做爲權重,該指標表示一個詞在某個文本中的重要性;

2.鏈接詞與詞的邊,用詞與詞的互信息(PMI)做爲權重,該指標表示詞之間的相關性,具體計算方式用固定長度的滑動窗對文檔進行掃描,統計同時出如今滑動窗內詞的頻率,並歸一化;

3.頂點與自身的關聯,即矩陣A對角線上的元素,記爲1;

4.其餘狀況,例如文檔與文檔之間的權重,記爲0。

clipboard.png

在定義好鄰接矩陣以後,根據[1]中介紹的算法,能夠很容易地推導出文本圖譜的拉普拉斯矩陣A'。

clipboard.png

用nxm維矩陣X表示輸入的文本信息,其中n與前文相同,表示圖譜頂點的個數,m表示特徵維度,即輸入是表示n個m維特徵。而後通過圖卷積網絡計算輸出值,第一層圖卷積的定義以下

clipboard.png

其中W0則是經過訓練獲得的模型參數。ρ是ReLU激活函數。圖卷積相鄰層的關係爲

clipboard.png

圖卷積網絡逐層對輸入數據進行「精煉」,再經過分類器對文本分類,

clipboard.png

其中Z就表示輸出的類別信息,softmax是機器學習中最經常使用的多類分類器。

在訓練時,用訓練數據集學習模型中的參數W0,W1,……,Wj,而後測試時,輸入須要分類的文本數據,經過圖卷積網絡,就能夠輸出文本的分類結果。

「圖卷積網絡的文本分類實驗

爲了測試圖卷積網絡(GCN)在文本分類中的效果,咱們找了一些項目中的中英文FAQ的語料來作分類,並與fasttext的分類結果對比。其中,fasttext是目前一種很是成熟的快速文本分類算法,也是項目中FAQ經常使用的算法之一。

在沒有預訓練模型的狀況下,GCN默認初始的詞向量和句向量爲0,訓練完成後,模型會自動生成每一個字和句子的向量。

能夠看出,在實際項目數據中,Fasttext模型能達到最高的準確率,大部分狀況下能達到0.9以上的準確率。通過壓縮後的Fasttext模型性能類似,較原始模型的差在-0.012~+0.003之間波動,text GCN的性能降低0.03左右。值得注意的是,GCN在作長文本分類的時候,表現會略優於fasttext,在對句子的處理上暫時還未超過fasttext。這多是因爲GCN生成圖譜時,使用的是單字,這樣會損失一些詞與詞之間的信息。
引用出處

[1] zhuanlan.zhihu.com/p/54505069

[2] Yao L, Mao C, Luo Y. Graph convolutional networks for text classification[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 7370-7377.

相關文章
相關標籤/搜索