论文浅尝 | LGESQL: 结合线性有向图以及普通有向图的自然语言转换SQL语句模型...
LGESQL: Line Graph Enhanced Text-to-SQL Model with Mixed Local and Non-Local Relations
筆記整理:郭心南
來源:ACL2021
鏈接:https://arxiv.org/abs/2106.01093
Github地址:https://github.com/rhythmcao/text2sql-lgesql
概述
本文主要關注多表關聯下的自然語言轉換SQL語句(Text-to-SQL)的工作,在已有的數據庫中,根據描述查詢內容的自然語言問句來生成相應的SQL語句用于檢索,其中表與表之間存在外鍵的關聯。
為了更好建模問題與數據庫schema之間,以及schema內部 的關系,本文提出了一種結合線性有向圖以及普通有向圖的Text-to-SQL模型(Line Graph Enhanced Text-to-SQL Model),通過引入線性有向圖,在簡化圖的同時突出邊信息。同時本文還設計了圖修剪的輔助任務,并且對局部圖特征和非局部圖特征進行表示上的區分。
動機
目前已經有多個工作提出用有向圖的方法來構建問題與數據庫schema內部之間的關系,并用圖神經網絡(GNN)來進行編碼。然而這些方法普遍存在兩個問題:
1)無法很好的找出整個查詢所涉及的路徑;
2)針對圖中每個節點,沒有對局部鄰居以及非局部鄰居進行區分。并且這些方法在圖表征上比較注重節點的表示,而忽略了邊中大量存在的語義信息。
方法
?線性有向圖的構建
線性有向圖中的節點和邊分別是普通有向圖中的邊和節點,對普通有向圖中順序連接的邊,在線性有向圖中用有向邊連接,而對于沒有連接關系的邊,則在線性有向圖中不添加邊。這種構圖方法一方面增強了普通有向圖中邊的信息的使用,另一方面線型圖能很好的找到查詢所相關的主路徑。
?模型
在模型方面,本文使用了兩個關系圖注意力神經網絡(Duel Relation Graph Attention Network,簡稱Duel RGAT),這兩個RGAT分別對普通有向圖和線性有向圖進行編碼。
其中RGAT^n和RGAT^e分別用于普通有向圖和線性有向圖,X^l和Z^l分別表示第層RGAT中普通有向圖和線性有向圖的矩陣表示;Z_{nlc}表示線性有向圖中非局部鄰居部分的圖;G表示RGAT的層。
RGAT的前向傳播過程如下:
其中W是參數矩陣,H表示列的個數,FFN表示前向傳播網絡,N_i^n表示對節點v_i^n相應的表示,n表示table的序號,i表示列的序號,\phi表示對關系獲取相應的向量表示。
在RGAT^n前向傳播時,會使用RGAT^e中的表示,在這個過程中,本文采用了動態與靜態相結合的方式。即對于RGAT^n中的某一節點來說,它會使用RGAT^e中局部鄰居節點實時更新的向量表示,即動態;同時對于非局部鄰居節點,它會使用預訓練模型或者GloVe中的Embedding向量,即靜態。
?圖修剪
在主要的SQL生成任務的同時,本文還提出了圖修剪的輔助任務,用于提升模型對自然語言問題相關聯的schema部分的識別能力。這里采用的是分類,即對候選schema中的所有節點采用二分類的方式來判斷當前節點是剪裁還是保留。
實驗
本文的實驗主要在Spider數據集上進行驗證,并根據不使用預訓練模型,實用泛用性預訓練模型,和實用text-to-SQL領域特定的預訓練模型來與已有辦法進行對比。該方法目前結合ELECTRA結合能達到Spider的SOTA。
OpenKG
OpenKG(中文開放知識圖譜)旨在推動以中文為核心的知識圖譜數據的開放、互聯及眾包,并促進知識圖譜算法、工具及平臺的開源開放。
點擊閱讀原文,進入 OpenKG 網站。
總結
以上是生活随笔為你收集整理的论文浅尝 | LGESQL: 结合线性有向图以及普通有向图的自然语言转换SQL语句模型...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 | Data Intellig
- 下一篇: 论文浅尝 | 基于属性嵌入的知识图谱实体