大數據

針對複雜問題的知識圖譜問答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] and CSQA[2])。表1列舉問答數據集部分屬性,同時介紹了相關的三個典型通用知識圖譜。
image.png

表一 KBQA評測數據集列表

2.1 WebQuestions及其衍生數據集

  WebQuestions[3]是為了解決真實問題構造的數據集,問題來源於Google Suggest API,答案使用Amazon Mechanic Turk 標註生成,是目前使用最廣泛的評測數據集,但該數據集有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當前主要面臨兩個核心挑戰:

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

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

圖1 各方法在WebQuestions上的Benchmark
   從上圖中我們可以看到,早期研究人員利用傳統方法, 通過手工構建模板和規則的方式解析複雜問題,但是此類方法的不足在於需要較專業的語言學知識且可擴展性不強。
   隨著深度學習在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所示:
實體鏈接部分採用論文[15]的實體鏈接系統得到候選實體和分數;
屬性識別階段會根據識別的實體對候選的屬性進行剪枝,並採用深度卷積模型計算Query和屬性的相似度;
約束掛載階段會根據預定義的一些規則和匹配嘗試進行最值、實體約束掛載;
最後會根據圖本身特徵和每一步的分數特徵訓練一個LambdaRank模型,對候選圖進行排序。
   此方法有效地利用了圖譜信息對語義解析空間進行了裁剪,簡化了語義匹配的難度,同是結合一些人工定義的處理最高級和聚合類問題的模板,具備較強理解複雜問題的能力,是WebQuestions數據集上強有力的Baseline方法。而且該方法提出的Semantic Parser到查詢圖生成轉化的思想也被廣泛地採納,應用到了Semantic Parser+NN方法中。
image.png

圖2 查詢圖生成過程圖
  微軟的論文[5]在此基礎上,擴展了約束類型和算子,新增了類型約束、顯式和隱式時間約束,更加系統地提出利用Multiple Constraint Query Graph(MultiCG)來解決複雜問題的方法,同時也針對WebQuestions數據集複雜問題較少的問題,公開了一個複雜問題數據集ComplexQuestions。該方法在WebQuestions和 ComplexQuestions數據集上,表現都優於STAGG方法。
   IBM[16]沿用STAGG的框架,針對屬性識別準確率較低的問題,在屬性識別階段,將Query和屬性名稱的字和詞2個維度進行編碼,利用Hierarchical Residual BiLSTM (HR-BiLSTM,圖3所示)計算相似度,提升了屬性識別關鍵模塊的準確率,該方法在SimpleQuestions數據集上有著優秀的表現,很好地彌補了Semantic Gap問題,但是並沒有在複雜問題地處理上進行過多地改善。
image.png
圖3 HR-BiLSTM框架
  之前的幾種方法雖然取得了不錯的效果,但在Query與對應的Query Graph排序時,沒有顯式地將Query Graph利用神經網絡進行泛化性強地語義特徵提取,而是利用不同步驟的分數作為特徵進行排序。論文[17]提出了一種Semantic Matching Model(如圖4),分別對Query和查詢圖進行編碼。首先對去掉實體的Query利用雙向GRU進行全局編碼得到$q_{tok}$,然後對Query進行依存分析,並利用GRU對依存路徑進行編碼,收集句法和局部語義信息,得到$q_{dep}$,最後兩者求和得到query編碼$q_p=q_{tok}+q_{dep}$。然後利用查詢圖中的所有屬性名編碼和屬性id (將屬性名組合) 編碼,得到圖的編碼向量$q_g=q_w+q_{id}$。最後利用Cosine距離計算Query與查詢圖的相似度$S_{sem}(q,G)=cos(maxq^i_p+maxq^i_g)$。該方法首次將Query Graph進行語義編碼,計算與Query間的相關性程度,並以此作為匹配特徵訓練模型。該方法在ComplexQuestions數據集上的表現優於MultiCG的方法,但是依然不能很好地利用神經網絡模型處理顯隱式時間約束等複雜問題。
image.png
圖4 Semantic match model的整體架構
  上述方法在對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的結構(如圖5所示),該文章主要貢獻在於不依賴手工預定義的規則即可在領域數據集上取得SOTA方法,但是該方法需要大量的訓練語料,因此並不適合通用知識問答數據集。
image.png

圖5 Sequence-To-Tree
  上述方法利用層次化樹形結構優化了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種原子操作(圖6所示)和可學習的狀態遷移模型,將複雜文圖轉化為Semantic Query Graph(轉化過程如圖7所示),該方法可以利用BiLSTM模型識別出多個節點(如多個實體),並用Multi-Channel Convolutional Neural Network(MCCNN)抽取節點間的多個關係,克服了查詢圖生成方法中假設只有一個主要關係和利用人工規則識別約束的缺點,具備更強的魯棒性。同時該方法的狀態遷移是個可學習的過程,而此前的查詢圖生成方法中狀態遷移過程是預定義的。後續也有論文[23]採用Stack-LSTM[24]作為狀態遷移模型進行語義解析工作。
image.png

圖6 State轉化的4種原子操作

image.png

圖7 Query到SQG的轉化過程

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值,可以讓模型能夠更好地注意到下一步需要推理的內容。同時論文在Key hashing階段加入特殊的STOP鍵值,來告訴模型在時刻t是否收集了足夠的信息回答用戶Query,實驗驗證了它能避免複雜問題無效的推理過程。在答案預測階段,論文實驗了基於Semantic Parser和IR的兩種方法,通過消融實驗發現,利用Semantic Parser進行預測要明顯優於IR方法,論文猜測因為Semantic Parser方法在每一步預測中都會選擇最優的key,比IR方法(只用最後一步的表示輸出進行排序)利用了更多全局信息。
  該方法在不依賴於手工構造模板的情況下,在WebQuestions數據集上的效果超過了SOTA方法,而且該方法的框架和引入的Stop、Query Update機制讓整個複雜問題的解析過程具備更好地解釋性,我們認為這種利用KG進行層次化的解析方法是KBQA發展的趨勢之一。圖8為該方法模型結構圖。
image.png

圖8 Enhanced Key-Value Memory Network 框架圖
   本章中,我們介紹知識圖譜問答中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,圖9);然後利用qtopic在KG內提取Subgraph,並基於此生成候選答案特徵圖(圖10);最後將問句中的特徵與候選特徵圖中的特徵進行組合,將關聯度高的特徵賦予較高的權重,該權重的學習直接通過分類器來學習。

image.png

圖9 問句句法分析結果(左)與問句特徵圖(右)
image.png
圖10候選答案特徵圖

3.2.2 基於表示學習的方法

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

3.2.2.1 Embedding-Based方法

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

圖11 Subgraph Embedding模型結構圖

3.2.2.2 CNN and Attention方法

   上述模型針對問句編碼採用詞袋模型,沒有考慮詞序對句子的影響,以及不同類型屬性的不同特性。論文[30]提出Multi-Column Convolutional Neural Networks (MCCNNs) 如圖12所示,利用CNN分別對問句和答案類型(Answer Type)、答案實體關係路徑(Answer Path)和答案實體一跳內的Subgraph(Answer Context)進行編碼,以獲取不同的語義表示。該方法驗證了考慮詞序信息、問句與答案的關係對KBQA效果的提升是有效的。
image.png

圖12 MCCNN模型框架圖
   但是論文[30]對於不同答案,將問句都轉化成一個固定長度的向量,這種方法不能很好地表達問句的信息。針對該問題論文[31]提出了Cross-Attention based Neural Network(圖13 所示), 將候選答案分成四個維度:答案實體$a_e$、答案實體關係路徑$a_r$、答案類型$a_t$和答案上下文(與上述論文相同)$a_c$,然後利用注意力機制動態學習不同答案維度與問句中詞的關聯程度,讓問句對不同答案維度根據注意力機制學習權重,有效地提升問答效果。論文[32]提出了Attentive RNN with Similarity Matrix based CNN(AR-SMCNN,圖14所示)模型,利用帶有注意力機制的RNN來對問句和屬性間關係進行建模,並採用CNN模型捕捉問句與屬性間的字面匹配信息。該論文驗證了字面匹配信息能帶來效果上的提升,而實驗結果顯示,以上兩種網絡模型對於複雜問題的處理能力依然不足。
image.png
圖13交叉注意力神經網絡
image.png
圖14 AR-SMCNN網絡框架

3.2.2.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來模擬多跳推理過程,每層以線性鏈接,並以上一層輸出作為本層輸入。第一層的輸入是候選三元組和問句。對問句編碼時,為彌補詞袋模型無法考慮詞序的問題,為每一個詞的不同維度j設計一種位置編碼(Position Encoding) $l_ij=min(\frac{i*d}{j*|d|}, \frac{j*|q|}{i*d})$,其中d是詞向量維度。最後使用位置編碼更新句向量$q=\sum^{|d|}_{i=1}{l_i{\cdot} x_i}$。據我們所知,這是首次利用深度模型結合KG信息層次化地進行復雜問題的語義解析工作,不僅在WebQuestions上驗證了這種結構的有效性,也為深度學習模型帶來了更好地解釋性。
   儘管如此,上文提到的方法在編碼階段,將問句和KG三元組信息分別進行映射,沒有考慮兩者間的交互關係。基於此論文[36]提出Bidirectional Attentive Memory Network(BAMnet)模型, 主要通過Attention機制來捕捉Query與KG信息間的兩兩相關性,並以此利用相關性增強Query的表示,希望能結合到更多的KG信息,提升針對複雜問題的處理能力,該方法包含4個模塊:

  • 輸入模塊採用Bi-LSTM對問句進行編碼;
  • 記憶模塊(Memory module)針對KG信息(答案類型、答案實體關係路徑、答案上下文)進行編碼存入Memory network中;
  • 推理模塊分為一個兩層的 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進行編碼,鏈接到原有問句表示;
  • 回覆模塊(Answer module)通過計算問句信息和Enhancing module中更新過的KG信息來得到最後答案。具體見圖15。

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

      <center>  圖15 BAMnet框架         </center>       

image.png

圖16 KB-aware attention module
   綜上所述,我們可以看出僅僅利用CNN、Attention等機制對Query與KG信息進行簡單地端到端模型儘管可以避免大量構造人工模板,但並不能有效解決複雜問題,且部分方法的可解釋性不強。綜合Semantic Parser方法的實驗結果,選用層次化方式建模,並選取有效的網絡結構存儲複雜的KG信息,也許是解決KBQA中複雜問題理解和避免人工模板構造的出路之一。

3.3 其他方法

   近些年也出現了一些新的方法,不能被簡單地歸類到上述兩類方法中。例如:論文38[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要解決的問題類型:
image.png

表2 小蜜KBQA問題分類表
   在KBQA典型應用領域,例如:電信運營商、稅務領域、保險領域,其中包含很多實體以及條件約束,如電信運營商領域,不同流量(M)、價位(N)的各類套餐(L)的取消方式都不一樣,如果使用FAQ方法,會產生MNL個知識點,造成知識庫冗餘,而且不能精準地回答用戶問題。我們採用的KBQA方案不僅可以精準回答用戶問題,還能對FAQ知識庫進行知識瘦身,減少人工維護成本。
  經過分析,在上述幾個典型場景中,適合KBQA解決的問題佔比為30%~40%,圖17給出了這些問題不同類型的詳細佔比。可以看出,簡單問題佔比達到60%,說明大多用戶還是希望解決自己的真實問題,而不是考察機器人的能力,但是複雜問題(多跳和推理)也佔到了40%,說明在該類場景的業務也是具備一定複雜程度,如何更精準地回答用戶對於這類業務的問題,優化客戶人機交互體驗,是我們要解決的問題。
image.png
圖17 運營商和稅務場景不同類型KBQA問題佔比分析
   我們通過構建面向垂直領域的問答知識圖譜,幫助企業挖掘業務知識背後內在的結構化信息,將零散的非結構化知識(石墨)變成有機的結構化知識(鑽石),提升領域知識的含金量。基於領域知識圖譜,我們參考學術界方法,研發了基於MultiCG的Semantic Parser算法(如圖18)對業務中的複雜問句進行解析,並利用Dependency parser模型對約束屬性進行消歧,在真實業務場景下,端到端的效果達到80%以上,同時也幫助企業的FAQ知識庫縮容近10倍。

image.png

圖18 MultiCG with Dependency Parser

  在第五部分的前沿趨勢分析中,我們指出在真實場景下複雜實體和屬性識別是我們亟需解決的問題。在實體識別階段,因為領域KG內實體類別較少,實體消歧工作不是我們關注的重點,但是在用戶表述中可能會出現不連續實體或者嵌套實體的問題,如“飛享18元4g套餐”對應的實體為“飛享套餐”,為了更好地識別用戶問句中的mention並鏈接到圖譜中的實體,減少用戶對同義詞的配置,我們提出了一個Search and Rank框架(如圖19),利用匹配和保序相似度等方法對句子中的mention和實體進行匹配,再通過排序模型選出最優實體或者進行實體推薦。
image.png

圖19 Search and Rank框架
  針對屬性識別方法,我們提出了一個Multi-point semantic representation框架,將每個屬性拆解成細粒度的四種因子信息(topic、predicate、object/condition和query type)用以區分易混淆屬性,然後利用Compositional Intent Bi-Attention(CIBA,如圖20)將粗粒度的屬性信息和細粒度的因子信息與問句表示相結合,增強問句的語義表示。
image.png
圖20 CIBA模型框架圖
  實驗結果表明(表3和表4),我們提出的方法可以通過屬性因子分解減少易混淆屬性的錯誤數量,並在整體分類效果上取得性能提升。 相關工作發表在AAAI 2020《Multi-Point Semantic Representation for Intent Classification》上。
image.png
     表3 CIBA模型結果比較         表4 易混淆意圖比較
  針對模型魯棒性和表示能力弱,部分約束識別藉助人工模板的問題,我們借鑑最近兩年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的問題分類、業務場景分析和核心算法概述。希望本篇進展研究可以對讀者的研究工作帶來一定的啟發和幫助。

7 參考文獻

[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.

Leave a Reply

Your email address will not be published. Required fields are marked *