AAAI 2021 | 基于动态混合关系网络的对话式语义解析方法
作者|惠彬原,耿瑞瑩,黎檳華,李永彬,孫健
單位|阿里巴巴達摩院Conversational AI團隊
引言
機器可以自己寫 SQL 語句嗎?當然可以~只需要用自然語言描述你的想法即可,甚至還能進行多輪的交互!
語義解析(Semantic Parsing)是自然語言處理中的一個非常基礎且重要的問題。近些年來,語言解析中的 Text-to-SQL 任務引起了學術界和工業界的廣泛關注,該任務的目的是將自然語言轉換為可執行的 SQL 語句,幫助用戶僅使用自然語言便可完成和數據庫的交互。
利用 Text-to-SQL 技術可以實現很多應用,比如對話式(上下文相關)語義解析 (Context-Dependent Semantic Parsing) ,數據庫作為對話系統中的「知識」來源,將用戶的每一個問題轉換為對應的 SQL 語句,通過復雜的多輪問答,進而實現任務型對話。如下圖所示,用戶通過多輪的詢問與數據庫進行信息的交換,最終得到期望的回答。
▲ 圖1. 對話式 Text-to-SQL 任務
針對這項任務,耶魯大學聯合 Saleforce 分別于 ACL 2019 和 EMNLP 2019 提出了兩個公開的 Benchmark,SParC [1] 和 CoSQL [2],這兩個數據集有如下共同特點:
1. 跨領域:每個數據庫都屬于不同的領域,這對模型的泛化性提出了嚴格的要求;
2. 上下文依賴:在對話系統中存在的多輪指代、省略等問題都需要進行建模;
3. 復雜 SQL:最終生成的 SQL 復雜性較高,譬如需要多表聯合查詢等。
本文提出了一種新的框架,稱之為動態上下文模式圖(Dynamic Contextualized Schema Graph),該框架基于動態進化圖的結構,有效的刻畫了多輪場景下的話術 (utterance),數據庫模式(schema),以及他們之間復雜的交互 (linking)。
在該框架中,我們討論了基于混合關系構建邊的方式并提出了記憶遺忘的機制來整合歸納偏置,最終呈現出一個靈活的過程來描述不同層次的上下文。實驗層面,我們在 SParC 和 CoSQL 上面驗證了模型的性能,在投稿時達到了 SOTA 的結果,在榜單上排名第一。
論文標題:
Dynamic?Hybrid Relation Network for Cross-Domain Context-Dependent Semantic Parsing
收錄會議:
AAAI 2021
論文鏈接:
https://arxiv.org/abs/2101.01686
代碼鏈接:
https://github.com/huybery/r2sql
對話式語義解析的兩個挑戰
首先我們需要先思考對話式解析模型需要具備哪些能力?首先模型需要能夠處理來自任意領域的數據庫信息,比如金融、政務、酒旅等行業數據。所以模型面臨的第一個挑戰:如何處理跨領域問題?對于任意垂域都能夠完成 SQL 生成。
其次,在對話場景中,用戶是通過多輪的查詢實現最終的目的,處理當前的 SQL 生成可能需要依賴歷史的信息,其中大量的指代、省略問題需要被關注。同時,在對話流不斷增長的過程中,用戶關心的焦點也可能發生偏移,這引出了第二個挑戰,如何準確的理解和利用上下文?
下面我們從這兩個方面分別具體的介紹其中的難點。
2.1 跨領域問題
首先是 Text-to-SQL 的跨領域問題,主流的思路是直接建立自然語言和數據庫中?列、表、值的連接,研究者將其稱為 Schema linking。如圖 2 所示,模型需要能夠將自然語言中出現的實體和數據庫模式中的信息進行對齊,最終生成正確的 SQL 結果。
▲ 圖2. Schema Linking [3]
我們通過分析 SParC 中驗證集的 bad case,發現很多樣本都是因為命中了錯誤了表名或列名導致生成的錯誤,所以 Schema linking 的效果將直接影響 SQL 的生成。
過往的上下文依賴的方法,包括 CD-Seq2Seq [1],EditSQL [4] 等,都是基于 Cross attention 機制來完成 linking,我們將這種僅僅憑借 Cross attention 方式構建 linking 的結果成為隱式關系,這種方法對于很多表面特征捕捉較差,比如 n-gram 匹配等。
而 RAT-SQL [3] 提出了一種可以融入規則先驗的 self-attention 結構,能夠有效的捕捉表面特征。盡管 RAT 的結構聲稱可以同時處理 hard 和 soft 的關系,但是我們發現這種結構還是更容易偏向 hard 的關系,所以我們將 RAT 歸類為顯式關系。隱式關系和顯式關系各有優勢,所以一個難點在于能否有一個統一的框架同時兼顧不同類型的關系探索?
2.2 上下文建模
在對話式的 Text-to-SQL 任務中,如何進行上下文的建模也是亟需解決的問題。過去的工作主要是圍繞話術 (utterance)層面的上下文,如圖 3 展示很多在 utterance 層面上下文建模的方法。
▲ 圖3. 上下文建模思路[5]
而其實在這個任務中,除了 utterance 層面的上下文外,沒有工作關注 linking 層面的上下文建模,即在用戶不斷詢問的過程中,用戶聚焦的意圖可能會發生變化,所以如何處理 linking 層面的變化也是一個新的挑戰。那么第二個難點在于能否有一個統一的框架同時兼顧 utterance 和 linking 層面的上下文建模?
提出的模型
首先我們形式化對話式 Text-to-SQL 任務,該任務由不同領域的對話數據組成,目的是將對話流程中的自然語言話術轉為對應的 SQL 語句。假設 是所有對話流程的集合,一個會話過程 由一系列的話術 和其對應的 SQL 語句 組成,其中 為會話的長度。
每一次會話都可能基于多張表且屬于不同的領域設定,其涉及到的數據庫模式可以表達為 ,包含一系列的表名和列名等。給定當前的話術 、歷史話術 ,以及涉及的數據庫模式 來預測對應的 SQL 語句 。
3.1 編碼器
首先我們需要將話術和數據庫模式進行編碼,這里我們采用 BERT 的得到輸入的表征:
得到表征后,我們又設計了任務相關的編碼器來提升表征性能,針對多輪的話術,我們首先利用 utterance-level 的 Bi-LSTM 得到每一個話術的隱向量:
然后利用流行的 interaction-level 的編碼器得到上下文向量:
最終利用這個上下文向量來豐富話術編碼:
上述流程與圖 3 (b) 的基于 turn 上下文建模的方式一致。除了話術外,我們還需要對數據庫模式中的表名列名進行編碼,這里是利用獨立的 Bi-LSTM 進行編碼:
3.2 動態上下文模式圖
▲ 圖4. 動態上下文模式圖
針對之前提到的兩個難點,我們提出了一種基于動態上下文模式圖的框架,聯合的學習話術(utterance)、數據庫模式(schema)和其之間復雜交互(linking)的表征。在第 輪的時刻,當前的話術 和其相關的 schema ,我們定義出 Graph 的結構 ,其中 graph 的節點為話術中的 token 和數據庫模式中的元素(表/列)組成,而邊可以定義為數據庫模式內部的關系,比如外鍵;
以及 token 和 schema 之間的交互關系,即 linking, 我們同時結合了隱式和顯式的關系建立方式,稱之為混合關系。如圖 4 所示,隨著輪次的增多,藍色節點(token of utterance)不斷的增多,并且不斷和綠色節點(schema)產生新的交互(linking),整個對話流程可以看做是一個動態進化 graph 的范式。
如圖 4 所示,隨著輪次的增多,藍色節點(token of utterance)不斷的增多,并且不斷和綠色節點(schema)產生新的交互(linking),整個對話流程可以看做是一個動態進化 graph 的范式。
那么在這個動態圖的過程中,模型在編碼器層面已經關注到了 utterance 上下文的信息,那么對于 linking 的上下文信息如何處理呢?用戶聚焦的意圖經常會發生偏移,所以模型應該更關心當前問句下的 linking 信息,而對于較早的 linking 信息應該適度的「衰減」,所以我們需要模仿人類的交談,引入記憶衰減的方式來歸納偏置。特別的,我們提供了幾種針對 linking 的不同衰減方式。
首先從話術粒度的層面考慮,我們可以引入 token-level 的遺忘和 utterance-level 的遺忘;而在遺忘方法的層面,我們首先可以想到的是引入門控機制,讓網絡自己去學習不同 token/utterance 的權重,這種方式盡管有一定的提升,但是引入了額外的參數而且缺乏顯示的約束,容易引入噪聲導致訓練的不穩定。
所以我們開始考慮能不能引入一些函數,直接來計算衰減的權重?這里我們利用了 Schedule sampling [6] 中的三種衰減函數進行實驗,分別是:
得到衰減權重后,我們可以分別在隱式和顯式 linking 的計算過程中引入。
針對隱式關系:
我們稱之為?DCRI(Dynamic Context Representation over Implicit Relations)。
針對顯式關系:
我們稱之為?DCRE(Dynamic Context Representation over Explicit Relations)。
最終我們將 DCRI、DCRE 以及解碼器輸入的表征進行融合,同時結合隱式和顯式關系,得到擁有豐富上下文 linking 信息的表征輸出。解碼器部分我們沿用了 EditSQL [4] 的方案。
實驗結果
我們在兩個大規模的跨領域上下文相關的 benchmark,SParC 和 CoSQL 上評估模型的效果。這兩個數據集擁有 138 個領域下的 200 個復雜的數據庫,以及上萬條的問題話術。該任務有兩種評測方式,分別是評測單輪的 Question Match 和評測多輪的 Interaction Match。如下表所示,我們在驗證集上對比了一系列先進的方法,展示出動態混合關系網絡的優勢。
我們還將模型提交到了官方的測試集榜單中,截至投稿時,我們的方法達到榜首:
除此之外,我們還執行了一系列的消融實驗:針對 DCRI 和 DCRE,我們發現盡管顯式關系更具可解釋性,但隱式關系對于最終的結果同樣有增益,證明了混合關系的重要性。
在衰減函數的作用下,DCRE 呈現漸變的趨勢,更關注附近輪次的信息,減少歷史輪次的干擾。
我們還分析一些樣例,發現我們的模型在指示代詞、所有格限定、回指以及操作符等情況下相比之前的模型有較好的改進。
還能做什么?
linking 的路仍然很長。目前的 linking 是數據或規則驅動的,這造成了模型缺乏一些真實世界的常識,比如模型很難理解 「republics」是一種政府的形式,導致無法和 「country.governmentform」進行 linking,而這個信息對于 SQL 的生成至關重要。所以如何引入外部知識解決這些問題是一個重要的方向。
模型效率。當前的模型主要還是基于 seq2seq 架構,其中很多組件無論是訓練還是推理都非常耗時,無法滿足業務的線上要求,如何將模型更好的落地也非常值得探索。
針對對話式語義解析,我們團隊還在不斷的攻堅,請大家期待我們后續的工作~
結論
本文專注于跨領域的對話式 Text-to-SQL 任務,我們提出動態上下文模式圖的框架,聯合的學習話術(utterance)、數據庫模式(schema)和其之間復雜交互(linking)的表征。該框架整合了遺忘機制,從而引入歸納偏差來構建豐富的上下文關系表示,為動態多場景中不同層次的上下文建模提供了一個靈活的框架。提出的模型在 SParC 和 CoSQL 數據集上取得了 SOTA 的結果。
最后打個小廣告~?阿里巴巴達摩院 Conversational AI 團隊正在招聘自然語言理解和 Conversational Semantic Parsing 相關方向的 Research Intern,歡迎感興趣的同學聯系 binyuan.hby@alibaba-inc.com !
參考文獻
[1]? Yu T, Zhang R, Yasunaga M, et al. Sparc: Cross-domain Semantic Parsing in Context. ACL 2019.
[2] Yu T, Zhang R, Er H Y, et al. Cosql: A Conversational Text-to-sql Challenge Towards Cross-domain Natural Language Interfaces to Databases. EMNLP 2019.
[3] Wang B, Shin R, Liu X, et al. Rat-sql: Relation-aware Schema Encoding and Linking for Text-to-sql Parsers. ACL 2020.
[4] Zhang R, Yu T, Er H Y, et al. Editing-Based SQL Query Generation for Cross-Domain Context-Dependent Questions. EMNLP 2019
[5] Liu Q, Chen B, Guo J, et al. How Far are We from Effective Context Modeling? An Exploratory Study on Semantic Parsing in Context. IJCAI 2020.
[6] Bengio S, Vinyals O, Jaitly N, et al. Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks. NIPS 2015.
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的AAAI 2021 | 基于动态混合关系网络的对话式语义解析方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: w10怎么加入局域网打印机共享打印机 如
- 下一篇: u盘插电脑上怎么播放不了怎么回事啊 U盘