System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Triplet Loss的单塔模型多表选取方法技术_技高网

一种基于Triplet Loss的单塔模型多表选取方法技术

技术编号:40749043 阅读:12 留言:0更新日期:2024-03-25 20:05
本发明专利技术公开了一种基于Triplet Loss的单塔模型多表选取方法。方法包括:基于数据库构建三元组数据集;建立单塔模型,使用三元组数据集进行加权损失联合训练单塔模型;将结构化表格数据的建表语句信息输入,输出编码信息,构建向量特征库;将问题输入,输出特征向量;进行相似度度量,选取相似度较高的结构化表格数据,实现多表选取。本发明专利技术方法建立了建表信息表达和问题语句泛化特征较好的单塔模型,基于单塔模型,在人工智能领域结构化表格数据中多表联合操作时,可以根据问题选出所涉及的相关表格数据,实现在大部分场景下的准确选表。

【技术实现步骤摘要】

本专利技术涉及了一种多表选取方法,具体涉及一种基于triplet loss的单塔模型多表选取方法。


技术介绍

1、当今信息时代,大规模文本数据的爆发使得类似于chatgpt这种的大模型逐渐出现在我们生活当中,研究者不断地对目前的大模型进行微调以适应不同领域的任务。结构化数据的处理一直以来是繁琐且复杂的,而大模型的出现似乎可以解决这一问题。很多研究者尝试通过和大模型交互的方式去生成处理结构化数据的指令,例如sql语句。但是在这些结构化数据的大模型当中都会面临一个多表操作的问题,有时用户的一个问题可能涉及到多表,而如何让大模型在数据库的众多表中选出于问题相关的表格成为了一个难题。如果把数据库中所有表的建表语句附带着问题输入到大模型中,让模型自主选表并生成对应的指令,难免不是一种办法,但是如果一个数据库中有成百上千个表时,这个时候就会造成模型输入token溢出或者灾难性遗忘的问题,所以,如何根据用户的问题筛选出相关的结构化表格数据成为一个急需解决的问题。

2、目前关于处理结构化数据涉及多表的问题大概分为两类:一种是把所有相关的表格建表信息伴随着问题一起输入模型当中,让模型把选表和生成指令一步解决。目前提出的text-to-sql中,是将建表语句信息全部输入模型当中。还有一种是训练一个句子语义特征表达泛化较好的模型,对建表语句和问题进行相关性匹配,目前提出的table-textencoding中通过训练一个模型对表格数据的信息进行编码,进而匹配相关的问题进行选表。然而目前这两种方式都不能做到大部分场景下的选表准确问题,第一种方式可能会造成模型输入token溢出问题,第二种方式会造成模型在表格信息上泛化不错,但是对于问题的特征表达没有这么鲁棒,导致大多时候并不能匹配的很好。


技术实现思路

1、为了解决
技术介绍
中存在的问题,本专利技术所提供一种基于triplet loss的单塔模型多表选取方法。

2、本专利技术采用的技术方案是:

3、本专利技术的基于triplet loss的单塔模型多表选取方法,包括:

4、1)基于数据库构建三元组数据集。

5、2)建立单塔bert(bidirectional encoder representation fromtransformers)模型,使用三元组数据集进行加权损失联合训练单塔bert模型,获得训练完成的建表信息表达和问题语句泛化特征较好的单塔bert模型。

6、3)将若干结构化表格数据的建表语句信息输入训练完成的单塔bert模型中,训练完成的单塔bert模型输出各个建表语句信息的编码信息,构建为结构化表格数据的向量特征库;将问题输入训练完成的单塔bert模型中,训练完成的单塔bert模型输出问题的特征向量。

7、4)将结构化表格数据的向量特征库和问题的特征向量进行相似度度量,选取相似度较高的若干结构化表格数据,实现多表选取。

8、所述的步骤1)中,将一张数据库中的结构化表格数据的建表语句信息ddl(datadefine language)、第一类问题和第二类问题构建为结构化表格数据集,第一类问题包括与建表语句信息ddl相关的m个相关问题a,第二类问题包括与建表语句信息ddl不相关的n个不相关问题b;将结构化表格数据集中的建表语句信息ddl分别和各个相关问题a进行绑定,针对绑定的建表语句信息ddl和每个相关问题a,在结构化表格数据集中随机选取k个不相关问题b并分别与绑定的建表语句信息ddl和相关问题a进行绑定,k<n,最终获得m×k个包含建表语句信息ddl、相关问题a和不相关问题b的样本,视为三个具有特定语义信息的语句,从而构建为三元组数据集。

9、具体实施时可以选取第二类问题中的五个不相关问题b,这样样本数据扩充为原来的五倍,实现样本增强。

10、所述的步骤2)中,单塔bert模型包括依次连接的bert预训练模型和池化操作。使用预训练的bert模型作为特征编码器,在输出中添加一个池化操作,获取模型输出的句向量的平均词嵌入作为特征向量的表达。

11、所述的步骤2)中,使用三元组数据集进行加权损失联合训练单塔bert模型,具体为将三元组数据集输入单塔bert模型中,进行加权损失计算获得单塔bert模型的损失值,直至损失值达到最小停止训练,获得训练完成的单塔bert模型。

12、针对三元组数据集中的每个样本,单塔bert模型的损失值的加权计算具体如下:

13、步骤2.1)将样本输入单塔bert模型中,单塔bert模型分别输出样本中的建表语句信息ddl、相关问题a和不相关问题b的特征向量。

14、步骤2.2)将建表语句信息ddl的特征向量分别与相关问题a和不相关问题b的特征向量进行拼接做分类计算获得二分类损失。

15、步骤2.3)将建表语句信息ddl的特征向量分别与相关问题a和不相关问题b的特征向量进行距离度量做triplet损失计算获得triplet损失。

16、步骤2.4)将分类损失和triplet损失进行加权计算获得单塔bert模型的损失值。

17、所述的将分类损失和triplet损失进行加权计算具体如下:

18、loss=γ·lossbinary+(1-γ)·losstriplet

19、

20、losstriplet=d(t,a)-d(t,b)+margin

21、其中,loss表示单塔bert模型的损失值;γ表示平衡二分类损失lossbinary和triplet损失losstriplet的平衡因子;y和分别表示真实值和预测值;d()表示距离函数,可以是欧式距离,余弦距离,曼哈顿距离等;t、a和b分别表示样本中的建表语句信息ddl、相关问题a和不相关问题b;margin表示建表语句信息ddl和相关问题a之间的距离以及建表语句信息ddl和不相关问题b之间的距离的差值;具体实施时。和表格相关的问题的距离需要小于和表格不相关的距离,距离差控制在0.2左右。

22、所述的步骤4)中,将结构化表格数据的向量特征库和问题的特征向量进行相似度度量,具体使用距离函数度量进行度量,然后根据各个结构化表格数据度量后获得的相似度值将结构化表格数据进行排序,然后选取其中相似度值高于相似度阈值的若干结构化表格数据,完成多表选取。

23、本专利技术的有益效果是:

24、本专利技术方法通过bert模型对表格的建表信息与问题进行绑定训练,最终得到一个对于表格信息泛化和问题泛化都很鲁棒的单塔模型,基于单塔模型,在人工智能领域结构化表格数据中多表联合操作时,可以根据问题选出所涉及的相关表格数据,实现在大部分场景下的准确选表。

本文档来自技高网...

【技术保护点】

1.一种基于Triplet Loss的单塔模型多表选取方法,其特征在于,包括:

2.根据权利要求1所述的基于Triplet Loss的单塔模型多表选取方法,其特征在于:所述的步骤1)中,将一张数据库中的结构化表格数据的建表语句信息DDL、第一类问题和第二类问题构建为结构化表格数据集,第一类问题包括与建表语句信息DDL相关的M个相关问题A,第二类问题包括与建表语句信息DDL不相关的N个不相关问题B;将结构化表格数据集中的建表语句信息DDL分别和各个相关问题A进行绑定,针对绑定的建表语句信息DDL和每个相关问题A,在结构化表格数据集中随机选取K个不相关问题B并分别与绑定的建表语句信息DDL和相关问题A进行绑定,K<N,最终获得M×K个包含建表语句信息DDL、相关问题A和不相关问题B的样本,从而构建为三元组数据集。

3.根据权利要求1所述的基于Triplet Loss的单塔模型多表选取方法,其特征在于:所述的步骤2)中,单塔BERT模型包括依次连接的Bert预训练模型和池化操作。

4.根据权利要求2所述的基于Triplet Loss的单塔模型多表选取方法,其特征在于:所述的步骤2)中,使用三元组数据集进行加权损失联合训练单塔BERT模型,具体为将三元组数据集输入单塔BERT模型中,进行加权损失计算获得单塔BERT模型的损失值,直至损失值达到最小停止训练,获得训练完成的单塔BERT模型;

5.根据权利要求4所述的基于Triplet Loss的单塔模型多表选取方法,其特征在于:所述的将分类损失和Triplet损失进行加权计算具体如下:

6.根据权利要求1所述的基于Triplet Loss的单塔模型多表选取方法,其特征在于:所述的步骤4)中,将结构化表格数据的向量特征库和问题的特征向量进行相似度度量,具体使用距离函数度量进行度量,然后根据各个结构化表格数据度量后获得的相似度值将结构化表格数据进行排序,然后选取其中相似度值高于相似度阈值的若干结构化表格数据,完成多表选取。

...

【技术特征摘要】

1.一种基于triplet loss的单塔模型多表选取方法,其特征在于,包括:

2.根据权利要求1所述的基于triplet loss的单塔模型多表选取方法,其特征在于:所述的步骤1)中,将一张数据库中的结构化表格数据的建表语句信息ddl、第一类问题和第二类问题构建为结构化表格数据集,第一类问题包括与建表语句信息ddl相关的m个相关问题a,第二类问题包括与建表语句信息ddl不相关的n个不相关问题b;将结构化表格数据集中的建表语句信息ddl分别和各个相关问题a进行绑定,针对绑定的建表语句信息ddl和每个相关问题a,在结构化表格数据集中随机选取k个不相关问题b并分别与绑定的建表语句信息ddl和相关问题a进行绑定,k<n,最终获得m×k个包含建表语句信息ddl、相关问题a和不相关问题b的样本,从而构建为三元组数据集。

3.根据权利要求1所述的基于triplet loss的单塔模型多表选取方法,其特征在于:所述的步骤2)中,单塔bert模型包括...

【专利技术属性】
技术研发人员:赵俊博苏常保袁静张嘎杨赛赛
申请(专利权)人:浙江大学计算机创新技术研究院
类型:发明
国别省市:

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

1