華人博士發(fā)127頁長文:自然語言處理中圖神經網(wǎng)絡從入門到精通
圖是一種可用來描述和建模復雜系統(tǒng)的通用語言。
圖在NLP的世界里無處不在,比如用來描述句法信息的dependency tree和constituency tree,以及描述語義信息的AMR graph。
相比于簡單地把自然語言建模成詞袋(bag)或者序列(sequence),圖能捕捉到自然語言更豐富和細致的信息。
因此,對于許多NLP任務而言,圖是一種非常合理的表示方式。
例如,對于跨文本閱讀理解任務,如果能夠抽取出文本中的實體信息,并以圖的形式建立起它們之間各種聯(lián)系,將能有效幫助文本理解。
而圖神經網(wǎng)絡(GNN)恰恰最擅長處理和建模圖結構數(shù)據(jù)的。
GNN的原理
GNN的工作原理簡單概況就是,聚合節(jié)點的鄰居節(jié)點/邊的信息,來更新節(jié)點的向量表征。
近年來,深度學習已經成為NLP領域的主要技術手段。
在GNN被引入和廣泛應用之前,深度學習領域一直缺少一種神經網(wǎng)絡架構,能夠像CNN適合處理網(wǎng)格數(shù)據(jù)那樣,適合處理任意圖結構數(shù)據(jù)。
隨著GNN研究的持續(xù)火熱,越來越多的研究開始嘗試用GNN來解決各類NLP問題。
近期,來自京東硅谷研發(fā)中心的首席科學家吳凌飛博士和他的團隊就發(fā)表了第一篇詳細的關于GNNs for NLP的綜述。

論文:
https://arxiv.org/pdf/2106.06090.pdf
Github:https://github.com/graph4ai/graph4nlp/
本文從「NLP圖構建」、「NLP圖表示學習」、「基于GNN的Encoder-decoder模型」和「GNN在NLP任務中的應用」四個維度對現(xiàn)有研究進展作了詳細的回顧與解讀。
整篇綜述總共127頁,其中包含87頁正文,12種圖構建方法,12個應用場景涉及NLP各方各面。
除此之外,其中覆蓋了500篇頂級AI/ML/NLP的文章,并在最后對目前所面臨的挑戰(zhàn)與未來的研究方向作出了獨到的總結。

NLP圖構建、NLP圖表示學習、基于GNN的Encoder-decoder模型和GNN在NLP任務中的應用
不論是想要了解該方向的最新研究進展,概覽GNNs for NLP應用pipeline,抑或是對其中某個子模塊感興趣,本文都將讓你有所收獲。
作者所在團隊還為本文配備了graph4nlp library,已在github上發(fā)布,給想要動手實操的研究者們提供了非常好的機會。
GNN4NLP研究面臨的挑戰(zhàn)
盡管在各類NLP任務上,GNN已經大獲成功,但是GNN4NLP仍然是一個相對年輕且快速發(fā)展的研究領域,并面臨諸多挑戰(zhàn):
- 如何自動地把文本數(shù)據(jù)轉換成有效的圖結構數(shù)據(jù),并保留對下游任務有幫助的重要信息;
- 如何針對不同類型的圖結構數(shù)據(jù),開發(fā)出有效的GNN模型;
- 如何端到端地學習復雜類型數(shù)據(jù)之間的映射關系(例如Graph2Seq, Graph2Tree, Graph2Graph)。
自動化圖構建
不同類型的NLP任務往往需要不同層面的文本信息。例如,詞性、句法等信息對于命名實體識別任務比較有幫助;而對于閱讀理解任務而言,實體關系等語義信息會很有幫助。
另一方面,不同類型的圖通常包含不同類型的信息。所以,如何選擇合適的圖構建方式對于GNN在下游任務的表現(xiàn)至關重要。
本文將目前已知的所有圖構建方式分為兩類:靜態(tài)構圖方式和動態(tài)構圖方式。

靜態(tài)圖構建
靜態(tài)圖構建有兩大特點:
- 引入先驗的領域知識來擴充文本信息;
- 在預處理階段完成。

dependency graph和constituency graph兩種靜態(tài)圖構建方式
本文從以往發(fā)表的文獻中,總結出10余種有代表性的靜態(tài)圖構建方式,并將其歸類為句法信息、語義信息、主題信息等多個維度。

動態(tài)圖構建
動態(tài)圖構建是近兩年來新興出現(xiàn)的一種自動構圖方式,其最大的特點是:
- 針對下游NLP任務,對圖結構和圖表征進行端到端聯(lián)合學習;
- 可以動態(tài)進行。
動態(tài)圖構建的常見流程:
- 圖相似度量學習模塊計算節(jié)點之間的相似關系,返回一個全連通加權圖;
- 圖稀疏化模塊對全連通圖進行稀疏化處理,得到稀疏圖;
- 如果已知初始的圖結構信息,那么也可以將初始的圖結構和學習到的隱圖結構結合起來,獲得更有效的圖結構信息。

同時,本文總結了各類目前已知有效的動態(tài)圖構建方式,并歸納出如下4個技術維度和相應的代表性技術。

圖表示學習
當從非結構化的文本中獲取到了想要的圖,又該如何進行圖表示學習?
不要慌,本文從幾百篇文獻中,系統(tǒng)性的總結了實際研究中碰到的圖的類型,以及怎么轉化,最終怎么用、用什么GNN進行編碼學習的流程。
首先,根據(jù)圖的節(jié)點和邊的屬性是否唯一,將圖歸類為:
- 具有單一節(jié)點和邊屬性的同構圖(homogeneous graph);
- 具有單一節(jié)點屬性,但邊屬性不唯一的關系圖(multi-relational graph);
- 節(jié)點屬性不唯一的異構圖(heterogeneous graph)。
其次,這些圖之間是存在互相轉化的可能的,因此本文總結了這些不同的圖可能存在的轉化模式,比如說如何從一個異構圖轉化成多關系圖等等。
這些轉化為圖神經網(wǎng)絡的應用提供了更多的可能與選擇。
最后,當搞清楚圖的結構和轉化后,該如何選擇合適的圖神經網(wǎng)絡進行學習?
本文總結了針對每一種圖目前已有的經典的圖神經網(wǎng)絡,讓使用起來不再感到無從下手!
- 對于同構圖,我們總結了一類成為homogeneous GNN的圖神經網(wǎng)絡類型。最常見的比如GCN,GAT等等。特別的,我們注意到很多GNN比如GCN是針對無向圖而實際中很多同構圖是有向的,因此我們針對有向圖和無向圖進行了詳盡的討論。
- 對于多關系圖,由于針對邊的屬性如何被應用,總結了不同的multi-relational GNN。最常見的有R-GCN, R-GGNN等等。值得一提的是,我們發(fā)現(xiàn)火爆全網(wǎng)的Transformer也被研究者用來學習多關系圖使用。我們將它視為一種特殊的多關系圖,進行了系統(tǒng)的分析。
- 對于異構圖,由于圖的節(jié)點和邊的屬性都不限,因此這方面的工作自由度很高,我們統(tǒng)稱為heterogeneous graph。常見的有基于元路徑的(meta-path based),關系神經網(wǎng)絡延伸的(R-GNN based)等等。

流程圖
編碼器-解碼器模型
Encoder-decoder架構可以說是近年來NLP領域中應用最為廣泛的框架之一。
但在不同任務場景中,如何因地制宜地設計encoder,decoder,也是極為重要的問題。
結合GNN對圖結構數(shù)據(jù)的強大建模能力,許多研究者開始關注如何在Encoder-decoder架構中用好GNN。
本文對這個方向的研究進展作了系統(tǒng)地梳理和回顧,并將相關文獻分為以下三個類別:
- Graph2Seq(圖到序列)
- Graph2Tree(圖到樹)
- Graph2Graph(圖到圖)

Graph2Seq&Graph2Tree示意圖
對于這三個角度,本文詳細介紹了Graph based encoder-decoder模型的發(fā)展脈絡。
其中不僅包括GNN的使用,也有各種各樣相關的decoding techniques。
同時,對于最近備受關注的基于graph transformer的生成模型,本文也對此進行了分析對比,并總結了一些現(xiàn)在面臨的關鍵挑戰(zhàn)。
NLP應用任務
那么,圖神經網(wǎng)絡究竟被用到哪兒了呢?
本文總結了來自12個不同的方向,26個任務共百余篇文獻,帶來最詳盡的實際應用解讀:
- 自然語言生成(NLG):1. 機器翻譯(Neural Machine Translation),2. 摘要生成(Summarization),3. 結構化數(shù)據(jù)到文本的生成(Structural-data to text),4. 文本問題生成(Neural Question Generation)
- 機器閱讀理解與問題回答(MRC and QA):1. 機器閱讀理解(Machine Reading Comprehension), 2. 基于知識庫的問題回答(Knowledge Base Question Answering),3. 開放領域的問題回答(Open-domain Question Answering),4. 基于社區(qū)的問題回答(Community Question Answering)
- 對話系統(tǒng)(Dialog Systems):1. 對話狀態(tài)跟蹤(Dialog State Tracking),2. 對話回應生成(Dialog Response Generation),3. 下一個話語選擇(Next Utterance Selection)
- 文本分類(Text Classification):1. 文本分類(Text Classification)
- 文本匹配(Text Matching):1. 文本匹配(Text Matching)
- 主題模型(Topic Modeling):1. 主題模型(Topic Modeling)
- 情感分類(Sentiment Classification):1. 情感分類(Sentiment Classification)
- 知識圖譜(Knowledge Graph):1. 知識圖譜補全(Knowledge Graph Completion),2. 知識圖譜對齊(Knowledge Graph Alignment)
- 知識抽取(Information Extraction):1. 命名實體識別(Named Entity Recognition),2. 關系抽?。≧elation Extraction),3. 聯(lián)合學習模型(Joint Learning Models)
- 句法解析和語義分析(Parsing):1.句法解析(syntactic parsing) 2. 語義分析(semantic parsing)
- 推理(Reasoning):1. 解決數(shù)學應用題(Math Word Problem Solving),2. 自然語言推理(Natural Language Inference),3. 常識推理(Commonsense Reasoning)
- 語義角色標注(Semantic Role Labelling):1. 語義角色標注(Semantic Role Labelling)
對于每一個任務,按照以下三點進行剖析:
- 該任務的研究背景(background)和使用圖神經網(wǎng)絡的動機(motivation);
- 使用圖神經網(wǎng)絡的方法(methodology);
- 該任務已有的數(shù)據(jù)集(benchmark)和評測指標(evaluation)。
針對最關心的方法部分,本文做了如下總結:
- 構圖技巧;
- 圖表示學習方法;
- 一些特殊方法的層次進行詳細的說明。

總結
團隊介紹
本文的作者是:
京東硅谷研發(fā)中心(JD.COM Silicon Valley Research Center)的首席科學家吳凌飛博士;西蒙弗雷澤大學的裴健教授;京東零售集團搜索和推薦平臺部副總裁龍波博士等研究者。
Graph4NLP 相關軟件包,綜述,講座和文獻:
Survey: http://arxiv.org/abs/2106.06090
Library: https://github.com/graph4ai/graph4nlp
Demo: https://github.com/graph4ai/graph4nlp_demo
Tutorials: Graph4NLP-NAACL'21(Slides: google drive, baidu netdisk(drs1))
Literature Review: https://github.com/graph4ai/graph4nlp_literature
論文地址:
https://arxiv.org/pdf/2106.06090.pdf