Measuring and Improving Compositional Generalization in Text-to-SQL via Component Alignment
NAACL 2022| CCF B
Abstract
在 text-to-SQL 任務(wù)中,正如在許多 NLP 中一樣,組合泛化是一個重大挑戰(zhàn):神經(jīng)網(wǎng)絡(luò)在訓(xùn)練和測試分布不同的情況下難以實現(xiàn)組合泛化。然而,最近改進這一點的嘗試都是基于單詞級合成數(shù)據(jù)或特定數(shù)據(jù)集分割來生成組合偏差。在這項工作中,我們提出了一種子句級組合示例生成方法。我們首先將Spider文本轉(zhuǎn)SQL數(shù)據(jù)集中的句子拆分為子句子,用相應(yīng)的SQL子句注釋每個子句子,從而得到一個新的數(shù)據(jù)集Spider-SS。然后,我們通過以不同的構(gòu)成方式組合 Spider-SS 子句,進一步構(gòu)建一個新的數(shù)據(jù)集 Spider-CG,以測試模型組合泛化的能力。實驗表明,在 Spider-CG 上評估時,現(xiàn)有模型的性能會顯著下降,即使每個子句在訓(xùn)練過程中都會出現(xiàn)。為了解決這個問題,我們修改了一些最先進的模型來訓(xùn)練 Spider-SS 的分段數(shù)據(jù),并且我們表明這種方法提高了泛化性能。
1 Introduction
監(jiān)督學(xué)習環(huán)境中的神經(jīng)模型在從訓(xùn)練分布中提取的數(shù)據(jù)上表現(xiàn)出良好的性能。然而,分布外 (OOD,out-of-distribution ) 樣本的泛化性能可能較差。即使新樣本由已知成分組成,情況也可能如此;例如,在 SCAN 數(shù)據(jù)集上,許多模型對輸入 “jump twice and walk” 給出了錯誤的預(yù)測,即使在訓(xùn)練過程中已經(jīng)出現(xiàn)了 “jump twice”, “walk”, and “walk twice”。這種(通常缺乏)在訓(xùn)練期間能夠觀察到各種元素的新組合的泛化能力被稱為組合泛化。
之前關(guān)于 text-to-SQL 的組合泛化的工作主要集中在查詢拆分上。例如,Shaw 等人 (2021)提出基于SQL原子和化合物分析的TMCD分割和基于長度的問題分割。 Finegan-Dollak 等人(2018)提出了一種基于查詢模板的帶有單詞替換的分割,這比問題分割更具挑戰(zhàn)性。然而,這些分割受到數(shù)據(jù)集內(nèi)容的限制,使得很難構(gòu)建具有挑戰(zhàn)性的基準,同時確保每個問題短語(子句)出現(xiàn)在訓(xùn)練集中。
之前的工作通過增強模型的組件意識來提高泛化能力。同樣,尹等人(2021) 以及 Herzig 和 Berant (2021) 提出了基于跨度的語義解析器,可以預(yù)測話語跨度上的子程序。然而,這些工作都是基于數(shù)據(jù)集,其中組件對齊相對容易實現(xiàn);但對于更復(fù)雜的文本轉(zhuǎn)SQL,不能直接使用它們的方法。例如,如圖所示,為了將子句與子SQL對齊,算法需要知道 ‘youngest’ 對應(yīng) ‘a(chǎn)ge’,‘weigh’ 對應(yīng) ‘weight’。對于小型或單域設(shè)置,可以通過建立規(guī)則來構(gòu)建這樣的對齊算法;然而,目前還沒有簡單可行的大型復(fù)雜跨域文本到 SQL 的對齊方法,例如Spider 基準。
在本文的工作中,我們首先引入了一個新的數(shù)據(jù)集 Spider-SS(SS 代表sub-sentences子句),源自 Spider;圖 1 對兩者進行了比較。為了構(gòu)建Spider-SS:
- 我們首先設(shè)計一個句子分割算法,將每個Spider句子分割成幾個子句子(sub-sentences),直到不可分割。
- 接下來,我們用每個子句相對應(yīng)的 SQL 子句對其進行注釋。通過使用中間表示語言 NatSQL來降低此任務(wù)的難度,該語言更簡單,并且在語法上與自然語言 (NL) 更一致。
因此,Spider-SS 為設(shè)計具有更好泛化能力的模型提供了新的資源,而無需設(shè)計復(fù)雜的對齊算法。此外,它還可以作為評估未來對齊算法的基準。據(jù)我們所知,這是第一個基于子句的 text-to-SQL 數(shù)據(jù)集。
帶注釋的 Spider-SS 為我們提供了與 NatSQL 子句配對的 sub-sentences ( 自然語言子句 ),這些sub-sentences作為我們的元素?;赟pider-SS,我們?nèi)缓髽?gòu)建進一步的數(shù)據(jù)集Spider-CG(CG代表組合泛化),通過用其他樣本中的sub-sentences替換該樣本的 sub-sentences,或者組合兩個sub-sentences以形成更復(fù)雜的樣本。 Spider-CG 包含兩個子集;圖 2 顯示了每種情況的一個示例:
- 第一個子集包含通過替換子句生成的 23,569 個示例;我們認為該子集中的大多數(shù)數(shù)據(jù)都是分布的 (in-distribution)。
- 第二個子集包含 22,030 個通過附加子句子生成的示例,與原始樣本相比,增加了句子和 SQL 查詢的長度和復(fù)雜性;我們將此子集視為 OOD (out-of-distribution )。我們證明,當僅在原始 Spider 數(shù)據(jù)集上訓(xùn)練模型時,即使一些子句已經(jīng)出現(xiàn)在訓(xùn)練集中,它們在 Spider-CG 的第二個 OOD 子集上的性能也會顯著下降。
為了提高 text-to-SQL 模型的泛化性能,我們修改了幾個以前的最先進的模型,以便它們可以被應(yīng)用在 Spider-SS 數(shù)據(jù)集上,并逐個使用 sub-sentence 訓(xùn)練模型。這一修改在 Spider-CG 的 OOD 子集上獲得了超過 7.8% 的精度提升。
簡而言之,我們做出以下貢獻:
- 除了句子拆分算法之外,我們還引入了 Spider-SS,這是一個基于 Spider 基準的人工策劃的基于子句的 text-to-SQL 數(shù)據(jù)集,通過將其 NL 問題拆分為子句。
- 我們引入了Spider-CG 基準測試來測量文本到SQL 模型的組合泛化性能。
- 我們證明 text-to-SQL 模型可以適應(yīng)基于子句子的訓(xùn)練,從而提高其泛化性能。
2 Spider-SS
2.1 Overview
圖 1 展示了 Spider 和 Spider-SS 之間的比較。與 Spider 將整個 SQL 查詢?yōu)檎麄€句子注釋不同,Spider-SS 將 SQL 子句注釋為子句子 sub-sentence。 Spider-SS 使用 NatSQL 代替 SQL 進行注釋,由于 SQL語言的設(shè)計規(guī)則,有時候直接使用 sub-sentence 對應(yīng)的 SQL 子句對其進行注釋是比較困難的。Spider-SS提供了一種組合算法,收集所有NatSQL子句,然后生成NatSQL查詢,其中NatSQL查詢可以轉(zhuǎn)換為SQL查詢。
構(gòu)建Spider-SS的目的是獲得子句級別的 text-to-SQL 數(shù)據(jù),避免需要 基于復(fù)雜的大型跨域 text-to-SQL數(shù)據(jù)集(例如Spider)難以構(gòu)建的對齊算法。此外,我們可以通過Spider-SS的不同子句組合生成更復(fù)雜的例子。與 Spider 一致,Spider-SS 包含 7000 個訓(xùn)練示例和 1034 個開發(fā)示例,但 Spider-SS 不包含測試集,因為 Spider 測試集不公開。構(gòu)建Spider-SS有兩個步驟。首先設(shè)計句子分割算法,將句子切分成子句,然后手動標注每個子句對應(yīng)的NatSQL子句。
2.2 Sentence Split Algorithm
我們在 NL 依存解析器 spaCy 上構(gòu)建句子分割算法,它提供句子的語法結(jié)構(gòu)?;旧希覀儗⒕渥臃殖梢韵乱蕾図棧簆rep、relcl、advcl、acl、nsubj、npadvmod、csubj、nsubjpass 和 conj。根據(jù)(de Marnee and Manning,2016),這些依賴關(guān)系幫助我們區(qū)分主句、從句和修飾語。圖 3 顯示了一個句子的依存結(jié)構(gòu)以及如何將該句子拆分為三個子句子。然而,并不是每個句子都會被分割,因為有一些不可分割的句子,如圖 4 中的第三個示例,其注釋與 Spider 數(shù)據(jù)集相同。雖然這種方法在大多數(shù)情況下可以很好地分割句子,但由于自然語言的可變性,有些例子無法完美分割。
為了解決句子拆分中的剩余問題,我們設(shè)計了一些針對 text-to-SQL 應(yīng)用程序的細化步驟。例如,當模式列或表的階段意外地分成兩個子句時,這兩個子句會自動連接起來。此外,當子句中只有一個單詞時,也應(yīng)該撤消相應(yīng)的拆分。
我們從Spider-SS開發(fā)集中抽取了500個樣本來人工評估分割結(jié)果的可接受性,只有 < 3% 的分割結(jié)果不令人滿意。例如,在圖4中第一個示例的拆分結(jié)果中,最后兩個子句應(yīng)組合起來對應(yīng)于“ORDER BY Customer.Email_Address, Customer.Phone_Number ASC ”。在這個例子中,我們并沒有簡單地給最后一個子句添加“ORDER BY Customer.Phone_Number ASC”,因為 sub-sentence 中沒有提到任何與“ORDER BY”相關(guān)的內(nèi)容。在這里,我們引入了“extra”,這是一個為Spider-SS數(shù)據(jù)集設(shè)計的新NatSQL關(guān)鍵字,表明該 sub-sentence 提到了暫時不適合任何其他NatSQL子句的列。當將 NatSQL 子句組合到最終的 NatSQL 查詢中時,組合算法根據(jù)前后子句確定 “extra” 列的最終位置。請注意,即使有一小部分分割結(jié)果不滿意,只要在 Spider-SS 上訓(xùn)練的模型能夠根據(jù)輸入的 sub-sentence 給出正確的輸出,sub-sentences 本身的質(zhì)量不會強烈影響模型效用。
2.3 Data Annotation
當我們得到上一步的分割結(jié)果后,我們就可以開始數(shù)據(jù)標注了。我們根據(jù)sub-sentence內(nèi)容給出精確的注釋,例如上一小節(jié)討論的“extra”列注釋。此外,如果子句中缺少 schema 列的描述,我們將為 schema 列添加一個“NO MENTIONED”標記。例如,在圖 4 的第二個示例中,“按升序”子句沒有提及“Farm.Total_Horses”列。因此,我們?yōu)槠涮砑印癗O MENTIONED”標記。對于那些沒有提及任何與查詢相關(guān)的子句,我們給出“NONE”標記,表示沒有 NatSQL 子句。
由于標注是根據(jù) sub-sentence 內(nèi)容進行的,因此與 sub-sentence 更加一致的等價SQL會優(yōu)先于原始SQL。同樣,如果原來的SQL注釋有錯誤,我們根據(jù)內(nèi)容進行更正。
我們使用 NatSQL 而不是 SQL 來注釋 sub-sentence ,其中 NatSQL 是 SQL 的中間表示,僅保留 SQL 中的 SELECT、WHERE 和 ORDER BY 子句。由于某些子句需要使用 GROUP BY 子句進行注釋,因此我們選擇使用GROUP BY 增強的NatSQL版本。我們沒有直接使用 SQL,因為在某些情況下很難注釋,例如圖 5 中的 SQL 示例。困難在于這個 SQL 查詢中有兩個 SELECT 子句,但沒有一個子句對應(yīng)于兩個 SELECT 子句。另外,考慮到兩個WHERE條件對應(yīng)不同的SELECT子句,基于SQL的標注工作完成起來要困難得多。如圖5所示,我們可以使用NatSQL快速完成標注,同時NatSQL可以轉(zhuǎn)換回目標SQL。
3 Spider-CG
3.1 Overview
Spider-CG是一個合成數(shù)據(jù)集,是通過重新組合Spider-SS的子句生成的。重組方法有兩種。第一種是不同示例之間的子句替換,另一種是將子句附加到另一個句子中。為了方便后續(xù)討論,我們將子句替換方法生成的Spider-CG子集命名為CG-SUB,將另一個命名為CG-APP。
在CG-SUB中,Spider-SS訓(xùn)練集生成了20,686個示例,而開發(fā)集生成了2,883個示例。在 CG-APP 中,訓(xùn)練集和開發(fā)集生成的示例分別為 18,793 個和 3,237 個。因此,Spider-CG 包含 45,599 個示例,大約是 Spider 數(shù)據(jù)集的六倍。如果需要更多數(shù)據(jù),我們可以進一步在 CG-SUB 示例中附加子句子。
3.2 Generation Algorithm
根據(jù)算法1,我們可以根據(jù)組成元素生成CG-SUB和CG-APP。每個元素包含一個或多個帶有來自 Spider-SS 的相應(yīng) NatSQL 子句的 sub-sentence,其中這些 NatSQL 只能是 WHERE 或 ORDER BY 子句。因此,算法1僅替換并附加WHERE和ORDER BY子句,并且不修改SELECT子句。我們通過從頭到尾或從尾到頭掃描所有 sub-sentences 來收集構(gòu)成元素的子句,遇到除 WHERE 和 ORDER BY 之外的子句時停止。例如,我們生成一個組合元素,其中包含圖 5 中 Spider-SS 示例的最后兩個子句子。相反,圖 1 中的示例沒有提取任何元素。應(yīng)該注意的是,一個域中的元素不能在另一個域中使用,因為模式項不同。因此,有多少個域,就需要運行算法 1 多少次。
3.3 Quality Evaluation
我們認為 text-to-SQL 語句的質(zhì)量由兩個標準決定:包含所需信息和合理。 “信息”標準要求一個句子包含導(dǎo)出目標 NatSQL 所需的所有信息。 “合理”的標準要求句子邏輯正確、表達流暢、易于理解。我們從 Spider-CG 數(shù)據(jù)集中隨機抽取了 2000 個樣本,其中大約 99% 是可以接受的,即它們滿足這兩個標準。評估由具有 text-to-SQL 豐富知識的計算機科學(xué)畢業(yè)生手動進行。然而,這些可接受的例子并不意味著沒有語法錯誤,而且它們可能毫無意義。我們在表1中給出了一個可以接受但不完美的例子,其中這個句子是沒有意義的,因為它要查詢的內(nèi)容就是它給出的條件。此外,在這些可接受的示例中,大約有 5% 的 NatSQL 查詢無法轉(zhuǎn)換為正確的 SQL。這個問題可以在未來通過設(shè)計良好的數(shù)據(jù)庫模式或者更新NatSQL轉(zhuǎn)換函數(shù)來解決。
4 Model
現(xiàn)有的 text-to-SQL 模型輸入一個句子并輸出相應(yīng)的SQL查詢。因此,考慮使用 Spider-SS 數(shù)據(jù)集的最簡單方法是訓(xùn)練輸入子句并輸出相應(yīng) NatSQL 子句的模型。然而,這種方法并不可行,因為它會丟失一些重要的模式信息。例如,如果只看圖1中的第三個子句,你不知道它是查詢寵物的體重還是人的體重。
為了考慮Spider-SS的上下文和子句數(shù)據(jù),我們提出seq2seq模型可以對整個句子進行編碼,但僅對子句進行解碼。圖 6 展示了對整個句子進行編碼但僅解碼“who is old than ten”的子句并輸出相應(yīng)的 NatSQL 子句的工作流程。
基于這樣的改進,seq2seq 的 text-to-SQL 模型可以在 Spider-SS 上適用。盡管之前基于跨度的語義解析器可以使用基于 Spider-SS 數(shù)據(jù)集的對齊注釋,但它們都不是為復(fù)雜的文本到 SQL 問題而設(shè)計的。我們的修改思路與基于span的語義解析器原理上類似,但是我們沒有按照基于span的方式改變現(xiàn)有的模型,因為我們的修改思路工作量更小。
一般來說,我們可以通過三個步驟使基于seq2seq的 text-to-SQL模型適應(yīng)Spider-SS。
- 數(shù)據(jù)預(yù)處理。按子句子拆分 Spider-SS 示例。例如,將圖6中的示例拆分為圖7中所示的兩個示例。
- 模型修改。經(jīng)過數(shù)據(jù)預(yù)處理后,模型有兩個輸入數(shù)據(jù)。第一個輸入是直接進入編碼器的整個問題。第二個輸入是子句索引,用于選擇編碼器輸出,如圖6所示。
- 輸出組合。由于模型輸出可能只是一個子句,而不是完整的 NatSQL 查詢,因此我們在模型輸出所有 NatSQL 子句后生成最終的 NatSQL 查詢。
5 Experiment
5.1 Experimental Setup
**數(shù)據(jù)集。**我們在 Spider-CG 和 Spider (Yu et al., 2018b) 數(shù)據(jù)集上評估了之前最先進的模型。因為 Spider 的測試集沒有公開,Spider-CG 不包含測試集。正如 3.1 節(jié)中所討論的,我們將 Spider-CG 分為兩個子集:CG-SUB 和 CGAPP。因此,有五個評估集:
- S p i d e r D Spider_D SpiderD?:原始 Spider 開發(fā)集,包含 1,034 個示例,用于 cross-domain in-distribution text-to-SQL 評估。
- C G ? S U B T CG-SUB_T CG?SUBT?:CG-SUB 訓(xùn)練集,包含從Spider-SS 訓(xùn)練集中通過替換子句生成的20,686 個示例。 C G ? S U B T CG-SUB_T CG?SUBT?可用于域內(nèi) in-domain in-distribution text-to-SQL 評估。
- C G ? S U B D CG-SUB_D CG?SUBD?:CG-SUB 開發(fā)集,包含 2,883 個用于 cross-domain in-distribution text-to-SQL 評估的示例。
- C G ? A P P T CG-APP_T CG?APPT?:CG-APP 訓(xùn)練集,包含通過附加子句子從Spider-SS 訓(xùn)練集中生成的18,793 個示例。 C G ? A P P T CG-APP_T CG?APPT? 可用于 in-domain out-of-distribution text-to-SQL 評估。
- C G ? A P P D CG-APP_D CG?APPD?:CG-APP 開發(fā)集,包含 3,237 個 cross-domain out-of-distribution text-to-SQL 評估的示例。
我們的評估基于原始 Spider 基準中定義的精確匹配指標。精確匹配度量衡量不帶條件值的預(yù)測查詢的語法樹是否與黃金查詢的語法樹相同。所有模型僅在 7000 個 Spider 或 Spider-SS 訓(xùn)練樣本上進行訓(xùn)練。
模型。我們評估了以下在 Spider 上達到競爭性能的開源模型:
- GNN:使用 GLOVE嵌入的 GNN 模型。
- RATSQL:使用 GLOVE 嵌入的 RATSQL 模型。
- R A T S Q L B RATSQL_B RATSQLB?:使用 BERT嵌入的 RATSQL 模型。
- R A T S Q L G RATSQL_G RATSQLG?:使用 GAP 嵌入的 RATSQL 模型。
- ( N ) (_N) (N?):該下標表示模型使用 NatSQL 而不是 SQL。
- ( S ) (_S) (S?):該下標表示模型根據(jù)第4節(jié)進行修改并在Spider-SS上進行訓(xùn)練。此外,因為 Spider-SS 是由 NatSQL 進行標注的,這個下標也意味著模型使用 NatSQL 而不是 SQL。
5.2 Dataset Analysis
Spider-SS。表 2 顯示了 Spider 中的 SQL 與 Spider-SS 中 NatSQL 生成的 SQL 之間的差異。我們的評估結(jié)果低于原始 NatSQL 數(shù)據(jù)集,因為 Spider-SS 使用等效的 SQL 并糾正了一些錯誤,如第 2.3 節(jié)所述。某些等效且更正的 SQL 無法在精確匹配指標和執(zhí)行匹配方面獲得積極結(jié)果。因此,在 Spider-SS 上訓(xùn)練的模型可能不適合追逐 Spider 基準,尤其是基于精確匹配指標。同樣,擴展 NatSQL 的 RATSQLG 在 Spider 測試集的執(zhí)行匹配中取得了之前的 SOTA 結(jié)果,但在精確匹配中得到了比原始結(jié)果更差的結(jié)果(Gan et al., 2021b)。因此,我們建議使用基于 NatSQL 的數(shù)據(jù)集來評估在 NatSQL 上訓(xùn)練的模型。
Spider-CG。表3列出了五個不同評估集的難度分布。難度標準由Spider benchmark定義,包括簡單、中等、困難和超困難。實驗表明,SQL越難,正確預(yù)測就越困難。從表3可以發(fā)現(xiàn), C G ? S U B T CG-SUB_T CG?SUBT?和 C G ? S U B D CG-SUB_D CG?SUBD?的難度分布與 S p i d e r D Spider_D SpiderD?類似。 C G ? S U B T CG-SUB_T CG?SUBT?、 C G ? S U B D CG-SUB_D CG?SUBD? 和 S p i d e r D Spider_D SpiderD? 之間的相似分布支持第 1 節(jié)中討論的觀點,即替換方法生成的示例是分布的。
另一方面, C G ? A P P T CG-APP_T CG?APPT?和 C G ? A P P D CG-APP_D CG?APPD?的難度分布與 S p i d e r D Spider_D SpiderD?明顯不同。由于添加了子句, C G ? A P P CG-APP CG?APP 中的NL和SQL變得更加復(fù)雜,其中Extra Hard中的SQL比例明顯增加,而easy則相反。
5.3 Sentence Split Algorithm Evaluation
我們根據(jù)2.2節(jié)中介紹的算法分割的Spider-SS子句的組合生成Spider-CG。我們可以利用該算法對Spider-CG中的句子進行分割,然后將分割結(jié)果與SpiderSS子句子進行比較,以評估分割算法的穩(wěn)定性。我們認為去除結(jié)果中一兩個token的偏差是可以接受的。例如,在圖1中,我們認為將第三個子句的逗號放入第二個子句中不會改變子句的含義,對于移動逗號和“and”一詞也是如此。
表4展示了Spider-SS和Spider-CG中子句之間的相似度,這些子句是在一兩個詞的偏差下通過相同的分割算法生成的。當允許存在兩個偏差詞時,所有評價集中的相似度超過90%??紤]到在Spider-SS上訓(xùn)練的模型不需要一致的分割結(jié)果,如2.2節(jié)中討論的,分割算法的相似度結(jié)果足夠好。 CG-SUB的相似度高于CG-APP,這意味著句子越復(fù)雜,對算法的挑戰(zhàn)就越大。雖然算法在訓(xùn)練集上進行了細化,但CG-SUB和CG-APP中的訓(xùn)練和開發(fā)相似度接近,表明該算法對于未知領(lǐng)域中的句子表現(xiàn)一致。綜上所述,我們認為只要句子不比CG-APP復(fù)雜,該算法就可以在其他文本轉(zhuǎn)SQL數(shù)據(jù)集中穩(wěn)定使用。
5.4 Model Results
表 5 顯示了五個不同評估集的精確匹配精度。在 C G ? A P P T CG-APP_T CG?APPT? 和 C G ? A P P D CG-APP_D CG?APPD? 這兩個 OOD 數(shù)據(jù)集中,所有模型的性能均下降了約 10% 至 30%。然而,在 OOD 數(shù)據(jù)集上進行評估時,在 Spider-SS 上訓(xùn)練的模型明顯優(yōu)于在 Spider 上訓(xùn)練的模型。在輸入帶有下標(S)的模型之前,我們使用句子分割算法來分割每個句子。盡管分割的子句與訓(xùn)練時看到的不完全一致,但這并不妨礙帶有下標(S)的模型獲得良好的性能,即 R A T S Q L G ( S ) RATSQL_{G(S)} RATSQLG(S)?在所有評估集上始終優(yōu)于所有其他模型。這些結(jié)果表明基于子句的方法可以提高泛化性能。限制是該方法可能與原始模型不兼容,例如 R A T S Q L B ( S ) RATSQLB_{(S)} RATSQLB(S)?中的原始超參數(shù)不可行,還有GNN在SpiderD和 C G ? S U B D CG-SUB_D CG?SUBD?上的性能下降。
每個模型在未見過的 S p i d e r D Spider_D SpiderD?和 C G ? S U B D CG-SUB_D CG?SUBD?之間都有接近的結(jié)果,這表明從模型的角度來看,合成句子與NL非常相似。因此,我們相信 C G ? S U B D CG-SUB_D CG?SUBD? 的性能可以推廣到現(xiàn)實世界。而且,考慮到生成 C G ? S U B D CG-SUB_D CG?SUBD?和 C G ? A P P D CG-APP_D CG?APPD?的算法很接近(參見附錄A),我們可以進一步推測 C G ? A P P D CG-APP_D CG?APPD?的合成句子也接近自然語言。
在 Spider-CG 上評估時,使用 NatSQL 的模型明顯優(yōu)于不使用 NatSQL 的模型。原因之一是Spider和Spider-SS的訓(xùn)練數(shù)據(jù)大約有10%的差異,這導(dǎo)致在Spider上訓(xùn)練的模型在對Spider-SS的NatSQL生成的SQL進行評估時性能下降,反之亦然。另一方面,(Gan et al., 2021b)中的實驗表明 NatSQL 提高了 extra hard SQL 中的模型性能。因此, R A T S Q L G ( N ) RATSQL_{G(N)} RATSQLG(N)? 和 R A T S Q L B ( N ) RATSQL_{B(N)} RATSQLB(N)? 在 C G ? A P P T CG-APP_T CG?APPT? 和$ CG-APP_D$ 中比 R A T S Q L G RATSQL_G RATSQLG? 和$ RATSQL_B$ 遭受更少的性能下降。
文章來源:http://www.zghlxwxcb.cn/news/detail-843017.html
6 Conclusion
我們引入 Spider-SS 和 Spider-CG 來測量文本到 SQL 模型的組合泛化。具體來說,Spider-SS 是一個基于 Spider 基準的人工策劃的基于子句的 text-to-SQL 數(shù)據(jù)集。 Spider-CG是通過替換和附加不同樣本的子句子構(gòu)建的合成文本到SQL數(shù)據(jù)集,使得訓(xùn)練集和測試集由不同的子句組成。我們發(fā)現(xiàn)以前的 text-to-SQ 模型的性能在 Spider-CG OOD 子集上急劇下降,而修改模型以適應(yīng) Spider-SS 的分段數(shù)據(jù)可以提高組合泛化性能。文章來源地址http://www.zghlxwxcb.cn/news/detail-843017.html
到了這里,關(guān)于【論文閱讀】通過組件對齊評估和改進 text-to-SQL 的組合泛化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!