自然語言到 SQL(NL2SQL)技術(shù)正在快速發(fā)展,成為自然語言處理(NLP)領(lǐng)域的一項(xiàng)重要?jiǎng)?chuàng)新。該技術(shù)使得用戶能夠?qū)⒆匀徽Z言查詢轉(zhuǎn)化為結(jié)構(gòu)化查詢語言(SQL)語句,這一進(jìn)步極大地方便了缺乏技術(shù)背景的用戶與復(fù)雜數(shù)據(jù)庫之間的交互,從而獲取有價(jià)值的信息。NL2SQL 技術(shù)不僅為各行業(yè)的大型數(shù)據(jù)庫探索打開了新大門,還提升了工作效率和決策能力。
然而,NL2SQL 的實(shí)現(xiàn)過程中,查詢準(zhǔn)確性與適應(yīng)性之間存在一定的權(quán)衡。一些方法在生成 SQL 查詢時(shí),既無法保證準(zhǔn)確性,也難以適應(yīng)不同類型的數(shù)據(jù)庫。現(xiàn)有的一些解決方案多依賴于大型語言模型(LLMs),通過提示工程生成多個(gè)輸出并選擇最佳查詢,但這種方式增加了計(jì)算負(fù)擔(dān),不適合實(shí)時(shí)應(yīng)用。同時(shí),監(jiān)督微調(diào)(SFT)雖然能實(shí)現(xiàn)針對(duì)性 SQL 生成,但在跨領(lǐng)域應(yīng)用和復(fù)雜數(shù)據(jù)庫操作中卻面臨困難,因此亟需創(chuàng)新的框架。
阿里巴巴的研究團(tuán)隊(duì)推出了 XiYan-SQL,一個(gè)突破性的 NL2SQL 框架。它融合了多生成器集成策略,將提示工程和 SFT 的優(yōu)勢(shì)結(jié)合起來。XiYan-SQL 的一個(gè)關(guān)鍵創(chuàng)新在于引入了 M-Schema,這是一種半結(jié)構(gòu)化的架構(gòu)表示方法,能夠增強(qiáng)系統(tǒng)對(duì)數(shù)據(jù)庫層次結(jié)構(gòu)的理解,包括數(shù)據(jù)類型、主鍵和示例值,從而提高生成準(zhǔn)確且符合上下文的 SQL 查詢的能力。
XiYan-SQL 采用三階段的流程生成和優(yōu)化 SQL 查詢。
首先,系統(tǒng)通過架構(gòu)鏈接識(shí)別相關(guān)數(shù)據(jù)庫元素,從而減少冗余信息,聚焦于關(guān)鍵結(jié)構(gòu)。接著,利用基于示例學(xué)習(xí)(ICL)和 SFT 的生成器生成 SQL 候選。最后,系統(tǒng)運(yùn)用糾錯(cuò)模型和選擇模型對(duì)生成的 SQL 進(jìn)行優(yōu)化和篩選,從而確保選擇出最佳查詢。XiYan-SQL 將這些步驟整合成一個(gè)高效的管道,超越了傳統(tǒng)方法。
經(jīng)過嚴(yán)格的基準(zhǔn)測(cè)試,XiYan-SQL 在多個(gè)標(biāo)準(zhǔn)測(cè)試集中表現(xiàn)出色,例如在 Spider 測(cè)試集中實(shí)現(xiàn)了89.65% 的執(zhí)行準(zhǔn)確率,明顯領(lǐng)先于以往的頂尖模型。
此外,在非關(guān)系型數(shù)據(jù)集的適應(yīng)性方面,XiYan-SQL 也取得了優(yōu)異的成績(jī),在 NL2GQL 測(cè)試集中達(dá)到了41.20% 的準(zhǔn)確率。這些結(jié)果表明,XiYan-SQL 在多種場(chǎng)景下都具備卓越的靈活性和準(zhǔn)確性。
github:https://github.com/XGenerationLab/XiYan-SQL
劃重點(diǎn):
?? 創(chuàng)新架構(gòu)表示:M-Schema 增強(qiáng)了對(duì)數(shù)據(jù)庫層次結(jié)構(gòu)的理解,提高了查詢準(zhǔn)確性。
?? 高級(jí)候選生成:XiYan-SQL 利用多種生成器產(chǎn)生多樣化的 SQL 候選,提高了查詢質(zhì)量。
? 優(yōu)越的適應(yīng)性:通過基準(zhǔn)測(cè)試,XiYan-SQL 展示了其在多種數(shù)據(jù)庫中的卓越表現(xiàn),設(shè)定了新的 NL2SQL 框架標(biāo)準(zhǔn)。

