开放域知识库问答研究回顾
?PaperWeekly 原創 ·?作者|舒意恒
學校|南京大學碩士生
研究方向|知識圖譜
開放域問答的研究已經從復雜流水線系統進化到端到端深度神經網絡。其中一些方法利用知識庫中的信息進行作答,另一些特殊的方法通過融合知識庫和文本信息二者進行作答。本文旨在回顧近年來開放域知識庫問答或知識庫-文本融合問答的重要工作。
本文介紹近年來幾篇知識庫問答的工作,包括 Graft-Net、Pull-Net 和 EmbedKGQA 等工作,并簡單描述了知識庫問答領域常見的數據集。
Graft-Net
論文標題:Open Domain Question Answering Using Early Fusion of Knowledge Bases and Text
論文來源:EMNLP 2018
論文鏈接:https://arxiv.org/abs/1809.00782
代碼鏈接:https://github.com/OceanskySun/GraftNet
知識庫和文本作為問答系統的數據源,各有優劣。前者的覆蓋范圍小,而利用信息的難度較低;后者的覆蓋范圍更大,而利用信息的難度更高。
Graft-Net 將 QA 任務轉換為異構圖上節點的分類任務執行,異構圖中既包含來自于知識庫的節點,也包含來自于文本的節點。
一些基于圖傳播的模型學習節點表示,然后執行節點分類,通過分類任務完成? QA。這類方法的基本過程是:
1. 初始化結點表示
2. 對于 ,更新結點表示
其中, 表示 的關系為 鄰居, 是神經網絡層。
是模型的層數,對應于信息在圖中傳播路徑的最大長度。傳播完成后,最終層的表示 被用于執行目標任務,例如知識庫中的鏈接預測。
但是,作者的設定與之前的基于圖的分類任務有兩處不同:
第一個不同,圖 包含異構結點。圖中的某些節點對應于代表符號對象的 KB 實體,而其他節點則代表文本文檔,它們是一段長度不定的文本序列。
第二個不同,在自然語言問題 上限制圖中節點的表示。
1.1 結點初始化
對應實體的結點使用通過固定長度的向量進行初始化 ,其中 可以是預先訓練好的知識庫嵌入或者隨機的, 是嵌入的大小。
圖中的文本結點描述不定長度的文本序列。因為多個實體可能鏈接到文檔中的不同位置,作者在每一層維護一個不定長度的文本表示,記為 ,它表示文檔 ,它被初始化為:
其中,文檔中第 個單詞在第 層的嵌入被記為 .
1.2 異構更新
如圖闡釋了實體和文本文檔的異構更新規則。
實體 令 表示文檔 中位置 的實體。實體節點的更新涉及一個單層前饋神經網絡(FFN),其中包含四個狀態的拼接:
其中,前兩項分別對應來自前一層的實體表示和問題表示。第三項聚合了當前結點的實體鄰居的狀態,并通過注意力權重進行放縮,映射 ψ 是特定于關系的。為減少計算量,算法使用關系特定的向量 而不是關系矩陣,來計算一條邊的更新:
其中, 是 PageRank 分數,用于控制嵌入沿著從種子節點開始的路徑的傳播。第四項,即最后一項匯總了與子圖中各文檔中的實體 的提及相對應的所有 token 的狀態。需要注意的是,更新取決于實體在其包含文檔中的位置。
文檔 令 為一個實體集合,表示鏈接到文檔 在位置 的單詞的所有實體。文檔更新過程分為兩步。第一,我們匯總各個位置分別出現的實體狀態:
其中, 通過 的出邊數量進行歸一化。然后,我們使用 LSTM 聚合文檔內的狀態:
1.3 對問題的約束
上文所述的部分,與問題本身是無關的。作者通過兩種方式引入對問題的依賴:通過對關系的關注以及通過個性化傳播。
問題是通過其中的單詞表示的,它的初始表示被計算為:
然后,提取 LSTM 的最終狀態。在后續層中問題表示更新為
其中 表示問題中提到的種子實體。
關系上的注意力 注意力權重在等式 1 第三項是使用問題和關系嵌入計算的:
其中,softmax 歸一化被用于在 的所有出邊上計算, 是關系 的關系向量。這樣可以確保嵌入沿著與問題相關的邊傳播得更多。
有向傳播 許多問題都需要多跳推理,它沿著從問題中提到的種子節點到目標答案節點的路徑。為了鼓勵傳播嵌入的行為,作者開發了一種技術,該技術受 IR 中的個性化 PageRank 啟發。傳播開始于問題中提到的種子結點 ,除結點的向量表示 之外,作者還維護一個標量 PageRank 分數,度量從一個種子實體到當前實體的所有權重:
請注意,在傳播 PageRank 時,作者重用了注意力權重 ,以確保沿著與問題相關的路徑的節點獲得較高的權重。當沿著等式中的邊傳播嵌入時,將 PageRank 分數用作縮放因子。對于 ,除種子實體之外的所有實體的 PageRank 得分均為 0,因此傳播只會從這些節點向外發生。對于 ,種子實體及其 1 跳鄰居的 PageRank 得分將為非零,并且傳播將僅沿這些邊發生。
1.4 答案選擇
最終的表示 被用于選擇答案的二元分類:
其中 σ?表示 sigmoid 函數。訓練中對這些概率使用二元交叉熵損失函數。
1.5 通過事實缺失進行正則化
為了鼓勵模型學習出一個利用所有可用信息源的健壯的分類器,作者在訓練過程中以概率 從圖上隨機刪除了邊,稱其為事實缺失。通常,從知識庫中提取答案要比從文檔中提取答案容易,因此該模型傾向于依賴前者,尤其是在知識庫已完成時。
Pull-Net
論文標題:PullNet: Open Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text
論文來源:EMNLP 2019
論文鏈接:https://arxiv.org/abs/1904.09537
該文同樣是考慮結合語料庫和知識庫二者構建問答系統。其重點是在語料庫上補充了較大但不完整的知識庫,以及需要例如多跳的方法進行推理的問題。
作者描述了一個集成框架 PullNet,用于(1)學習(從 KB 或語料庫中)檢索什么,以及(2)使用這種異構信息進行推理以找到最佳答案。PullNet 使用迭代過程來構造特定于問題的子圖,該子圖包含與問題相關的信息。
PullNet 從文本和知識庫兩個數據源進行檢索。給定一個關系,PullNet 使用它們來構建一個問題子圖以回答問題。問題子圖是通過迭代的方式構建的。最初,子圖只依賴于問題。然后,PullNet 通過選擇節點,迭代地擴展子圖。問題子圖是異構的,并且包含實體、KB 三元組和實體鏈接的文本。
2.1 問題子圖
一個問題的問題子圖可以表述為 ,它是一個異構圖,同時包含來自語料庫和知識庫中關于 的信息。跟隨 GRAFT-Net,該文使用了三類結點:實體結點、文本結點和事實結點。
在該文中,一個文檔指的是一個簡單的例子。一個事實結點表示一個知識庫中的三元組。該異構圖中的一條邊,連接一個事實結點和一個實體結點,當且僅當該實體是該事實中的頭實體或尾實體。異構圖中的一條邊連接文本結點和實體結點,當且僅當實體在文本中被提及。
2.2 迭代子圖擴展和分類
概覽 問題子圖初始的頂點集是問題中提到的實體列表,邊集為空。然后算法迭代地擴展,直到它包含可以回答問題的信息。
算法過程如算法 1 所示。圖的擴展以 ?次迭代完成。每一次迭代中,我們選擇 k 個實體進行擴展,然后對于每個選中的實體,我們檢索一個相關文檔的集合以及相關事實的集合。
新的文檔被傳送給實體鏈接系統來識別其中的實體,每個事實的頭實體和尾實體也會被提取。迭代的最后階段是通過添加新的邊來更新問題圖。在 t 次擴展之后,一個額外的分類步驟被用于最終的問題圖來預測答案實體。
作為一個迭代搜索算法,PullNet 看起來似乎與 BFS 有點類似?這里其實一個節點被擴展是有條件的,并且這里不是在圖上直接擴展來搜索,而是利用兩個數據源獲得一個實體結點的鄰居節點。
Pull 操作 pull 操作要么從一個知識源檢索信息,要么從事實或文檔提取實體。
兩個提取操作相對來說是比較簡單的。pull_entities操作需要輸入一個文檔節點,調用實體鏈接器,返回所有該文檔節點中提到的實體。pull_headtail操作需要輸入一個事實節點,返回該事實的頭實體和尾實體。
檢索過程相對來說更復雜。pull_docs操作從語料庫檢索相關文檔。作者使基于 IDF 的檢索系統 Lucene,并且假設所有句子在索引之前都已經被實體鏈接。被檢索到的文檔被約束為鏈接實體 ,通過與 的 IDF 相似度進行排序。只有排序為 的文檔被返回。
pull_facts操作從知識庫檢索關于 的 個事實。被檢索到的事實要求其頭實體或尾實體是 ,并基于事實和關系之間的相似度進行排序。問題通過 LSTM 獲得向量表示,然后使用二者內積傳遞到 sigmoid 函數中作為相似度表示。
分類操作classify操作有兩類,應用于問題子圖的節點上。這兩種操作只用于圖上的實體節點,但它們基于由圖 CNN 計算到的節點表示,因而非實體節點和邊也影響了分類結果。子圖構建過程中,classify-pullnodes操作返回節點應該在下一迭代被擴展的概率,算法在每一迭代選擇具有最高概率的 k 個節點。
子圖完成后,classify_answer 預測一個實體節點是否是問題的答案。具有最高分數的節點被返回為最終答案。作者使用了和 GRAFT-Net 一樣的 CNN 結構來做分類。
更新操作update操作取前一迭代的問題子圖,并通過加入新檢索到的實體節點、文本節點和事實節點來更新。在文本節點和事實節點上執行 pull 操作時會衍生出一些新的邊,而其他新邊可能會將新添加的節點與上一個子圖中已經存在的節點連接起來。
2.3 訓練
作者只通過問題-答案對來訓練 PullNet,即回答問題所需的實際推理鏈是潛在的而不是顯式的。因此,需要使用弱監督來訓練上述分類器和相似性分數。
為了訓練這些模型,算法對問題 q 形成一個理想問題子圖進行估計。在訓練中,答案實體是可知的。算法使用這些來查找問題實體和答案實體之間知識庫中所有最短的路徑。出現在最短路徑中的每個實體 將被標記為候選中間實體。對于每個候選中間實體 ,算法記錄其距問題節點的最小距離 。
EmbedKGQA
論文標題:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
論文來源:ACL 2020
論文鏈接:https://www.aclweb.org/anthology/2020.acl-main.412
代碼鏈接:https://github.com/malllabiisc/EmbedKGQA
多跳 KGQA 需要對 KG 的多個邊進行推理才能得出正確的答案。KG 通常是不完整的,缺少許多鏈接,這給 KGQA 尤其是多跳 KGQA 帶來額外的挑戰。
作者在該文中提出了 EmbedKGQA,在執行稀疏 KG 上的多跳 KGQA 方面特別有效。它放寬了從預先確定的鄰域中選擇答案的要求,而這是以前的多跳 KGQA 方法實施的約束。
EmbedKGQA 分為三個模塊:知識圖譜嵌入模塊、問題嵌入模塊、答案選擇模塊。知識圖譜嵌入模型本身是為鏈接預測任務所設計的,它能一定程度上表示知識圖譜的整體結構信息,而沒有收到例如 Pull-Net 這類方法使用子圖對于多跳推理的限制。
3.1 知識圖譜嵌入模塊
該模塊直接使用了 ComplEx 嵌入,其中包含知識圖譜中所有實體、關系的嵌入。實體嵌入用于學習頭實體、問題和答案實體之間的三元組評分函數。根據 QA 訓練集中 KG 實體的覆蓋范圍,可以將此處學習的實體嵌入保持凍結狀態,或者在后續步驟中對其進行微調。
3.2 問題嵌入模塊
該模塊使用 RoBERTa 將問題嵌入到 768 維向量,然后經過 4 層全連接層,使用 ReLU 激活函數,最終獲得復述域上的問題嵌入。
3.3 答案選擇模塊
在答案選擇模塊,算法選擇所有可能答案中評分最高的答案實體。對于相對較小的 KG,例如 MetaQA,直接選擇得分最高的實體。而對于較大的知識圖譜,作者詳細描述了一種剪枝方法。
實驗
4.1 知識庫問答的常見數據集
MetaQA:一個大規模多跳 KGQA 數據集,有 1、2、3 跳的問題,包含電影領域四十萬個問題。其中提供了一個有 13.5 萬三元組、4.3 萬實體、9 種關系的知識圖譜。
WebQuestionSP:一個較小的 QA 數據集,包含 4.737 個問題,1、2 跳的問題。其中問題可以通過 Freebase 回答。
Complex WebQuestions:一個包含復雜自然語言問題的數據集。其中包含四種問題類型,組合(45%),連詞(45%),比較(5%)和最高級(5%)。這些問題需要在知識庫中進行多達 4 步的推理,而在語料庫上則需要進行 2 步推理。
4.2 實驗效果
上表實驗數據來自于 EmbedKGQA 在 MetaQA 數據集上的實驗。可以看出 GraftNet、PullNet 與 ?EmbedKGQA 在 2-hop 以內的表現都相當好,但是在知識庫存在較多缺失鏈接的時候,EmbedKGQA 的優勢顯現出來。
EmbedKGQA 在給定完整知識圖譜的情況下,WebQSP 表現雖然沒有達到 SOTA,仍然表現良好,并在知識圖譜缺失的情況下顯示出優勢。
小結
本文總結了近年關于知識庫問答的部分重要工作,這些工作在部分數據集上已經取得不錯的效果,而針對復雜問題的多跳推理能力,仍然是一個值得深入探索的問題。
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的开放域知识库问答研究回顾的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 法官批准美国联邦贸易委员会针对亚马逊的反
- 下一篇: 技嘉的板子怎么设置usb启动 技嘉主板如