(QA paper解讀):Graph-Based Reasoning over Heterogeneous External Knowledge for Commonsense QA

Graph-Based Reasoning over Heterogeneous External Knowledge for Commonsense Question Answering

AAAI2020;PDF鏈接

Abstract

常識問答是指需要一些背景知識/常識經驗的問答,一般採用的方法包括:人工標註進行學習;從結構化或非結構化數據源選擇相關資訊支撐回答。本文結合結構化知識庫ConceptNet和非結構化知識庫Wikipedia在CommonsenseQA數據集上進行常識問答。具體而言,首先從不同源抽取問句相關的知識組成圖,然後使用基於圖網路的方法選擇正確答案,包括:結合拓撲結構資訊的上下文編碼,GCN消息傳遞與聚合從而更新節點編碼,以及結合圖注意力機制的正確答案選擇。

Introduction

常識問答需要兩個條件:一是問句相關的背景資訊/知識(The evidence),二是根據相關資訊選擇正確答案(The principle)。過去的方法或多或少缺少一些條件,因此本文結合知識圖譜ConceptNet和文本庫Wikipedia兩個數據源進行常識問答,之所以做出這樣的選擇原因見下圖。這樣,就可以從這兩種不同類型的數據源獲取支援資訊,以類似「投票」的方式選擇複核不同數據源的答案,避免單一數據源偏差。面向CommonsenseQA數據集(一個多項選擇問答數據集),提出基於圖方法的模型。

Approach Overview

上圖直觀表現了本文方法,即,(知識抽取)根據問句和答案選項從不同源資料庫抽取相關資訊,組成圖形式;(圖推理)應用圖網路方法解析圖,選擇正確答案。

知識抽取

  1. 從ConceptNet抽取相關知識

    根據問句和候選答案在ConceptNet中選擇相應實體,然後選擇從問句實體到答案實體的三跳以內的路徑,合併得到問答相關子圖(Concept-Graph)。為後續處理,進一步根據預定義的關係模板將三元組轉化為自然語言序列。

  2. 從Wikipedia抽取相關知識

    去問句和選項中的提用詞,拼接分詞結果,據此在Elastic Search中選擇K=10個匹配度最高的句子。根據這些句子,使用Semantic Role Labeling (SRL) 抽取每個句子中predicate對應的(subjective, objective) ,以三元組形式構成圖(Wiki-Graph)。

圖推理

  1. 基於圖的詞上下文表示

    該模組結合預訓練語言模型XLNet和圖結構資訊獲取更好的上下文單詞表示。注意,此處使用的圖資訊並非直接前一階段獲取的Concept-Graph和Wiki-Graph,而是構建句子圖,即以句子為節點的圖:對Wiki-Graph,如果兩個句子分別包含的實體p和q在Wiki-Graph之間有連接,則在這兩個句子添加一條邊,如此構成Wiki句子圖;至於Concept-Graph,前面提到根據預定義的關係模板將三元組轉化為自然語言序列,進行同樣的處理得到Concept句子圖。面向句子圖,作者提出拓撲排序演算法對句子關聯性進行排序。將排序的Concept句子、Wiki句子、問句和答案選項輸入給XLNet,輸出新的上下文詞向量。這一部分的高明之處在於通過,講道理的說,模型其他部分的結構很多人也能夠想到,但這部分基於圖結構對詞向量的重新嵌入實在是高明,推薦看原文

  2. 圖推理:GCN圖節點表示+Graph-Attention選擇答案

    首先使用GCN對Concept-Graph和Wiki-Graph中的節點進行編碼,然後使用圖點積注意力實現答案選擇。該模組原理即以下五個公式,結合模型圖還是容易明白的,難點是程式碼實現Orzzz…

Experiments

數據集:CommonsenseQA,常識問答經典數據集。

實驗結果:與其他模型的比較見下圖,說實話效果真的很好。

Ablation Study :

Case Study

Error Analysis

Related work

  • 常識推理研究
  • 預訓練語言模型進展
  • GNN在NLP中的應用

Conclusion

未來改進方向:

  • 融合更多知識源
  • 推理模組的性能提升(本質是提高模型推理能力,不同應用中均應關注)