機器推理系列第四彈:基於推理的多輪語義分析和問答

微軟研究院AI頭條發表於2020-01-15

推理是自然語言處理領域非常重要且具有挑戰性的任務,其目的是使用已有的知識和推斷技術對未見過的輸入資訊作出判斷(generate outputs to unseen inputs by manipulating existing knowledge with inference techniques)[1]。在本文中,我們介紹機器推理在多輪語義分析和問答任務的最新方法和進展

對話中的多輪問答(conversational question answering)和語義分析(semantic  parsing)是自然語言處理領域的兩個核心問題,對語音助手、聊天機器人和搜尋引擎等應用都至關重要[2]。

多輪問答的目的是在互動式場景中正確回答自然語言問題。以圖1的基於知識圖譜的多輪問答為例,人們常常省略實體(如第二個問句),或省略意圖(如第三個問句),使對話更加簡潔和連貫。類似地,在圖2的基於表格的多輪問答樣例中,我們可以看到同樣的省略現象。因此,有效理解對話歷史對多輪問答系統至關重要。

機器推理系列第四彈:基於推理的多輪語義分析和問答圖1:基於知識圖譜的多輪問答和語義分析示例
機器推理系列第四彈:基於推理的多輪語義分析和問答圖2:基於表格的多輪問答和語義分析示例

語義分析是解決問答任務的一個理想方向,其目的是把自然語言轉換成機器可理解可執行的語義表達(meaning representation),該語義表達通常遵循某一語法(如lambda calculus, SQL),具有很強的語義組合性,並且可以精確地反映問題的推理過程,可以在某個知識表示(如知識圖譜、表格)上直接執行獲得結果。

在本文中,我們介紹如何利用推理的方法有效地解決多輪問答和語義分析問題。我們以基於知識圖譜[3-4]的多輪問答進行介紹,對基於表格的多輪問答感興趣的讀者請閱讀我們發表在 NLPCC-2019 的工作[5]。

具體來說,任務的輸入包含知識源(如知識圖譜或表格)、當前輪的問題及對話的問答歷史,任務的輸出是當前輪問題的答案。為了理解整個模型的推理過程,我們使用語義分析的方式,即對每個輸入問題輸出一個語義表達,該語義表達在輸入的知識源上執行即可獲得答案。

我們提出瞭如圖3所示的機器推理模型,其中共利用了三種知識:第一種是語法知識(grammar knowledge),該模型會在語法知識的指導下生成語義表示中的每個單元,對於語義分析任務來說,生成的語義表達要在語法正確的前提下正確表達問題的含義;第二種是對話歷史中的上下文知識,該模型會記錄歷史問句的語義解析結果,並利用其生成當前輪問題的語義表示,這對處理多輪問答中的省略(實體省略或意圖省略)尤為重要;第三種是資料知識,我們從訓練資料自動檢索與當前資料相似的例項,透過基於元學習(meta-learning)的推斷方法獲得與當前樣例更相關的“個性化”模型。

機器推理系列第四彈:基於推理的多輪語義分析和問答圖3:基於機器推理的多輪語義分析和問答框架

語法知識

在基於知識圖譜的問答場景下,我們定義瞭如圖4的語法操作,包括查詢、比較、計數、複製歷史邏輯表達等。語法中每個動作操作都可以看做一個推演規則,左邊是資料的型別,右邊是可以推演出該型別資料的函式,函式中包含特定型別的引數

機器推理系列第四彈:基於推理的多輪語義分析和問答圖4:基於知識圖譜的多輪問答任務中定義的語法
上下文知識

在此基礎上,我們使用自頂向下的方式預測當前問題的邏輯表達。我們使用了序列到動作(sequence-to-action)的模型,該模型將輸出序列化語義表示轉換為輸出遵循語法的動作序列,不僅可以利用編碼器-解碼器框架建模序列的優勢,還可以保證輸出的語法正確性。此外,該模型可以非常自然地利用上下文知識。如圖5所示,我們在 Dialog Memory 中記錄了歷史問句的語義解析結果,在輸出每個動作時都有一定的機率複製歷史的語義表示子序列。模型的具體細節請參考[3]。

機器推理系列第四彈:基於推理的多輪語義分析和問答圖5:基於知識圖譜的序列到動作(sequence-to-action)模型[3]資料知識

受訓練資料中統計分佈的影響,基於神經網路生成模型很容易生成通用的序列[6]。我們提出了基於元學習的推斷模型緩解這一問題。具體地,對於任一輸入,我們自動從訓練資料集中查詢與其語義相似的樣本,隨後在基本模型 f(θ) 的基礎上微調,獲得為當前樣本量身定做的模型 f(θ^')。在訓練的過程中,我們需要同時學習基本模型 f(θ) 和在查詢樣本上把 f(θ) 微調到 f(θ^') 的過程。我們將這一過程建模為元學習,在訓練過程中同時訓練這兩個過程,如圖6所示。更多細節請參考[4]。實驗結果如圖7所示,我們提出的多輪語義分析和問答方法在 IBM 研究院多輪複雜問答任務 CSQA 上取得了目前 state-of-the-art 的結果[3][4]。

機器推理系列第四彈:基於推理的多輪語義分析和問答圖6:基於元學習的推斷模型
機器推理系列第四彈:基於推理的多輪語義分析和問答圖7:我們提出的多輪語義分析和問答方法在多輪複雜問答任務 CSQA 上取得了目前的最佳結果[3][4]。
結語

本文介紹了基於機器推理的方法在多輪語義分析和問答中的應用,該方法有效利用語法知識、上下文知識和資料知識,在多輪複雜問答任務 CSQA 上取得了目前 state-of-the-art 的結果。

敬請期待機器推理方法在更多推理任務上的應用!

參考文獻:

[1] Ming Zhou, Nan Duan, Shujie Liu, Heung-Yeung Shum. Progress in Neural NLP: Modeling, Learning and Reasoning. Accepted by Engineering, 2019.

[2] 段楠,周明. 《智慧問答》. 高等教育出版社,2018.

[3] Daya Guo, Duyu Tang, Nan Duan, Jian Yin, Ming Zhou. Dialog-to-Action: Conversational Question Answering over a Large-Scale Knowledge Base. NeurIPS, 2018.

[4] Daya Guo, Duyu Tang, Nan Duan, Ming Zhou, Jian Yin. Coupling Retrieval and Meta-Learning for Context-Dependent Semantic Parsing. ACL, 2019.

[5] Yibo Sun, Duyu Tang, Jingjing Xu, Nan Duan, Xiaocheng Feng, Bing Qin, Ting Liu, Ming Zhou. Knowledge-Aware Conversational Semantic Parsing Over Web Tables. NLPCC, 2019.

[6] Tatsunori Hashimoto, Kelvin Guu, Yonatan Oren, Percy Liang. A retrieve-and-edit framework for predicting structured outputs. NeurIPS, 2018

相關文章