System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开的实施方式涉及数据处理,更具体地,本公开的实施方式涉及训练数据生成方法、装置、介质和计算设备。
技术介绍
1、本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、随着人工智能和自然语言处理技术的不断发展,nl2sql(natural language tostructured query language,自然语言到结构化查询语言)技术逐渐成为了数据库查询领域的研究热点。nl2sq技术允许用户通过自然语言与数据库进行交互,无需编写复杂的sql查询语句,降低了用户的学习成本。
3、在nl2sql领域,训练高质量的nl2sql模型需要大量的标注数据,包括自然语言查询及其对应sql查询。目前,通常采用人工标注或模板合成数据的方式生成该标注数据。其中,人工标注数据是指人为编写自然语言查询并为其提供相应的sql查询作为标签;模型合成数据是通过模板或者规则合成数据,生成自然语言查询,并为每个查询创建相应的sql查询。
4、然而,上述人工标注方式的标注成本高昂,受限于标注者的主观性可能引入标注偏差,而模板合成方式由于模板或规则的单一性和简单性,导致生成的数据集缺乏多样性和广泛性。采用这两种方式生成的训练数据集存在一定的局限性,导致训练的模型在生成效果和泛化能力等方面表现欠佳,无法有效适应新环境和新任务。
技术实现思路
1、有鉴于此,为解决上述问题,本公开的实施方式期望提供一种训练数据生成方
2、在本公开实施方式的第一方面中,提供了一种训练数据生成方法,所述方法包括:
3、根据数据库的结构信息,对预先构建的用于生成不同类型问题的多个问题生成智能体分别作模板填充处理,通过每个所述模板填充处理后的问题生成智能体生成多个自然语言查询;
4、根据所述自然语言查询和所述结构信息,对结构化查询语言sql生成智能体作模板填充处理,生成所述自然语言查询对应的样本sql语句;
5、在所述数据库上运行所述样本sql语句,根据运行结果对错误修正智能体作模板填充处理,根据生成的修正sql语句更新所述样本sql语句;
6、根据所述自然语言查询及对应的样本sql语句,生成训练数据集;所述训练数据集用于自然语言到结构化查询语言场景下的模型训练;
7、其中,所述模板填充处理包括:对待作模板填充处理的智能体对应的预设提示模板进行模板填充,将生成的提示文本输入至所述待作模板填充处理的智能体的语言模型;所述提示模板用于引导所述语言模型生成符合所述待作模板填充处理的智能体类型的输出。
8、可选地,在作模板填充处理之前,所述方法还包括:
9、获取多个数据库的数据信息;
10、在所述多个数据库中包括多个单表数据库的情况下,将不同单表数据库中的表格随机组合生成新的数据库。
11、可选地,在生成多个自然语言查询之前,所述方法还包括:
12、接收用户在样本生成交互页面输入的自然语言查询类型;
13、根据预设问题类型与智能体的对应关系,确定所述自然语言查询类型对应的问题生成智能体。
14、可选地,所述根据运行结果对错误修正智能体作模板填充处理,根据生成的修正sql语句更新所述样本sql语句,包括:
15、响应于所述样本sql语句运行报错,根据所述样本sql语句及报错信息,对所述错误修正智能体作所述模板填充处理,生成所述样本sql语句对应的修正sql语句;
16、在所述数据库上运行所述修正sql语句;
17、在修正sql语句运行报错的情况下,利用所述错误修正智能体生成新的修正sql语句,重复执行在所述数据库上运行所述修正sql语句,直到所述修正sql语句的运行报错次数达到设定次数阈值;
18、根据运行的修正sql语句更新所述样本sql语句。
19、可选地,在所述运行报错次数达到设定次数阈值的情况下,所述方法还包括:
20、在更新所述样本sql语句之前,将运行的修正sql语句以及对应的自然语言查询展示在样本生成交互页面,并根据用户输入的sql语句更新所述修正sql语句。
21、可选地,在生成所述训练数据集后,所述方法还包括:
22、将所述训练数据集划分为验证集和训练集,并利用所述训练集对所述自然语言到结构化查询语言场景下的模型进行训练,得到训练后的模型;
23、使用所述训练后的模型对所述验证集中的自然语言查询对应的sql语句进行预测;
24、根据所述预测生成的预测sql语句,调整所述验证集中相同自然语言查询对应的样本sql语句。
25、可选地,所述根据所述预测生成的预测sql语句,调整所述验证集中相同自然语言查询对应的样本sql语句,包括:
26、根据所述预测sql语句、以及所述相同自然语言查询对应的样本sql语句,对sql比对智能体作所述模板填充处理,得到所述sql比对智能体输出的比对结果;所述sql比对智能体用于从多个sql语句中选择出最优的sql语句;
27、在所述比对结果指示所述预测sql语句最优的情况下,利用所述预测sql语句更新所述样本sql语句。
28、可选地,所述将所述训练数据集划分为验证集和训练集,并利用所述训练集对所述自然语言到结构化查询语言场景下的模型进行训练,包括:
29、将所述训练数据集划分为多个子数据集,将其中一个子数据集确定为验证集,将除所述验证集外的子数据集确定为训练集;
30、利用所述训练集对所述模型进行训练。
31、可选地,在将所述训练数据集划分为多个子数据集的情况下,所述根据所述预测生成的预测sql语句,调整所述验证集中相同自然语言查询对应的样本sql语句,包括:
32、在所述验证集中的样本sql语句调整完毕后,重复执行从所述多个子数据集中确定所述验证集与所述训练集并进行所述模型训练、预测与验证集中的样本sql语句调整,直到每个子数据集均至少一次作为验证集完成样本sql语句调整。
33、在本公开实施方式的第二方面中,提供了一种装置,所述装置包括:
34、自然语言查询生成模块,用于根据数据库的结构信息,对预先构建的用于生成不同类型问题的多个问题生成智能体分别作模板填充处理,通过每个所述模板填充处理后的问题生成智能体生成多个自然语言查询;
35、sql语句生成模块,用于根据所述自然语言查询和所述结构信息,对结构化查询语言sql生成智能体作模板填充处理,生成所述自然语言查询对应的样本sql语句;
36、sql语句修正模块,用于在所述数据库上运行所述样本sql语句,根据运行结果对错误修正智能体作模板填充处理,根据生成的修正sql语句更新所述样本sql语句;
37、训练数据集生成模块,用于根据所述本文档来自技高网...
【技术保护点】
1.一种训练数据生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据运行结果对错误修正智能体作模板填充处理,根据生成的修正SQL语句更新所述样本SQL语句,包括:
3.根据权利要求2所述的方法,其特征在于,在所述运行报错次数达到设定次数阈值的情况下,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在生成所述训练数据集后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述预测生成的预测SQL语句,调整所述验证集中相同自然语言查询对应的样本SQL语句,包括:
6.根据权利要求4所述的方法,其特征在于,所述将所述训练数据集划分为验证集和训练集,并利用所述训练集对所述自然语言到结构化查询语言场景下的模型进行训练,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述预测生成的预测SQL语句,调整所述验证集中相同自然语言查询对应的样本SQL语句,包括:
8.一种训练数据生成装置,其特征在于,所述装置包括:
9.一种可读
10.一种计算设备,其特征在于,包括:处理器、存储器;
...【技术特征摘要】
1.一种训练数据生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据运行结果对错误修正智能体作模板填充处理,根据生成的修正sql语句更新所述样本sql语句,包括:
3.根据权利要求2所述的方法,其特征在于,在所述运行报错次数达到设定次数阈值的情况下,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在生成所述训练数据集后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述预测生成的预测sql语句,调整所述验证集中相同自然语言查询对应的样本sql语句,包括:
...
【专利技术属性】
技术研发人员:黄卫航,李家诚,沙雨辰,卢睿轩,房松涛,刘东,胡光龙,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。