本發(fā)明涉及文本查詢,特別是涉及一種上下文感知的多輪對(duì)話文本到sql自動(dòng)轉(zhuǎn)換方法。
背景技術(shù):
1、組織中數(shù)據(jù)驅(qū)動(dòng)決策的普及導(dǎo)致了對(duì)高效且直觀的數(shù)據(jù)庫(kù)交互方式的需求增加。自然語(yǔ)言數(shù)據(jù)庫(kù)接口,特別是文本到sql系統(tǒng),已成為一種有前途的解決方案,以實(shí)現(xiàn)數(shù)據(jù)訪問的民主化,并使非技術(shù)用戶能夠從復(fù)雜的數(shù)據(jù)集中獲取洞察力。雖然在單輪文本到sql任務(wù)方面取得了顯著進(jìn)展,其中單個(gè)用戶話語(yǔ)被轉(zhuǎn)換為sql查詢,但處理多輪交互的挑戰(zhàn)仍然是研究的一個(gè)關(guān)鍵領(lǐng)域。
2、多輪文本到sql任務(wù)呈現(xiàn)出獨(dú)特的挑戰(zhàn),這些挑戰(zhàn)超越了單輪交互的范疇。其中包括在多輪對(duì)話中維護(hù)和更新上下文、處理模糊引用以及生成準(zhǔn)確反映用戶在整個(gè)對(duì)話過程中不斷變化意圖的sql查詢。復(fù)雜性源于需要理解和整合會(huì)話上下文、處理各種語(yǔ)言現(xiàn)象(如回指和省略),并在對(duì)話進(jìn)展中生成越來(lái)越復(fù)雜的sql查詢。為了說(shuō)明這一過程,圖1展示了一個(gè)流程圖,描繪了典型的多輪文本到sql交互中的步驟。該圖演示了系統(tǒng)如何從數(shù)據(jù)庫(kù)中識(shí)別唯一的模板id、確定哪些模板被多次使用,并檢索與這些模板相關(guān)的文檔id。這種視覺表示強(qiáng)調(diào)了多輪文本到sql任務(wù)的迭代性質(zhì),并突出了系統(tǒng)需要在連續(xù)的用戶輸入中保持準(zhǔn)確的上下文以生成正確的sql查詢的需求。
3、單輪文本到sql:文本到sql的翻譯在過去幾十年中有了顯著的發(fā)展,方法從基于規(guī)則的系統(tǒng)到先進(jìn)的深度學(xué)習(xí)模型不一而足。早期方法依賴于使用預(yù)定義模板的基于規(guī)則的技術(shù),在特定場(chǎng)景下表現(xiàn)良好但缺乏適應(yīng)性。隨后的統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法,如語(yǔ)義解析,提供了改進(jìn)的靈活性,但仍面臨復(fù)雜查詢和領(lǐng)域適應(yīng)的挑戰(zhàn)。深度學(xué)習(xí)的出現(xiàn)引入了基于編碼器-解碼器架構(gòu)的序列到序列(seq2seq)模型,顯著增強(qiáng)了從自然語(yǔ)言生成sql查詢的能力。然而,這些模型在復(fù)雜查詢翻譯和泛化到未見數(shù)據(jù)庫(kù)模式方面仍然存在困難。
4、為了克服這些局限性,研究人員利用預(yù)訓(xùn)練語(yǔ)言模型(plms)開發(fā)了微調(diào)方法,如bert-based的text-to-sql模型、t5-based的方法以及領(lǐng)域特定的預(yù)訓(xùn)練模型grappa等,在spider數(shù)據(jù)集等基準(zhǔn)測(cè)試中展現(xiàn)了令人矚目的性能。這些成果得益于plms中編碼的豐富語(yǔ)言知識(shí)。近期,借助chatgpt和gpt-4等大型語(yǔ)言模型的情境學(xué)習(xí)(icl)方法進(jìn)一步推動(dòng)了該領(lǐng)域的發(fā)展,在spider和bird等數(shù)據(jù)集上取得了頂尖成績(jī),常常超越經(jīng)過微調(diào)的模型。盡管取得了這些進(jìn)展,但在一致性、可解釋性以及處理復(fù)雜數(shù)據(jù)庫(kù)模式方面仍存在挑戰(zhàn)。
5、多輪文本轉(zhuǎn)sql:多輪文本到sql系統(tǒng)解決了在多次交互中處理復(fù)雜、上下文相關(guān)查詢的挑戰(zhàn),這一領(lǐng)域近年來(lái)取得了顯著進(jìn)展。研究者們探索了多種策略來(lái)提升性能,包括改進(jìn)上下文建模技術(shù)、對(duì)話狀態(tài)跟蹤機(jī)制、模式鏈接方法以及中間表示形式。例如,igsql引入了交互級(jí)別的圖表示法來(lái)捕捉跨輪次依賴關(guān)系,而editsql則提出了一種基于交互歷史的編輯機(jī)制來(lái)優(yōu)化查詢。rat-sql引入了一種關(guān)系感知型transformer架構(gòu),以更好地將查詢標(biāo)記與模式元素對(duì)齊;delta提出了一個(gè)解耦框架,將對(duì)話建模與sql生成分離。此外,cqr-sql在生成sql之前引入了一個(gè)依賴上下文的查詢重寫步驟,有助于解決歧義并保持跨輪次的上下文一致性
6、大型預(yù)訓(xùn)練語(yǔ)言模型的應(yīng)用也已擴(kuò)展到多輪對(duì)話場(chǎng)景。coe-sql利用這些模型的能力,處理單輪和多輪的文本到sql任務(wù),展示了它們?cè)趹?yīng)對(duì)復(fù)雜、依賴上下文的查詢方面的潛力。然而,針對(duì)特定多輪文本到sql任務(wù)高效微調(diào)這些大型模型以及確保其在不同領(lǐng)域和交互模式下性能的一致性仍面臨挑戰(zhàn)。
7、缺陷和不足:
8、多輪文本到sql任務(wù)雖有進(jìn)展,但仍面臨諸多挑戰(zhàn)。現(xiàn)有系統(tǒng)在上下文管理方面顯得力不從心,難以在長(zhǎng)對(duì)話中保持連貫性,也無(wú)法準(zhǔn)確捕捉用戶意圖的細(xì)微變化。sql生成能力也有待提升,特別是在應(yīng)對(duì)日益復(fù)雜的查詢需求時(shí)??缬蚍夯芰Σ蛔?、模型效率欠佳等問題同樣突出,而圖編碼器在利用模式信息方面的局限性也制約了系統(tǒng)性能。值得注意的是,現(xiàn)有的評(píng)估體系可能無(wú)法全面反映系統(tǒng)在實(shí)際應(yīng)用中的表現(xiàn),尤其是在處理復(fù)雜、持續(xù)的對(duì)話場(chǎng)景時(shí)。雖然這些系統(tǒng)旨在讓非技術(shù)用戶也能輕松訪問數(shù)據(jù),但在易用性和用戶體驗(yàn)方面仍有很大提升空間。此外,實(shí)時(shí)響應(yīng)能力雖未被明確提及,但無(wú)疑是影響用戶體驗(yàn)的關(guān)鍵因素。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述現(xiàn)有技術(shù)存在的問題,本發(fā)明的目的是提供一種上下文感知的多輪對(duì)話文本到sql自動(dòng)轉(zhuǎn)換方法,利用大語(yǔ)言模型進(jìn)行意圖解析和sql建議生成,提高了多輪文本到sql任務(wù)訓(xùn)練數(shù)據(jù)的質(zhì)量和多樣性。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下方案:
3、一種上下文感知的多輪對(duì)話文本到sql自動(dòng)轉(zhuǎn)換方法,包括:
4、獲取用戶的待檢索多輪對(duì)話文本,從cosql數(shù)據(jù)集中隨機(jī)采樣對(duì)話示例,生成示例集合;
5、將所述待檢索多輪對(duì)話文本和所述示例集合均輸入大型語(yǔ)言模型分析用戶意圖,獲取相應(yīng)的sql語(yǔ)句;其中,所述大型語(yǔ)言模型利用訓(xùn)練集進(jìn)行低秩適配微調(diào),并結(jié)合上下文感知?jiǎng)討B(tài)損失函數(shù)優(yōu)化模型參數(shù);所述訓(xùn)練集包括:歷史用戶意圖和歷史sql語(yǔ)句;
6、對(duì)所述sql語(yǔ)句進(jìn)行驗(yàn)證,驗(yàn)證通過后,查詢所述sql語(yǔ)句對(duì)應(yīng)的信息,生成用戶所需信息。
7、可選地,生成示例集合的方法為:
8、e={(si,ci,qi)|i∈{1,2},(si,ci,qi)~dtrain}
9、其中,si、ci和qi分別表示第i個(gè)示例的數(shù)據(jù)庫(kù)模式、對(duì)話上下文和相應(yīng)的sql查詢,dtrain表示cosql數(shù)據(jù)集的訓(xùn)練集。
10、可選地,獲取所述sql語(yǔ)句包括:
11、將所述待檢索多輪對(duì)話文本和所述示例集合均輸入大型語(yǔ)言模型分析用戶意圖,輸出采用json格式,獲取所述sql語(yǔ)句:
12、fllm:(u,h,s,e)→(i,g)
13、其中,fllm大型語(yǔ)言模型的功能,u表示用戶查詢,h表示對(duì)話歷史,s表示數(shù)據(jù)庫(kù)模式,i和g分別表示生成的意圖分析和sql語(yǔ)句。
14、可選地,所述上下文感知?jiǎng)討B(tài)損失函數(shù)包括:交叉熵?fù)p失函數(shù)、分段累積損失、批次損失。
15、可選地,獲取所述交叉熵?fù)p失函數(shù)包括:
16、
17、其中,y代表真實(shí)標(biāo)簽,代表預(yù)測(cè)概率。
18、可選地,獲取所述分段累積損失的方法為:
19、
20、其中,b代表批量大小lb代表每個(gè)批次的損失。
21、可選地,獲取所述批次損失的方法為:
22、
23、其中,t代表對(duì)話輪數(shù),代表前t-1次輪換的累積損失,代表第t次輪換的交叉熵?fù)p失。
24、可選地,獲取所述累積損失包括:
25、
26、其中,代表前t-1次輪換的累積損失,代表當(dāng)前輪換t的交叉熵?fù)p失,at代表動(dòng)態(tài)平滑參數(shù)。
27、可選地,獲取所述動(dòng)態(tài)平滑參數(shù)的方法為:
28、αt=max(0.1,α-0.1t)
29、其中,a代表初始平滑參數(shù),t代表當(dāng)前輪次。
30、可選地,所述上下文感知?jiǎng)討B(tài)損失函數(shù):
31、
32、其中,a代表初始平滑參數(shù),代表前t-1次輪換的累積損失,代表第t次輪換的交叉熵?fù)p失。
33、本發(fā)明的有益效果為:
34、本發(fā)明提出了上下文感知意圖驅(qū)動(dòng)自適應(yīng)學(xué)習(xí)sql(cidal-sql),利用大語(yǔ)言模型進(jìn)行意圖解析和多輪文本到sql任務(wù)中的sql建議生成,將解析的用戶查詢意圖和sql生成建議整合入原始數(shù)據(jù)集,創(chuàng)建一個(gè)增強(qiáng)的數(shù)據(jù)集用于模型微調(diào),為了改善多輪對(duì)話中的上下文管理,引入了上下文感知?jiǎng)討B(tài)損失函數(shù)(scald?loss),增強(qiáng)了模型保留先前生成sql并保持連續(xù)對(duì)話輪次之間上下文信息的能力。
35、本發(fā)明的主要貢獻(xiàn)如下:
36、本發(fā)明利用大語(yǔ)言模型進(jìn)行意圖解析和sql建議生成,提高了多輪文本到sql任務(wù)訓(xùn)練數(shù)據(jù)的質(zhì)量和多樣性。
37、本發(fā)明引入一種基于上下文的動(dòng)態(tài)損失函數(shù)scald?loss,提高了模型在多個(gè)對(duì)話輪次中保持一致性和上下文信息的能力。
38、本發(fā)明在基準(zhǔn)數(shù)據(jù)集上進(jìn)行了廣泛實(shí)驗(yàn),在單輪和多輪場(chǎng)景中,相較于最先進(jìn)的基線展示出了顯著改進(jìn)。