CN117370378A - 自然语言转化为数据库语句的方法、装置、设备及介质 - Google Patents
自然语言转化为数据库语句的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117370378A CN117370378A CN202311195858.3A CN202311195858A CN117370378A CN 117370378 A CN117370378 A CN 117370378A CN 202311195858 A CN202311195858 A CN 202311195858A CN 117370378 A CN117370378 A CN 117370378A
- Authority
- CN
- China
- Prior art keywords
- model
- database
- training set
- natural language
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 116
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 7
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种自然语言转化为数据库语句的方法,涉及自然语言处理技术领域,用于解决现有模型准确率低的问题,该方法包括以下步骤:根据数据库表结构信息,生成问答对的提示学习模板,并生成对应的问题及查询语句;根据所述问题及查询语句构建指令微调训练集;根据所述指令微调训练集,进行生成式大模型指令微调,得到自然语言转化为数据库语句的模型;接收需要查询问题的文本,并输入所述模型,输出查询语句。本发明还公开了一种自然语言转化为数据库语句的装置、电子设备和计算机存储介质。本发明通过训练数据进行处理并进行模型微调,进而获取准确度高的转换模型。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种基于生成式大模型的自然语言转化为数据库语句的方法、装置、设备及介质。
背景技术
SQL是一种专门用于管理和操作数据库的编程语言。在信息检索和数据库查询中,对于非技术专业人员来说,使用SQL进行编写查询难度较大。因此,现有技术开始使用Text-To-SQL进行语言转换及信息检索等工作。Text-To-SQL指的是自然语言到结构化查询语言(SQL)的转换任务。通过自动将用户输入的自然语言,例如将用户提出的各种问题转成数据库可操作的SQL查询语句,实现基于数据库的自动问答能力,并从数据库中检索所需的信息。Text-To-SQL在智能客服等领域都有着广泛应用,可以提高客服回答效率,并一定程度上还可以减少人工客服的工总量。
目前常使用大型语言模型(如GPT-4)进行自然语言到SQL语句的转换。相比于中小型语言模型,所需要的训练样本较少,计算需求交底且不容易过拟合。这些大型语言模型可以通过零样本、少样本提示和上下文学习等模型训练后,实现SQL语句的自动转换。但是,现有的大型语言模型仍然存在训练速度慢、转换效率低、转换准确度较低的问题。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种自然语言转化为数据库语句的方法,其通过运用生成式大模型对所构建的训练集进行指令微调,进而得到高准确度的SQL语句转换大模型。
本发明的目的之一采用以下技术方案实现:
一种自然语言转化为数据库语句的方法,包括以下步骤:
根据数据库表结构信息,结合生成问答对的提示学习模板,通过Chatgpt3.5生成对应的问题及查询语句;
根据所述问题及查询语句构建指令微调训练集,所述训练集包括问题、数据库表名列名为输入,问题所涉及的相关表名为输出的第一训练集及问题、数据库表名为输入,问题对应的SQL语句为输出的第二训练集;
根据所述指令微调训练集,结合位置编码和RMSNorm层标准化进行生成式大模型指令微调,得到自然语言转化为数据库语句的模型;
接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句。
进一步地,所述数据库表结构信息包括表名,列名,主键,外键。
进一步地,根据所述问题及查询语句构建指令微调训练集,包括:
将数据库表名列嵌入批量生成问题和对应数据库的提示学习模板中,利用chatgpt,批量生成问题和对应的数据库查询语句,得到初始数据集;
以问题和数据库表名列名为输入,以数据库查询语言对应的表名为标签,嵌入所述提示学习模板中,得到第一训练集;
以问题和数据库表名列名作为输入,以对应数据库查询语言作为标签,嵌入所述提示学习模板中,得到第二训练集;
将所述第一训练集和第二训练集随机组合,得到所述指令微调训练集。
进一步地,通过生成式大模型语义解析和生成能力进行指令微调,包括:
通过Byte-Pair Encoding对所述指令微调训练集进行分词;
将分词后的所述指令微调训练集输入transformer架构为基座的生成式大模型进行模型训练;
通过位置编码和RMSNorm层标准化进行模型优化,并通过deepspeed框架进行模型训练加速,并完成模型训练。
进一步地,所述transformer架构为deocder-only结构。
进一步地,所述模型训练包括:
初始化模型参数;
将训练数据传递给模型,通过前向传播计算模型的预测输出;
通过损失函数计算所述预测输出与实际结果的误差值;
通过反向传播算法计算模型参数的梯度;
根据所述梯度计算结果更新模型参数;
重复进行训练迭代,直至误差小于预设值,完成模型训练。
进一步地,接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句,包括:
接收需要查询问题的文本,并进行数据清洗;
将所述文本与数据库信息结合并嵌入所述提示学习模板中,作为模型的输入值并输入所述模型;
获取模型输出结果并返回给所述文本的发送方。
本发明的目的之二在于提供一种自然语言转化为数据库语句的装置。
本发明的目的之二采用以下技术方案实现:
一种自然语言转化为数据库语句的装置,其包括:
生成模块,用于根据数据库表结构信息,结合生成问答对的提示学习模板,通过Chatgpt3.5生成对应的问题及查询语句;
训练模块,用于根据所述问题及查询语句构建指令微调训练集,所述训练集包括问题、数据库表名列名为输入,以数据库查询语言对应的表名为标签的第一训练集及问题、数据库表名为输入,以对应数据库查询语言作为标签的第二训练集;根据所述指令微调训练集,根据所述指令微调训练集,结合位置编码和RMSNorm层标准化进行生成式大模型指令微调,得到自然语言转化为数据库语句的模型;
处理模块,用于接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句。
本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的自然语言转化为数据库语句的方法。
本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的自然语言转化为数据库语句的方法。
相比现有技术,本发明的有益效果在于:
本发明通过设计问答对的提示学习模板,结合Chatgpt3.5生成问题及SQL查询语句,大幅度降低了标注成本;本发明还利用生成的问答对分别设计两种类型的指令微调提示模板,一种用于相关数据库内容的筛选,另一种用于数据库查询语言的生成,并运用生成式大模型对所构建的训练集进行指令微调,不仅加快了训练速度,加快了模型的训练速度并提高了训练精度,还能够更加高效地将自然语言转化为SQL查询语句,使得数据库操作变得更为便捷和智能化。
附图说明
图1是实施例一自然语言转化为数据库语句的方法的流程图;
图2是实施例二的自然语言转化为数据库语句的装置结构框图;
图3是实施例三的电子设备的结构框图。
具体实施方式
以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。
实施例一
实施例一提供了一种自然语言转化为数据库语句的方法,旨在通过对数据进行制作,并结合大模型的微调,提高自然语言转化为数据库语句模型的准确率,可以满足工业界数据库查询的实际需求,使数据库查询变得更加普遍和易于使用。
本实施例使用语义解析能力和生成能力都非常强大的模型来完成Text-To-SQL任务。将拆解任务为数据库内容挑选和数据库查询语言生成两种子任务,并将两种子任务分别构建prompt,构成Text-To-SQL指令微调训练集,利用上下文提示学习的方式,训练生成式大模型同时拥有数据库内容挑选和数据库查询语言两种能力,为用户提供自动、自动、高效、精准的SQL检索。
根据以上原理,请参照图1所示,一种自然语言转化为数据库语句的方法,包括以下步骤:
S1、根据数据库表结构信息,生成问答对的提示学习模板,通过Chatgpt3.5生成对应的问题及查询语句;
S1中数据库表结构信息包括表名,列名,主键,外键。
上述的ChatGPT是一个由OpenAI开发的超级大的自然语言算法模型。其算法原理是基于Transformer模型、预训练技术、Fine-tuning和Beam Search等技术,以及基于GPT-3.5架构训练的大型语言模型,能够通过自然语言处理来生成连贯、与人类进行自然而流畅对话响应,并且可以用于各种应用程序,例如语言翻译,文本摘要,语音识别等。由于Chatgpt3.5属于现有技术,因此本实施例不对此加以展开赘述,S1中只需调用Chatgpt3.5的api接口即可实现的问题及查询语句的批量生成。
S2、根据所述问题及查询语句构建指令微调训练集,所述训练集包括问题、数据库表名列名为输入的第一训练集及问题、数据库表名为输入的第二训练集;
上述两个训练集的区别在于,一个训练集需要输出问题中涉及到的表,另一个训练集需要输出问题对应的sql语句,以提高模型的准确性。具体地,根据所述问题及查询语句构建指令微调训练集,包括:
以问题和数据库表名列名为输入,以数据库查询语言对应的表名为标签,嵌入所述提示学习模板中,得到第一训练集;
以问题和数据库表名列名作为输入,以对应数据库查询语言作为标签,嵌入所述提示学习模板中,得到第二训练集;
将所述第一训练集和第二训练集随机组合,得到所述指令微调训练集。
上述对应的提示学习模板为:
"{"指令":"根据“表名”和“问题”生成“问题中的表”,"输入":{问题},"输出":{对应表名}}";"{"指令":"根据下面提供的“表名-列名”和对应的问题,生成一句sql语句","输入":{问题},"输出":{标准sql语句}}"。
S3、根据所述指令微调训练集,结合位置编码和RMSNorm层标准化进行生成式大模型指令微调,得到自然语言转化为数据库语句的模型;
S3具体包括:
通过Byte-Pair Encoding对所述指令微调训练集中的每一条样例进行分词;
分词过程包括:初始化词汇表,将所有字符作为词汇表的初始单元,每个字符都被视为一个“词”。统计字符或子词频率:遍历语料库,统计每个字符或子词在文本中出现的频率。合并频率最高的字符或子词:将频率最高的字符或子词合并成一个新的单元,并更新词汇表。合并的过程可以通过将两个相邻字符或子词合并为一个新的字符或子词来实现。例如,如果最高频的组合是"ap",那么可以将"ap"合并成一个新的字符。重复合并步骤,直到达到预定义的词汇表大小或者满足其他停止条件。
将分词后的所述指令微调训练集输入transformer架构为基座的生成式大模型进行模型训练;
为了加快训练速度,降低模型的复杂度,上述transformer架构在本实施例中为deocder-only结构。生成式模型能够生成自然流畅的文本,利用预训练好的生成式大模型在理解自然语言文本方面表现出色,可以更好的理解上下文。
通过位置编码和RMSNorm层标准化进行模型优化,并通过deepspeed框架进行模型训练加速,并完成模型训练。
上述使用位置编码和RMSNorm层标准化进行模型优化,可以帮助抑制深度神经网络中的梯度***问题,且实现比较简单。不仅降低了模型的复杂性,还减少了训练和推理的计算成本。
采用deepspeed框架进行训练,有效提升模型的训练速度。
上述的模型训练包括:
初始化模型参数;例如对模型的权重进行随机初始化等参数初始化。
前向传播:将训练数据传递给模型,通过前向传播计算模型的预测输出;
计算损失:通过损失函数计算所述预测输出与实际结果的误差值;
反向传播:通过反向传播算法计算模型参数的梯度;梯度表示了损失函数对每个参数的影响程度。
更新模型参数:根据所述梯度计算结果更新模型参数;
重复进行训练迭代,直至误差小于预设值,完成模型训练。
S4、接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句。
S4具体包括:
接收需要查询问题的文本,并进行数据清洗;去除无用词和停用词。
将所述文本与数据库信息结合并嵌入所述提示学习模板中,作为模型的输入值并输入所述模型;
获取模型输出结果并返回给所述文本的发送方。
综上,本实施例所描述的方法可以自动分析用户输入,解析其中的信息,并根据解析结果构建相应的数据库查询结构。通过将自然语言转化为结构化的查询语句,能够迅速在数据库中进行检索,获取相关信息。查询的结果将被准确地提取并以易读的方式呈现给用户,确保用户能够快速获得所需的数据。
实施例二
实施例二公开了一种对应上述实施例的自然语言转化为数据库语句的方法对应的装置,为上述实施例的虚拟装置结构,请参照图2所示,包括:
生成模块210,用于根据数据库表结构信息,结合生成问答对的提示学习模板,通过Chatgpt3.5生成对应的问题及查询语句;
训练模块220,用于根据所述问题及查询语句构建指令微调训练集,所述训练集包括问题、数据库表名列名为输入,以数据库查询语言对应的表名输出的第一训练集及问题、数据库表名为输入,以问题对应的sql语句为输出的第二训练集;根据所述指令微调训练集,根据所述指令微调训练集,结合位置编码和RMSNorm层标准化进行生成式大模型指令微调,得到自然语言转化为数据库语句的模型;
处理模块230,用于接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句。
优选地,根据所述问题及查询语句构建指令微调训练集,包括:
以问题和数据库表名列名为输入,以数据库查询语言对应的表名为标签,嵌入所述提示学习模板中,得到第一训练集;
以问题和数据库表名列名作为输入,以对应数据库查询语言作为标签,嵌入所述提示学习模板中,得到第二训练集;
将所述第一训练集和第二训练集随机组合,得到所述指令微调训练集。
优选地,通过生成式大模型语义解析和生成能力进行指令微调,包括:
通过Byte-Pair Encoding对所述指令微调训练集进行分词;
将分词后的所述指令微调训练集输入transformer架构为基座的生成式大模型进行模型训练;
通过位置编码和RMSNorm层标准化进行模型优化,并通过deepspeed框架进行模型训练加速,并完成模型训练。
优选地,接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句,包括:
接收需要查询问题的文本,并进行数据清洗;
将所述文本与数据库信息结合并嵌入所述提示学习模板中,作为模型的输入值并输入所述模型;
获取模型输出结果并返回给所述文本的发送方。
实施例三
图3为本发明实施例三提供的一种电子设备的结构示意图,如图3所示,该电子设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的自然语言转化为数据库语句的方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述实施例一的自然语言转化为数据库语句的方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入的用户身份信息、数据库信息数据等。输出装置340可包括显示屏等显示设备。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,该存储介质可用于计算机执行自然语言转化为数据库语句的方法,该方法包括:
根据数据库表结构信息,生成问答对的提示学习模板,通过Chatgpt3.5生成对应的问题及查询语句;
根据所述问题及查询语句构建指令微调训练集,所述训练集包括问题、数据库表名列名为输入,以数据库查询语言对应的表名输出的第一训练集及问题、数据库表名为输入,以问题对应的sql语句为输出的的第二训练集;
根据所述指令微调训练集,结合位置编码和RMSNorm层标准化进行生成式大模型指令微调,得到自然语言转化为数据库语句的模型;
接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于自然语言转化为数据库语句的方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于自然语言转化为数据库语句的方法装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (10)
1.一种自然语言转化为数据库语句的方法,其特征在于,包括以下步骤:
根据数据库表结构信息,结合生成问答对的提示学习模板,通过Chatgpt3.5生成对应的问题及查询语句;
根据所述问题及查询语句构建指令微调训练集,所述训练集包括问题、所有数据库表名列名为输入,问题所涉及的相关表名为输出的第一训练集及问题、涉及的相关数据库表名为输入,问题对应的SQL语句为输出的第二训练集;
根据所述指令微调训练集,结合位置编码和RMSNorm层标准化进行生成式大模型指令微调,得到自然语言转化为数据库语句的模型;
接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句。
2.如权利要求1所述的自然语言转化为数据库语句的方法,其特征在于,所述数据库表结构信息包括表名,列名,主键,外键。
3.如权利要求1或2所述的自然语言转化为数据库语句的方法,其特征在于,根据所述问题及查询语句构建指令微调训练集,包括:
将数据库表名列嵌入批量生成问题和对应数据库的提示学习模板中,利用chatgpt,批量生成问题和对应的数据库查询语句,得到初始数据集;
以问题和数据库表名列名为输入,以数据库查询语言对应的表名为标签,嵌入所述提示学习模板中,得到第一训练集;
以问题和数据库表名列名作为输入,以对应数据库查询语言作为标签,嵌入所述提示学习模板中,得到第二训练集;
将所述第一训练集和第二训练集随机组合,得到所述指令微调训练集。
4.如权利要求1所述的自然语言转化为数据库语句的方法,其特征在于,通过生成式大模型语义解析和生成能力进行指令微调,包括:
通过Byte-Pair Encoding对所述指令微调训练集进行分词;
将分词后的所述指令微调训练集输入transformer架构为基座的生成式大模型进行模型训练;
通过位置编码和RMSNorm层标准化进行模型优化,并通过deepspeed框架进行模型训练加速,并完成模型训练。
5.如权利要求4所述的自然语言转化为数据库语句的方法,其特征在于,所述transformer架构为deocder-only结构。
6.如权利要求1或4所述的自然语言转化为数据库语句的方法,其特征在于,所述模型训练包括:
初始化模型参数;
将训练数据传递给模型,通过前向传播计算模型的预测输出;
通过损失函数计算所述预测输出与实际结果的误差值;
通过反向传播算法计算模型参数的梯度;
根据所述梯度计算结果更新模型参数;
重复进行训练迭代,直至误差小于预设值,完成模型训练。
7.如权利要求1所述的自然语言转化为数据库语句的方法,其特征在于,接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句,包括:
接收需要查询问题的文本,并进行数据清洗;
将所述文本与数据库信息结合并嵌入所述提示学习模板中,作为模型的输入值并输入所述模型;
获取模型输出结果并返回给所述文本的发送方。
8.一种自然语言转化为数据库语句的装置,其特征在于,其包括:
生成模块,用于根据数据库表结构信息,结合生成问答对的提示学习模板,通过Chatgpt3.5生成对应的问题及查询语句;
训练模块,用于根据所述问题及查询语句构建指令微调训练集,所述训练集包括问题、数据库表名列名为输入,问题所涉及的相关表名为输出的第一训练集及问题、数据库表名为输入,问题对应的SQL语句为输出的第二训练集;根据所述指令微调训练集,根据所述指令微调训练集,结合位置编码和RMSNorm层标准化进行生成式大模型指令微调,得到自然语言转化为数据库语句的模型;
处理模块,用于接收需要查询问题的文本,并输入所述模型,输出对应的数据库查询语句。
9.一种电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的自然语言转化为数据库语句的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的自然语言转化为数据库语句的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311195858.3A CN117370378A (zh) | 2023-09-15 | 2023-09-15 | 自然语言转化为数据库语句的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311195858.3A CN117370378A (zh) | 2023-09-15 | 2023-09-15 | 自然语言转化为数据库语句的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370378A true CN117370378A (zh) | 2024-01-09 |
Family
ID=89391936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311195858.3A Pending CN117370378A (zh) | 2023-09-15 | 2023-09-15 | 自然语言转化为数据库语句的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370378A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591543A (zh) * | 2024-01-19 | 2024-02-23 | 成都工业学院 | 一种中文自然语言的sql语句生成方法和装置 |
CN117851445A (zh) * | 2024-03-08 | 2024-04-09 | 浪潮软件科技有限公司 | 一种大语言模型Text2SQL图表生成方法及装置 |
CN117992791A (zh) * | 2024-04-02 | 2024-05-07 | 浙江口碑网络技术有限公司 | 语句生成模型的训练方法、语句生成方法、***以及设备 |
CN118132684A (zh) * | 2024-05-07 | 2024-06-04 | 杭州逸琨科技有限公司 | 数据处理方法、***、设备、存储介质及程序产品 |
-
2023
- 2023-09-15 CN CN202311195858.3A patent/CN117370378A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591543A (zh) * | 2024-01-19 | 2024-02-23 | 成都工业学院 | 一种中文自然语言的sql语句生成方法和装置 |
CN117591543B (zh) * | 2024-01-19 | 2024-04-02 | 成都工业学院 | 一种中文自然语言的sql语句生成方法和装置 |
CN117851445A (zh) * | 2024-03-08 | 2024-04-09 | 浪潮软件科技有限公司 | 一种大语言模型Text2SQL图表生成方法及装置 |
CN117992791A (zh) * | 2024-04-02 | 2024-05-07 | 浙江口碑网络技术有限公司 | 语句生成模型的训练方法、语句生成方法、***以及设备 |
CN118132684A (zh) * | 2024-05-07 | 2024-06-04 | 杭州逸琨科技有限公司 | 数据处理方法、***、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI732271B (zh) | 人機對話方法、裝置、電子設備及電腦可讀媒體 | |
US10262062B2 (en) | Natural language system question classifier, semantic representations, and logical form templates | |
CN108363743B (zh) | 一种智能问题生成方法、装置和计算机可读存储介质 | |
CN106502985B (zh) | 一种用于生成标题的神经网络建模方法及装置 | |
CN117370378A (zh) | 自然语言转化为数据库语句的方法、装置、设备及介质 | |
CN110737758A (zh) | 用于生成模型的方法和装置 | |
CN112712804A (zh) | 语音识别方法、***、介质、计算机设备、终端及应用 | |
CN108460027A (zh) | 一种口语即时翻译方法及*** | |
CN112906397B (zh) | 一种短文本实体消歧方法 | |
CN115495563A (zh) | 基于表格数据检索的智能会话方法及服务器 | |
CN112349294B (zh) | 语音处理方法及装置、计算机可读介质、电子设备 | |
CN112528654A (zh) | 自然语言处理方法、装置及电子设备 | |
CN116561251A (zh) | 一种自然语言处理方法 | |
CN113569559B (zh) | 短文本实体情感分析方法、***、电子设备及存储介质 | |
CN113326367B (zh) | 基于端到端文本生成的任务型对话方法和*** | |
CN117609444B (zh) | 一种基于大模型的搜索问答方法 | |
CN112632956A (zh) | 文本匹配方法、装置、终端和存储介质 | |
CN110750967A (zh) | 一种发音的标注方法、装置、计算机设备和存储介质 | |
CN110717022A (zh) | 一种机器人对话生成方法、装置、可读存储介质及机器人 | |
US11709989B1 (en) | Method and system for generating conversation summary | |
CN116186219A (zh) | 一种人机对话交互方法方法、***及存储介质 | |
CN115906818A (zh) | 语法知识预测方法、装置、电子设备和存储介质 | |
CN110851572A (zh) | 会话标注方法、装置、存储介质及电子设备 | |
CN110347813B (zh) | 一种语料处理方法、装置、存储介质及电子设备 | |
CN112966510A (zh) | 一种基于albert的武器装备实体抽取方法、***及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |