天天看點

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

論文題目:Graph-Based Reasoning over Heterogeneous External Knowledge for Commonsense Question Answering

論文來源:AAAI 2020 信工所,北大,微軟

論文連結:https://arxiv.org/abs/1909.05311

關鍵詞:知識圖譜,機器推理,常識問答,GCN,Attention

官方介紹:機器推理系列第一彈:機器推理在常識問答任務中的應用

本文處理的是常識問答任務。使用結構化的ConceptNet和非結構化的Wikipedia中的純文字,作為兩個外部知識源,并根據問題和答案選項,從兩個知識源中抽取出evidence。再根據evidence建構出圖,提出算法重新定義單詞間的距離,進行節點的表示學習。然後使用GCN和圖注意力機制進行節點的編碼和evidence的聚合,得到最終的表示,用于答案的推斷。

文章目錄

  • 1 摘要
  • 2 引言
  • 3 方法概覽
  • 4 知識抽取
    • 4.1 從ConceptNet抽取出知識
    • 4.2 從Wikipedia中抽取出知識
  • 5 基于圖的推理
    • 5.1 基于圖的上下文表示學習子產品
    • 5.2 基于圖的推斷子產品
  • 6 實驗
  • 7 總結

1 摘要

常識問答的目的是回答那些需要背景知識的問題,而且這些知識并沒有在問題中明确表達出來。

主要的挑戰是:如何從外部知識中獲驗證據,并根據這些證據做出預測。

最近的研究工作:1)從人工标注的證據中生成證據,但是人工标注證據耗時耗力,難以收集;2)從結構化或非結構化的知識庫中抽取出證據,但不能同時利用這兩種資源。

本文提出新方法,自動地從異質知識來源(heterogeneous knowledge sources)中抽取出證據,并且基于這些證據進行問答。

抽取的證據來源有結構化的知識庫(ConceptNet)和Wikipedia plain texts。作者将這些來源的資訊建構成圖,以得到證據間的關系結構。

模型由兩個子產品組成:1**)基于圖的上下文相關的詞表示學習子產品;2)基于圖的推斷子產品**。第一個子產品利用了圖結構的資訊,來重新定義單詞間的距離,以更好地學習上下文的詞表示。第二個子產品使用圖卷積網絡,将鄰居資訊融合到節點的表示中,并使用圖注意力機制進行證據的聚合,以用于最終答案的預測。

實驗結果顯示,本文提出的方法在以色列特拉維夫大學常識問答任務CommmonsenseQA資料集上取得了目前state-of-the-art的準确率。

2 引言

(1)任務介紹

1)推理

推理是人工智能和自然語言進行中一項重要的富有挑戰的任務,目的是從原理(principle)和證據(evidence)中推理出結論。如果把推理過程看成運作一個機器的話,evidence就是機器的燃料,principle就是機器本身,機器使用燃料來生成預測出的推理結果。

大多數研究隻将目前的資料點作為輸入,忽略了背景知識中的重要證據。

2)常識問答

本文研究的是常識問答,收集背景知識并使用這些知識推理出問題的答案。

CommmonsenseQA是這一領域很有影響力的資料集,任務是給定1個有 m m m個tokens的自然語言問題 Q Q Q和5個候選答案 { a 1 , a 2 , . . . a 5 } {\{a_1, a_2, ... a_5}\} {a1​,a2​,...a5​}作為輸入,要求輸出正确的答案。

該資料集在建構過程中已經保證每個候選答案都和問題中的詞彙具有語義關聯,是以正确回答該資料集中的問題需要有效利用問題和候選答案的相關背景知識。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結
藍色的單詞是來自問題的資訊(concept),綠色的單詞是ConceptNet中的證據(evidence),紅色的單詞表示根據證據選擇出的答案。

上圖就展示了CommmonsenseQA資料集中的一個例子,做出正确的決策需要多個外部知識。根據ConcepNet中結構化的知識,可以選出 ( A , C ) (A, C) (A,C);根據Wikipedia中的知識可以選出 ( C , E ) (C, E) (C,E)。結合這兩個外部知識可以得出正确的答案 C C C。

(2)現有的方法

近些年有學者提出了一些方法來抽取出證據并基于證據進行推理。然而,這些方法要不是根據人工标注的證據生成新證據,要不就是從異質的知識來源中抽取出證據,例如ConceptNet中結構化的知識、Wikipedia中的純文字(plain texts)。這些方法都隻針對一種知識來源,不能同時利用這兩種知識來源(結構化的知識和非結構化的純文字知識)。

結構化的知識來源中包含着不同概念間的結構化關聯資訊,有助于機器推理,但是它們的覆寫率很低。純文字可以提供豐富的高覆寫率的證據,可以對結構化的知識進行補充。

(3)作者提出

從異質的外部知識庫中自動收集證據,并基于這些證據實作常識知識問答。

方法分為兩個部分:1)知識抽取;2)基于圖的推理。

在知識抽取部分,我們自動地從ConceptNet抽取出圖路徑并從Wilipedia中抽取出句子。為了更好地利用證據之間的關系資訊,我們使用語義角色标注(SRL)從Wikipedia的句子中抽取出三元組并從ConceptNet中抽取出圖路徑,進而建構出圖。

在基于圖的推理部分,我們提出一個基于圖的方法來更好地使用圖中的資訊。提出了兩個基于圖的子產品:

1)基于圖的上下文詞表示學習子產品:使用了圖結構資訊,對單詞之間的距離進行重定義,以學習到更好的上下文詞表示;

2)基于圖的推斷子產品:先使用GCN将鄰居的資訊編碼到節點的表示中,然後使用圖注意力機制進行證據的聚合。

作者在CommonsenseQA資料集上進行實驗,結果顯示這兩個子產品都促進了模型性能的提升。

(4)貢獻

  1. 使用基于圖的方法,利用異質資訊來源中的證據資訊,以進行常識問答;
  2. 提出基于圖的上下文詞表示學習子產品和基于圖的推理子產品,以更好地利用圖中的資訊,用于常識問答。
  3. 在在CommonsenseQA資料集上進行實驗,實作了state-of-the-art。

3 方法概覽

本文方法的概覽如圖2所示,由兩部分組成:知識抽取和基于圖的推理。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

(1)知識抽取

根據給出的問題和選項,從結構化的知識庫ConcpetNet和Wikipedia純文字資料中抽取出知識,并使用這些知識的關聯結構,建構成圖。

(2)基于圖的推理

提出兩個子產品:

1)基于圖的上下文詞表示學習子產品:使用圖資訊重新定義單詞間的距離,以更好地學習詞表示;

2)基于圖的推斷子產品:使用GCN和圖注意力機制,聚合鄰居的資訊,得到節點的表示,以用于最終的預測。

接下來将詳細介紹模型的每一個部分。

4 知識抽取

給定問題和選項,使用本文的方法從ConceptNet和Wikipedia中抽取出證據。

4.1 從ConceptNet抽取出知識

ConceptNet是常用的常識知識庫,包含有百萬級别的節點和邊。ConceptNet中的三元組包括4個部分:兩個節點,一個關系以及關系的權重。

針對每個問題和選項,首先識别出其在給定的ConceptNet圖中對應的實體。然後在圖中搜尋從問題中的實體到選項中的實體的路徑,路徑小于3。接着,将覆寫到的三元組合并到一個圖中,其中節點是三元組,邊表示三元組間的關系。我們将此圖稱為Concept-Graph。

如果兩個三元組 s i , s j s_i, s_j si​,sj​有相同的實體,則為兩個三元組間添加連邊。

為了獲得ConceptNet節點的上下文詞表示,我們根據ConceptNet中的關系模闆,将三元組轉換為自然語言序列。

4.2 從Wikipedia中抽取出知識

使用Spacy從Wikipedia中抽取出107M個句子,并使用Elastic Search tools為句子添加索引。

Spacy:https://spacy.io/

Elastic Search tools:https://www.elastic.co/

首先,去掉給定問題和選項中的停用詞;然後将單詞拼接起來作為queries,在Elastic Search engine中進行搜尋。這個引擎會根據queries和所有Wikipedia句子的比對得分進行排序。我們選取top K(實驗中K=10)個句子作為Wikipedia的證據(evidence)。

為了得到Wikipedia證據中的結構資訊,我們将這些證據建構成圖。利用語義角色标注(SRL)為句中的每個謂詞抽取出對應的要素(argument,例如主語、賓語)。圖中的節點就是這些要素和謂詞,兩者之間的關系對應圖中的邊。

為了增強圖的連通性,我們去掉了停用詞并根據以下規則在節點 a , b a, b a,b間連邊:

(1)節點 a a a包含于節點 b b b,且 a a a中的單詞(word)數量大于3;

(2)節點 a a a和節點 b b b隻有一個單詞不同,并且 a a a和 b b b中單詞的數量均大于3。

我們将Wikipedia圖定義為Wiki-Graph。

5 基于圖的推理

我們在抽取出的證據的基礎上,提出基于圖的推理模型,如圖3所示。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

模型由兩個子產品組成:

(1)基于圖的上下文表示學習子產品:使用圖資訊重新定單詞間的距離,學習到更好的上下文詞表示;

(2)基于圖的推斷子產品:使用GCN和圖注意力機制,得到節點的表示,用于最終的預測。

5.1 基于圖的上下文表示學習子產品

(1)引入預訓練語言模型

一個簡單的方式是:将所有的證據連接配接成一個序列,将其輸入到XLNet中,得到每個單詞的表示。

對于出現在不同的證據句子中但語義相關的單詞,這種做法會增加單詞間的距離。

(2)使用圖結構

是以我們使用圖結構來重新定義證據單詞(evidence sentences)間的相對位置。這樣的話,語義相關聯的單詞會有較短的相對距離,還可以使用證據内部的關系結構以得到更好的上下文單詞表示。

(3)拓撲排序算法

作者使用如下的拓撲排序算法(算法1),根據建構的圖來重新對輸入的證據進行排序。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

1)對于Wikipedia中的句子

對于Wikipedia中的句子,首先,我們建構一個句子圖。evidence sentences S S S是圖中的節點。對于兩個句子 s i , s j s_i, s_j si​,sj​,若在Wiki-Graph中存在邊 ( p , q ) (p, q) (p,q),其中 p , q p,q p,q分别存在于 s i , s j s_i, s_j si​,sj​中,則在句子圖中添加邊 ( s i , s j ) (s_i, s_j) (si​,sj​)。

然後,根據算法1,我們就可以得到排序後的evidence sentences S ′ S^{'} S′。

2)對于ConceptNet中結構化的三元組

對于ConceptNet中結構化的三元組,我們不直接将其表示成自然語言的形式。而是使用ConceptNet提供的關系模闆将三元組轉換成自然語言文本句子。

例如,“mammals HasA hair”降被轉換成“mammals has hair”。通過這種方式,我們就得到抽取出的圖(Concept-Graph)的基于三元組的句子集合 S T S_T ST​。然後使用算法1中的方法,得到重新排序後的evidence S T ′ S^{'}_T ST′​。

(4)融合兩個來源的知識得到詞表示

将排序後的ConceptNet evidence sentences S T ′ S^{'}_T ST′​,排序後的Wikipedia evidence sentences S ′ S^{'} S′,問題 q q q以及選項 c c c,四部分進行拼接,作為XLNet的輸入。XLNet的輸出就是上下文的word piece的表示。

通過将抽取出的圖(Concept-Graph和Wiki-Graph)轉換成自然語言文本,實作了對兩種異質知識來源資訊的融合,将其整合到了同一個表示空間中。

5.2 基于圖的推斷子產品

上述的基于XLNet的模型為預測提供了有效的word-level的資訊。除此之外,圖還可以提供semantic-level的資訊,比如關系中的主語/賓語。是以,我們對圖級别的evidence資訊進行聚合,用于最終的預測。

(1)圖卷積的使用

我們将Concept-Graph和Wiki-Graph兩個evidence圖視為一個圖,并使用GCN編碼圖結構的資訊,得到節點的表示。為了在evidence間傳遞資訊并在圖上進行推理,GCN通過對鄰接節點的特征進行池化,來更新節點的特征。由于關系型的GCN通常會over-parameterize模型,是以我們在無向圖上使用GCN。

第 i i i個節點的表示 h i 0 h^0_i hi0​計算如(1)式所示:

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

其中 s i = { w 0 , . . . , w t } s_i = {\{w_0, ..., w_t}\} si​={w0​,...,wt​}是第 i i i個節點對應的evidence; h w j h_{w_j} hwj​​是XLNet輸出的token w j w_j wj​的上下文token表示; W ∈ R d × k W\in R^{d\times k} W∈Rd×k是用來降維的,将次元從 d d d減少到 k k k。

為了在圖上進行推理,我們使用兩個步驟實作資訊的傳播:聚合和結合。

1)聚合

從每個節點的鄰居聚合資訊,針對第 i i i個節點,聚合得到的資訊 z i l z^l_i zil​如(2)式所示。其中 N i N_i Ni​表示第 i i i個節點的鄰居, h j l h^l_j hjl​是第 j j j個節點在第 l l l層的表示。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

2)結合

z i l z^l_i zil​包含了第 i i i個節點在第 l l l層的鄰居資訊,将其和轉換後的第 i i i個節點的表示相結合,得到更新後的節點表示 h i l + 1 h^{l+1}_i hil+1​。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

(2)圖注意力的使用

使用圖注意力機制聚合graph-level的表示來進行預測,如下式所示。其中 h i L h^L_i hiL​表示第 i i i個節點在最後一層的表示; h c h_c hc​是XLNet中最後一個token的表示,可視為輸入表示; α i \alpha_i αi​表示第 i i i個節點的重要性; h g h^g hg是graph representation(我認為 h g h^g hg是一個矩陣,包括了圖中所有節點的表示,因為 N N N沒有下标,也就是 N N N不是針對某一節點的鄰居集合)。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

(3)進行預測

将輸入的表示 h c h^c hc和圖表示 h g h^g hg拼接起來作為多層感覺機(MLP)的輸入,來計算置信度分值 s c o r e ( q , a ) score(q, a) score(q,a)。候選的答案 a a a是問題 q q q的真實答案的機率計算如下,其中 A A A是候選答案集合。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

選擇置信度分值最高的候選答案作為預測結果。

注意,如圖3所示,針對每個候選答案都生成一個圖的表示 h g h^g hg,用于預測該答案是正确答案的機率。

6 實驗

1、實驗設定

資料集為CommonsenseQA,包含12,102個例子,9,741個用于訓練,1,221個用于驗證,1,140個用于測試。

使用XLNet large cased作為預訓練模型。在每個選項前拼接“The answer is”,将每個選項轉換成一個句子。

每個選項的輸入形式為“ question The answer is ”。

基于所有的選項總共得到5個置信度得分,然後使用softmax函數計算出真實值和預測值間的損失,使用交叉熵損失作為損失函數。

2、Baselines

從leaderborad中已釋出的模型選擇出要和本文模型進行對比的方法,并将其分為4組;

  • Group 1:不使用描述或papers的模型,包括SGN-lite, BECON (single), BECON (ensemble), CSR-KG and CSR-KG (AI2 IR);
  • Group 2:不使用抽取出的知識的模型,包括BERT-large, XLNet-large和RoBERTa ;
  • Group 3:使用抽取出的知識的模型,包括BERT + AMS和BERT + CSPT,這些模型使用了ConceptNet中結構化的知識來增強模型的能力;
  • Group 4:使用抽取出的無結構知識的模型,包括BERT + AMS和BERT + CSPT。

這些模型要不利用了結構化知識的evidence資訊,要不利用了非結構化知識的evidence資訊,沒有同時利用這兩種來源的知識。

3、實驗結果

(1)和Baselines對比

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

(2)消融實驗

基于圖的推理子產品的有效性:

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

異質知識來源的有效性:

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

(3)例子學習

問題是:“Animals who have hair and don’t lay eggs are what?”

答案是:“mammals”

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

前三個節點是來源于ConceptNet evidence graph(Concept-Graph)的,可以看出“mammals is a kind of animals”和“mammals has hair”,為“mamals”和“animals”、“hair”兩個概念間的關聯提供了資訊。

我們還需要能展現“lay eggs”和“mammals”間關聯的evidence。

後三個節點來源于Wikipedia evidence graph(Wiki-Graph),它們提供了資訊“very few mammals lay eggs”。

這個例子可以說明結構化的和非結構化的知識來源,對于推理出正确答案的必要性。

(4)錯誤分析

從驗證集中選取了50個回答錯誤的樣本,将其分成了三類:1)缺少evidence;2)有相似的evidence;3)資料集噪聲。

有10個錯誤的樣本是由于缺少evidence,例如圖5中的第一個樣本沒有從ConceptNet和Wikipedia中抽取出evidence,是以沒有足夠的資訊以得到正确的答案。使用增強的抽取的政策,增加更多的知識來源,可以緩解這一問題。

【論文解讀 AAAI 2020】Graph-Based Reasoning over Heterogeneous External Knowledge for 常識問答1 摘要2 引言3 方法概覽4 知識抽取5 基于圖的推理6 實驗7 總結

有38個錯誤的樣本,它們得到了足夠的evidence,但是evidence太相似了不能對選項加以差別。例如圖5中的第二個例子,有“injury”和“puncture wound”兩個選項,從兩個知識源擷取到的evidence有着相似的資訊。為了緩解這一問題,應該從其他的知識源抽取出更多的evidence。

7 總結

本文解決的是常識問答問題。

本文提出的方法由知識抽取和基于圖的推理兩大部分組成。

在知識抽取部分,我們從異質的知識來源中抽取出來evidence資訊。知識源包括:結構化的知識源ConceptNet和Wikipedia中的純文字。我們使用兩個來源的資料分别建構了圖,并利用了關系結構資訊。

在基于圖的推理部分,我們提出了基于圖的上下文詞表示學習子產品,以及基于圖的推斷子產品。第一個子產品使用了圖結構資訊對單詞間的距離重定義,以學習到更好的上下文詞表示。第二個子產品使用了GCN将鄰居資訊編碼到節點的表示中,然後使用圖注意力機制進行evidence的聚合,用于最終答案的推斷。

實驗結果顯示,本文的模型在CommonsenseQA leaderboard上實作了state-of-the-art。

未來工作:添加更多的異質知識源;改進本文模型中的推理子產品以進一步提升模型性能。

本文的亮點在于:

(1)兩種類型的外部知識庫的利用

同時利用了結構化的外部知識源(ConceptNet)和非結構化的外部知識源(Wikipedia)。

其中,結構化的知識源包含概念之間的關聯資訊,有助于機器推理,但是覆寫率較低。非結構化的知識源包含豐富的高覆寫率的資訊,對結構化知識進行了補充。實驗也證明了同時使用這兩種類型的知識源,可以提升模型的性能。

(2)基于圖的方法充分利用了結構上的資訊

知識抽取部分:

為了利用到更多的結構上的資訊,作者将從兩個外部知識庫中抽取出的evidence資訊建構成圖。

基于圖的推理部分:

1)上下文表示學習子產品:為了減小在不同的evidence句子中,但是語義關聯的單詞間的相對距離,基于圖結構的資訊使用拓撲排序算法,對單詞間的距離進行了重新的定義。将重新排序後兩個圖(Concept-Graph和Wiki-Graph)的evidence句子資訊、問題和候選答案進行拼接,作為XLNet的輸入,得到word-level的資訊。

2)基于圖的推斷子產品:在evidence圖(将Concept-Graph和Wiki-Graph看成一個evidence圖)上進行GCN并使用圖注意力機制,得到每個節點(Concept-Graph中的節點是三元組,Wiki-Graph中的節點是謂詞和要素)的表示。每個節點的向量表示羅列在一起得到圖的表示矩陣。

繼續閱讀