知識圖譜問答 | (1) 針對複雜問題的知識圖譜問答(KBQA)最新進展

原文地址

1. 背景介紹

知識圖譜問答(KBQA)利用圖譜豐富的語義關聯信息,能夠深入理解用戶問題並給出答案,近年來吸引了學術界和工業界的廣泛關注。KBQA 主要任務是將自然語言問題(NLQ)通過不同方法映射到結構化的查詢,並在知識圖譜中獲取答案。

小蜜團隊研發的知識圖譜問答系統(KBQA)目前已廣泛應用於電信運營商、保險、稅務等領域,但是在真實的客服場景中,KBQA 在處理複雜問句上仍然面臨着挑戰。

用戶在諮詢問題時,傾向於表達非常具體的信息,以便快速的獲得答案,比較常見問句類型的有:

1)複雜條件句:“小規模納稅人季度銷售額未超過 30 萬,但是要開具 5 萬元的專票,需要繳納附加稅費嗎?”;
2)並列句:“介紹下移動大流量和暢享套餐”;
3)推理型問句:“你們這最便宜的 5G 套餐是哪個?”等,

這給 KBQA 提出了新的挑戰:如何有效地利用深度學習模型規模化地處理複雜句問答?

爲了應對該問題,我們調研了 KBQA 方向最近幾年的關鍵進展,並着重關注了含有複雜句的數據集及相關的方法。

本文會先介紹 KBQA 主流相關數據集,然後詳細介紹兩類在相關數據集上的典型方法以及每種方法的代表性模型,最後我們對 Semantic Parsing + NN 的方法進行一個系統性總結,並介紹小蜜團隊的 Hierarchical KB-Attention Model。

2. 數據集簡介

隨着 KBQA 技術的發展,對應的數據集從簡單的單跳問答向包含複雜問題轉變;問答形式從單輪問答數據集,向面向對話的多輪問答數據集轉變(HotpotQA [1] 和 CSQA [2])。表1 列舉問答數據集部分屬性,同時介紹了相關的三個典型通用知識圖譜。

在這裏插入圖片描述

2.1 WebQuestions及其衍生數據集

WebQuestions [3] 是爲了解決真實問題構造的數據集,問題來源於 Google Suggest API,答案使用 Amazon Mechanic Turk 標註生成,是目前使用最廣泛的評測數據集,但該數據集有 2 點不足:

1) 數據集中只有問答對,沒有包含邏輯形式;
2) 簡單問題佔比在 84%,缺乏複雜的多跳和推理型問題;

針對第一類問題,微軟基於該數據集構建了 WebquestionsSP [4],爲每一個答案標註了 SPARQL 查詢語句,並去除了部分有歧義、意圖不明或者沒有明確答案的問題。

針對第二類問題,爲了增加問題的複雜性,ComplexQuestions [5] 在 WebQuestions 基礎上,引入包含類型約束、顯式或者隱式的時間約束、多實體約束、聚合類約束(最值和求和)等問題,並提供邏輯形式的查詢。

2.2 QALD系列(Question Answering over Linked Data)

QALD 是 CLEF 上的一個評測子任務,自 2011 年開始,每年舉辦一屆,每次提供若干訓練集和測試集,其中複雜問題佔比約 38% [6]。

該數據集不僅包括多個關係和多個實體,如:“Which buildings in art deco style did Shreve, Lamb and Harmon design?”;還包括含有時間、比較級、最高級和推理類的問題,如:“How old was Steve Jobs’s sister when she first met him?”[7]。

2.3 Large-Scale Complex Question Answering Dataset (LcQuAD)

Trivedi [8] 等人在 2017 年公佈了一個針對 DBpedia 的複雜問題數據集,該數據集中簡單的單跳問題佔比 18%,典型的問句形式如:“What are the mascots of the teams participating in the turkish handball super league?”。

該數據集的構建,先利用一部分 SPARQL 模板,一些種子實體和部分關聯屬性通過 DBpedia 生成具體的 SPARQL,然後再利用定義好的問句模板半自動利用 SPARQL 生成問句,最後通過衆包形成最後的標註問題。

Dubey 等人也使用同樣的方法,構建了一個數據量更大更多樣的數據集 LcQuAD 2.0 [9]。

3. KBQA核心方法介紹

隨着數據集的演變和 KBQA 技術的發展,我們認爲 KBQA 當前主要面臨兩個核心挑戰:

  1. 複雜問題理解難:如何更恰當地通過知識圖譜建模並理解用戶複雜問題,並增強方法的可解釋性;
  2. 模型推理能力弱:如何減少對於人工定義模板的依賴,訓練具備推理能力、泛化性強的 KBQA 深度模型;

現在 KBQA 的主流方法主要分爲兩類:1) Semantic Parser + NN (SP);2) Information Retrieval (IR),因此我們總結了這兩類方法中的一些經典論文在 WebQuestions 上的結果,圖 1 所示, 從整體趨勢來看,結合深度學習的 Semantic Parser 方法效果要略優於 IR 的方法。

在這裏插入圖片描述
從上圖中我們可以看到,早期研究人員利用傳統方法, 通過手工構建模板和規則的方式解析複雜問題,但是此類方法的不足在於需要較專業的語言學知識且可擴展性不強。

隨着深度學習在 NLP 領域的應用,研究人員將 QA 問題視爲用戶 Query 與答案的二分類或者排序問題(IR),利用不同的網絡結構(CNN or Attention),並結合 KG 中不同的上下文信息來編碼候選答案和 Query 的分佈式表示,最後通過計算兩者間的匹配度選出最終的答案。

此類方法將語義解析問題轉化爲大規模可學習的匹配問題,它的優點在於減少了對於人工模板的依賴,而缺點是模型的可解釋性不強且整體效果欠佳。

與此同時,研究人員將 NN Based 的方法引入到 Semantic Parser 範式中來增強語義解析能力。早期比較主流的方法是利用查詢圖(Query Graph)生成過程來模擬語義解析過程,對問句進行解析。

隨着 Encoder-Decoder 模型在翻譯領域的應用,也有研究人員試圖將語義解析問題看做是翻譯問題,通過設計不同的樹形解碼器來得到 Query 的語義表示。

最近,藉助 KV Memory Network 中的多個記憶槽來解決 KBQA 中多跳推理問題成爲了一個趨勢,它的優點在於不依賴於人工模板且可解釋性較強,缺點是仍然不能很好地解析序數推理和顯隱式時間約束的問題。

同時,我們關注到最近出現了基於神經符號機 [10](Neural Symbolic Machine)的解決方案。接下來,我們將詳細介紹這些主流方法。

3.1 Semantic Parser

基於 Semantic Parser 的方法通常將自然語言轉化成中間的語義表示(Logical Forms),然後再將其轉化爲可以在 KG 中執行的描述性語言(如 SPARQL 語言)。

3.1.1 傳統方法

傳統的 Semantic Parser 方法主要依賴於預先定義的規則模板,或者利用監督模型對用戶 Query 和語義形式化表示(如 CCG [11]、λ-DCS [12])的關係進行學習,然後對自然語言進行解析。

這種方法需要大量的手工標註數據,可以在某些限定領域和小規模知識庫(如 ATIS [13]、GeoQuery)中達到較好的效果,但是當面臨 Freebase 或 DBpedia 這類大規模知識圖譜的時候,往往效果欠佳。

3.1.2 查詢圖方法(Query Graph)

上述傳統方法除了適用領域較窄外,大多沒有利用知識圖譜的信息來進行語義解析。論文 [14] 提出了一種基於 Semantic Parser 的知識圖譜問答框架 STAGG (Staged Query Graph Generation)。

該框架首先定義了一個可以直接轉化爲 Lambda 演算的查詢圖(Query Graph),然後定義瞭如何將 Semantic Parser 的過程演變爲查詢圖生成過程(4 種 State+4 種 Action)。

最後通過 LambdaRank 算法對生成的查詢圖進行排序,選出最佳答案。查詢圖生成過程一共有三個主要步驟:實體鏈接、屬性識別和約束掛載。

針對 Query:“Who first voiced Meg on Family Guy?”,查詢圖生成過程如圖 2 所示:

  1. 實體鏈接部分採用論文 [15] 的實體鏈接系統得到候選實體和分數;
  2. 屬性識別階段會根據識別的實體對候選的屬性進行剪枝,並採用深度卷積模型計算 Query 和屬性的相似度;
  3. 約束掛載階段會根據預定義的一些規則和匹配嘗試進行最值、實體約束掛載;
  4. 最後會根據圖本身特徵和每一步的分數特徵訓練一個 LambdaRank 模型,對候選圖進行排序。

此方法有效地利用了圖譜信息對語義解析空間進行了裁剪,簡化了語義匹配的難度,同時結合一些人工定義的處理最高級和聚合類問題的模板,具備較強理解複雜問題的能力,是 WebQuestions 數據集上強有力的 Baseline 方法。

而且該方法提出的 Semantic Parser 到查詢圖生成轉化的思想也被廣泛地採納,應用到了 Semantic Parser+NN 方法中。

在這裏插入圖片描述
微軟的論文 [5] 在此基礎上,擴展了約束類型和算子,新增了類型約束、顯式和隱式時間約束,更加系統地提出利用 Multiple Constraint Query Graph(MultiCG)來解決複雜問題的方法。

同時也針對 WebQuestions 數據集複雜問題較少的問題,公開了一個複雜問題數據集 ComplexQuestions。該方法在 WebQuestions 和 ComplexQuestions 數據集上,表現都優於 STAGG 方法。

IBM [16] 沿用 STAGG 的框架,針對屬性識別準確率較低的問題,在屬性識別階段,將 Query 和屬性名稱的字和詞 2 個維度進行編碼,利用 Hierarchical Residual BiLSTM(HR-BiLSTM,圖4所示)計算相似度,提升了屬性識別關鍵模塊的準確率,該方法在 SimpleQuestions 數據集上有着優秀的表現,很好地彌補了 Semantic Gap 問題,但是並沒有在複雜問題地處理上進行過多地改善。

在這裏插入圖片描述
之前的幾種方法雖然取得了不錯的效果,但在 Query 與對應的 Query Graph 排序時,沒有顯式地將 Query Graph 利用神經網絡進行泛化性強地語義特徵提取,而是利用不同步驟的分數作爲特徵進行排序。

論文 [17] 提出了一種 Semantic Matching Model(如圖5),分別對 Query 和查詢圖進行編碼。

首先對去掉實體的 Query 利用雙向 GRU 進行全局編碼得到qtokq_{tok},然後對 Query 進行依存分析,並利用 GRU 對依存路徑進行編碼,收集句法和局部語義信息,得到qdepq_{dep},最後兩者求和得到 query 編碼KaTeX parse error: Expected '}', got 'EOF' at end of input: …{tok} + q_{dep]

然後利用查詢圖中的所有屬性名編碼和屬性 id(將屬性名組合)編碼,得到圖的編碼向量 qg=qw+qidq_g = q_w + q_{id}.最後利用 Cosine 距離計算 Query 與查詢圖的相似度:
在這裏插入圖片描述
該方法首次將 Query Graph 進行語義編碼,計算與 Query 間的相關性程度,並以此作爲匹配特徵訓練模型。該方法在 ComplexQuestions 數據集上的表現優於 MultiCG 的方法,但是依然不能很好地利用神經網絡模型處理顯隱式時間約束等複雜問題。

在這裏插入圖片描述
上述方法在對 Query Graph 進行編碼的時候,因爲最後使用了 Pooling,所以並沒有考慮實體和關係的順序問題,論文 [18] 提出 Tree2Seq 的方法,將 Query Graph 利用 Tree-based LSTM 進行編碼,雖然並沒有在 WebQuestions 等數據集上取得 SOTA 的效果,但是驗證了 Query 結構信息在 QA 任務上的有效性。

3.1.3 編碼器-解碼器方法(Encoder-Decoder)

隨着深度學習的方法和應用,NN-Based 的 KBQA 逐漸成爲了一個重要的研究方向 [19],除了 STAGG 等方法中利用 CNN 來提升 Semantic Parser 中屬性識別的效果外,基於翻譯模型的 Seq2Seq 方法、Attention 機制和 Memory network 也被用來提升 KBQA 的效果。

愛丁堡大學 [20] 提出了利用注意力機制增強的 Encoder-Decoder 模型,將 Semantic Parser 問題轉化爲 Seq2Seq 問題。

該論文除了使用一個 Seq2Seq 模型來完成 Query 到 Logical Forms 的轉化外,還提出了一個 Seq-to-Tree 的模型,利用層次的樹形解碼器捕捉 Logical Forms 的結構(如圖 6 所示)。

該文章主要貢獻在於不依賴手工預定義的規則即可在領域數據集上取得 SOTA 方法,但是該方法需要大量的訓練語料,因此並不適合通用知識問答數據集。
在這裏插入圖片描述
上述方法利用層次化樹形結構優化了 Encoder-Decoder 模型的解碼層,而論文 [21] 指出通用的序列編碼器利用了詞序的特徵而忽略了有用的句法信息。

該論文使用 Syntactic Graph 分別表示詞序特徵(Word Order),依存特徵(Dependency)還有句子成分特徵(Constituency),並採用 Graph-to-Seq 模型,利用圖編碼器將 syntactic graph 進行編碼。

然後利用 RNN 對每時刻的狀態向量和通過 Attention 得到的上下文信息進行解碼得到對應的 Logical Forms。儘管該方法驗證了額外的句法信息引入有利於提升模型的魯棒性,但是沒有解決對於大量訓練語料的依賴問題。

3.1.4 Transition-Based 方法

北大 [22] 提出了 State Transition-based 方法,通過定義 4 種原子操作(圖7所示)和可學習的狀態遷移模型,將複雜文圖轉化爲 Semantic Query Graph(轉化過程如圖 8 所示)。

該方法可以利用 BiLSTM 模型識別出多個節點(如多個實體),並用 Multi-Channel Convolutional Neural Network (MCCNN) 抽取節點間的多個關係,克服了查詢圖生成方法中假設只有一個主要關係和利用人工規則識別約束的缺點,具備更強的魯棒性。

同時該方法的狀態遷移是個可學習的過程,而此前的查詢圖生成方法中狀態遷移過程是預定義的。後續也有論文 [23] 採用 Stack-LSTM [24] 作爲狀態遷移模型進行語義解析工作。

在這裏插入圖片描述
在這裏插入圖片描述

3.1.5 Memory Network方法

隨着機器閱讀等技術的普及,近些年基於 Memory Network [25] 的方法也被用來解決複雜問題解析。

論文 [26] 提出了 Key-Value Memory Network (KV-MemNN),此結構相比扁平的 Memory Network 結構,可以很好地存儲具有複雜結構的數據(如 KG),並通過在多個記憶槽內的預測來進行淺層的多跳推理任務,最終生成相關子圖路徑。

論文 [27] 用 KV-MemNN 來存儲圖譜中的三元組(SPO)信息,並提出了一個新的 Query Update 機制,實驗驗證該機制在更新時去掉 Query 中已經定位到的 Key 值,可以讓模型能夠更好地注意到下一步需要推理的內容。

在答案預測階段,論文實驗了基於 Semantic Parser 和 IR 的兩種方法,通過消融實驗發現,利用 Semantic Parser 進行預測要明顯優於 IR 方法,論文猜測因爲 Semantic Parser 方法在每一步預測中都會選擇最優的 key,比 IR 方法(只用最後一步的表示輸出進行排序)利用了更多全局信息。

該方法在不依賴於手工構造模板的情況下,在 WebQuestions 數據集上的效果超過了 SOTA 方法,而且該方法的框架和引入的 Stop、Query Update 機制讓整個複雜問題的解析過程具備更好地解釋性,我們認爲這種利用 KG 進行層次化的解析方法是 KBQA 發展的趨勢之一。圖 9 爲該方法模型結構圖。

在這裏插入圖片描述

本章中,我們介紹知識圖譜問答中 Semantic Parser 這類方法,分別介紹了4種具體方法:

1)語義解析(Semantic Parser)過程轉化爲查詢圖生成問題的各類方法;
2)僅在領域數據集適用的Encoder-Decoder模型化解析方法;
3)基於 Transition-Based 的狀態遷移可學習的解析方法;
4)利用 KV-MemNN 進行解釋性更強的深度 KBQA 模型。

3.2 Information Retrieval

基於搜索排序(IR)的知識圖譜問答首先會確定用戶 Query 中的實體提及詞(Entity Mention),然後鏈接到 KG 中的主題實體(Topic Entity),並將與 Topic Entity 相關的子圖(Subgraph)提取出來作爲候選答案集合,然後分別從 Query 和候選答案中抽取特徵。

最後利用排序模型對 Query 和候選答案進行建模並預測。此類方法不需大量人工定義特徵或者模板,將複雜語義解析問題轉化爲大規模可學習問題。

依據特徵表示技術不同,IR 方法可以分爲基於特徵工程的方法和基於表示學習的方法。

3.2.1 基於特徵工程的方法

論文 [28] 是該類方法的基礎模型,文章首先對問句進行句法分析,並對其依存句法分析結果提取問題詞(qword)、問題焦點詞(qfocus)、主題詞(qtopic)和中心動詞(qverb)特徵,將其轉化爲問句特徵圖(Question Graph,圖10)。

然後利用 qtopic 在 KG 內提取 Subgraph,並基於此生成候選答案特徵圖(圖11);最後將問句中的特徵與候選特徵圖中的特徵進行組合,將關聯度高的特徵賦予較高的權重,該權重的學習直接通過分類器來學習。

在這裏插入圖片描述
在這裏插入圖片描述

3.2.2 基於表示學習的方法

上述方法有兩點不足:第一,需要自行定義並抽取特徵,而且問句特徵和候選答案特徵組合需要進行笛卡爾乘積,特徵維度過大;第二,該類方法難以處理複雜問題。爲了解決這些問題,學術界利用表示學習方法,將問句和候選答案轉換爲同一語義空間的向量,將 KBQA 看成是問句與候選答案的表示向量進行匹配計算過程。

  1. Embedding-Based方法

論文 [29] 率先將問句以及 KG 中的候選答案實體映射到同一語義空間,其中候選答案實體利用三種向量進行表示:1) 答案實體本身;2) 答案實體與主實體關係路徑;3) 與答案實體相關 Subgraph。然後利用 Triplet loss1 對模型進行訓練,模型結構如圖 12 所示。

在這裏插入圖片描述

  1. CNN and Attention方法

上述模型針對問句編碼採用詞袋模型,沒有考慮詞序對句子的影響,以及不同類型屬性的不同特性。論文 [30] 提出 Multi-Column Convolutional Neural Networks (MCCNNs) 如圖13所示。

利用CNN分別對問句和答案類型(Answer Type)、答案實體關係路徑(Answer Path)和答案實體一跳內的 Subgraph (Answer Context) 進行編碼,以獲取不同的語義表示。該方法驗證了考慮詞序信息、問句與答案的關係對 KBQA 效果的提升是有效的。

在這裏插入圖片描述
但是論文 [30] 對於不同答案,將問句都轉化成一個固定長度的向量,這種方法不能很好地表達問句的信息。針對該問題論文 [31] 提出了 Cross-Attention based Neural Network(圖14 所示)。

將候選答案分成四個維度:答案實體 aea_e、答案實體關係路徑ara_r 、答案類型 ata_t和答案上下文(與上述論文相同)aca_c,然後利用注意力機制動態學習不同答案維度與問句中詞的關聯程度,讓問句對不同答案維度根據注意力機制學習權重,有效地提升問答效果。

論文 [32] 提出了Attentive RNN with Similarity Matrix based CNN(AR-SMCNN,圖15所示)模型,利用帶有注意力機制的 RNN 來對問句和屬性間關係進行建模,並採用 CNN 模型捕捉問句與屬性間的字面匹配信息。

該論文驗證了字面匹配信息能帶來效果上的提升,而實驗結果顯示,以上兩種網絡模型對於複雜問題的處理能力依然不足。

在這裏插入圖片描述
在這裏插入圖片描述

  1. Memory Network方法

與 Semantic Parser 方法相同,Memory Network (MemNN) 因爲其良好的可擴展性以及對於強弱監督 [33] 的適用性,被廣泛應用於 KBQA 中。論文 [34] 是將其結合 KG 中三元組信息來解決 KBQA 中簡單問題(單跳),同時構建了 SimpleQuestions 數據集。

該論文首先將 KG 中的知識存儲到 MemNN 中,然後採樣正負例 Query 和正負例的 Answer,兩兩組合形成多任務,利用 Triplet loss 訓練 MemNN。

模型首先通過輸入模塊(input module)將用戶問題、三元組信息轉化爲分佈式表示加入到 Memory 中;然後利用泛化模塊(Generalization module)將新的三元組信息(來自 Reverb)加入到 Memory 中。

輸出模塊(Output module)從 Memory 中選擇一些與問題相關性高的三元組信息;回覆模塊(Response module)返回從輸出模塊中得到的答案。該論文是 MemNN 在 QA 上的首次嘗試,雖然擅長解決簡單問題,但是思路爲後續的 KBQA 研究工作奠定了基礎。

基於上述論文,Jain [35] 提出了一個 L 層的 Factual Memory Network 來模擬多跳推理過程,每層以線性鏈接,並以上一層輸出作爲本層輸入。

第一層的輸入是候選三元組和問句。對問句編碼時,爲彌補詞袋模型無法考慮詞序的問題,爲每一個詞 xix_i的不同維度 j 設計一種位置編碼(Position Encoding)
在這裏插入圖片描述
其中 d 是詞向量維度。最後使用位置編碼更新句向量q=i=1qlixiq = \sum_{i=1}^{|q|} l_i \odot x_i 。據我們所知,這是首次利用深度模型結合 KG 信息層次化地進行復雜問題的語義解析工作,不僅在 WebQuestions 上驗證了這種結構的有效性,也爲深度學習模型帶來了更好地解釋性。

其中 d 是詞向量維度。最後使用位置編碼更新句向量 。據我們所知,這是首次利用深度模型結合 KG 信息層次化地進行復雜問題的語義解析工作,不僅在 WebQuestions 上驗證了這種結構的有效性,也爲深度學習模型帶來了更好地解釋性。

儘管如此,上文提到的方法在編碼階段,將問句和 KG 三元組信息分別進行映射,沒有考慮兩者間的交互關係。

基於此論文 [36] 提出 Bidirectional Attentive Memory Network (BAMnet) 模型, 主要通過 Attention 機制來捕捉 Query 與 KG 信息間的兩兩相關性,並以此利用相關性增強 Query 的表示,希望能結合到更多的 KG 信息,提升針對複雜問題的處理能力,該方法包含 4 個模塊:

1)輸入模塊採用 Bi-LSTM 對問句進行編碼;
2) 記憶模塊(Memory module)針對 KG 信息(答案類型hth_t 、答案實體關係路徑hph_p 、答案上下文hch_c )進行編碼存入 Memory network 中;
3)推理模塊分爲一個兩層的 Bidirectional Attention Network 去編碼問句和 KG 中信息間的相互關係和泛化模塊(Generalization module)。

模型中 Primary attention network 中的 KB-aware attention module(圖17所示)會根據 KG 信息關注問句中的重要部分;Importance module 利用注意力機制計算 KG 中信息與問句的相關程度(比如簡單問題對於答案上下文關注度就會降低);

然後在 Enhancing module 中利用 Importance module 計算的相關度權重矩陣,重新更新問句表示和 Memory 中的 Key 值表示,完成第二層 Attention Network;

最後在泛化模塊中選取 Memory 中對與問句表示有價值 value,利用 GRU 進行編碼,鏈接到原有問句表示;

4) 回覆模塊(Answer module)通過計算問句信息和 Enhancing module 中更新過的 KG 信息來得到最後答案。具體見圖 16。

該方法與衆多 IR 方法一樣,在不依賴於人工構建模板的情況下,依靠 Attention 機制和 MemNN,效果比大多數 IR 方法更好,但是並沒有比引用了 PE 機制的論文 [35] 效果好,我們猜測如果利用 Transformer [37] 的思想,引入詞語位置信息,也許可以取得不錯的效果。

在這裏插入圖片描述
在這裏插入圖片描述
綜上所述,我們可以看出僅僅利用 CNN、Attention 等機制對 Query 與 KG 信息進行簡單地端到端模型儘管可以避免大量構造人工模板,但並不能有效解決複雜問題,且部分方法的可解釋性不強。

綜合 Semantic Parser 方法的實驗結果,選用層次化方式建模,並選取有效的網絡結構存儲複雜的 KG 信息,也許是解決 KBQA 中複雜問題理解和避免人工模板構造的出路之一。

3.3 其他方法

近些年也出現了一些新的方法,不能被簡單地歸類到上述兩類方法中。例如:論文 [38] [39] [40] 嘗試使用自動或半自動從 KB 或者 QA 語料中學習模板,並利用模板將問句拆解成Logical Forms 或者理解其意圖。

論文 [41] 嘗試將一個複雜的問句拆解成幾個簡單的問句,並從多個簡單問句的答案中找出最終的複雜問句答案。

2019年以來,我們也發現有論文嘗試利用 Message Passing NN [42] 和 Stepwise Reasoning Network [43] 等方法對於複雜問題進行解析。

最近也有一些研究人員採用神經計算與符號推理相結合的方法進行語義解析。論文 [10] 提出的神經符號機 Neural Symbolic Machine (NSM) 包含 3 個部分,經理(Manager)進行遠程監督,利用執行結果對於過程進行指導,提供輸入問題和執行的獎賞。

程序員(Neural Programmer)使用 Key-Variable Memory 增強的 Seq2Seq模 型將問句變成程序,符號計算機(Symbolic Computer,如 Lisp Interpreter),利用內置的函數和 Code-Assist(用於將在句法和語法上無效的候選刪除)生成一個領域相關的語言,然後執行該語言獲得最終的結果。

神經符號計算初步探索了利用神經網絡模擬符號推理的過程,使得實現大規模可解釋的知識推理與問答成爲了可能,我們認爲這個方向的發展還有更多探索和嘗試的可能。

4 前沿趨勢分析

4.1 更關注複雜問題解析

近些年來,儘管有論文指出 KBQA 中簡單問題已經基本被解決 [44],但是在不少論文和我們的實驗中顯示,實體識別和屬性識別一直是影響複雜問題準確率的重要因素。

所以我們認爲在對複雜實體鏈接和具有歧義的易混淆句子上的屬性識別工作 [45] 是 KBQA 在工業界落地的一個重要方向。

同時,隨着數據集的發展,從 WebQuestions 到 ComplexQuestions、LcQuAD、QALD 等數據集的出現,現在學術界更關注解決包含多跳、聚合、比較或者顯隱式時間推理的複雜問題,但是現有方法並沒有針對這些具體問題在該類數據集上取得很好地效果。

因此如何能設計更好地網絡結構建模複雜問題的邏輯和語義結構、更好地融入 KG 信息解決複雜問題也是需要我們探索的方向。

近來,劉康老師的報告中 [6] 也提到了, 利用神經網絡符號計算解決複雜問題,我們也希望看到有研究工作可以利用神經網絡對符號計算的模擬,實現解釋性強的,可學習地大規模知識問答和知識推理。

4.2 模型魯棒性增強

深度模型的黑盒不可解釋性一直受到研究人員的詬病。論文 [46] 指出在閱讀理解任務中,僅在段落中增加一些(干擾)句子,會使模型效果有大幅下降。我們在 KBQA 實際應用中發現,其對語料的泛化理解以及拒識能力不強,嚴重影響了 KBQA 模型在工業環境的落地。

但我們沒有看到在 KBQA 領域對於模型魯棒性的研究工作,所以我們認爲針對 KBQA 魯棒性的研究應該是工業應用的重要趨勢。論文 [47] 向我們建議了一種生成相反語義句子的方法 [48],感興趣的讀者或許可以嘗試一下。

4.3 從單輪問答到多輪交互

真實場景下,用戶經常連續詢問多個問題,其中部分問題是對話相關,部分問題可以被映射到 KBQA 中。而現在的機器人通常是將問答和對話任務分開解決,我們認爲有必要將兩種任務統一設計建模,來解決真實場景下的此類問題。

而現在的一些研究在複雜多輪問答(如 CSQA)上的準確率還明顯不能落地,期待有更多地工作可以關注這個領域的研究。

5 小蜜Conversational AI團隊的KBQA

小蜜團隊持續深耕人機對話方向,打造了一套工業界成型的 KBQA 引擎並落地到真實業務場景中。通過對線上日誌的分析,同時參考學術界問題分類的標準,我們總結出小蜜 KBQA 要解決的問題類型:

在這裏插入圖片描述
在 KBQA 典型應用領域,例如:電信運營商、稅務領域、保險領域,其中包含很多實體以及條件約束,如電信運營商領域,不同流量 (M)、價位 (N) 的各類套餐 (L) 的取消方式都不一樣,如果使用 FAQ 方法,會產生 MNL 個知識點,造成知識庫冗餘,而且不能精準地回答用戶問題。

我們採用的 KBQA 方案不僅可以精準回答用戶問題,還能對 FAQ 知識庫進行知識瘦身,減少人工維護成本。

經過分析,在上述幾個典型場景中,適合 KBQA 解決的問題佔比爲 30%~40%,圖 18 給出了這些問題不同類型的詳細佔比。

可以看出,簡單問題佔比達到 60%,說明大多用戶還是希望解決自己的真實問題,而不是考察機器人的能力,但是複雜問題(多跳和推理)也佔到了 40%,說明在該類場景的業務也是具備一定複雜程度,如何更精準地回答用戶對於這類業務的問題,優化客戶人機交互體驗,是我們要解決的問題。

在這裏插入圖片描述
我們通過構建面向垂直領域的問答知識圖譜,幫助企業挖掘業務知識背後內在的結構化信息,將零散的非結構化知識(石墨)變成有機的結構化知識(鑽石),提升領域知識的含金量。

基於領域知識圖譜,我們參考學術界方法,研發了基於 MultiCG的Semantic Parser 算法(如圖19)對業務中的複雜問句進行解析,並利用Dependency parser模型對約束屬性進行消歧,在真實業務場景下,端到端的效果達到 80% 以上,同時也幫助企業的 FAQ 知識庫縮容近 10 倍。

在這裏插入圖片描述
在第五部分的前沿趨勢分析中,我們指出在真實場景下複雜實體和屬性識別是我們亟需解決的問題。在實體識別階段,因爲領域 KG 內實體類別較少,實體消歧工作不是我們關注的重點,但是在用戶表述中可能會出現不連續實體或者嵌套實體的問題,如“飛享 18 元 4g 套餐”對應的實體爲“飛享套餐”。

爲了更好地識別用戶問句中的 mention 並鏈接到圖譜中的實體,減少用戶對同義詞的配置,我們提出了一個 Search and Rank 框架(如圖20),利用匹配和保序相似度等方法對句子中的 mention 和實體進行匹配,再通過排序模型選出最優實體或者進行實體推薦。

在這裏插入圖片描述
針對屬性識別方法,我們提出了一個 Multi-point semantic representation 框架,將每個屬性拆解成細粒度的四種因子信息(topic、predicate、object/condition和query type)用以區分易混淆屬性,然後利用 Compositional Intent Bi-Attention(CIBA,如圖21)將粗粒度的屬性信息和細粒度的因子信息與問句表示相結合,增強問句的語義表示。

在這裏插入圖片描述
實驗結果表明(表3和表4),我們提出的方法可以通過屬性因子分解減少易混淆屬性的錯誤數量,並在整體分類效果上取得性能提升。相關工作發表在 AAAI 2020 Multi-Point Semantic Representation for Intent Classification 上。

在這裏插入圖片描述
針對模型魯棒性和表示能力弱,部分約束識別藉助人工模板的問題,我們借鑑最近兩年 Semantic Parser + NN 方法中 KV-MemNN 的建模思想,我們提出了 Hierarchical KB-Attention Model。

對 Query 與 KB 之間的交互進行了細粒度的建模,以捕捉問句內部核心成分之間的修飾關係,來強化 Query 的層次化語義理解,在效果上超過了 MultiCG 的方法,並且具備更強的複雜問題解析能力和更好的可解釋性。

6 總結

本綜述圍繞 KBQA 中複雜問題解析的研究進展做了一個詳細的介紹,歸納了現有 KBQA 方法面臨的兩大核心挑戰:1) 複雜問題理解難;2) 模型推理能力弱,並針對這兩個挑戰介紹了 KBQA 主流的兩種方法:1) Semantic Parser;2) Information Retrieval。

Semantic Parser 方法中,針對複雜問題理解,我們介紹了利用查詢圖生成、Encoder-Decoder 和 KV-MemNN 的方法來進行語義解析的方法。

Information Retrieval 方法中我們介紹了利用 Subgraph Embedding、CNN 、Attention 和 Memory Network 機制對 Query 和 KG 不同結構信息進行建模和匹配的方法,此類方法減少了人工模板的依賴,但是可解釋性不強,且在現有的數據集結果上效果不佳。

然後我們結合目前 KBQA 的發展,提出了自己對於 KBQA 未來發展趨勢的分析。

最後我們對阿里巴巴-達摩院-小蜜 Conversational AI 團隊目前在 KBQA 方向上的進展做了一個簡明的介紹,輸出了我們對於 KBQA 的問題分類、業務場景分析和核心算法概述。希望本篇進展研究可以對讀者的研究工作帶來一定的啓發和幫助。

參考文獻

[1] Yang Z, Qi P, Zhang S, et al. Hotpotqa: A dataset for diverse, explainable multi-hop question answering[J]. arXiv preprint arXiv:1809.09600, 2018.
[2] Saha A, Pahuja V, Khapra M M, et al. Complex sequential question answering: Towards learning to converse over linked question answer pairs with a knowledge graph[C]//Thirty-Second AAAI Conference on Artificial Intelligence. 2018.
[3] Berant J, Chou A, Frostig R, et al. Semantic parsing on freebase from question-answer pairs[C]//Proceedings of the 2013 conference on empirical methods in natural language processing. 2013: 1533-1544.
[4] Yih W, Richardson M, Meek C, et al. The value of semantic parse labeling for knowledge base question answering[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2016: 201-206.
[5] Bao J, Duan N, Yan Z, et al. Constraint-based question answering with knowledge graph[C]//Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers. 2016: 2503-2514.
[6] 劉康,面向知識圖譜的問答系統. AI前沿講習班第8期PPT
[7] 趙軍, 劉康, 何世柱, 陳玉博. 知識圖譜[B]. 2018.
[8] Trivedi P, Maheshwari G, Dubey M, et al. Lc-quad: A corpus for complex question answering over knowledge graphs[C]//International Semantic Web Conference. Springer, Cham, 2017: 210-218.
[9] Dubey M, Banerjee D, Abdelkawi A, et al. Lc-quad 2.0: A large dataset for complex question answering over wikidata and dbpedia[C]//International Semantic Web Conference. Springer, Cham, 2019: 69-78.
[10] Liang C, Berant J, Le Q, et al. Neural symbolic machines: Learning semantic parsers on freebase with weak supervision[J]. arXiv preprint arXiv:1611.00020, 2016.
[11] Steedman M. A very short introduction to CCG[J]. Unpublished paper. http://www. coqsci. ed. ac. uk/steedman/paper. html, 1996.
[12] Liang P. Lambda dependency-based compositional semantics[J]. arXiv preprint arXiv:1309.4408, 2013.
[13] Dahl D A, Bates M, Brown M, et al. Expanding the scope of the ATIS task: The ATIS-3 corpus[C]//Proceedings of the workshop on Human Language Technology. Association for Computational Linguistics, 1994: 43-48.
[14] Yih S W, Chang M W, He X, et al. Semantic parsing via staged query graph generation: Question answering with knowledge base[J]. 2015.
[15] Yang Y, Chang M W. S-mart: Novel tree-based structured learning algorithms applied to tweet entity linking[J]. arXiv preprint arXiv:1609.08075, 2016.
[16] Yu M, Yin W, Hasan K S, et al. Improved neural relation detection for knowledge base question answering[J]. arXiv preprint arXiv:1704.06194, 2017.
[17] Luo K, Lin F, Luo X, et al. Knowledge base question answering via encoding of complex query graphs[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018: 2185-2194.
[18] Zhu S, Cheng X, Su S. Knowledge-based question answering by tree-to-sequence learning[J]. Neurocomputing, 2020, 372: 64-72.
[19] Wu P, Zhang X, Feng Z. A Survey of Question Answering over Knowledge Base[C]//China Conference on Knowledge Graph and Semantic Computing. Springer, Singapore, 2019: 86-97.
[20] Dong L, Lapata M. Language to logical form with neural attention[J]. arXiv preprint arXiv:1601.01280, 2016.
[21] Xu K, Wu L, Wang Z, et al. Exploiting rich syntactic information for semantic parsing with graph-to-sequence model[J]. arXiv preprint arXiv:1808.07624, 2018.
[22] Hu S, Zou L, Zhang X. A state-transition framework to answer complex questions over knowledge base[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018: 2098-2108.
[23] Cheng J, Reddy S, Saraswat V, et al. Learning structured natural language representations for semantic parsing[J]. arXiv preprint arXiv:1704.08387, 2017.
[24] Dyer C, Ballesteros M, Ling W, et al. Transition-based dependency parsing with stack long short-term memory[J]. arXiv preprint arXiv:1505.08075, 2015.
[25] Weston J, Chopra S, Bordes A. Memory networks[J]. arXiv preprint arXiv:1410.3916, 2014.
[26] Miller A, Fisch A, Dodge J, et al. Key-value memory networks for directly reading documents[J]. arXiv preprint arXiv:1606.03126, 2016.
[27] Xu K, Lai Y, Feng Y, et al. Enhancing Key-Value Memory Neural Networks for Knowledge Based Question Answering[C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). 2019: 2937-2947.
[28] Yao X, Van Durme B. Information extraction over structured data: Question answering with freebase[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2014: 956-966.
[29] Bordes A, Chopra S, Weston J. Question answering with subgraph embeddings[J]. arXiv preprint arXiv:1406.3676, 2014.
[30] Dong L, Wei F, Zhou M, et al. Question answering over freebase with multi-column convolutional neural networks[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). 2015: 260-269.
[31] Hao Y, Zhang Y, Liu K, et al. An end-to-end model for question answering over knowledge base with cross-attention combining global knowledge[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017: 221-231.
[32] Qu Y, Liu J, Kang L, et al. Question answering over freebase via attentive RNN with similarity matrix based CNN[J]. arXiv preprint arXiv:1804.03317, 2018, 38.
[33] Sukhbaatar S, Szlam A, Weston J, et al. Weakly supervised memory networks[J]. CoRR, abs/1503.08895, 2.
[34] Bordes A, Usunier N, Chopra S, et al. Large-scale simple question answering with memory networks[J]. arXiv preprint arXiv:1506.02075, 2015.
[35] Jain S. Question answering over knowledge base using factual memory networks[C]//Proceedings of the NAACL Student Research Workshop. 2016: 109-115.
[36] Chen Y, Wu L, Zaki M J. Bidirectional attentive memory networks for question answering over knowledge bases[J]. arXiv preprint arXiv:1903.02188, 2019.
[37] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.
[38] Reddy S, T_ckstr_m O, Collins M, et al. Transforming dependency structures to logical forms for semantic parsing[J]. Transactions of the Association for Computational Linguistics, 2016, 4: 127-140.
[39] Abujabal A, Yahya M, Riedewald M, et al. Automated template generation for question answering over knowledge graphs[C]//Proceedings of the 26th international conference on world wide web. 2017: 1191-1200.
[40] Cui W, Xiao Y, Wang H, et al. KBQA: learning question answering over QA corpora and knowledge bases[J]. arXiv preprint arXiv:1903.02419, 2019.
[41] Talmor A, Berant J. The web as a knowledge-base for answering complex questions[J]. arXiv preprint arXiv:1803.06643, 2018.
[42] Vakulenko S, Fernandez Garcia J D, Polleres A, et al. Message Passing for Complex Question Answering over Knowledge Graphs[C]//Proceedings of the 28th ACM International Conference on Information and Knowledge Management. 2019: 1431-1440.
[43] Qiu Y, Wang Y, Jin X, et al. Stepwise Reasoning for Multi-Relation Question Answering over Knowledge Graph with Weak Supervision[C]//Proceedings of the 13th International Conference on Web Search and Data Mining. 2020: 474-482.
[44] Petrochuk M, Zettlemoyer L. Simplequestions nearly solved: A new upperbound and baseline approach[J]. arXiv preprint arXiv:1804.08798, 2018.
[45] Zhang J, Ye Y, Zhang Y, et al. Multi-Point Semantic Representation for Intent Classification[J]. AAAI. 2020.
[46] Jia R, Liang P. Adversarial examples for evaluating reading comprehension systems[J]. arXiv preprint arXiv:1707.07328, 2017.
[47] Chakraborty N, Lukovnikov D, Maheshwari G, et al. Introduction to Neural Network based Approaches for Question Answering over Knowledge Graphs[J]. arXiv preprint arXiv:1907.09361, 2019.
[48] Ribeiro M T, Singh S, Guestrin C. Semantically equivalent adversarial rules for debugging nlp models[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018: 856-865.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章