一文全覽,ICLR 2020 上的知識圖譜研究

一文全覽,ICLR 2020 上的知識圖譜研究

雷鋒網 AI 科技評論:ICLR 2020 正在進行,但總結筆記卻相繼出爐。我們曾對 ICLR 2020 上的圖機器學習趨勢進行介紹,本文考慮的主題為知識圖譜。

作者做波恩大學2018級博士生 Michael Galkin,研究方向為知識圖和對話人工智能。在AAAI 2020 舉辦之際,他也曾對發表在AAAI 2020上知識圖譜相關的文章做了全方位的分析,具體可見「知識圖譜@AAAI2020」。

一文全覽,ICLR 2020 上的知識圖譜研究

本文從五個角度,分別介紹了 ICLR 2020上知識圖譜相關的 14 篇論文。五個角度分別為:

1)在複雜QA中利用知識圖譜進行神經推理(Neural Reasoning for Complex QA with KGs)

2)知識圖譜增強的語言模型(KG-augmented Language Models)

3)知識圖譜嵌入:循序推理和歸納推理(KG Embeddings: Temporal and Inductive Inference)

4)用GNN做實體匹配(Entity Matching with GNNs)

5)角色扮演遊戲中的知識圖譜(Bonus: KGs in Text RPGs!)

話不多說,我們來看具體內容。

注:文中涉及論文,可關注「AI科技評論」微信公眾號,並後臺回覆「知識圖譜@ICLR2020」打包下載。

一、在複雜QA中利用知識圖譜進行神經推理

今年ICLR2020中,在複雜QA和推理任務中看到越來越多的研究和數據集,very good。去年我們只看到一系列關於multi-hop閱讀理解數據集的工作,而今年則有大量論文致力於研究語義合成性(compositionality)和邏輯複雜性(logical complexity)——在這些方面,知識圖譜能夠幫上大忙。

1、Measuring Compositional Generalization: A Comprehensive Method on Realistic Data

文章鏈接:https://openreview.net/pdf?id=SygcCnNKwr

Keysers等人研究瞭如何測量QA模型的成分泛化,即訓練和測試 split 對同一組實體(廣泛地來講,邏輯原子)進行操作,但是這些原子的成分不同。作者設計了一個新的大型KGQA數據集 CFQ(組合式 Freebase 問題),其中包含約240k 個問題和35K SPARQL查詢模式。

一文全覽,ICLR 2020 上的知識圖譜研究

Intuition behind the construction process of CFQ. Source: Google blog

這裡比較有意思的觀點包括:1)用EL Description Logic 來註釋問題(在2005年前後,DL的意思是Description Logic,而不是Deep Learning );2)由於數據集指向語義解析,因此所有問題都鏈接到了Freebase ID(URI),因此您無需插入自己喜歡的實體鏈接系統(例如ElasticSearch)。於是模型就可以更專注於推斷關係及其組成;3)問題可以具有多個級別的複雜性(主要對應於基本圖模式的大小和SPARQL查詢的過濾器)。

作者將LSTM和Transformers基線應用到該任務,發現它們都沒有遵循通用標準(並相應地建立訓練/驗證/測試拆分):準確性低於20%!對於KGQA愛好者來說,這是一個巨大的挑戰,因此我們需要新的想法。

2、Scalable Neural Methods for Reasoning With a Symbolic Knowledge Base

文章鏈接:https://openreview.net/pdf?id=BJlguT4YPr

Cohen等人延續了神經查詢語言(Neural Query Language,NQL)和可微分知識庫議程的研究,並提出了一種在大規模知識庫中進行神經推理的方法。

作者引入了Reified KB。其中事實以稀疏矩陣(例如COO格式)表示,方式則是對事實進行編碼需要六個整數和三個浮點數(比典型的200浮點KG嵌入要少得多)。然後,作者在適用於多跳推理的鄰域上定義矩陣運算。

這種有效的表示方式允許將巨大的KG直接存儲在GPU內存中,例如,包含1300萬實體和4300萬事實(facts)的WebQuestionsSP 的 Freebase轉儲,可以放到三個12-Gb 的 GPU中。而且,在進行QA時可以對整個圖譜進行推理,而不是生成候選對象(通常這是外部不可微操作)。

作者在文章中對ReifiedKB進行了一些KGQA任務以及鏈接預測任務的評估。與這些任務當前的SOTA方法相比,它的執行效果非常好。

事實上,這項工作作為一個案例,也說明SOTA不應該成為一篇論文是否被接收的衡量標準,否則我們就錯失了這些新的概念和方法。

3、Differentiable Reasoning over a Virtual Knowledge Base

文章鏈接:https://openreview.net/pdf?id=SJxstlHFPH

Dhingra等人的工作在概念礦建上與上面Cohen等人的工作類似。他們提出了DrKIT,這是一種能用於在索引文本知識庫上進行差分推理的方法。

一文全覽,ICLR 2020 上的知識圖譜研究

DrKIT intuition. Source: Dhingra et al

這個框架看起來可能會有些複雜,我們接下來將它分成幾個步驟來說明。

1)首先,給定一個question(可能需要多跳推理),實體鏈接器會生成一組 entities(下圖中的Z0)。

2)使用預先計算的索引(例如TF-IDF)將一組實體擴展為一組mentions(表示為稀疏矩陣A)。

3)在右側,question 會通過一個類似BERT的編碼器,從而形成一個緊密向量。

4)所有mentions 也通過一個類似BERT的編碼器進行編碼。

5)使用MIPS(Maximum Inner Product Search)算法計算scoring function(用來衡量mentions, entities 和 question相關分數),從而得到Top-k向量。

6)矩陣A乘以Top-K 選項;

7)結果乘以另一個稀疏的共指矩陣B(映射到一個實體)。

這構成了單跳推理步驟,並且等效於在虛擬KB中沿著其關係跟蹤提取的實體。輸出可以在下一次迭代中進一步使用,因此對N跳任務會重複N次!

此外,作者介紹了一個基於Wikidata的新的插槽填充數據集(採用SLING解析器構造數據集),並在MetaQA、HotpotQA上評估了 DrKIT,總體來說結果非常棒。

4、Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering

文章鏈接:https://openreview.net/pdf?id=SJgVHkrYDH

Asai等人的工作專注於HotpotQA,他們提出了Recurrent Retriever的結構,這是一種開放域QA的體系結構,能夠以可區分的方式學習檢索推理路徑(段落鏈)。

一文全覽,ICLR 2020 上的知識圖譜研究

Recurrent Retrieval architecture. Source: Asai et al

傳統上,RC模型會採用一些現成的檢索模型來獲取可能的候選者,然後才執行神經讀取pipeline。這篇工作則希望讓檢索具有差異性,從而將整個系統編程端到端的可訓練模型。

1)整個Wikipedia(英語)都以圖譜的形式組織,其邊表示段落和目標頁面之間的超鏈接。例如對於Natural Questions,大小約為3300萬個節點,邊有2.05億個。

2)檢索部分採用的RNN,初始化為一個隱狀態h0,這是對問題 q 和候選段落p編碼後獲得的。這些候選段落首先通過TF-IDF生成,然後通過圖譜中的鏈接生成。(上圖中最左側)

3)編碼(q,p)對的BERT [CLS]令牌會被送到RNN中,RNN會預測下一個相關的段落。

4)一旦RNN產生一個特殊的[EOE]令牌,讀取器模塊就會獲取路徑,對其重新排序並應用典型的提取例程。

作者採用波束搜索和負採樣來增強對嘈雜路徑的魯棒性,並很好地突出了路徑中的相關段落。重複檢索(Recurrent Retrieval )在HotpotQA的 full Wiki測試設置上的F1分數獲得了驚人的73分。這篇工作的代碼已發佈。

5、Neural Symbolic Reader: Scalable Integration of Distributed and Symbolic Representations for Reading Comprehension

文章鏈接:https://openreview.net/pdf?id=ryxjnREFwH

6、Neural Module Networks for Reasoning over Text

文章鏈接:https://openreview.net/pdf?id=SygWvAVFPr

我們接下來談兩篇複雜數字推理的工作。

在數字推理中,你需要對給定的段落執行數學運算(例如計數、排序、算術運算等)才能回答問題。例如:

文本:“……美洲虎隊的射手喬什·斯科比成功地射入了48碼的射門得分……而內特·凱丁的射手得到了23碼的射門得分……”問題:“誰踢出最遠的射門得分?”

目前為止,關於這個任務只有兩個數據集,DROP(SQuAD樣式,段落中至少包含20個數字)和MathQA(問題較短,需要較長的計算鏈、原理和答案選項)。因此,這個任務的知識圖譜並不很多。儘管如此,這仍然是一個有趣的語義解析任務。

在ICLR 2020 上,有兩篇這方面的工作。一篇是是Chen 等人的工作,提出了一個神經符號讀取器NeRd(Neural Symbolic Reader);另一篇是Gupta等人在神經模塊網絡NMN(Neural Module Networks)上的工作。

一文全覽,ICLR 2020 上的知識圖譜研究

NeRd vs other approaches. Source: Chen et al

兩項工作都是由讀取器和基於RNN的解碼器組成,從預定義的域特定語言(DSL,Domain Specific Language)生成操作(操作符)。從性能上相比,NeRd更勝一籌,原因在於其算符的表達能力更強,解碼器在構建組合程序上也更簡單。另一方面,NMN使用張量交互對每個運算符進行建模,於是你需要手工制定更多的自定義模塊來完成具體任務。

此外,NeRd的作者做了許多努力,為弱監督訓練建立了可能的程序集,並採用了帶有閾值的Hard EM 算法來過濾掉虛假程序(能夠基於錯誤的程序給出正確答案)。NeRd 在DROP測試集上獲得了81.7 的F1 分數,以及78.3 的EM分數。

對NMN進行評估,其中月有25%的DROP數據可通過其模塊來回答,在DROP dev測試中獲得了77.4 的F1 分數 和74 的EM 分數。

二、知識圖譜增強的語言模型

將知識融入語言模型,目前已是大勢所趨。

7、Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model

文章鏈接:https://openreview.net/pdf?id=BJlzm64tDH

今年的ICLR上,Xiong等人在預測[MASK] token之外,提出了一個新的訓練目標:需要一個模型來預測entity是否已經被置換。

作者對預訓練Wikipedia語料庫進行處理,基於超鏈接,將Wiki的entity表面形式(標籤)替換為相同類型的另一個entity。基於P31的「instance of」關係,從wikidata中獲取類型信息。如下圖所示,在有關Spider-Man的段落中,實體 Marvel Comics 可以替換為 DC Comics。

一文全覽,ICLR 2020 上的知識圖譜研究

Pre-training objective of WKLM. Source: Xiong et al

模型的任務是預測實體是否被替換掉了。

WKLM(Weakly Supervised Knowledge-Pretrained Languge Model)使用MLM目標(掩蔽率為5%,而不是BERT的15%)進行預訓練,每個數據點使用10個負樣本,類似於TransE的訓練過程。

作者評估了10個Wikidata關係中的WKLM事實完成性能(fact completion performance),發現其達到了約29 Hits@10的速率,而BERT-large和GPT-2約為16。

隨後,作者在性能優於基準的WebQuestions,TriviaQA,Quasar-T和Search-QA數據集上對WKLM進行了微調和評估。

總結一句話,這是一個新穎的、簡單的,但卻有實質性意義的想法,有大量的實驗,也有充分的消融分析。

三、知識圖譜嵌入:循序推理和歸納推理

像Wikidata這樣的大型知識圖譜永遠不會是靜態的,社區每天都會更新數千個事實(facts),或者是有些事實已經過時,或者是新的事實需要創建新實體。

循序推理。說到時間,如果要列出美國總統,顯然triple-base的知識圖譜,會把亞當斯和特朗普都列出來。如果不考慮時間的話,是否意味著美國同時有45位總統呢?為了避免這種歧義,你必須繞過純RDF的限制,要麼採用具體化的方式(針對每個具體的歧義進行消除),要麼採用更具表現力的模型。例如Wikidata狀態模型(Wikidata Statement Model)允許在每個statement中添加限定符,以總統為例,可以將在限定符處放上總統任期的開始時間和結束時間,通過這種方式來表示給定斷言為真的時間段。循序知識圖譜嵌入算法(Temporal KG Embeddings algorithms)的目標就是夠條件這樣一個時間感知(time-aware)的知識圖譜表示。在知識圖譜嵌入中時間維度事實上,只是嵌入字(例如身高、長度、年齡以及其他具有數字或字符串值的關係)的一部分。

歸納推理。大多數現有的知識圖譜嵌入算法都在已知所有實體的靜態圖上運行——所謂的轉導設置。當你添加新的節點和邊時,就需要從頭開始重新計算整個嵌入;但對於具有數百萬個節點的大型圖來說,這顯然不是一個明智的方法。在歸納設置(inductive setup)中,先前看不見的節點可以根據他們之間的關係和鄰域進行嵌入。針對這個主題的研究現在不斷增加,ICLR 2020 上也有幾篇有趣的文章。

8、Tensor Decompositions for Temporal Knowledge Base Completion

文章鏈接:https://openreview.net/pdf?id=rke2P1BFwS

Lacroix等人使用新的正則化組件擴展了ComplEx嵌入模型,這些正則化組件考慮了嵌入模型中的時間維度。

這項工作非常深刻,具體表現在以下幾個方面:1)想法是將連續的時間戳(如年,日及其數值屬性)注入到正則化器中;2)作者提出TComplEx,其中所有謂詞都具有time屬性;提出TNTCompEx,其中對諸如「born in」這樣“永久”的屬性進行區別對待。實驗表明,TNTCompEx的性能更好;3)作者介紹了一個新的大型數據集,該數據集基於Wikidata Statements,但帶有開始時間和結束時間限定符,該數據集包含約40萬個實體和700萬個事實。

一文全覽,ICLR 2020 上的知識圖譜研究

Time-aware ComplEx (TNTComplEx) scores. Source: Lacroix et al

上圖中,你可以看到這個模型如何對描述法國總統的事實的可能性進行評分:自2017年以來,伊曼紐爾·馬克龍的得分更高,而弗朗索瓦·奧朗德在2012–2017年的得分更高。

9、Inductive representation learning on temporal graphs

文章鏈接:https://openreview.net/pdf?id=rJeW1yHYwH

再進一步,Xu等人提出了臨時圖注意力機制TGAT(temporal graph attention),用於建模隨時間變化的圖,包括可以將新的先前未見的節點與新邊添加在一起時的歸納設置。其思想是基於經典和聲分析中的Bochner定理,時間維度可以用傅里葉變換的時間核來近似。時間嵌入與標準嵌入(例如節點嵌入)串聯在一起,並且全部輸入到自注意力模塊中。

一文全覽,ICLR 2020 上的知識圖譜研究

Source: Xu et al

作者將TGAT在具有單關係圖(不是KG的多關係圖)的標準轉導與歸納GNN任務上進行了評估,TGAT顯示出了很好的性能提升。個人認為,這個理論應該可以進一步擴展到支持多關係KG。

再回到傳統的感應式KG嵌入設置(transductive KG embedding setup):

— GNN?是的!— Multi-多關係?是的!— 建立關係的嵌入?是的!— 適合知識圖譜嗎?是的!— 適用於節點/圖形分類任務嗎?是的。

10、Composition-based Multi-Relational Graph Convolutional Networks

文章鏈接:https://openreview.net/pdf?id=BylA_C4tPr

Vashishth 等人提出的 CompGCN體系結構為你帶來了所有這些優點。標準的圖卷積網絡以及消息傳遞框架在考慮圖時,通常認為邊是沒有類型的,並且通常不會構建邊的嵌入。

知識圖譜是多關係圖,邊的表示對鏈接預測任務至關重要。對於(Berlin,?,Germany) 的query,你顯然是要預測capitalOf,而不是childOf。

在CompGCN中,首先會為輸入的 KG 填充反關係(最近已普遍使用)和自循環關係(用來實現GCN的穩定性)。CompGCN採用編碼-解碼方法,其中圖編碼器構建節點和邊的表示形式,然後解碼器生成某些下游任務(如鏈接預測或節點分類)的分數。

一文全覽,ICLR 2020 上的知識圖譜研究

CompGCN intuition. Source: Vashishth et al

節點表示是通過聚集來自相鄰節點的消息而獲得的,這些消息對傳入和傳出的邊(圖中的Wi,Wo以及那些自循環)進行計數,其中交互函數對 (subject, predicate)進行建模。

作者嘗試了加法(TransE-style),乘法(DistMult-style)和圓相關(HolE-style)的交互。在彙總節點消息之後,邊的表示將通過線性層進行更新。你幾乎可以選擇任何你喜歡的解碼器,作者選擇的是 TransE,DistMult 和 ConvE 解碼器。CompGCN在鏈接預測和節點分類任務方面都比R-GCN要好,並且在性能上與其他SOTA模型相當。性能最好的CompGCN是使用帶有ConvE解碼器的基於循環相關的編碼器。

11、Probability Calibration for Knowledge Graph Embedding Models

文章鏈接:https://openreview.net/pdf?id=S1g8K1BFwS

Last, but not least,Tabacoff和Costabello考慮了KGE模型的概率校準。簡單來說,如果你的模型以90%的置信度預測某個事實是正確的,則意味著該模型必須在90%的時間裡都是正確的。但是,通常情況並非如此,例如,在下圖中,表明TransE傾向於返回較小的概率(有點“悲觀”)。

一文全覽,ICLR 2020 上的知識圖譜研究

Source: Tabacoff and Costabello

作者採用Brier評分來測量校準,採用Platt縮放和等滲迴歸來優化校準評分,並提出了在沒有給出“hard negatives”的典型鏈接預測方案中對負樣本進行採樣的策略。於是,你可以校準KGE模型,並確保它會返回可靠的結果。這是一個非常好的分析,結果表明在一些工業任務上,你可以用KGE模型來提升你對自己算法/產品的信心。

四、用GNN做實體匹配

不同的知識圖譜都有他們自己的實體建模的模式,換句話說,不同的屬性集合可能只有部分重疊,甚至URLs完全不重疊。例如在Wikidata中Berlin的URL是https://www.wikidata.org/entity/Q64,而DBpedia中Berlin的URL是http://dbpedia.org/resource/Berlin。

如果你有一個由這些異質URL組成的知識圖譜,儘管它們兩個都是在描述同一個真實的Berlin,但知識圖譜中卻會將它們視為各自獨自的實體;當然你也可以編寫/查找自定義映射,以顯式的方式將這些URL進行匹配成對,例如開放域知識圖譜中經常使用的owl:sameAs謂詞。維護大規模知識圖譜的映射問題是一個相當繁瑣的任務。以前,基於本體的對齊工具主要依賴於這種映射來定義實體之間的相似性。但現在,我們有GNNs來自動學習這樣的映射,因此只需要一個小的訓練集即可。

我們在「知識圖譜@AAAI2020」的文章中簡要討論了實體匹配的問題。而在ICLR 2020 中這方面的研究有了新的進展。

12、Deep Graph Matching Consensus

文章鏈接:https://openreview.net/pdf?id=HyeJf1HKvS

Fey 等人推出了DGMC框架(深度圖匹配共識,Deep Graph Matching Consensus),這個框架包括兩大階段:

一文全覽,ICLR 2020 上的知識圖譜研究

Deep Graph Matching Consensus intuition. Source: Fey et al

1)兩個圖,源圖(Gs)和目標圖(Gt),通過相同的GNN(具有相同的參數,表示為ψ_θ1)獲得初始節點嵌入。然後通過乘以節點嵌入,並應用Sinkhorn歸一化來獲得軟對應矩陣S(soft correspondences matrix S)。這裡可以使用任何最適合任務的GNN編碼器。

2)隨後將消息傳遞(也可以看做是圖形著色)應用到鄰域(標註為ψ_θ2的網絡),最後計算出源節點和目標節點之間的距離(ψ_θ3),這個距離表示鄰域共識。

作者對DGMC進行了廣泛的任務評估——匹配隨機圖、匹配目標檢測任務的圖,以及匹配英、漢、日、法版的DBpedia。有意思的是,DGMC在刪除關係類型時,卻能產生很好的結果,這說明源KG和目標KG之間基本上是單一關係。

於是引入這樣一條疑惑:如果在Hits@10我們已經做到90+%了,真的還需要考慮所有屬性類型以及限制語義嗎?

13、Learning deep graph matching with channel-independent embedding and Hungarian attention

文章鏈接:https://openreview.net/pdf?id=rJgBd2NYPH

Yu 等人介紹了他們的深度匹配框架,這個框架具有兩個比較鮮明的特徵:聚焦在聚合邊緣嵌入、引入一個新的匈牙利注意力(Hungarian attention)。匈牙利算法是解決分配問題的經典方法,但它不是可微分的。

一文全覽,ICLR 2020 上的知識圖譜研究

作者利用一個黑箱(帶有匈牙利注意力)的輸出來生成網絡結構,然後把這個流進一步地傳播。匈牙利注意力的方法,直觀來理解一下:

1)初始步驟類似於DGMC,一些圖編碼器生成節點和邊嵌入,且相似矩陣通過Sinkhorn規範化來傳遞;

2)不同的是,生成矩陣被返回到匈牙利黑箱(而不是像DGMC中那樣傳遞迭代消息),從而生成離散矩陣;

3)通過注意力機制與基準進行比較,獲得激活圖,然後對其進行處理,從而獲得loss。

作者僅在CV基準上進行了評估,但由於匈牙利算法的時間複雜度是O(n³),所以如果能把runtime 也放出來,可能會更有趣。

五、角色扮演遊戲中的知識圖譜

互動小說遊戲(Interactive Fiction games,例如RPG Zork文字遊戲)非常有趣,尤其是你探索完世界,然後輸入一段話,等待遊戲反饋的時候。

14、Graph Constrained Reinforcement Learning for Natural Language Action Spaces

文章鏈接:https://openreview.net/pdf?id=B1x6w0EtwH

Ammanabrolu 和 Hausknecht 提出了一項有關 IF 遊戲中強化學習的新工作。這個工作中使用了 知識圖譜來建模狀態空間和用戶交互。

一文全覽,ICLR 2020 上的知識圖譜研究

Source: Ammanabrolu and Hausknecht

例如,詞彙表中有數十個模板和數百個單詞。嘗試所有可能的排列是不可行的。但當你維護一個可見實體的知識圖譜時,agent的可選項就會大幅度減少,於是便可以更快地推進遊戲。

在他們提出的編碼-解碼模型 KG-A2C(Knowledge Graph Advantage Actor Critic)中,編碼器採用GRU進行文本輸入,並使用圖注意力網絡構建圖嵌入。此外,在解碼器階段使用可見對象的圖遮掩(graph mask)。在基準測試中,KG-A2C可以玩28個遊戲!

Soon they will play computer games better than us meatbags.

很快,電子遊戲上,他們將比我們這些菜包子們打的更好了。

一文全覽,ICLR 2020 上的知識圖譜研究

6、Conclusion

目前我們看到,知識圖譜已經越來越多地應用到 AI的各個領域,特別是NLP領域。

ICML 和ACL 隨後也將到來,屆時我們再見。

雷鋒網雷鋒網

via https://medium.com/@mgalkin/knowledge-graphs-iclr-2020-f555c8ef10e3


分享到:


相關文章: