System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及神經(jīng)網(wǎng)絡(luò)模型,尤其涉及一種數(shù)據(jù)庫知識(shí)體的構(gòu)建方法及結(jié)構(gòu)化查詢語言生成方法。
技術(shù)介紹
1、基于大語言模型的text2sql(text?to?sql,將自然語言文本text轉(zhuǎn)換成結(jié)構(gòu)化查詢語言sql)技術(shù)為數(shù)據(jù)分析的自動(dòng)化和智能化帶來的了可能,具有廣闊的應(yīng)用場(chǎng)景。目前高性能的大語言模型(large?language?model,llm)已具備較強(qiáng)的sql邏輯理解能力(如gpt-4),但是基于llm的text2sql的生成結(jié)果卻并不理想。主要原因是在text2sql過程中,為llm生成sql提供的數(shù)據(jù)信息無法在盡量小的上下文長度內(nèi)保證足夠的準(zhǔn)確性和全面性,無法支撐llm出色完成sql生成任務(wù)。
2、一般在使用llm進(jìn)行sql生成過程中,常規(guī)的方法是使用普通的數(shù)據(jù)庫知識(shí)圖譜(知識(shí)庫)進(jìn)行數(shù)據(jù)檢索,或直接通過相似性原則在原始數(shù)據(jù)庫中進(jìn)行字段和表的查找,亦或是從歷史人工查詢sql的歷史記錄中搜索相似場(chǎng)景并提供相應(yīng)的sql代碼作為llm生成sql的參考。
3、針對(duì)使用常規(guī)數(shù)據(jù)庫知識(shí)圖譜(知識(shí)庫)的方法,由于常規(guī)的數(shù)據(jù)庫知識(shí)圖譜(知識(shí)庫)通常主要由數(shù)據(jù)庫元數(shù)據(jù)生成,且其使用場(chǎng)景也不專門針對(duì)text2sql,導(dǎo)致其內(nèi)所包含的信息無法足夠支撐text2sql任務(wù)。
4、針對(duì)直接通過相似性原則在原始數(shù)據(jù)庫中進(jìn)行字段和表的查找的方法,由于這種檢索無法做到非常精準(zhǔn),一般在需要保證有足夠信息召回的情況下,檢索結(jié)構(gòu)中會(huì)包含很多冗余和不相關(guān)的信息,會(huì)導(dǎo)致過多的占用llm的上下文長度,同時(shí)也因?yàn)榘瑹o關(guān)信息導(dǎo)致生成
5、針對(duì)從歷史人工查詢sql的歷史記錄中搜索相似場(chǎng)景并提供相應(yīng)的sql代碼的方法,由于歷史相似場(chǎng)景永遠(yuǎn)無法和實(shí)際的檢索需求完全一致,該方法只能提供部分的數(shù)據(jù)和sql參考,無法保障生成的高準(zhǔn)確性。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
2、為此,本申請(qǐng)的第一個(gè)目的在于提出一種關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建方法,以提供用于提升大語言模型text2sql生成能力的關(guān)系型數(shù)據(jù)庫知識(shí)體。
3、本申請(qǐng)的第二個(gè)目的在于提出一種基于關(guān)系型數(shù)據(jù)庫知識(shí)體的結(jié)構(gòu)化查詢語言生成方法,有效提升了大語言模型text2sql生成質(zhì)量。
4、本申請(qǐng)的第三個(gè)目的在于提出一種關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建裝置。
5、本申請(qǐng)的第四個(gè)目的在于提出一種基于關(guān)系型數(shù)據(jù)庫知識(shí)體的結(jié)構(gòu)化查詢語言生成裝置。
6、本申請(qǐng)的第五個(gè)目的在于提出一種電子設(shè)備。
7、本申請(qǐng)的第六個(gè)目的在于提出一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
8、本申請(qǐng)的第七個(gè)目的在于提出一種計(jì)算機(jī)程序產(chǎn)品。
9、為達(dá)上述目的,本申請(qǐng)第一方面實(shí)施例提出了一種關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建方法,所述關(guān)系型數(shù)據(jù)庫知識(shí)體包括多個(gè)知識(shí)體單元,所述多個(gè)知識(shí)體單元之間通過關(guān)聯(lián)字段相互連接形成知識(shí)網(wǎng)絡(luò);每個(gè)所述知識(shí)體單元對(duì)應(yīng)一個(gè)數(shù)據(jù)表,所述知識(shí)體單元包括多層節(jié)點(diǎn)數(shù)據(jù),所述多層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表的表信息、字段信息及字段向量、字段枚舉值信息及字段枚舉值向量表示;所述構(gòu)建方法包括以下步驟:
10、基于數(shù)據(jù)表元數(shù)據(jù),獲取第一數(shù)據(jù)表信息;
11、通過大語言模型對(duì)文本代碼配對(duì)數(shù)據(jù)集進(jìn)行推理和抽取,獲取第二數(shù)據(jù)表信息;其中,所述文本代碼配對(duì)數(shù)據(jù)集包括從數(shù)據(jù)庫查詢歷史中獲取的多個(gè)由問題文本與對(duì)應(yīng)的sql代碼組成的配對(duì)數(shù)據(jù);
12、融合所述第一數(shù)據(jù)表信息和所述第二數(shù)據(jù)表信息,得到數(shù)據(jù)表融合信息;
13、將所述數(shù)據(jù)表融合信息匹配所述知識(shí)體單元的多層節(jié)點(diǎn)數(shù)據(jù),構(gòu)建關(guān)系型數(shù)據(jù)庫知識(shí)體。
14、為達(dá)上述目的,本申請(qǐng)第二方面實(shí)施例提出了一種基于關(guān)系型數(shù)據(jù)庫知識(shí)體的結(jié)構(gòu)化查詢語言生成方法,其特征在于,所述關(guān)系型數(shù)據(jù)庫知識(shí)體為通過第一方面中任一項(xiàng)所述的關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建方法構(gòu)建的關(guān)系型數(shù)據(jù)庫知識(shí)體;所述結(jié)構(gòu)化查詢語言生成方法包括以下步驟:
15、獲取用戶問題;
16、基于所述用戶問題檢索所述關(guān)系型數(shù)據(jù)庫知識(shí)體,得到第三數(shù)據(jù)表信息;
17、合并所述用戶問題與所述第三數(shù)據(jù)表信息,得到數(shù)據(jù)表合并信息;
18、將所述數(shù)據(jù)表合并信息添加至所述大語言模型的提示詞中,并將所述提示詞輸入所述大語言模型,生成結(jié)構(gòu)化查詢語言。
19、為達(dá)上述目的,本申請(qǐng)第三方面實(shí)施例提出了一種關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建裝置,所述關(guān)系型數(shù)據(jù)庫知識(shí)體包括多個(gè)知識(shí)體單元,所述多個(gè)知識(shí)體單元之間通過關(guān)聯(lián)字段相互連接形成知識(shí)網(wǎng)絡(luò);每個(gè)所述知識(shí)體單元對(duì)應(yīng)一個(gè)數(shù)據(jù)表,所述知識(shí)體單元包括多層節(jié)點(diǎn)數(shù)據(jù),所述多層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表的表信息、字段信息及字段向量、字段枚舉值信息及字段枚舉值向量表示;所述裝置包括:
20、信息獲取模塊,用于基于數(shù)據(jù)表元數(shù)據(jù),獲取第一數(shù)據(jù)表信息;
21、信息抽取模塊,用于通過大語言模型對(duì)文本代碼配對(duì)數(shù)據(jù)集進(jìn)行推理和抽取,獲取第二數(shù)據(jù)表信息;其中,所述文本代碼配對(duì)數(shù)據(jù)集包括從數(shù)據(jù)庫查詢歷史中獲取的多個(gè)由問題文本與對(duì)應(yīng)的sql代碼組成的配對(duì)數(shù)據(jù);
22、信息融合模塊,用于融合所述第一數(shù)據(jù)表信息和所述第二數(shù)據(jù)表信息,得到數(shù)據(jù)表融合信息;
23、知識(shí)體構(gòu)建模塊,用于將所述數(shù)據(jù)表融合信息匹配所述知識(shí)體單元的多層節(jié)點(diǎn)數(shù)據(jù),構(gòu)建關(guān)系型數(shù)據(jù)庫知識(shí)體。
24、為達(dá)上述目的,本申請(qǐng)第四方面實(shí)施例提出了一種基于關(guān)系型數(shù)據(jù)庫知識(shí)體的結(jié)構(gòu)化查詢語言生成裝置,其特征在于,所述關(guān)系型數(shù)據(jù)庫知識(shí)體為通過第一方面中任一項(xiàng)所述的關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建方法構(gòu)建的關(guān)系型數(shù)據(jù)庫知識(shí)體;所述結(jié)構(gòu)化查詢語言生成裝置包括:
25、問題文本獲取模塊,用于獲取用戶問題;
26、知識(shí)檢索模塊,用于基于所述用戶問題檢索所述關(guān)系型數(shù)據(jù)庫知識(shí)體,得到第三數(shù)據(jù)表信息;
27、信息合并模塊,用于合并所述用戶問題與所述第三數(shù)據(jù)表信息,得到數(shù)據(jù)表合并信息;
28、語言生成模塊,用于將所述數(shù)據(jù)表合并信息添加至所述大語言模型的提示詞中,并將所述提示詞輸入所述大語言模型,生成結(jié)構(gòu)化查詢語言。
29、為達(dá)上述目的,本申請(qǐng)第五方面實(shí)施例提出了一種電子設(shè)備,包括:處理器,以及與所述處理器通信連接的存儲(chǔ)器;所述存儲(chǔ)器存儲(chǔ)計(jì)算機(jī)執(zhí)行指令;所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)執(zhí)行指令,以實(shí)現(xiàn)第一方面或第二方面所述的方法。
30、為達(dá)上述目的,本申請(qǐng)第六方面實(shí)施例提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)第一方面或第二方面所述的方法。
31、為達(dá)上述目的,本申請(qǐng)第七方面實(shí)施例提出了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面或第二方面所述的方法。
32、本申請(qǐng)?zhí)峁┑臄?shù)據(jù)庫知識(shí)體的構(gòu)建方法及結(jié)構(gòu)化查詢語言生成方法,在常規(guī)數(shù)據(jù)本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建方法,其特征在于,所述關(guān)系型數(shù)據(jù)庫知識(shí)體包括多個(gè)知識(shí)體單元,所述多個(gè)知識(shí)體單元之間通過關(guān)聯(lián)字段相互連接形成知識(shí)網(wǎng)絡(luò);每個(gè)所述知識(shí)體單元對(duì)應(yīng)一個(gè)數(shù)據(jù)表,所述知識(shí)體單元包括多層節(jié)點(diǎn)數(shù)據(jù),所述多層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表的表信息、字段信息及字段向量、字段枚舉值信息及字段枚舉值向量表示;所述構(gòu)建方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述知識(shí)體單元包括七層節(jié)點(diǎn)數(shù)據(jù),第一層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表名及數(shù)據(jù)表名的業(yè)務(wù)含義,第二層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表的歷史使用頻次,第三層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表所包括的字段名及各字段名的業(yè)務(wù)含義,第四層節(jié)點(diǎn)數(shù)據(jù)包括各字段的字段索引,第五層節(jié)點(diǎn)數(shù)據(jù)包括各字段的字段向量,第六層節(jié)點(diǎn)數(shù)據(jù)包括字段的數(shù)據(jù)類型、字段枚舉值及含義列表、字段業(yè)務(wù)描述、字段的處理代碼片段和字段歷史使用頻次,第七層節(jié)點(diǎn)數(shù)據(jù)包括字段枚舉值向量表示列表。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于數(shù)據(jù)表元數(shù)據(jù),獲取第一數(shù)據(jù)表信息;包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述通過大語言模型對(duì)文本代碼配對(duì)數(shù)據(jù)集進(jìn)行推
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述融合所述第一數(shù)據(jù)表信息和所述第二數(shù)據(jù)表信息,得到數(shù)據(jù)表融合信息;包括:
6.一種基于關(guān)系型數(shù)據(jù)庫知識(shí)體的結(jié)構(gòu)化查詢語言生成方法,其特征在于,所述關(guān)系型數(shù)據(jù)庫知識(shí)體為通過如權(quán)利要求1至5中任一項(xiàng)所述的關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建方法構(gòu)建的關(guān)系型數(shù)據(jù)庫知識(shí)體;所述結(jié)構(gòu)化查詢語言生成方法包括以下步驟:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述基于所述用戶問題檢索所述關(guān)系型數(shù)據(jù)庫知識(shí)體,得到第三數(shù)據(jù)表信息;包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述基于所述各待檢索字段的字段向量表示和所述各待檢索枚舉值的枚舉值向量表示,檢索所述關(guān)系型數(shù)據(jù)庫知識(shí)體的相關(guān)字段,得到第一檢索結(jié)果;包括:
9.一種關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建裝置,其特征在于,所述關(guān)系型數(shù)據(jù)庫知識(shí)體包括多個(gè)知識(shí)體單元,所述多個(gè)知識(shí)體單元之間通過關(guān)聯(lián)字段相互連接形成知識(shí)網(wǎng)絡(luò);每個(gè)所述知識(shí)體單元對(duì)應(yīng)一個(gè)數(shù)據(jù)表,所述知識(shí)體單元包括多層節(jié)點(diǎn)數(shù)據(jù),所述多層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表的表信息、字段信息及字段向量、字段枚舉值信息及字段枚舉值向量表示;所述裝置包括:
10.一種基于關(guān)系型數(shù)據(jù)庫知識(shí)體的結(jié)構(gòu)化查詢語言生成裝置,其特征在于,所述關(guān)系型數(shù)據(jù)庫知識(shí)體為通過如權(quán)利要求1至5中任一項(xiàng)所述的關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建方法構(gòu)建的關(guān)系型數(shù)據(jù)庫知識(shí)體;所述結(jié)構(gòu)化查詢語言生成裝置包括:
...【技術(shù)特征摘要】
1.一種關(guān)系型數(shù)據(jù)庫知識(shí)體的構(gòu)建方法,其特征在于,所述關(guān)系型數(shù)據(jù)庫知識(shí)體包括多個(gè)知識(shí)體單元,所述多個(gè)知識(shí)體單元之間通過關(guān)聯(lián)字段相互連接形成知識(shí)網(wǎng)絡(luò);每個(gè)所述知識(shí)體單元對(duì)應(yīng)一個(gè)數(shù)據(jù)表,所述知識(shí)體單元包括多層節(jié)點(diǎn)數(shù)據(jù),所述多層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表的表信息、字段信息及字段向量、字段枚舉值信息及字段枚舉值向量表示;所述構(gòu)建方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述知識(shí)體單元包括七層節(jié)點(diǎn)數(shù)據(jù),第一層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表名及數(shù)據(jù)表名的業(yè)務(wù)含義,第二層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表的歷史使用頻次,第三層節(jié)點(diǎn)數(shù)據(jù)包括數(shù)據(jù)表所包括的字段名及各字段名的業(yè)務(wù)含義,第四層節(jié)點(diǎn)數(shù)據(jù)包括各字段的字段索引,第五層節(jié)點(diǎn)數(shù)據(jù)包括各字段的字段向量,第六層節(jié)點(diǎn)數(shù)據(jù)包括字段的數(shù)據(jù)類型、字段枚舉值及含義列表、字段業(yè)務(wù)描述、字段的處理代碼片段和字段歷史使用頻次,第七層節(jié)點(diǎn)數(shù)據(jù)包括字段枚舉值向量表示列表。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于數(shù)據(jù)表元數(shù)據(jù),獲取第一數(shù)據(jù)表信息;包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述通過大語言模型對(duì)文本代碼配對(duì)數(shù)據(jù)集進(jìn)行推理和抽取,獲取第二數(shù)據(jù)表信息;包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述融合所述第一數(shù)據(jù)表信息和所述第二數(shù)據(jù)表信息,得到數(shù)...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:祝捷,駱意,王雅琨,陳思宇,程前,彎茂全,
申請(qǐng)(專利權(quán))人:煤炭科學(xué)研究總院有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。