成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇大模型NL2SQL全棧技術最新綜述

發布于 2024-8-19 09:41
瀏覽
1收藏

隨著LLM的出現,NL2SQL的性能得到了極大的提升,這顯著降低了訪問關系數據庫的障礙,并支持各種商業應用。

本文提供了一個全面的NL2SQL技術綜述,覆蓋了整個生命周期,包括模型、數據、評估和錯誤分析四個方面。

全文概述:NL2SQL任務的全生命周期

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

NL2SQL問題與背景

對NL2SQL任務進行了定義,并介紹了人類執行NL2SQL任務的工作流程與關鍵挑戰,并描述了基于語言模型發展的NL2SQL解決方案的演變。

NL2SQL任務定義

  • 問題表述:NL2SQL,也稱為Text-to-SQL,是將自然語言查詢轉換為可在關系數據庫上執行的SQL查詢的任務。目標是生成準確反映用戶意圖的SQL,確保執行后得到適當的結果。

在大型語言模型時代NL2SQL模塊的概述

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

人類工作流程

  • 理解自然語言查詢:首先理解用戶的意圖,識別NL中的關鍵部分,例如實體或屬性、時間上下文和特定條件。
  • 鏈接數據庫架構和檢索內容:基于對NL的理解,檢查數據庫架構和內容,識別生成SQL所需的相關表、列和單元格值。
  • 將NL意圖轉換為SQL:最后,根據對NL和數據庫概念的理解,編寫相應的SQL查詢。

挑戰

  • 自然語言的不確定性:自然語言可能因歧義和不明確性而含有不確定性,例如詞義歧義、句法歧義、信息不足和用戶錯誤。
  • 數據庫的復雜性和數據的不完整性:數據庫架構的復雜性和數據的龐大體量對NL2SQL任務的有效執行構成挑戰,包括表之間的關系復雜性、列名的相似性、特定領域的架構變化以及大數據量和數據的不完整性。
  • 從自然語言到SQL的轉換:NL2SQL任務與高級編程語言到低級機器語言的編譯不同,因為輸入的NL和輸出的SQL查詢之間通常存在一對多的映射。

NL2SQL任務及其挑戰的示例

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

NL2SQL解決方案的演變

  • 基于規則的方法:早期研究主要集中在使用預定義規則或語義解析器來理解自然語言查詢并將其轉換為SQL查詢。
  • 基于神經網絡的方法:為了解決基于規則的方法的局限性,研究者開始利用神經網絡來解決NL2SQL任務,例如使用序列到序列模型或圖神經網絡。
  • 基于預訓練語言模型的方法:隨著BERT和T5等預訓練語言模型的出現,基于PLM的NL2SQL方法在多個基準數據集上取得了競爭性的性能。
  • 大型語言模型時代:隨著LLMs的出現,NL2SQL技術取得了顯著進展,LLMs具有卓越的語言理解和新出現的能力,例如使用提示來執行NL2SQL任務。

從語言模型的角度來看NL2SQL解決方案的演變

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區


NL2SQL的預處理策略

專注于在執行NL2SQL翻譯過程中的預處理步驟,這些步驟對于識別相關表格和列(即架構鏈接)以及檢索生成SQL所需的適當數據庫內容或單元格值至關重要。此外,預處理通過添加特定領域的知識來豐富上下文,提高查詢上下文的理解,并糾正錯誤以防止它們傳播。

架構鏈接(Schema Linking)

  • 目的:確定與給定自然語言查詢相關的表格和列,確保在有限的輸入內準確映射和處理關鍵信息,提高NL2SQL任務的性能。
  • 方法分類:
  • 基于字符串匹配的方法:使用相似性度量來識別NL文本和數據庫架構元素(如表名和列名)之間的相關映射。
  • 基于神經網絡的方法:使用深度神經網絡來匹配數據庫架構和自然語言查詢,有效解析語言和數據庫結構之間的復雜語義關系。
  • 基于上下文學習的方法:利用大型語言模型(如GPT-4)的強推理能力直接從NL查詢中識別和鏈接相關的數據庫架構組件。

數據庫內容檢索(Database Content Retrieval)

  • 目的:通過文本搜索算法和數據庫索引高效檢索單元格值。
  • 策略分類:
  • 基于字符串匹配的方法:通過字符串匹配查找與給定NL查詢相關的單元格值序列。
  • 基于神經網絡的方法:神經網絡通過多層非線性變換學習復雜數據格式和語義表示,以捕獲語義特征,緩解同義詞問題。
  • 索引策略:索引是提高數據庫內容檢索效率的關鍵方法,允許更快地訪問相關單元格值。

額外信息獲取(Additional Information Acquisition)

  • 作用:額外信息(例如領域知識)在提高NL2SQL模型理解NL查詢、執行架構鏈接和NL2SQL翻譯方面發揮著重要作用。
  • 應用:研究人員經常將額外信息作為文本輸入(提示)的一部分,連同少數示例一起輸入,以提高模型的理解和翻譯質量。

NL2SQL翻譯方法

深入探討了使用語言模型進行NL2SQL翻譯的方法。這些方法包括編碼策略、解碼策略和特定于任務的提示策略,以及如何利用中間表示來優化NL2SQL翻譯過程。

基于設計選擇的NL2SQL翻譯方法分類

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

編碼策略(Encoding Strategy)

編碼策略涉及將自然語言和數據庫架構轉換為結構化格式,以便語言模型有效利用。這一轉換對于將非結構化和半結構化數據轉換為可用于生成SQL查詢的格式至關重要。

  • 順序編碼:將NL和數據庫架構視為一系列標記。
  • 基于圖的編碼:利用數據庫的固有關系結構和輸入數據的復雜相互依賴性。
  • 獨立編碼:將NL的不同部分(如子句和條件)分別編碼,然后在后期組合以生成最終的SQL。

編碼策略的概述

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

解碼策略(Decoding Strategy)

解碼策略在NL2SQL翻譯中扮演關鍵角色,負責將編碼器生成的表示轉換為目標SQL查詢。

  • 貪婪搜索解碼:選擇當前概率最高的標記作為輸出。
  • 束搜索解碼:保留多個候選序列,探索更大的搜索空間。
  • 約束感知增量解碼:在解碼過程中逐步添加約束,確保生成的SQL查詢在語法上正確。

解碼策略的概述

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

特定于任務的提示策略(Task-specific Prompt Strategy)

在大型語言模型時代,提示工程可以發揮LLMs的能力,并已被廣泛應用于自然語言處理。

  • 思維鏈:推動模型順序思考和推理任務目標。
  • 分解:將最終任務分解為多個子任務,分別進行推理。

中間表示(Intermediate Representation)

中間表示(IR)是NL查詢和SQL查詢之間的橋梁,它是一個結構化但靈活的語法,捕捉NL查詢的基本組成部分和關系,而無需SQL的嚴格語法規則。

  • SQL-like 語法語言:將用戶查詢轉換為中間的SQL-like表達式。
  • SQL-like 草圖結構:構建草圖規則,將NL映射到SQL-like框架中。


中間表示的示例

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區


NL2SQL的后處理策略

描述了在NL2SQL模型生成SQL之后,如何通過后處理步驟來優化和改進生成的SQL查詢,以更好地滿足用戶的期望。

SQL校正策略(SQL Correction Strategies)

  • 目的:修正由模型生成的SQL中的語法錯誤。
  • 方法:例如DIN-SQL提出的自我校正模塊,通過不同的提示指導模型識別和糾正錯誤。

輸出一致性(Output Consistency)

  • 目的:提高模型輸出的一致性。
  • 方法:例如C3-SQL提出的自我一致性方法,通過采樣多個不同的推理路徑并選擇最一致的答案來提高輸出質量。

執行引導策略(Execution-Guided Strategies)

  • 目的:使用SQL查詢的執行結果來指導后續處理。
  • 方法:如ZeroNL2SQL通過可執行性檢查過程不斷生成SQL查詢,并反饋錯誤信息給LLMs以實現可執行查詢。

N-best重排策略(N-best Rerankers Strategies)

  • 目的:對原始模型生成的前n個結果進行重排序,通常使用更大的模型或結合額外的知識源。
  • 方法:如Bertrand-dr使用BERT模型作為重排器來改進多個NL2SQL模型。

NL2SQL基準測試

詳細介紹了用于評估NL2SQL系統性能的各種數據集,分析了它們的特點,并探討了這些基準測試如何隨著時間的推移而發展。數據集從早期的單一領域、簡單SQL查詢發展到跨領域、多輪對話和多語言挑戰的復雜數據集。

NL2SQL基準測試的時間線

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

NL2SQL基準測試的統計數據

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區


NL2SQL評估與錯誤分析

討論了評估NL2SQL系統性能的方法和工具,并提出了一個錯誤分類體系來組織和分析NL2SQL過程中的SQL錯誤。


NL2SQL之360全景的概述

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

  • 錯誤分類體系設計為兩級:
  • 錯誤定位(Error Localization):確定SQL中發生錯誤的具體部分。
  • 錯誤原因(Cause of Error):理解模型在生成SQL時出錯的原因。


根據分類統計的Din-SQL錯誤

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

推薦NL2SQL模塊的數據驅動路線圖和決策流程

一篇大模型NL2SQL全棧技術最新綜述-AI.x社區

https://arxiv.org/pdf/2408.05109
A Survey of NL2SQL with Large Language Models:Where are we, and where are we going?
NL2SQL Handbook: https://github.com/HKUSTDial/NL2SQL_Handbook

本文轉載自??PaperAgent??

收藏 1
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 中文字幕一区二区三区在线视频 | 国产精品免费看 | www国产亚洲精品 | 国产精品视频免费观看 | 久久久精品日本 | av免费观看网站 | 羞羞视频在线观看 | 成人亚洲视频 | 羞羞网站在线观看 | 国产成人精品一区二区三区四区 | 91在线第一页 | 国产精品av久久久久久毛片 | 日韩成人在线视频 | 黑人巨大精品欧美一区二区免费 | 国产精品一区二区三区在线 | 在线看日韩| 日韩av网址在线观看 | 国产成人福利 | 日韩成人在线观看 | 奇米超碰 | 成人精品一区二区三区中文字幕 | 日韩中文一区 | 成人自拍视频网站 | 日本a在线 | 日韩亚洲欧美综合 | 2018国产精品 | 狠狠狠色丁香婷婷综合久久五月 | 欧美日一区二区 | 欧美jizzhd精品欧美巨大免费 | 国产在线精品一区二区三区 | 天天干天天想 | 久久久国产精品网站 | 一区 | 北条麻妃视频在线观看 | 男人天堂999 | 涩在线 | 91原创视频 | 日韩 国产 在线 | 在线欧美视频 | 久在线精品视频 | 精品国产免费人成在线观看 |