System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及人工智能,并且更具体地,涉及人工智能中一种语句生成模型的训练方法、语句生成方法、系统、计算机设备以及存储介质。
技术介绍
1、自然语言处理(natural language processing,nlp)作为人工智能技术的一个重要分支,在很多场景中扮演的角色也越来越重要。在数据库查询场景中,利用自然语言转结构化查询语言(natural language to structured query language,nl2sql)的技术能够大大提高数据库查询的效率。
2、相关技术中,训练具有nl2sql能力的模型需要使用大量的样本数据,而样本数据的获取往往依赖于人工标注。
3、但是,由于对样本数据进行人工标注的成本较高,导致训练具有nl2sql能力的模型的成本居高不下。
技术实现思路
1、本申请实施例提供了语句生成模型的训练方法、语句生成方法、系统、计算机设备以及存储介质,能够降低训练具有nl2sql能力的模型的成本,技术方案如下:
2、一方面,提供了一种语句生成模型的训练方法,所述方法包括:
3、基于多个数据库表以及目标领域,生成各个所述数据库表的查询文本以及所述查询文本对应的参考sql语句,所述多个数据库表属于所述目标领域对应的目标数据库;
4、基于各个所述数据库表以及各个所述数据库表的查询文本,生成所述查询文本对应的样本提示文本,所述样本提示文本用于查询所述多个数据库表中的字段;
5、基于多个样本提示
6、一方面,提供了一种语句生成方法,所述方法包括:
7、获取目标提示文本;
8、将所述目标提示文本输入语句生成模型,通过所述语句生成模型对所述目标提示文本进行处理,得到所述目标提示文本的目标sql语句,所述目标sql语句用于查询目标领域对应的目标数据库;
9、其中,所述语句生成模型是基于所述目标数据库的多个数据库表以及所述目标领域训练得到。
10、一方面,提供了一种语句生成模型的训练系统,所述系统包括:
11、文本和语句生成模块,用于基于多个数据库表以及目标领域,生成各个所述数据库表的查询文本以及所述查询文本对应的参考sql语句,所述多个数据库表属于所述目标领域对应的目标数据库;将各个所述数据库表的查询文本以及所述查询文本对应的参考sql语句输入问题生成模块;
12、所述问题生成模块,用于基于各个所述数据库表以及各个所述数据库表的查询文本,生成所述查询文本对应的样本提示文本,所述样本提示文本用于查询所述多个数据库表中的字段;将所述查询文本对应的样本提示文本输入训练模块;
13、所述训练模块,用于基于多个样本提示文本以及各个样本提示文本对应的参考sql语句,训练语句生成模型,所述语句生成模型用于基于输入的问题生成所述目标领域对应的sql语句。
14、在一种可能的实施方式中,所述文本和语句生成模块,用于确定所述目标领域对应的参考提示文本,所述参考提示文本用于提示生成所述目标领域对应的查询文本以及参考sql语句的方式;将所述多个数据库表和所述参考提示文本输入大语言模型,通过所述大语言模型对所述多个数据库表和所述参考提示文本进行处理,得到各个所述数据库表的查询文本以及对应的参考sql语句。
15、在一种可能的实施方式中,所述文本和语句生成模块,用于由所述大语言模型基于所述参考提示文本对各个所述数据库表进行处理,输出各个所述数据库表的初始查询文本以及所述初始查询文本对应的初始sql语句;基于所述目标领域的sql规则,对各个所述数据库表对应的初始sql语句进行纠错,得到各个所述数据库表对应的参考sql语句,所述sql规则包括sql语法和sql结构;对各个所述数据库表的初始查询文本进行数据增强,得到各个所述数据库表的查询文本。
16、在一种可能的实施方式中,所述问题生成模块,用于对于所述多个数据库表中的任一数据库表,基于所述数据库表的查询文本在所述数据库表中进行召回,得到所述数据库表中的目标字段,所述目标字段为与所述数据库表的查询文本相关的字段;基于多个目标字段,生成所述数据库表的查询文本对应的样本提示文本。
17、在一种可能的实施方式中,所述问题生成模块,用于执行下述至少一项:
18、将所述数据库表的查询文本和所述数据库表的多个字段输入字段召回模型,通过所述字段召回模型在所述多个字段中召回目标字段;
19、对所述数据库表的查询文本进行文本扩展,得到所述数据库表的查询文本的多个扩展查询文本,所述多个扩展查询文本为与所述数据库表的查询文本语义相近的查询文本;基于所述数据库表的查询文本以及所述多个扩展查询文本,从所述数据库表的多个字段中确定目标字段。
20、在一种可能的实施方式中,所述问题生成模块,用于将所述数据库表的查询文本和所述数据库表的多个字段的字段向量输入字段召回模型,通过所述字段召回模型将所述查询文本映射为查询文本向量;通过所述字段召回模型,基于所述查询文本向量与所述多个字段的字段向量之间的相似度,从所述多个字段中召回目标字段,所述目标字段的字段向量与所述查询文本向量之间的相似度符合预设相似度条件,所述多个字段的字段向量是由所述字段召回模型映射得到的。
21、在一种可能的实施方式中,所述问题生成模块,用于基于所述数据库表的查询文本以及所述多个扩展查询文本中的词汇在所述目标领域中的重要程度对所述数据库表的查询文本以及所述多个扩展查询文本进行评分,得到所述数据库表的查询文本的分数以及所述多个扩展查询文本的分数;基于数据库表的查询文本的分数以及所述多个扩展查询文本的分数,从所述数据库表的查询文本以及所述多个扩展查询文本中确定多个目标查询文本,所述目标查询文本的分数符合预设分数条件;采用各个所述目标查询文本中的词汇与所述数据库表的多个字段进行文本匹配,得到目标字段,所述目标字段是与目标查询文本中词汇匹配成功的字段。
22、在一种可能的实施方式中,所述问题生成模块,还用于基于所述目标领域的领域规则,从所述数据库表的多个字段中召回目标字段,所述领域规则包括与所述目标领域匹配的字段类型。
23、在一种可能的实施方式中,所述问题生成模块,用于按照预设方式将所述多个目标字段进行组合,得到所述数据库表的查询文本对应的初始提示文本;对所述初始提示文本进行文本扩展得到所述数据库表的查询文本对应的样本提示文本。
24、在一种可能的实施方式中,所述训练模块,用于将所述多个样本提示文本分别输入所述语句生成模型,通过所述语句生成模型分别对所述多个样本提示文本分别进行处理,得到各个所述样本提示文本的预测sql语句;基于各个所述样本提示文本的预测sql语句与参考sql语句之间的差异信息,对所述目标领域的语句生成模型本文档来自技高网...
【技术保护点】
1.一种语句生成模型的训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于多个数据库表以及目标领域,生成各个所述数据库表的查询文本以及所述查询文本对应的参考SQL语句,包括:
3.根据权利要求2所述的方法,其特征在于,所述通过所述大语言模型对所述多个数据库表和所述参考提示文本进行处理,得到各个所述数据库表的查询文本以及对应的参考SQL语句,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于各个所述数据库表以及各个所述数据库表的查询文本,生成所述查询文本对应的样本提示文本,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述数据库表的查询文本在所述数据库表中进行召回,得到所述数据库表中的目标字段,包括下述至少一项:
6.一种语句生成方法,其特征在于,所述方法包括:
7.一种语句生成模型的训练系统,其特征在于,所述系统包括:
8.一种语句生成系统,其特征在于,所述系统包括:
9.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至权利要求5任一项所述的语句生成模型的训练方法,或实现如权利要求6所述的语句生成方法。
...【技术特征摘要】
1.一种语句生成模型的训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于多个数据库表以及目标领域,生成各个所述数据库表的查询文本以及所述查询文本对应的参考sql语句,包括:
3.根据权利要求2所述的方法,其特征在于,所述通过所述大语言模型对所述多个数据库表和所述参考提示文本进行处理,得到各个所述数据库表的查询文本以及对应的参考sql语句,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于各个所述数据库表以及各个所述数据库表的查询文本,生成所述查询文本对应的样本提示文本,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述数据库表的查询文本在所述数据库表中进行召回,得到所述数据库表中的目标字段,包括下述至少一项:
...【专利技术属性】
技术研发人员:周扬,王君吉,李哲,董元昊,
申请(专利权)人:浙江口碑网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。