本技術(shù)涉及計算機(jī),特別是涉及一種集成少樣本提示和多項選擇機(jī)制的大模型sql生成方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、自然語言處理可以通過解析和理解用戶的自然語言查詢,識別用戶的意圖,提取關(guān)鍵信息,并利用相關(guān)工具或系統(tǒng)將用戶的自然語言問題轉(zhuǎn)換為結(jié)構(gòu)化的sql命令。利用自然語言處理實現(xiàn)自然語言問題與sql語句之間的轉(zhuǎn)換能夠幫助用戶基于自然語言準(zhǔn)確快速地生成相應(yīng)的sql語句,無需用戶專門學(xué)習(xí)復(fù)雜的sql語法,提高sql語句的生成效率。
2、傳統(tǒng)技術(shù)主要采用預(yù)先定義的模板或規(guī)則集進(jìn)行自然語言問題與sql語句之間的轉(zhuǎn)換,然而,傳統(tǒng)技術(shù)受限于模板或規(guī)則集的全面程度,模板或規(guī)則集與自然語言問題的復(fù)雜程度不適配時,基于傳統(tǒng)技術(shù)生成的sql語句無法準(zhǔn)確執(zhí)行用戶意圖,不利于提高基于自然語言問題生成sql語句的準(zhǔn)確性。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高基于自然語言問題生成sql語句的準(zhǔn)確性的集成少樣本提示和多項選擇機(jī)制的大模型sql生成方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
2、第一方面,本技術(shù)提供了一種集成少樣本提示和多項選擇機(jī)制的大模型sql生成方法,包括:
3、分析用戶輸入的查詢文本,確定所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息;
4、根據(jù)所述查詢文本和所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息,在預(yù)設(shè)樣本庫中篩選出相似樣本;所述相似樣本包括樣本查詢文本、所述樣本查詢文本對應(yīng)的數(shù)據(jù)庫模式信息和樣本sql語句;
5、將所述查詢文本、所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息以及所述相似樣本輸入至預(yù)訓(xùn)練的語句生成模型,得到候選sql語句;
6、根據(jù)所述候選sql語句的執(zhí)行結(jié)果,從所述候選sql語句中選擇出目標(biāo)sql語句。
7、在其中一個實施例中,所述分析用戶輸入的查詢文本,確定所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息,包括:
8、根據(jù)所述查詢文本確定所述查詢文本對應(yīng)的數(shù)據(jù)表信息;
9、根據(jù)所述數(shù)據(jù)表信息確定所述查詢文本對應(yīng)的列信息;
10、根據(jù)所述查詢文本對應(yīng)的數(shù)據(jù)表信息和所述查詢文本對應(yīng)的列信息,確定所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息。
11、在其中一個實施例中,所述根據(jù)所述數(shù)據(jù)表信息確定所述查詢文本對應(yīng)的列信息,包括:
12、將所述數(shù)據(jù)表信息對應(yīng)的列信息作為候選列信息;
13、根據(jù)所述候選列信息與所述查詢文本之間的相關(guān)程度,對所述候選列信息進(jìn)行排序,得到排序結(jié)果;
14、從所述排序結(jié)果中選擇出所述查詢文本對應(yīng)的列信息。
15、在其中一個實施例中,所述根據(jù)所述查詢文本和所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息,在預(yù)設(shè)樣本庫中篩選出相似樣本,包括:
16、根據(jù)所述查詢文本和所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息,生成文本對;
17、根據(jù)所述文本對與所述預(yù)設(shè)樣本庫中各樣本之間的相似程度,從所述預(yù)設(shè)樣本庫中篩選出所述相似樣本。
18、在其中一個實施例中,所述將所述查詢文本、所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息以及所述相似樣本輸入至預(yù)訓(xùn)練的語句生成模型,得到候選sql語句,包括:
19、獲取所述數(shù)據(jù)庫模式信息中數(shù)據(jù)表信息的第一排列順序和所述數(shù)據(jù)庫模式信息中列信息的第二排列順序;
20、按照所述第一排列順序?qū)λ鰯?shù)據(jù)庫模式信息中的數(shù)據(jù)表信息進(jìn)行排序,按照所述第二排列順序?qū)λ鰯?shù)據(jù)庫模式信息中的列信息進(jìn)行排序,得到候選數(shù)據(jù)庫模式信息;
21、獲取所述相似樣本的第三排列順序,按照所述第三排列順序?qū)λ鱿嗨茦颖具M(jìn)行排序,得到候選樣本;
22、根據(jù)所述查詢文本、所述候選數(shù)據(jù)庫模式信息和所述候選樣本,生成提示詞;
23、將所述提示詞輸入至所述預(yù)訓(xùn)練的語句生成模型,得到所述候選sql語句。
24、在其中一個實施例中,所述根據(jù)所述候選sql語句的執(zhí)行結(jié)果,從所述候選sql語句中選擇出目標(biāo)sql語句,包括:
25、根據(jù)所述候選sql語句的執(zhí)行結(jié)果,將所述候選sql語句劃分為至少一個語句集合;所述語句集合包括至少一個候選sql語句;
26、根據(jù)所述語句集合中候選sql語句的數(shù)量,從所述語句集合篩選出目標(biāo)語句集合;
27、將所述目標(biāo)語句集合中的候選sql語句作為所述目標(biāo)sql語句。
28、第二方面,本技術(shù)還提供了一種集成少樣本提示和多項選擇機(jī)制的大模型sql生成裝置,包括:
29、分析模塊,用于分析用戶輸入的查詢文本,確定所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息;
30、篩選模塊,用于根據(jù)所述查詢文本和所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息,在預(yù)設(shè)樣本庫中篩選出相似樣本;所述相似樣本包括樣本查詢文本、所述樣本查詢文本對應(yīng)的數(shù)據(jù)庫模式信息和樣本sql語句;
31、生成模塊,用于將所述查詢文本、所述查詢文本對應(yīng)的數(shù)據(jù)庫模式信息以及所述相似樣本輸入至預(yù)訓(xùn)練的語句生成模型,得到候選sql語句;
32、選擇模塊,用于根據(jù)所述候選sql語句的執(zhí)行結(jié)果,從所述候選sql語句中選擇出目標(biāo)sql語句。
33、第三方面,本技術(shù)還提供了一種計算機(jī)設(shè)備。所述計算機(jī)設(shè)備包括存儲器和處理器,所述存儲器存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述的方法的步驟。
34、第四方面,本技術(shù)還提供了一種計算機(jī)可讀存儲介質(zhì)。所述計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述的方法的步驟。
35、第五方面,本技術(shù)還提供了一種計算機(jī)程序產(chǎn)品。所述計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述的方法的步驟。
36、上述集成少樣本提示和多項選擇機(jī)制的大模型sql生成方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品,通過分析用戶輸入的查詢文本,確定查詢文本對應(yīng)的數(shù)據(jù)庫模式信息,從而準(zhǔn)確從用戶輸入的查詢文本獲取相應(yīng)的數(shù)據(jù)庫模式,便于后續(xù)sql語句的生成;根據(jù)查詢文本和查詢文本對應(yīng)的數(shù)據(jù)庫模式信息,在預(yù)設(shè)樣本庫中篩選出相似樣本,從而結(jié)合查詢文本和查詢文本對應(yīng)的數(shù)據(jù)庫模式信息,獲取準(zhǔn)確的相似樣本,便于利用相似樣本提示后續(xù)sql語句的生成;相似樣本包括樣本查詢文本、樣本查詢文本對應(yīng)的數(shù)據(jù)庫模式信息和樣本sql語句;將查詢文本、查詢文本對應(yīng)的數(shù)據(jù)庫模式信息以及相似樣本輸入至預(yù)訓(xùn)練的語句生成模型,得到候選sql語句,從而利用語句生成模型準(zhǔn)確生成相應(yīng)的候選sql語句;根據(jù)候選sql語句的執(zhí)行結(jié)果,從候選sql語句中選擇出目標(biāo)sql語句,從而基于執(zhí)行結(jié)果篩選出準(zhǔn)確的目標(biāo)sql語句,能夠分析用戶輸入的自然語言,準(zhǔn)確獲取相應(yīng)的數(shù)據(jù)庫模式,并結(jié)合用戶輸入對應(yīng)的相似樣本,生成若干候選sql語句,從而基于各候選sql語句的執(zhí)行結(jié)果,從候選sql語句中準(zhǔn)確篩選出與用戶輸入相匹配的目標(biāo)sql語句,進(jìn)而提高基于自然語言問題生成sql語句的準(zhǔn)確性。