(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
上圖直觀表現了本文方法,即,(知識抽取)根據問句和答案選項從不同源資料庫抽取相關資訊,組成圖形式;(圖推理)應用圖網路方法解析圖,選擇正確答案。
知識抽取
-
從ConceptNet抽取相關知識
根據問句和候選答案在ConceptNet中選擇相應實體,然後選擇從問句實體到答案實體的三跳以內的路徑,合併得到問答相關子圖(Concept-Graph)。為後續處理,進一步根據預定義的關係模板將三元組轉化為自然語言序列。
-
從Wikipedia抽取相關知識
去問句和選項中的提用詞,拼接分詞結果,據此在Elastic Search中選擇K=10個匹配度最高的句子。根據這些句子,使用Semantic Role Labeling (SRL) 抽取每個句子中predicate對應的(subjective, objective) ,以三元組形式構成圖(Wiki-Graph)。
圖推理
-
基於圖的詞上下文表示
該模組結合預訓練語言模型XLNet和圖結構資訊獲取更好的上下文單詞表示。注意,此處使用的圖資訊並非直接前一階段獲取的Concept-Graph和Wiki-Graph,而是構建句子圖,即以句子為節點的圖:對Wiki-Graph,如果兩個句子分別包含的實體p和q在Wiki-Graph之間有連接,則在這兩個句子添加一條邊,如此構成Wiki句子圖;至於Concept-Graph,前面提到根據預定義的關係模板將三元組轉化為自然語言序列,進行同樣的處理得到Concept句子圖。面向句子圖,作者提出拓撲排序演算法對句子關聯性進行排序。將排序的Concept句子、Wiki句子、問句和答案選項輸入給XLNet,輸出新的上下文詞向量。這一部分的高明之處在於通過,講道理的說,模型其他部分的結構很多人也能夠想到,但這部分基於圖結構對詞向量的重新嵌入實在是高明,推薦看原文。
-
圖推理:GCN圖節點表示+Graph-Attention選擇答案
首先使用GCN對Concept-Graph和Wiki-Graph中的節點進行編碼,然後使用圖點積注意力實現答案選擇。該模組原理即以下五個公式,結合模型圖還是容易明白的,難點是程式碼實現Orzzz…
Experiments
數據集:CommonsenseQA,常識問答經典數據集。
實驗結果:與其他模型的比較見下圖,說實話效果真的很好。
Ablation Study :
Case Study
Error Analysis
Related work
- 常識推理研究
- 預訓練語言模型進展
- GNN在NLP中的應用
Conclusion
未來改進方向:
- 融合更多知識源
- 推理模組的性能提升(本質是提高模型推理能力,不同應用中均應關注)