基于大语言模型的Text-to-SQL生成方法、系统及存储介质技术方案

技术编号:46597403 阅读:3 留言:0更新日期:2025-10-10 21:29
本发明专利技术公开了一种基于大语言模型的Text‑to‑SQL生成方法、系统及存储介质,方法包括关键词提取和模糊检测:提取文本中的数据内容关键词,推测关联数据表和列,以及数据内容同义词,并根据推测结果生成可执行的种子SQL进行模糊检测;编码知识获取和对齐:根据模糊检测搜索结果获取编码知识;从编码知识表中检测与各数据内容关键词最相关的知识,并构成编码知识集合;SQL语句生成和修改:根据编码知识集合生成模糊SQL并执行,根据反馈结果和编码知识集合进行多轮修改,生成最终SQL。本发明专利技术提高获取Text‑to‑SQL的效率,能够准确地从数据库中搜索到与自然语言问题相关的数据。

【技术实现步骤摘要】

本专利技术涉及数据库查询语言生成,具体涉及一种基于大语言模型的text-to-sql生成方法、系统及存储介质。


技术介绍

1、作为数据分析的首要环节,数据分析业务人员需要根据数据分析任务需求,通过编写数据分析sql代码,从数据库中查找到用于分析的数据库、表和字段后,才能够继续开展进一步的数据分析任务。文本转sql(text-to-sql)研究领域关注于将自然语言问题转换成对应的sql查询语句,它使得没有基础编程能力的人员能够直接从数据库中搜索获取到和数据分析问题相关的数据。目前常见的文本转sql方法主要侧重于通过仅输入数据库模式,以及输入数据库模式和数据内容样例的方式来生成sql查询语句。这些方法在面对真实业务场景中只包含数据内容关键词的数据分析自然语言问题时(例如:“请回答2023年一季度的gdp增速是多少”),并不能做到准确感知数据库中存储的相关数据内容,导致生成的sql查询语句中使用的条件列名字段和条件内容值存在错误,使sql查询语句的执行成功率和查询准确率受到负面影响。


技术实现思路

<p>1、针对上述问题本文档来自技高网...

【技术保护点】

1.一种基于大语言模型的Text-to-SQL生成方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述基于大语言模型的Text-to-SQL生成方法,其特征在于,关键词提取和模糊检测过程中,对输入的自然语言文本、数据库模式以及出现频率最高的前N个数据内容样例,基于大语言模型的上下文语义学习模块,提取自然语言文本中的数据内容关键词和数据内容同义词,并根据数据库模式确认数据库表名和列名字段,根据数据库表名和列名字段生成一系列和数据内容关键词关联的存储内容的种子SQL。

3.根据权利要求2所述基于大语言模型的Text-to-SQL生成方法,其特征在于,将待生...

【技术特征摘要】

1.一种基于大语言模型的text-to-sql生成方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述基于大语言模型的text-to-sql生成方法,其特征在于,关键词提取和模糊检测过程中,对输入的自然语言文本、数据库模式以及出现频率最高的前n个数据内容样例,基于大语言模型的上下文语义学习模块,提取自然语言文本中的数据内容关键词和数据内容同义词,并根据数据库模式确认数据库表名和列名字段,根据数据库表名和列名字段生成一系列和数据内容关键词关联的存储内容的种子sql。

3.根据权利要求2所述基于大语言模型的text-to-sql生成方法,其特征在于,将待生成的种子 sql拆解为列名字段、数据内容、sql语句骨架三个类型互相独立的种子,并针对各类型的种子初始化种子池,其中,针对列名字段,将提取的数据内容关键词相关的数据库列名字段作为种子池;数据内容为使用大语言大模型根据数据内容关键词和相关列生成的同义词,将数据内容关键词和同义词作为种子池;sql语句骨架设定两个候选查询sql模板作为种子池。

4.根据权利要求3所述基于大语言模型的text-to-sql生成方法,其特征在于,针对各数据内容关键词,从三个种子池中各随机选取一个种子形成种子三元组,并基于种子三元组生成一个新的种子sql,将新的种子 sql在数据库中执行并得到搜索结果;遍历三个种子池中取出的不重复排列组合的种子三元组,重复生成新的种子sql并执行,得到搜索结果。

5.根据权利要求1所述基于大语言模型的text-to-sql生成方法,其特征在于,编码知识获取过程中,若模糊检测搜索结果表明文本中的数据内容关键词在当前关联列中存储的精确内容值是唯一的,将数据内容关键词相关内容标准化处理为编码知识放入编码知识表中,作为生成最终sql的可用候...

【专利技术属性】
技术研发人员:刘川意许文博颜亮韩培义朱海峰段少明
申请(专利权)人:哈尔滨工业大学深圳哈尔滨工业大学深圳科技创新研究院
类型:发明
国别省市:

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

1