System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于大语言模型的自然语句转SQL语句的方法技术_技高网

一种基于大语言模型的自然语句转SQL语句的方法技术

技术编号:40967830 阅读:2 留言:0更新日期:2024-04-18 20:48
本申请公开了一种基于大语言模型的自然语句转SQL语句的方法,涉及自然语言技术领域,包括:从多个开放数据集中收集自然语句和对应的SQL语句,构建训练集;利用基于语法解析的模板和词汇替换规则,扩充训练集;构建序列到序列的神经网络,设置编码器对扩充后的训练集进行特征提取,设置解码器生成对应的SQL语句;在编码器中,设置表结构分析组件,从训练集中的SQL语句中解析对应的数据库表结构;在编码器中,设置数据库内容分析组件,从训练集中的SQL语句中解析对应的数据库表内容;在解码器中,设置数据库语法规则集,用于检查和修正生成的SQL语句中的语法错误。针对现有技术中自然语句到SQL语句的转换精度低的问题,本申请提升了模型的理解能力与转换精度。

【技术实现步骤摘要】

本申请涉及自然语言,特别涉及一种基于大语言模型的自然语句转sql语句的方法。


技术介绍

1、在当今信息化时代,数据处理和数据库查询是各行各业的重要组成部分。而数据库查询语言sql的复杂性和技术门槛,导致许多非技术人员难以理解和使用,尤其是对于以自然语言为主的用户。因此,实现自然语句到sql语句的准确转换成了一个重要且具有挑战性的问题。传统的自然语言处理技术在此方面表现不佳,转换精度低,无法满足实际需求。

2、现有技术中,自然语句到sql语句的转换精度受到多方面因素的影响,包括语言表达的歧义性、语法结构的复杂性以及数据库的架构差异等。传统的基于规则或模板的方法往往缺乏灵活性和泛化能力,难以处理复杂的语言结构和语义关系。此外,由于数据流向不清晰,常常出现生成的sql语句语法错误或语义错误的情况,降低了转换的准确性和可靠性。

3、在相关技术中,比如中国专利文献cn117194478a中提供了一种基于微调大语言模型的自然语言语句转sql语句方法,包括:微调训练大语言模型;获取待转化的自然语言语句;将所述自然语言语句输入微调训练后的大语言模型,得到转化后的sql语句。但是直接微调难以适应sql语言的特点,因此该方案的转换精度有待进一步提高。


技术实现思路

1、1.要解决的技术问题

2、针对现有技术中存在的自然语句到sql语句的转换精度低的问题,本申请提供了一种基于大语言模型的自然语句转sql语句的方法,利用编码器中的表结构分析组件和内容分析组件解析数据库语义信息,并在解码器中设置数据库语法规则集检查和修正生成语句的语法,提高了转换精度。

3、2.技术方案

4、本申请的目的通过以下技术方案实现。

5、本说明书实施例提供一种基于大语言模型的自然语句转sql语句的方法,包括:从多个开放数据集中收集自然语句和对应的sql语句,构建训练集;在训练集上,利用基于语法解析的模板和词汇替换规则,扩充训练集;构建序列到序列的神经网络,设置编码器对扩充后的训练集进行特征提取,设置解码器生成对应的sql语句;在编码器中,设置表结构分析组件,从训练集中的sql语句中解析对应的数据库表结构,数据库表结构包含表名称、列名称和数据类型;在编码器中,设置数据库内容分析组件,从训练集中的sql语句中解析对应的数据库表内容,数据库表内容包含数据值分布、是否包含空值和值区分度;在解码器中,设置数据库语法规则集,用于检查生成的sql语句的语法错误并进行修正。

6、其中,自然语句:指用户以自然语言提出的问题或查询语句,如“列出所有学生的姓名和手机号码”。对应的sql语句:指自然语句表达的查询意图所对应的数据库查询语句,如“select name,phone from student”。本技术方案首先从多个开放数据集中收集自然语言查询语句以及对应的sql语句,以构建训练集。训练集包含大量不同方式表达查询意图的自然语句实例及其对应的sql实现形式。在训练集上训练序列到序列神经网络模型,使其学习自然语句和sql语句之间的映射关系。模型通过编码器分析自然语句的语义,解码器生成对应的sql语句,实现自然语言到数据库查询语言的转换。收集自然语句和sql语句对的训练集是实现该转换的关键数据基础。训练集规模越大、语句表达越丰富,有利于模型学习强大的映射能力。

7、其中,本技术方案通过构建一个序列到序列的神经网络模型,其中编码器含有表结构分析模块和内容分析模块,可以自动分析sql语句并提取数据库表结构信息,如student表、course表等,以及表之间的关系如sc表。解码器含有数据库语法规则集,可以生成语法正确的sql语句。在大规模开放数据集上训练该模型,使其学习映射自然语言和sql语句之间的对应关系,从而实现自然语言到sql语句的准确转换。

8、其中,基于语法解析的模板:指使用语法规则提取自然语言语句中的语法结构,形成可复用的语法模板,如“列出{列名}”“找出{条件}的{列名}”等。词汇替换规则:指根据语义替换模板中的词汇,生成新的语句,如将“列名”替换为“学生姓名”,生成语句“列出学生姓名”。本技术方案首先利用基于语法解析的方法,从训练集中提取表示语义的语法模板,这些模板包含变量表示列名、表名等可改变部分。然后定义词汇替换规则,根据不同的列名、表名等将模板中的变量替换为具体词汇,从而生成新的训练样本,扩充训练集规模。扩充训练集后的语法模板覆盖面更广,词汇组合更丰富,为神经网络模型提供更充分的训练语料。这有助于提升模型对多样化语句的理解能力,从而实现自然语言到sql语句的准确转换。

9、其中,序列到序列(sequence to sequence,seq2seq):一种端到端的神经网络结构,用于将一个序列作为输入,生成另一个序列作为输出。本技术方案构建了一个序列到序列的神经网络模型,其中:编码器(encoder)模块将自然语言语句这个输入序列进行特征提取,输出一个语义特征序列。解码器(decoder)模块基于编码器输出的语义特征,生成对应的sql语句这个输出序列。这样,实现了从自然语言序列到sql语句序列的端到端映射。相比传统逐词标注解析的方法,序列到序列模型更好地模拟了自然语言理解和生成的过程,可以直接学习输入和输出序列模式之间的对应关系,无需复杂的人工特征工程,从而实现自然语言到数据库查询语言的高质量转换。

10、其中,表结构分析组件:指用于分析和提取sql语句中涉及的数据库表名称、列名称、数据类型等结构信息的组件模块。数据库表结构:指数据库表的结构化信息,包括表名称、包含的列名称、列的数据类型等。本技术方案在神经网络的编码器模块中,设置了一个表结构分析组件,其作用是:从训练集的sql语句中,解析对应的数据库的表结构,提取出语句涉及的表名称、列名称以及列的数据类型等结构化信息。解析得到的表结构信息可以为编码器提供该sql语句涉及的数据库schema信息,帮助编码器更好地理解sql语句的语义。编码器理解的越透彻,则解码器生成的sql语句质量越高。表结构分析组件为序列到序列模型提供数据库结构信息,是利用数据库语义知识提升转换质量的重要手段。

11、其中,数据库内容分析组件:用于分析和提取sql语句对应的数据库表中的数据内容信息的组件模块,如数据的值分布、是否存在空值等特征。数据库表内容:指数据库表中存储的数据本身的特征,包括值的分布情况、是否存在空值、列值的区分度等。本技术方案在编码器中还设置了数据库内容分析组件,它可以从sql语句对应的数据表中,分析提取内容信息,比如数据值的分布情况、是否存在空值等。这些内容信息反映了表数据本身的特征,提供了语句涉及列的内容语义知识。编码器充分理解表内容信息后,可以更准确地分析语句涉及的列语义,从而指导解码器生成与语义一致的sql语句。相比仅使用结构信息,额外利用内容信息可以帮助模型更深入地理解数据库表的语义,是从数据角度提升转换质量的一种重要手段。

12、具体的,数据值分布:指数据库表本文档来自技高网...

【技术保护点】

1.一种基于大语言模型的自然语句转SQL语句的方法,包括:

2.根据权利要求1所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

3.根据权利要求2所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

4.根据权利要求3所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

5.根据权利要求2所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

6.根据权利要求5所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

7.根据权利要求6所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

8.根据权利要求7所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

9.根据权利要求1至8任一所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

10.根据权利要求9所述的基于大语言模型的自然语句转SQL语句的方法,其特征在于:

【技术特征摘要】

1.一种基于大语言模型的自然语句转sql语句的方法,包括:

2.根据权利要求1所述的基于大语言模型的自然语句转sql语句的方法,其特征在于:

3.根据权利要求2所述的基于大语言模型的自然语句转sql语句的方法,其特征在于:

4.根据权利要求3所述的基于大语言模型的自然语句转sql语句的方法,其特征在于:

5.根据权利要求2所述的基于大语言模型的自然语句转sql语句的方法,其特征在于:

6.根据权...

【专利技术属性】
技术研发人员:张煇剌昊跃李龙
申请(专利权)人:北京长河数智科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1