今天為大家解讀的是由京東硅谷研發中心首席科學家吳凌飛博士等研究者最新發表的GNN for NLP綜述,幾乎覆蓋了圍繞NLP任務的所有GNN相關技術,是迄今為止GNN for NLP領域最全面最新的綜述性文獻。
深度學習已經成為應對各種NLP任務的主導方法,盡管輸入文本通常被表示為序列化的tokens,但圖結構的形式往往可以對許多NLP問題進行更好的表達。因此,有必要針對NLP任務來開發新的圖上的深度學習技術。在這項綜述中,作者對用于NLP任務的GNNs進行了全面的概述,并提出了一個新的GNNs for NLP的分類體系,它沿著三個方面系統地組織了現有研究,包括:圖的構建、圖表示學習和基于圖的編碼器-解碼器模型。論文還進一步介紹了大量正在應用GNNs驅動NLP的應用,并總結了相應的基準數據集、評估指標和開源代碼。最后,論文討論了在NLP中充分利用GNNs的挑戰以及未來的研究方向。這是第一份針對自然語言處理任務的圖神經網絡的全面綜述。
1. 介紹
傳統的文本數據建模方式
傳統的NLP任務中,文本序列被認為是一個由tokens組成的袋子,如BoW(詞袋模型)和TF-IDF(詞頻-逆文檔頻率)。隨著詞嵌入技術的成功,句子通常被表示為一個由tokens組成的序列。一些流行的深度學習技術,如RNN和CNN被廣泛用于建模文本序列。
文本數據的圖結構表達
有大量的NLP問題可以用圖結構進行最佳表達。例如,文本序列中的句子結構信息(即句法解析樹)可以用于增強原始序列數據的表示。同樣,序列數據中的語義信息(即語義解析圖)也可以被利用來增強原始序列數據。因此,這些圖結構的數據可以編碼實體tokens之間復雜的成對關系,以學習更由信息量的表示。
基于GNN的NLP任務
圖上深度學習和NLP的交叉點上的研究浪潮影響了各種NLP任務。不同的GNNs變體在許多NLP任務中取得了相當大的成功,如分類任務:句子分類,語義角色標注,關系提取;生成任務:機器翻譯,問題生成和摘要生成等。
GNN應用于NLP的挑戰
將原始文本序列數據自動轉化為圖結構的數據。大多數NLP任務使用文本序列作為原始輸入,從文本序列中自動構建圖數據以利用底層結構信息是利用圖神經網絡處理NLP問題的關鍵步驟。
恰當的圖表示學習技術。需要使用專門設計的GNN來學習不同圖結構數據的獨特特征,如無向、有向、多關系和異質圖。
有效地建模復雜數據。因為許多NLP任務涉及學習基于圖的輸入和高度結構化的輸出數據之間的映射,如序列、樹,以及具有多種類型節點和邊的圖數據。
本文提出的分類體系
從三個維度來組織用于NLP任務的GNNs:圖的構建;圖表示學習;編碼器-解碼器模型;以及對應的NLP應用。
針對用于NLP任務的GNNs,提出了一個新的分類體系。沿著三個軸線系統地組織了現有的用于NLP的GNN的研究:圖的構建、圖表示學習和基于圖的編碼器-解碼器模型。
對各種NLP任務中最先進的GNNs技術進行了最全面的概述。對基于領域知識和語義空間的各種圖構建方法、各種圖結構數據的圖表示學習方法、基于GNNs的編碼器-解碼器模型提供了詳細的描述和比較。
總結了將GNNs充分用于NLP任務的各種突出挑戰,并對未來的研究方向進行了討論和建議。
2. 用于NLP任務的圖算法
這一章中,首先從圖的視角回顧了NLP問題,簡要介紹了NLP領域存在的多種多樣的圖結構以及不同層次的圖結構;然后,簡要介紹了一些傳統的用于解決NLP問題的圖算法,包括:Random walk,graph clustering,graph matching,label propagation 等;最后總結了傳統圖算法的局限性以及與最新GNN算法之間的聯系。
2.1 從圖視角看NLP
自然語言的表示方式反映了我們對自然語言的特殊看法,并對處理和理解自然語言的方式有根本性的影響。一般來說,有三種不同的表示自然語言的方式。
bag of tokens:最簡單的方式是將自然語言表示為一袋tokens,這種方式完全忽略了文本中tokens出現的具體位置,而只考慮其在文本中出現的次數。采取這種觀點的最具代表性的NLP技術是話題模型。
sequence of tokens:更自然的方式是將自然語言表示為一個tokens序列,這就是人類通常說和寫自然語言的方式。與上述詞袋方式相比,這種觀點能夠捕捉到更豐富的文本信息,例如,哪兩個tokens是連續的,以及一個詞對局部語境中共出現了多少次。采取這種觀點的最具代表性的NLP技術包括線性鏈CRF,它在預測中實現了順序依賴,以及word2vec,它通過預測目標單詞的上下文單詞來學習單詞嵌入。
represent natural language as a graph:第三種方式是將自然語言表現為圖。圖在NLP中是無處不在的。雖然將文本視為序列數據可能是最明顯的,但在NLP界,將文本表示為各種圖的做法由來已久。常見的文本或知識的圖表示包括依賴圖、成分圖、AMR圖、IE圖、詞匯網絡和知識圖譜。此外,還可以構建一個包含多個層次元素的文本圖,如文檔、段落、句子和單詞。與上述兩種觀點相比,這種自然語言的觀點能夠捕捉到文本元素之間更豐富的關系。許多傳統的基于圖的方法(如隨機游走、標簽傳播)已經成功地應用于具有挑戰性的NLP問題,包括詞義消歧、命名消歧、共指解決、情感分析和文本聚類。
2.2 用于NLP任務的圖方法
在本小節中,將介紹各種傳統的基于圖的算法,這些算法已經成功應用于NLP的應用。首先簡要說明一些有代表性的基于圖的算法和它們在NLP領域的應用。然后,進一步討論它們與GNN的聯系。
2.2.1 隨機游走算法(RANDOM WALK ALGORITHMS )
隨機游走
是一類基于圖的算法,在圖中產生隨機路徑。可以從圖中的任何一個節點開始,根據一定的轉移概率反復選擇在每個時間訪問一個隨機的鄰近節點。然后,隨機游走中所有被訪問的節點就形成了一條隨機路徑。在隨機游走收斂后,人們可以得到一個圖中所有節點的靜態分布,該分布可以用來通過對概率得分進行排名,選擇圖中結構重要性高的最突出的節點,或者通過計算兩個隨機游走分布的相似性來衡量兩個圖的關聯性。
應用
隨機游走算法已被應用于各種NLP任務中,包括文本的語義相似性度量和語義網絡上的語義距離、詞義消歧、名稱消歧、查詢擴展、關鍵詞提取、名稱消歧、擴展查詢、關鍵詞提取,以及跨語言信息檢索等。
2.2.2 圖聚類算法(GRAPH CLUSTERING ALGORITHMS )
圖聚類算法
常見的圖聚類算法包括譜聚類、隨機游走聚類和min-cut聚類。譜聚類算法利用圖的拉普拉斯矩陣的頻譜(特征值),在使用K-means等現有算法進行聚類前進行降維。隨機漫步聚類算法通過在圖上進行t步隨機漫步來操作,因此,每個節點被表示為一個概率向量,表示圖中所有其它節點的t步生成概率。基于圖聚類的目的,小的t值是更可取的,因為想捕捉局部結構信息而不是全局結構信息。min-cut算法也可用于將圖劃分為多個簇。
應用
圖聚類算法已被成功應用于解決文本聚類任務。例如,Erkan提出使用從有向生成圖(包含n個文檔節點)上的t步隨機游走得出的n-dim概率分布作為語料庫中每個文檔的向量表示。然后,圖聚類算法作用于文檔表示,以生成文檔簇。
2.2.3 圖匹配算法(GRAPH MATCHING ALGORITHMS)
圖匹配算法
圖匹配算法的目的是計算兩個圖之間的相似度。Graph Edit Distance 是最常用的測量兩個圖的不相似性的方法。它將距離計算為將一個圖轉化為另一個圖所需的變化(即添加、刪除、替換)的數量。
應用
圖匹配算法在文本推斷任務中有所應用,該任務旨在決定一個給定的句子是否可以從文本中推斷出來。
2.2.4 標簽傳播算法(LABEL PROPAGATION ALGORITHMS)
標簽傳播算法
標簽傳播算法(LPAs)是一類基于圖的半監督算法,它將標簽從有標簽的數據點傳播到之前沒有標簽的數據點。LPA是通過在圖上迭代傳播和聚集標簽來操作的。在每次迭代中,每個節點都會根據其鄰居節點擁有的標簽改變其標簽。因此,標簽信息會在圖中擴散。
應用
LPA在網絡科學文獻中被廣泛用于發現復雜網絡中的社區結構。在NLP的文獻中,LPA已經成功地應用于詞義消歧和情感分析。這些應用通常集中在標記數據稀少的半監督學習環境中,并利用LPA算法將標簽從有限的標記例子傳播到大量類似的未標記的例子,并假設類似的例子應該有類似的標簽。
2.2.5 局限性以及與GNN的聯系
局限性
首先,它們的表達能力有限,主要側重于捕捉圖的結構信息,但不考慮節點和邊特征,而這些特征對許多NLP的應用也非常重要。其次,對于傳統的基于圖的算法,沒有統一的學習框架。不同的基于圖的算法有非常不同的屬性和設置,并且只適用于一些特定的用例。
與GNN的聯系
傳統基于圖的算法的上述局限性要求建立一個統一的基于圖的學習框架,該框架對圖結構和節點/邊屬性的建模具有強大的表達能力。GNN作為一類特殊的神經網絡獲得了越來越多的關注,它可以為任意的圖結構數據建模。大多數GNN的變體可以被視為一個基于消息傳遞的學習框架。與傳統的基于消息傳遞的算法(如LPA)不同的是,GNN的操作方式是通過幾個神經層對節點/邊特征進行轉換、傳播和聚合,從而學習更好的圖表示。作為一個通用的基于圖的學習框架,GNNs可以應用于各種與圖相關的任務,如節點分類、鏈接預測和圖分類。
3. 圖神經網絡
在上一章中,已經說明了各種基于圖的傳統方法在不同的NLP任務中的應用。本章中,將闡述GNNs的基礎理論和方法,能夠直接在圖結構的數據上操作。并詳細介紹了圖濾波器(Spectral-based Graph Filters,Spatial-based Graph Filters,Attention-based Graph Filters,Recurrent-based Graph Filters)和圖池化方法(Flat Graph Pooling,Hierarchical Graph Pooling)。
3.1 Foundations
圖神經網絡本質上是圖表示學習模型,可以應用于節點級別的任務和圖級別的任務。圖神經網絡為圖中的每個節點學習嵌入,并將節點嵌入聚集起來產生圖的嵌入。一般來說,節點嵌入的學習過程利用了輸入的節點嵌入和圖結構,可以總結為:
即輸入鄰居節矩陣和 層的節點狀態,可以更新得到下一層的節點嵌入,不同的模型在于圖濾波器的選擇和參數。
池化操作來聚合節點嵌入,以生成圖級別的嵌入。在GNN模型中,圖池化將一個圖及其節點嵌入作為輸入,然后生成一個具有較少節點的較小的圖及其相應的新節點嵌入。圖池化操作可以總結為:
3.2 方法
3.2.1 圖濾波器
圖濾波器存在多種實現方式,大致可分為基于譜域的圖濾波器、基于空間域的圖濾波器、基于注意力的圖濾波器和基于遞歸的圖濾波器。從概念上講,基于譜域的圖濾波器是基于譜圖理論的,而基于空域的方法則是利用圖空間上的鄰居節點來計算節點嵌入。一些基于譜域的圖濾波器可以被轉換為基于空間的圖濾波。基于注意力的圖濾波器受到自注意力機制的啟發,對不同的鄰居節點分配不同的注意力權重。基于遞歸的圖濾波器引入了門控機制,模型參數在不同的GNN層之間共享。
3.2.2 圖池化
圖池化層用于以圖為重點的下游任務生成圖級表示,如基于學習到的節點嵌入進行圖分類和預測。圖級別的任務來說,需要整個圖的表示。為此,需要對節點嵌入信息和圖結構信息進行總結。圖池化層可以分為兩類:flat圖池化和分層圖池化。flat圖池化在單個步驟中直接從節點嵌入中生成圖級別表示。相比之下,分層圖池化包含幾個圖池化層。
4. 用于NLP任務的圖構建方法
上一章討論了給定圖輸入時,GNN的基本基礎和方法。不幸的是,對于大多數NLP任務來說,典型的輸入是文本序列而不是圖。為了利用GNN的力量,如何從文本序列中構建一個圖輸入成為一個艱難的步驟。在本章重點介紹兩種主要的圖構建方法,即靜態圖構建(Dependency Graph Construction,Constituency Graph Construction,AMR Graph Construction,Discourse Graph Construction,information extraction graph,Discourse Graph Construction,Knowledge Graph Construction,Knowledge Graph Construction,Similarity Graph Construction,Co-occurrence Graph Construction。Topic Graph Construction,App-driven Graph Construction)和動態圖構建,此外介紹了多種圖相似度度量準則,用于構建各種NLP任務中的圖結構輸入。
4.1 靜態圖構建
靜態圖構建方法的目的是在預處理期間構建圖結構,通常是利用現有的關系解析工具(如依存分析)或手動定義的規則。從概念上講,靜態圖包含了隱藏在原始文本序列中的不同領域/外部知識,它用豐富的結構化信息豐富了原始文本的內容。
4.1.1 靜態圖構建方法
依賴圖構建(Dependency Graph Construction)
依賴圖被廣泛用于捕捉給定句子中不同對象之間的依賴關系。從形式上看,給定一個段落,可以通過使用各種NLP解析工具(例如Stanford CoreNLP)獲得依存分析樹(例如句法依存樹或語義依存關系樹)。然后,從依存分析樹中提取依賴關系,并將其轉換為依賴性圖。由于給定段落有順序信息,而圖的節點是無序的,可以引入順序的 link,在圖結構中保留這種重要信息。有代表性的依存圖構建方法,給定輸入段和其提取的分析樹,包括三個關鍵步驟。1)構建依賴關系,2)構建順序關系,3)最終的圖轉換。
成分圖構建(Constituency Graph Construction)
成分圖是另一個廣泛使用的靜態圖,能夠捕捉一個或多個句子中基于短語的句法關系。與依存分析不同的是,依存分析只關注單個詞之間一對一的對應關系(即詞級),而構成分析則對一個或幾個對應詞的組合進行建模(即短語級)。首先解釋成分關系的基本概念,然后說明成分圖的構建過程。構成圖的例子如圖2所示。
在語言學中,成分關系是指遵循短語結構語法的關系,而不是依存關系和依存語法。一般來說,成分關系是由主語(名詞短語NP)— 謂語(動詞短語VP)關系衍生出來的。與依存關系解析樹不同的是,所有的節點都有相同的類型,成分分析樹區分了終端節點和非終端節點,非終端類別標記分析樹的內部節點,葉子節點標記為終端類別。節點集可以表示為:1)非終端節點集2) 終端節點集。構成關系集合與樹的邊相關。成分圖由非終端節點和終端節點組成,以及成分邊和序列邊。對于原文中相鄰的每個單詞節點對,在它們之間添加一條具有特定序列類型的無向邊,用來保留順序信息。
抽象語義表示圖構建(AMR Graph Construction)
AMR圖是有根、有標注、有向、無環的圖,它被廣泛用于表示非結構化的具體自然文本的抽象概念之間的高級語義關系。與句法上的特異性不同,AMR是高層次的語義抽象。更具體地說,在語義上相似的不同句子可能共享相同的AMR解析結果,例如,"保羅描述自己是一個戰士 "和 "保羅對自己的描述:一個戰士",如圖3所示。與之前介紹的依賴樹和成分樹類似,AMR圖是由AMR解析樹衍生出來的。
信息抽取圖構建(Information Extraction Graph Construction)
信息抽取圖(IE Graph)旨在提取結構信息來表示自然句子之間的高級信息,例如基于文本的文檔。這些提取出來的關系,捕捉到遠距離句子之間的關系,在許多NLP任務中很有幫助。在下文中,為給定段落構建IE圖的過程分為三個基本步驟。1)指代消解,2)構建IE關系,3)圖的構建。
話語圖構建(Discourse Graph Construction)
當候選文檔太長時,許多NLP任務會受到長距離依賴性的挑戰。話語圖描述了兩個句子之間的邏輯聯系,可以有效地解決這種挑戰。
知識圖譜構建(Knowledge Graph Construction)
捕捉實體和關系的知識圖譜(KG)可以大大促進許多NLP應用中的學習和推理。KG可以表示為G(V, E),它通常由知識庫中的元素構建。形式上,定義三元組作為知識庫的基本元素,包括是源實體,目標實體和關系類型。然后,在知識庫中添加兩個節點,即源節點和目標節點,并從節點v1到節點v2添加一條邊類型為rel的有向邊。
構建KG的第一件事是獲取給定查詢中的術語實例。然后,通過一些匹配算法(如最大子串匹配)將術語實例與KG中的概念聯系起來。這些概念被看作是提取的子圖中的初始節點。下一步是獲取初始節點在KG中的1跳鄰居。此外,人們可以通過應用一些圖節點相關性模型,如個性化的PageRank(PPR)算法,來計算鄰居與初始節點的相關性。然后根據結果,進一步修剪出相關性分數低于置信度閾值的邊,并刪除孤立的鄰居。剩余的最終子圖隨后被用來給任何圖表示學習模塊提供信息。
共指圖構建(Coreference Graph Construction)
在語言學中,當某個段落中的兩個或多個術語指代同一個對象時,就會出現共指。許多工作表明,這種現象有助于更好地理解語料庫的復雜結構和邏輯,解決歧義。為了有效地利用共指信息,共指圖用來顯式的建模隱性共指關系。給定一組短語,共指圖可以連接文本語料庫中指代同一實體的節點(短語)。
相似圖構建(Similarity Graph Construction)
相似性圖旨在量化節點之間的相似性,在許多NLP任務中被廣泛使用。由于相似性圖通常是面向應用的,因此我們重點關注構建實體、句子和文檔等各種類型元素的相似性圖的基本程序,而忽略了具體的應用細節。相似性圖的構建是在預處理過程中進行的,而不是以端到端的方式與其余學習系統共同訓練。圖6中顯示了一個相似性圖的例子。
共現圖構建(Co-occurrence Graph Construction)
共現圖旨在捕捉文本中詞與詞之間的共現關系,這在許多NLP任務中被廣泛使用,共現關系描述了在固定大小的上下文窗口內共同出現的兩個詞的頻率,是捕捉語料庫中詞之間語義關系的一個重要特征。共現圖的例子見圖7。
話題圖構建(Topic Graph Construction)
話題圖是建立在幾個文檔上的,其目的是對不同話題之間的高層次語義關系進行建模。給定一組文檔,首先用一些話題建模算法,如LDA,學習潛在的話題。然后構建話題圖,只有當文檔具有該話題時,那么在文檔節點和話題節點之間構建一條無向邊。
應用驅動圖構建(App-driven Graph Construction)
應用驅動圖指的是為特定的NLP任務專門設計的圖。在一些NLP任務中,用特定應用的方法通過結構化的形成來表示非結構化的數據是很常見的。例如,SQL語言可以自然地通過SQL解析樹來表示。因此,它可以被轉換為SQL圖。由于這些圖在領域知識的基礎上過于專業化,所以沒有統一的模式來總結如何建立一個應用驅動的圖。圖9是這種應用驅動圖的一個例子,如SQL圖。
4.1.2 混合圖構建和討論
以前的大多數靜態圖構建方法只考慮節點之間的一種特定關系。盡管得到的圖在某種程度上很好地捕捉了結構信息,但它們在利用不同類型的圖關系方面也是有限的。為了解決這一局限性,人們越來越關注通過將幾個圖組合在一起構建混合圖,以豐富圖中的語義信息。
4.2 動態圖構建
盡管靜態圖的構建具有將數據的先驗知識編碼到圖結構中的優勢,但它有幾個局限性:1)為了構建一個性能合理的圖的拓撲結構,需要大量的人力和領域知識;2)人工構建的圖結構可能容易出錯(例如,有噪音或不完整);3)由于圖構建階段和圖表示學習階段是不相干的,在圖構建階段引入的錯誤不能被糾正,可能會累積到后面的階段,這可能導致性能下降。4)圖的構建過程往往只由機器學習從業者的見解來決定,對于下游的預測任務來說可能是次優的。
為了應對上述挑戰,最近關于NLP的GNN的嘗試(Chen等人,2020e,f;Liu等人,2021b,2019c)開始探索動態圖的構建,而不需要借助人工或領域專業知識。大多數動態圖構建方法旨在動態學習圖結構(即加權鄰接矩陣),圖構建模塊可以與后續的圖表示學習模塊共同優化,以端到端的方式面向下游任務。如圖10所示,這些動態圖構建方法通常包括一個圖相似性度量學習組件,用于通過考慮嵌入空間中的成對節點相似性來學習鄰接矩陣,以及一個圖稀疏化組件,用于從學到的全連接圖中提取稀疏圖。將固有的圖結構和學習到的隱含圖結構結合起來,有利于提高學習性能。此外,為了有效地進行圖結構和表征的聯合學習,人們提出了各種學習范式。GNN的圖結構學習本身就是機器學習領域的一個趨勢性研究問題,并且已經在NLP之外被廣泛研究然而,在本綜述將重點介紹其在NLP領域的最新進展,將動態圖構建和圖結構學習交替使用。
4.2.1 圖相似度度量技術
基于節點屬性包含學習隱式圖結構的有用信息的假設,最近有工作將圖結構學習問題作為定義在節點嵌入空間的相似度量學習問題。學習到的相似性度量函數以后可以應用于未見過的節點嵌入集來推斷圖結構,從而實現歸納式圖結構學習。對于部署在像圖這樣的非歐幾里得領域的數據,歐幾里得距離不一定是衡量節點相似性的最佳指標。各種相似性度量函數已用于GNN的圖結構學習。根據所利用的信息源的類型,將這些度量函數分為兩類:基于節點嵌入的相似性度量學習和結構感知的相似性度量學習。
基于節點嵌入的相似度度量學習
基于節點嵌入的相似性度量函數被設計為通過計算嵌入空間中的成對節點相似性來學習加權鄰接矩陣。常見的度量函數包括基于注意力的度量函數和基于余弦的度量函數。
基于注意力機制的相似度度量函數
迄今為止提出的大多數相似性度量函數都是基于注意力機制的。為了提高基于點積的注意力機制的學習能力,Chen等人通過引入可學習的參數,提出了一個改良的點積,表述如下:
是一個非負的權重向量,提升節點嵌入不同維度的影響力。
Chen et al. 通過引入一個可學習的權重矩陣設計了一個更具有表達能力的點積方式:
Chen等人(2020e)將vanilla余弦相似度擴展為多頭加權余弦相似度,以從多個角度捕捉成對的節點相似度,如下:
基于Cosine相似度的度量函數
Chen等人(2020e)將香vanilla余弦相似性擴展為多頭加權余弦相似性,以從多個角度捕捉成對節點的相似性:
結構感知的相似度學習
受結構感知 transformers 的啟發,最近的方法采用了結構感知的相似性度量函數,在節點信息之外還額外考慮了內在圖的現有邊信息。例如,Liu等人(2019c)提出了一個學習成對節點相似性的結構感知注意機制,如下:
是邊的嵌入表示。Liu et al. (2021b) 提出了結構感知的全局注意力機制:
4.2.2 圖稀疏化技術
現實世界中的大多數圖都是稀疏的圖。相似性度量函數考慮任何一對節點之間的關系,并返回一個完全連接的圖,這不僅計算成本高,而且還可能引入噪音,如不重要的邊。因此,對所學的圖結構明確地強制執行稀疏性是有益的。除了在相似度量函數中應用ReLU函數,還采用了各種圖稀疏化技術來提高所學圖形結構的稀疏性。
Chen等人(2020f,d)應用kNN式的稀疏化操作,從相似度學習函數計算的節點相似度矩陣中獲得稀疏的鄰接矩陣:
其中,對于每個節點,只保留K個最近的鄰居(包括它自己)和相關的相似度分數,其余的相似度分數被屏蔽掉。Chen等人(2020e)通過只考慮每個節點的ε-鄰居來執行稀疏的鄰接矩陣:
其中,S中小于非負閾值ε的元素全部被屏蔽掉(即設置為零)。
4.2.3 結合INTRINSIC圖結構和隱式圖結構
最近的研究表明,如果在進行動態圖構建時完全丟棄內在圖結構,可能會損害下游任務的性能。這可能是因為 intrinsic 圖通常仍然帶有關于下游任務的最佳圖結構的豐富和有用的信息。因此,他們提出將學習到的隱式圖結構與intrinsic圖結構結合起來,基于這樣的假設:學習到的隱式圖有可能是intrinsic圖結構的 "轉變"(例如,子結構),是對intrinsic圖結構的補充。另一個潛在的好處是納入intrinsic圖結構可能有助于加速訓練過程,提高訓練的穩定性。
4.2.4 學習范式
大多數現有的GNN動態圖構建方法包括兩個關鍵的學習組件:圖結構學習(即相似性度量學習)和圖表示學習(即GNN模塊),最終目標是學習與某些下游預測任務相關的優化圖結構和表示。如何優化這兩個獨立的學習組件以達到相同的最終目標成為一個重要問題。這里我們強調三個有代表性的學習范式。1)最直接的策略(Chen等人,2020f,d;Liu等人,2021b)是以端到端的方式聯合優化整個學習系統,以實現下游(半)監督預測任務;2)另一個常見的策略(Yang等人,2018b;Liu等人,2019c;Huang等人,2020a)是自適應學習每個堆疊GNN層的輸入圖結構以反映中間圖表示的變化。這類似于transformer 如何在每一層學習不同的加權全連接圖;3)與上述兩種范式不同,Chen等人(2020e)提出了一個迭代式的圖學習框架,即在更好的圖表示的基礎上學習更好的圖結構,同時以迭代的方式學習更好的圖表示。因此,這種迭代學習范式反復完善圖結構和圖表示,以達到最佳的下游性能。
5. 用于NLP的圖表示學習
上一章介紹了各種圖構建方法,包括靜態圖構建和動態圖構建。本章將討論各種圖表示學習技術,這些技術直接在構建的圖上操作,用于各種NLP任務。圖表示學習的目標是找到一種方法,通過機器學習模型將圖的結構和屬性信息納入低維嵌入。一般來說,從原始文本數據構建的圖可能是同質圖或異質圖。因此,在第5.1節中,將討論同質圖的各種圖表示學習方法,包括原始同質圖和一些從異質圖轉換過來的方案。在第5.2節,將討論基于GNN的作用于多關系圖的方法,在第5.3節,討論處理異質圖的GNN。
數學上表示任意圖 , 是節點集合, 是邊集合, 是節點類型結合, 是邊的類型集合, 是任意元素的個數, 是節點類型的指示函數( 表示節點 的類型), 是邊類型的指示函數。
5.1 GNNs for Homogeneous Graphs
根據定義,對于圖 ,當滿足被稱為同質圖。大多數圖神經網絡,如GCN、GAT和GraphSage,都是為同質圖設計的,然而,這并不能很好地適配許多NLP任務。例如,給定一個自然語言文本,構建的依賴圖是包含多種關系的任意圖,傳統的GNN方法無法直接利用。因此,在本小節中,將首先討論將任意圖轉換為同質圖的各種策略,包括靜態圖和動態圖。然后,討論考慮雙向編碼的圖神經網絡。
5.1.1 靜態圖
處理靜態圖的GNN通常包括兩個階段,即轉換邊信息和節點表示學習。
將邊信息轉換為相鄰矩陣
邊被看作是節點之間的連接信息。在這種情況下,丟棄邊類型信息,保留連接信息,將異質圖轉換成同質圖。得到這樣的圖后,可以將圖的拓撲結構表示為統一的鄰接矩陣A。有向圖可以通過平均兩個方向的邊權重轉化為無向圖。邊權重被重新縮放,其最大邊緣權重為1,然后再送入GNN。
節點表示學習
給定初始節點嵌入X和鄰接矩陣A,基于經典的GNNs技術提取節點表示。對于無向圖,大多數工作主要采用圖表示學習算法,如GCN、GGNN、GAT、GraphSage等,并將它們堆疊起來,探索圖中的深層語義關聯。當涉及到有向圖時,少數GNN方法如GGNN、GAT仍然有效。而對于其他不能直接應用于有向圖的GNN,簡單的策略是忽略方向(即把有向圖轉換為無向圖)。然而,這種方法允許信息在沒有約束的情況下雙向傳播。為了解決這個問題,人們做了很多努力來使GNN適應于有向圖。對于GCN,一些基于空間的GCN算法是為有向圖設計的,如DCNN。GraphSage通過修改聚合函數,通過指定邊方向并分別聚合,可以很容易地擴展到有向圖上。
5.1.2 動態圖
動態圖旨在與下游任務共同學習圖結構。早期的工作主要采用遞歸網絡,將圖節點嵌入作為RNN的狀態編碼,這可以看作是GGNN的雛形。然后,經典的GNN如GCN、GAT、GGNN 被用來有效地學習圖嵌入。最近的研究者采用基于注意力或基于度量學習的機制,從非結構化文本中學習隱含的圖結構。圖結構的學習過程是通過端到端的方式與下游任務共同進行的。
5.1.3 雙向圖嵌入
前面介紹了從靜態同質圖中構建和學習節點嵌入的典型技術。在本小節中,詳細討論了如何處理邊方向。在現實中,許多圖都是有向無環圖(DAG),其信息是沿著特定的邊方向傳播的。一些研究者允許信息在兩個方向上平等傳播,另一些研究者則拋棄了包含在出邊中的信息,這兩種情況對于最終的表示學習會損失一些重要結構信息。為了解決這個問題,提出了雙向圖神經網絡(bidirectional GNN),以交錯的方式從傳入和傳出的邊上學習節點表示。
5.2 用于多關系圖的GNN
現實中許多圖都有各種邊類型,如知識圖、AMR圖等,代表和學習多關系圖,當|R|>1并且|T|=1時,被定義為多關系圖。在本節中將介紹不同的技術,這些技術可以表示和學習多關系圖。
5.2.1 多關系圖的形成
由于異質圖在NLP領域普遍存在,如知識圖譜、AMR圖等,大多數研究者提出將其轉換為多關系圖,可以通過5.2.2小節和5.2.3小節的關系GNN學習,多關系圖表示為 , 并且 . 為了獲得多關系圖,技術上我們忽略了節點類型,設置初始邊的類型為"default",對于每一個邊,為其添加一個逆向邊,類型為"reverse",并為每個節點添加自環"self',因此就獲得了多關系圖: 且 .
5.2.2 多關系GNNs
多關系GNN是經典GNN對多關系圖的擴展,其節點類型相同,但邊類型不同。它們最初是用來編碼特定關系圖的,如知識圖譜和解析圖,這些圖在相同類型的節點之間有復雜的關系。一般來說,大多數多關系GNN采用特定類型的參數對關系進行單獨建模。經典的方法有:R-GCN、R-GGNN 和 R-GAT。
R-GCN
R-GCN是消息傳遞GCN框架的自然延伸,該框架在局部圖鄰域運行,根據標簽類型對傳入的節點進行分組,然后對每一組分別應用消息傳遞。因此,節點vi的鄰居節點的聚合過程被定義為:
R-GGNN
關系型GGNN最初是用于graph-to-sequence問題,它能夠捕捉到長距離的關系。與R-GCN類似,R-GGNN使用特定關系的權重來更好地捕捉節點之間特定關系的相關性。R-GGNN的傳播過程可以概括為:
R-GAT
Wang等人提出擴展經典的GAT以適應多關系圖。直觀地說,具有不同關系的鄰居節點應該具有不同的影響力。Wang等人(2020b)提出用額外的關系頭來擴展同質GAT。從技術上講,他們提出的關系結點表示為:
Gating Mechanism
多關系圖神經網絡在堆疊若干層以利用遠處鄰居之間的隱性關聯時也面臨過平滑問題。為了解決這個問題,在多關系圖神經網絡中引入了門控機制,即通過門控將節點的輸入特征和聚合特征結合起來。直觀地說,門控機制可以被看作是原始信號和學習到的信息之間的權衡。它調節了多少更新信息被傳播到下一步,從而防止模型徹底覆蓋過去的信息。這里以經典的R-GCN為例來介紹門控機制,它實際上可以擴展到任意的變體。激活之前的表示為:
其中 表示聚合函數。最終,節點的最終表示是先前嵌入和GNN輸出表示 的門控組合:
為門向量。
5.2.3 GRAPH TRANSFORMER
Transformer 架構在NLP領域取得了巨大成功,transformer的自注意力機制是全連接隱式圖學習的一個特殊程序,因此GNN和transformer 的概念產生了連接。然而,傳統的 transformer 未能利用結構信息。在GAT的啟發下,許多文獻通過開發結構感知的自注意力機制,將結構信息納入transformer。
self-attention
在本節中,將討論多關系圖的結構感知自注意力技術。對自注意力機制作一個簡單的回顧,省略了多頭機制,只介紹自注意的功能,自注意力的輸入為:,輸出表示 為:
對于圖 transformer 來說,查詢、鍵和值都是指節點的嵌入:即 。有各種結合了結構知識的關系圖的圖 transformer,根據自注意力的功能可以分為兩類。一類是基于R-GAT的方法,它采用類似關系GAT的特征聚合方式。另一類是保留全連接圖,同時將結構感知的關系信息納入到自注意功能中。
R-GAT Based Graph Transformer
基于GAT的圖 transformer采用了類似GAT的特征聚合,它利用了圖連接性的歸納偏置。在技術上,首先用特定類型的聚合步驟聚合鄰居,然后通過前饋層進行融合,具體如下:
Structure-aware Self-attention Based Graph Transformer
與基于R-GAT的圖transformer純粹依靠給定的圖結構不同,基于結構感知的自注意的圖transformer保留了原有的自注意架構,允許非鄰接節點的通信。首先討論結構感知的自我注意機制,然后介紹其獨特的邊嵌入表示法。
Shaw等人嘗試對神經機器翻譯任務中詞(節點)之間的相對關系進行建模。在技術上,他們在計算節點相似度時考慮了關系嵌入:
受Shaw等人(2018)的啟發,Xiao等提出擴展傳統的自注意力架構,將隱空間中節點對之間的關系嵌入顯式編碼為:
為了采用雙向關系,Cai和Lam(2020c)對傳統的自注意力進行了如下擴展:
給定每種關系上學習到的注意力,邊的嵌入表示是納入結構信息的下一個關鍵步驟。Shaw等人(2018)簡單地學習了相對位置編碼,即節點的絕對位置。從技術上講,他們采用了個潛在標簽 ,并映射對節點對 ,將 到一個特定的標簽嵌入,從而得到邊的嵌入。
Zhu等人(2019b);Cai和Lam(2020c)通過從節點到節點 的路徑來學習邊的表示。Zhu等人(2019b)將路徑視為一個字符串,將其添加到詞匯表中,使其向量化。還進一步提出了其他方法來學習標簽沿路徑的嵌入,例如:1)取平均值,2)求和,3)用自注意力來編碼,4)用CNN濾波器來編碼。Cai和Lam(2020c)提出了基于最短路徑的關系編碼器。具體來說,他們首先沿著路徑獲取標簽的嵌入序列。然后,他們采用雙向的GRU進行序列編碼。前向和后向GRU網絡的最后一個隱藏狀態最終被連接起來以表示關系嵌入。
5.3 Graph Neural Networks for Heterogeneous Graph
現實中的大多數圖有多種節點和邊的類型,如知識圖譜,AMR圖,它們被稱為異質圖。從形式上看,對于一個圖G,滿足 或者 1,那么稱其為異質圖。除了將異質圖轉化為關系圖外,如上一小節所介紹的,有時還需要充分利用節點和邊的類別信息。因此,在第5.3.1小節中,首先介紹了異質圖的預處理技術。然后,在第5.3.2和5.3.3小節中,將介紹兩種專門針對異質圖的典型圖表示學習方法。
5.3.1 LEVI 圖轉換技術
由于大多數現有的GNN方法只針對同質條件而設計,在處理大量的邊類型時,會有大量的計算負擔(例如,一個AMR圖可能包含100多種邊類型),因此,在異質圖中有效的做法是將邊視為節點。最重要的圖轉換技術是Levi Graph Transformation,對于每一個具有特定標簽的邊,生成一個新的節點。得到的圖是一個簡化的異質levi圖,它具有單一的邊類型,但節點類型不受限制,然后可以由第5.3小節中描述的異質GNN進行學習。
5.3.2 基于元路徑的異質 GNN
Meta-path
元路徑是連接兩個對象的復合關系,是一種廣泛使用的捕捉語義的結構。以電影數據IMDB為例,有三種類型的節點,包括電影、演員和導演。元路徑Movie → Actor →Movie,涵蓋了兩部電影和一個演員,描述了co-actor的關系。因此,異質圖中節點之間的不同關系可以很容易地通過元路徑展示出來。首先提供了異質圖的meta-level 描述,以便更好地理解。
遵循異質信息網絡(HIN)的設定,給出了網絡模式的概念。網絡模式是異質圖的元模板:節點類型的映射 以及邊類型的映射 ,將其表示為 ,網絡模式上的元路徑表示為:, 是模式的節點, 是對應的關系節點。元路徑集合為 ,將其表示為。元路徑是網絡模式上的一條路徑,表示為異質圖G(V, E)的節點類型映射。V→T和邊類型映射。對于每一個元路徑上的節點 ,表示為。然后將網絡模式與異質如圖結合起來,對于每一個異質圖的節點以及一個元路徑 ,定義基于元路徑的鄰居為,其中包含所有節點,包括由元路徑 鏈接的自己。在概念上,鄰居集可以有多跳節點,這取決于元路徑的長度。
大多數基于元路徑的GNN方法采用基于注意力的聚合策略。從技術上講,它們一般可以分為兩個階段。1)沿著每條元路徑聚合鄰居,這可以被稱為 "節點級聚集"。在這之后,節點通過不同的元路徑接收鄰居的信息;2)接下來,應用元路徑級別的注意力機制來學習不同元路徑的語義影響。通過這種方式,他們可以學習由多條元路徑連接的鄰居的最佳組合。
HAN
由于圖中節點的異質性,不同的節點具有不同的特征空間,這給GNN處理各種初始節點嵌入帶來了很大挑戰。為解決這一問題,采用特定類型的變換,將各種節點投射到統一的特征空間:
Node-level Aggregation:對于在元路徑上,節點的鄰居節點集合,節點特征的聚合過程可以表示為:
Meta-path Level Aggregation:一般來說,不同的元路徑傳達了不同的語義信息。為此,旨在學習每個元路徑的重要性:從技術上講,對于每條元路徑,首先學習每個節點的語義級重要性。然后對它們進行平均,得到元路徑級別的重要性:最終獲得節點表示:
5.3.3 基于R-GNN的異質GNN
盡管元路徑是組織異質圖的有效工具,但它需要額外的領域專家知識。為此,大多數研究人員通過使用特定類型的聚合,采用了R-GNN的類似想法。為了清楚起見,本文將這些方法命名為基于R-GNN的異質GNN,并在下文中介紹這一類的幾個典型變體。
HGAT
HGAT(Linmei等人,2019)被提出用于編碼包含各種節點類型但單一邊類型的異質圖。換句話說,邊只代表連接性。對于一個特定的節點,不同類型的鄰居可能有不同的相關性。為了充分利用多樣化的結構信息,HGAT首先專注于全局類型的相關性學習,然后學習具體節點的表示。
MHGRN
MHGRN(Feng等人,2020b)是R-GCN的一個擴展,它可以直接在異質圖上利用多跳信息。一般來說,它借助關系路徑(如元路徑)的思想來建模兩個不具有k-hop連接節點的關系,并將現有的R-GNN擴展到基于路徑的異構圖表示學習范式。
HGT
HGT(Hu等人,2020c)是異質圖的圖transformer,它在網絡模式之上建立節點之間的元關系,正如在基于元路徑的異質GNN段落中討論的那樣。與之前大多數假設圖結構是靜態的(即與時間無關)的工作不同,他們提出了一個相對的時間編碼策略來學習時間依賴性。
6. 基于GNN 的編碼器-解碼器模型
編碼器-解碼器架構是NLP領域最廣泛使用的機器學習框架之一,如Seq2Seq模型。鑒于GNN在建模圖結構數據方面的巨大力量,最近,許多研究開發了基于GNN的編碼器-解碼器框架,包括Graph-to-Tree和Graph-to-Graph模型。在本節中,首先介紹典型的Seq2Seq模型,然后討論各種基于圖的編碼器-解碼器模型,用于各種NLP任務。
6.1 Sequence-to-Sequence Models
序列到序列學習是NLP領域中最廣泛使用的機器學習范式之一。在這一節中,首先對Seq2Seq學習進行了簡要的概述,并介紹了一些典型的Seq2Seq技術。然后,指出Seq2Seq學習的一些已知的局限性以及它的解決方案,即納入更多結構化的編碼器-解碼器模型作為原始Seq2Seq模型的替代,以編碼更復雜的數據結構。
6.1.1 介紹
Seq2Seq模型用于解決一般的序列到序列問題(如機器翻譯)。Seq2Seq模型是一個端到端的編碼器-解碼器框架,它學習將一個可變長度的輸入序列到一個可變長度的輸出序列之間的映射。通常這個想法是使用一個基于RNN的編碼器來讀取輸入序列,建立一個固定維度的向量表示,然后使用一個基于RNN的解碼器來生成以編碼器輸出向量為條件的輸出序列。解碼器本質上是一個RNN語言模型,只不過它是以輸入序列為條件的。最常見的Seq2Seq變體之一是應用雙向LSTM編碼器對輸入序列進行編碼,并應用LSTM解碼器對輸出序列進行解碼。其他Seq2Seq變體用門控遞歸單元(GRU)、卷積神經網絡(CNN)或 Transformer模型代替LSTM。
在最初的Seq2Seq架構中,中間向量的表示成為信息瓶頸,因為它將輸入序列的豐富信息總結為固定維度的嵌入,作為解碼器生成高質量輸出序列的唯一知識源。為了提高原始Seq2Seq模型的學習能力,人們提出了許多有效的技術。
6.1.2 討論
許多NLP應用自然地接納了圖結構的輸入數據,如依賴圖、構成圖,AMR圖,IE圖和知識圖譜。與序列數據相比,圖結構的數據能夠編碼對象之間豐富的句法或語義關系。此外,即使原始輸入最初是以序列形式表示的,它仍然可以從顯式地合并結構信息中受益。上述情況基本上需要一個編碼器-解碼器框架來學習圖到X的映射,其中X可以代表序列、樹或甚至圖。現有的Seq2Seq模型在學習從圖到適當目標的精確映射方面面臨著巨大的挑戰,因為它沒有能力對復雜的圖結構數據進行建模。
為了擴展Seq2Seq模型以處理輸入為圖結構數據的Graph-to-Sequence問題,人們進行了各種嘗試。一個簡單直接的方法是直接將結構化圖數據線性化為序列數據,并將Seq2Seq模型應用于所得到的序列。然而,這種方法遭受了巨大的信息損失,導致了性能的下降。RNN沒有能力對復雜的結構化數據進行建模的根本原因在于它是一個線性鏈。鑒于此,一些研究工作已經致力于擴展Seq2Seq模型。例如,Tree2Seq(Eriguchi等人,2016)通過采用Tree-LSTM擴展了Seq2Seq模型,該模型是鏈式結構LSTM對樹式結構網絡拓撲結構的一種概括。Set2Seq是Seq2Seq模型的一個擴展,它超越了序列,使用注意力機制處理輸入集。盡管這些Seq2Seq擴展在某些類別的問題上取得了有希望的結果,但它們都不能以一種原則性的方式對任意圖結構的數據進行建模。
6.2 Graph-to-Sequence Models
為了解決上述Seq2Seq模型在編碼豐富復雜的數據結構上的局限性,最近提出了一些用于NLP任務的graph-to-sequence的編碼器-解碼器模型。Graph2Seq模型通常采用一個基于GNN的編碼器和一個基于RNN/Transformer的解碼器。與Seq2Seq范式相比,Graph2Seq范式更善于捕捉輸入文本的豐富結構信息,可以應用于任意的圖結構數據。與Seq2Seq模型相比,Graph2Seq模型在廣泛的NLP任務中顯示出優越的性能,包括神經機器翻譯,AMR-to-text、文本摘要、問題生成、KG-to-text、SQL-to-text 、code summarization和語義解析。
基于圖的編碼器
早期的Graph2Seq方法及其后續工作主要使用一些典型的GNN變體作為圖編碼器,包括GCN、GGNN、GraphSAGE和GAT。由于NLP圖中的邊緣向經常編碼關于兩個頂點之間的語義關系的關鍵信息,因此捕獲文本的雙向信息往往是非常有幫助的。在Graph2Seq范式的文獻中,人們做了一些努力來擴展現有的GNN模型以處理有向圖。最常見的策略是在進行鄰居聚合時,為不同的邊方向(即傳入/傳出/自環邊)引入單獨的模型參數。
除了邊方向信息,NLP應用中的許多圖實際上是多關系圖,其中邊類型信息對下游任務非常重要。為了編碼邊類型信息,一些工作通過為不同的邊類型設置單獨的模型參數來擴展它們。然而,在許多NLP應用中(如KG相關任務),邊類型的總數很大,因此上述策略會有嚴重的可擴展性問題。為此,一些工作提出通過將多關系圖轉換為Levi圖來繞過這個問題,然后利用現有為同質圖設計的GNN作為編碼器。另一個普遍采用的技術是將邊嵌入明確納入消息傳遞機制。
節點/邊嵌入初始化
對于基于GNN的方法,節點和邊的初始化是非常關鍵的。雖然CNNs和RNNs都擅長捕捉文本中連續詞之間的局部依賴關系,但GNNs在捕捉圖中相鄰節點之間的局部依賴關系方面表現良好。許多關于Graph2Seq的工作表明,應用CNN或雙向RNNs應用基于GNN的編碼器之前,對詞嵌入序列進行處理。還有研究探索了用BERT嵌入+BiRNNs或RoBERTa+BiRNNs初始化節點/邊緣嵌入。
序列解碼技術
由于Seq2Seq和Graph2Seq模型的主要區別在于編碼器,Seq2Seq模型中使用的常見解碼技術,如注意機制、copying 機制、coverage 機制和scheduled sampling也可以在Graph2Seq模型中采用。為了使常見的解碼技術適應Graph2Seq范式,例如,Chen等人(2020g)為了將包含多token序列的整個節點屬性從輸入圖復制到輸出序列,將token級復制機制擴展到節點級復制機制。為了結合序列編碼器和圖編碼器的優點,Pan等人(2020);Sachan等人(2020)提出在將其輸出送入解碼器之前將其融合為一個單一的向量。Huang等人(2020b)分別為序列編碼器和圖形編碼器設計了獨立的注意力模塊。
6.3 Graph-to-Tree Models
與Graph2Seq模型考慮輸入端的結構信息相比,許多NLP任務還包含以復雜結構表示的輸出,如樹,在輸出端也有豐富的結構信息,如句法解析,語義解析,math word 問題解決,考慮輸出的結構信息是一個自然的選擇。為此,一些Graph2Tree模型被提出來,在輸入和輸出端都加入了結構信息,使編碼-解碼過程中的信息流更加完整。
6.4 Graph-to-Graph Models
graph-to-graph模型通常用于解決圖轉換問題,是圖編碼器-解碼器模型。圖編碼器生成圖中每個節點的潛在表示,或通過GNNs為整個圖生成一個圖級別表示。然后,圖解碼器根據來自編碼器的節點級或圖級潛在表示生成輸出目標圖。
Graph-to-Graph for NLP
由于自然語言或信息知識圖譜可以自然地被形式化為具有一組節點及其關系的圖,NLP領域的許多生成任務可以被形式化為一個圖的轉換問題,這可以進一步通過graph-to-graph模型來解決。這樣一來,輸入和輸出句子的語義結構信息就可以得到充分的利用和把握。兩個重要的NLP任務(即信息抽取和語義解析)可以被形式化為graph-to-graph的問題。
7. 應用
在本章中,將討論大量使用GNN的典型NLP應用,包括自然語言生成、機器閱讀理解、問題回答、對話系統、文本分類、文本匹配、話題建模、情感分類、知識圖譜、信息提取、語義和句法解析、推理和語義角色標注。表3中提供了所有應用的摘要及其子任務和評價指標。
7.1 自然語言生成
自然語言生成(NLG)旨在給定各種形式的輸入,如文本、語音等,生成高質量、連貫和可理解的自然語言,而我們只關注語言形式。現代自然語言生成方法通常采取編碼器-解碼器的形式,將輸入序列編碼到潛在空間,并根據潛在表征預測出一個詞的集合。大多數現代NLG方法可以分為兩個步驟:編碼和解碼,它們由兩個模塊處理:編碼器和解碼器。在本節中,對基于auto-regressive graph-based的方法進行了全面的概述,這些方法在這個蓬勃發展的領域中利用了編碼器中的圖結構,包括:1)神經機器翻譯,2)摘要,3)問題生成,4)structural-data to text。
7.1.1 神經機器翻譯
經典的神經機器翻譯(NMT)系統旨在將源語言的句子映射到目標語言,而不改變其語義。大多數先前的工作采用了基于注意力的序列對序列學習圖,特別是基于RNN的語言模型。與傳統的機器翻譯模型相比,這些方法可以在沒有特定語言知識的情況下產生更好的性能。然而,這些方法存在著長依賴性的問題。隨著注意力機制的發展,完全基于注意力的模型,如Transformer,通過自注意力捕捉隱性關聯,取得了突破性進展,達到了新的水平。雖然這些取得了巨大的成功,但它們很少考慮到結構信息,如句法結構。最近,在強大的GNN的幫助下,許多研究者通過挖掘非結構化文本中包含的結構性知識進一步提升了性能。
大多數基于GNN的NMT方法將傳統的seq2seq圖轉換成Graph2Seq架構。它們首先將輸入文本轉換為圖結構的數據,然后采用基于GNN的編碼器來利用結構信息。
7.1.2 摘要生成
自動摘要生成是在保留關鍵信息內容和整體意義的情況下產生一個簡明流暢的摘要的任務。這個任務有兩個主要的經典設置:1)抽取式 2)生成式。傳統的方法只是將輸入視為序列,并應用LSTM、Transformer等編碼器來學習潛在的表征,這些方法未能利用自然輸入中隱含的豐富結構信息。許多研究人員發現,結構知識有利于解決一些挑戰,例如長距離依賴性問題,因此提出了基于GNN的技術,明確利用結構信息來提高性能。
大多數基于GNN的摘要方法首先是構建圖來表示給定的文本。然后,采用基于GNN的編碼器來學習圖的表示。之后,對于抽取式摘要模型,采用分類器來選擇候選子句來組成最終的總結。對于生成式摘要,大多采用語言解碼器,以最大化輸出的可能性來生成摘要。
7.1.3 結構化數據到文本
盡管是自然文本,但許多NLP應用都是以明確的圖結構來表示數據,如SQL查詢、知識圖、AMR等。結構化數據的任務就是要從結構化數據輸入中生成自然語言。傳統的工作應用線性化機制,將結構數據映射為序列數據,并采用Seq2Seq架構來生成文本。為了充分捕捉豐富的結構信息,最近的研究集中在基于GNN的技術來處理這一任務。
大多數基于GNN的AMR-to-text和SQL-to-text方法通常構建特定領域的圖,如AMR圖和基于SQL解析的圖來組織輸入。之后,應用由GNN編碼器和序列解碼器組成的Graph2Seq來生成神經語言輸出。
7.1.4 自然問題生成
自然問題生成(QG)任務旨在從某種形式的數據中生成自然語言問題,如KG、表格、文本或圖像,其中生成的問題需要從輸入數據中得到答案。大多數先前的工作采用了Seq2Seq架構,將輸入數據視為序列數據,而不考慮其豐富的結構信息。例如,在對輸入文本進行編碼時,以前的大多數方法通常會忽略與單詞序列相關的隱藏結構信息,如依賴性解析樹。即使對于來自KG的QG的設置,大多數方法通常將KB子圖線性化為一個序列,并應用一個序列編碼器。未能利用輸入數據的圖結構可能會限制QG模型的有效性。對于在多個段落或文檔上進行推理的來自文本的多跳QG,捕捉多個段落或文檔中不同實體提及的關系是有益的。總之,**對輸入數據的豐富結構進行建模對許多QG任務來說是很重要的。**最近,GNN已經成功應用于QG任務(Liu et al., 2019b; Chen et al., 2020f; Wang et al., 2020c)。
大多數基于GNN的QG方法采用Graph2Seq架構,其中基于GNN的編碼器用來對圖結構的輸入數據進行建模,序列解碼器被用來生成自然語言問題。
7.2 機器閱讀理解和問題回答
7.2.1 機器閱讀理解
機器閱讀理解(MRC)的任務旨在利用給定的段落回答一個自然語言問題。由于各種注意力機制的發展,MRC任務已經取得了重大進展,這些機制可以捕捉到問題和上下文之間的相互聯系。考慮到傳統的MRC設置主要集中在相對簡單的一跳推理上,最近,更多的研究工作被用于解決更具挑戰性的MRC設置。例如,多跳MRC任務是使用多個段落或文檔來回答一個自然語言問題,這需要多跳推理能力。Con- versational MRC任務是在對話中回答當前的自然語言問題,并給出一段話和之前的問題和答案,這需要對對話歷史進行建模的能力。數字性的MRC任務要求有對段落進行數字推理的能力。這些具有挑戰性的MRC任務需要對對象之間的復雜關系進行建模的學習能力。例如,在多跳MRC任務中,對多個文檔之間的關系以及文檔中提到的實體進行建模是非常有益的。最近,GNN已經成功應用于各種類型的MRC任務,包括多跳MRC,對話式MRC,以及numerical MRC。
基于GNN的MRC方法通常是通過首先構建一個實體圖或層次圖來捕捉圖中節點之間的豐富關系,然后應用基于GNN的推理模塊對圖進行復雜推理。假設GNN的輸出已經編碼了節點本身及其鄰居結構的語義,最后將應用一個預測模塊來預測答案。為解決MRC任務而開發的圖構建技術和圖表示技術在不同的方法中有所不同。
7.2.2 知識庫問題回答
在過去的幾年里,知識庫問題回答(KBQA)已經成為一個重要的研究課題。KBQA的目標是給定自然語言問題自動從KG中找到答案。最近,由于其對對象之間關系建模的性質能力,GNN已經成功地應用于執行多跳KBQA任務,這需要對KG的多條邊進行推理以得出正確的答案。一個相關的任務是開放領域的QA,其目的是通過利用包括語料庫和KG的混合知識源來回答開放領域的問題。本文介紹并總結了最近KBQA研究中采用的一些有代表性的GNN相關技術。
7.2.3 開放域的問題回答
開放域問題回答的任務旨在給定一個大規模的開放域知識(如文檔、知識庫等),以確定自然問題的答案。基于知識的方法得益于通過圖結構輕松獲得外部知識。然而,這些方法在知識庫和固定模式的信息缺失方面受到限制。為了回答來自海量和非結構化文檔的問題,與基于知識庫的方法相比,這些方法可以獲取更多的信息,但在從冗余的外部文檔中檢索相關和關鍵信息方面存在困難。本文介紹并總結了最近開放域問題回答研究中一些有代表性的GNN相關技術。
7.2.4 社區問題回答
社區問題回答的任務旨在從QA論壇(如Stack Overflow或Quora)中檢索出相關答案。與傳統的MRC(QA)任務不同,CQA系統能夠利用隱性知識(嵌入在不同的社區中)或顯性知識(嵌入在所有解決的問題中)來回答每天發布的大量新問題。然而,越來越多的新問題可能會使沒有適當協作支持的CQA系統因用戶的要求而變得超負荷。本文介紹并總結了最近CQA研究中采用的一些有代表性的GNN相關技術。
7.3 對話系統
對話系統是一個可以連續與人對話的計算機系統。為了建立一個成功的對話系統,對對話中不同對話者或話語之間的依賴關系進行建模很重要。由于能夠對對象之間的復雜關系進行建模,最近,GNN已經成功地應用于各種對話系統相關的任務,包括對話狀態跟蹤,旨在估計給定對話歷史的當前對話狀態;對話響應生成,旨在給定對話歷史生成對話響應;以及下一個話語選擇,旨在給定對話歷史從候選列表中選擇下一個話語。本文介紹并總結了近期對話系統研究中采用的一些有代表性的GNN相關技術。
7.4 文本分類
傳統的文本分類方法嚴重依賴特征工程(如BOW、TF-IDF或更高級的基于圖形路徑的特征)進行文本表示。為了從數據中自動學習 "好的 "文本表征,人們提出了各種無監督的方法來學習單詞或文檔表征,包括word2vec、GloVe、話題模型、自動編碼器和doc2vec。這些預訓練的單詞或文檔嵌入可以進一步被MLP、CNN或LSTM模塊所消耗,用于訓練監督下的文本分類器。為了更好地捕捉文本或語料庫中文件之間的關系,人們提出了各種基于圖的方法進行文本分類。例如,Peng等人(2018)提出首先構建一個詞的圖,然后將CNN應用于規范化的子圖。Tang等人提出了一種基于網絡嵌入的方法,通過將部分標記的文本語料轉換為異質文本網絡,以半監督的方式進行文本表示學習。最近,考慮到強大的表達能力,GNN已經成功應用于半監督和監督文本分類中。
基于GNN的文本分類方法通常是,首先構建一個文檔圖或語料庫圖來捕捉圖中節點之間的豐富關系,然后應用GNN來學習良好的文檔嵌入,這些嵌入隨后將被送入softmax層以產生一類標簽的概率分布。為解決文本分類任務而開發的圖構建技術和圖表示技術在不同的方法中有所不同。本文介紹并總結了最近的文本分類方法中采用的一些代表性的GNN相關技術。
7.5 文本匹配
現有的大多數文本匹配方法是通過一些神經網絡,如CNN或RNN,將每個文本映射到一個潛在的嵌入空間,然后根據文本表征之間的相似性計算匹配分數。為了在不同的顆粒度水平上對兩個文本之間的豐富互動進行建模,通常會精心設計復雜的注意力或匹配組件。最近,有一些工作成功地探索了GNNs在文本匹配中對文本元素之間復雜的交互作用進行建模的問題。本文介紹并總結了近期文本匹配方法中采用的一些有代表性的GNN相關技術。
7.6 話題建模
話題建模的任務旨在發現語料庫中出現的抽象的 "話題"。通常情況下,話題模型學習將一段文本表示為一個話題的混合物,而話題本身則表示為詞匯的混合物。經典的話題模型包括基于圖模型的方法,基于自回歸模型的方法,以及基于自動編碼器的方法。最近的工作通過明確地對文檔和詞之間的關系進行建模,探索了基于GNN的方法進行話題建模。本文介紹并總結了近期話題建模方法中采用的一些有代表性的GNN相關技術。
7.7 情感分析
情感分析任務旨在檢測一段文本的情感(即積極、消極或中立)。方面級的情感分類旨在識別文本在特定方面的情感極性,并受到更多關注。雖然大多數工作都集中在句子層面和單一領域的情感分類上,但在文檔層面和跨領域的情感分類上也有一些嘗試。早期的情感分類工作主要依賴于特征工程。最近的嘗試利用了各種神經網絡模型的表達能力,如LSTM、CNN或記憶網絡。最近,人們嘗試利用GNN來更好地模擬文本的句法和語義,以完成情感分類任務。
基于GNN的情感分類方法通常是通過首先構建文本的圖表示(如依賴樹),然后應用GNN來學習良好的文本嵌入,這些嵌入將被用于預測情感的極性。為解決情感分類任務而開發的圖構建技術和圖表示技術在不同的方法中有所不同。本文將介紹并總結最近的情感分類方法中采用的一些有代表性的GNN相關技術。
7.8 知識圖譜
知識圖譜(KG)以結構化的形式表示現實世界的知識,在學術界和工業界引起了很大的關注。KG可以表示為一組三元組集合。在KG方面有三個主要任務,即知識圖譜嵌入(KGE),知識圖譜對齊(KGA),知識圖譜補全(KGC)。本文將對基于圖的KGC和KGA方法進行概述。
7.9 信息抽取
信息抽取(IE)的目的是提取給定句子或文檔的實體對及其關系。IE是一項重要的任務,因為它有助于從非結構化文本中自動構建知識圖譜。隨著深度神經網絡的成功,基于神經網絡的方法已被應用于信息提取。然而,這些方法往往忽略了輸入文本的非局部和非序列化的上下文信息。此外,重疊關系的預測,即共享相同實體的一對實體的關系預測,也不能得到妥善解決。為了這些目的,GNN已經被廣泛用于建立文本中實體和關系之間的交互模型。信息提取由兩個子任務組成:命名實體識別(NER)和關系提取(RE)。NER為句子中的每個詞預測一個標簽,這通常被認為是一個序列標注任務。RE為文本中的每一對實體預測一個關系類型。當輸入文本中的實體被注釋后,IE任務就退化為RE任務。基于GNN的IE方法通常通過pipeline的方式運作。首先,構建一個文本圖。然后,實體被識別,實體對之間的關系被預測。本文是對基于GNN的不同技術的介紹。
7.10 語義語法解析
在本節中主要討論GNN在解析方面的應用,包括與語法相關的解析和與語義相關的解析。對于語法相關的解析,GNN已經被用于依賴性解析和成分解析的任務。對于語義相關的解析,本文簡要介紹語義解析和AMR解析。
7.11 推理
推理是NLP的一個重要研究方向。近年來,GNN開始在NLP推理任務中發揮重要作用,如數學單詞問題解決,自然語言推理,常識推理等。本文將對這三個任務以及圖神經網絡在這些方法中的應用做一個簡要介紹。
7.12 語義角色標注
語義角色標注(SRL)問題旨在恢復一個句子的predicate-argument結構,即基本上確定 "誰對誰做了什么"、"何時 "和 "何地"。對于每個謂詞,SRL模型必須識別所有的argument跨度,并為它們標注語義角色。這樣的高層結構可以作為語義信息,用于支持各種下游任務,包括對話系統、機器閱讀和翻譯。最近的SRL工作大多可以分為兩類,即根據是否納入句法知識,分為句法感知型和句法診斷型方法。大多數syntax-agnostic的工作采用深度BiLSTM或自注意編碼器來編碼自然句子的上下文信息,用各種評分器來預測基于BIO的語義角色的概率或predicate-argument-role元組。在句法和語義之間強烈的相互作用的激勵下,研究人員探索了各種方法,將句法知識整合到句法無關的模型中,考慮到語義表示與句法表示密切相關。例如,我們可以觀察到,句法依賴圖中的許多弧在語義依賴圖中都有反映。鑒于這些相似性以及許多語言都有精確的句法分析器,在預測語義時利用句法信息似乎是很自然的。
采用神經序列模型,即LSTM,存在以下挑戰:(1)由于句法關系的復雜樹狀結構,很難有效地將句法信息納入神經SRL模型;(2)由于錯誤的句法輸入的風險,句法分析器是不可靠的,這可能導致錯誤傳播和不理想的SRL性能。鑒于這種情況,GNN正在成為捕捉和納入基于深度神經網絡的SRL模型中的語法模式的有力工具。在捕捉結構化數據中的復雜關系模式方面,GNN的性質使其很適合于為句子的句法依賴和成分結構建模。
從形式上看,SRL可以被投射為一個序列標注問題,即給定一個輸入句子,以及謂詞在句子中的位置,目標是預測句子中的詞的語義角色的BIO序列;另一個是關于端到端的語義角色三元組提取,目的是一次性檢測所有可能的謂詞和它們相應的arguments。從技術上講,給定一個句子,SRL模型會預測一組標記的謂語-參數-角色三元組,而每個三元組包含一個可能的謂語標記和兩個候選標記。上述兩個問題都可以基于基于GNN的SRL模型來解決,它由兩部分組成,即圖的構建和圖的表示學習。
8. 結論
在這篇文章中,我們對各種圖神經網絡演化出的各種NLP問題進行了全面的概述。具體來說,我們首先提供了典型的GNN模型的初步知識,包括圖過濾器和圖池化方法。然后,提出了一個新的分類法,沿著三個維度系統地組織GNNs for NLP方法,即圖的構造、圖表示學習和編碼器-解碼器模型。鑒于這些在NLP應用每個階段的具體技術,我們從圖構建、圖表示學習和具體技術的角度討論了大量的NLP應用。最后,為進一步釋放GNN在NLP領域的巨大潛力,本文提供了這一思路的大體挑戰和未來方向。
責任編輯:lq6
-
nlp
+關注
關注
1文章
488瀏覽量
22033 -
GNN
+關注
關注
1文章
31瀏覽量
6335
原文標題:萬字綜述,GNN在NLP中的應用,建議收藏慢慢看
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論