CN116028527A - 语言转换模型的训练方法、转换方法、装置、设备和介质 - Google Patents

语言转换模型的训练方法、转换方法、装置、设备和介质 Download PDF

Info

Publication number
CN116028527A
CN116028527A CN202310118374.2A CN202310118374A CN116028527A CN 116028527 A CN116028527 A CN 116028527A CN 202310118374 A CN202310118374 A CN 202310118374A CN 116028527 A CN116028527 A CN 116028527A
Authority
CN
China
Prior art keywords
clause
feature vector
natural language
column name
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310118374.2A
Other languages
English (en)
Inventor
曹立江
张蕊
李明亮
李�瑞
吴天昊
万伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202310118374.2A priority Critical patent/CN116028527A/zh
Publication of CN116028527A publication Critical patent/CN116028527A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开了一种语言转换模型的训练方法、转换方法、装置、设备和介质,属于计算机技术领域,解决了由于模型结构复杂而导致的模型训练难度大的问题。该方法包括:将自然语言查询序列和语义匹配的关联表格中的列名信息拼接为长序列信息;基于长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型,语言转换模型用于确定自然语言序列和结构化查询语言序列的对应关系,结构化查询语言序列中包括选择子句和条件子句,在语言转换模型的模型训练过程中,第一解码器用于根据选择子句的特征确定选择子句的预测结果,第二解码器用于根据条件子句的特征得到条件子句的预测结果。该方法可以降低模型训练难度。

Description

语言转换模型的训练方法、转换方法、装置、设备和介质
技术领域
本发明涉及计算机技术领域,具体涉及一种语言转换模型的训练方法、转换方法、装置、设备和介质。
背景技术
结构化查询语言(Structured Query Language,SQL),是数据库的标准查询语言,将自然语言(Natural Language,NL)转为计算机可执行的结构化查询语言(NL To SQL,NL2SQL)的方法,即NL2SQL方法,其本质便是将自然语言序列转换成SQL序列。
由于SQL语句需要满足严格的语法约束,因此NL2SQL方法通常基于深度学习模型来实现,目前,实现NL2SQL的模型结构都较为复杂,导致模型训练难度较大。
发明内容
为此,本发明提供一种语言转换模型的训练方法、转换方法、装置、设备和介质,以解决现有技术中由于模型结构复杂而导致的模型训练难度大的问题。
为了实现上述目的,本发明第一方面提供一种语言转换模型的训练方法,该方法包括:将自然语言查询序列和用于进行语义匹配的关联表格中的列名信息拼接为长序列信息;基于所述长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型;其中,所述语言转换模型用于确定自然语言序列和结构化查询语言序列的对应关系,所述结构化查询语言序列中包括选择子句和条件子句,所述语言转换模型的网络结构包括第一解码器和第二解码器;在所述语言转换模型的模型训练过程中,所述第一解码器用于根据所述选择子句的特征确定选择子句的预测结果,所述第二解码器用于根据所述条件子句的特征得到条件子句的预测结果。
其中,所述基于所述长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型,包括:提取所述长序列信息的特征,得到所述长序列信息的特征编码;利用所述第一解码器处理所述长序列信息的特征编码,得到选择子句的预测结果;利用所述第二解码器处理所述长序列信息的特征编码,得到条件子句的预测结果;根据所述选择子句的预测结果、所述选择子句的标注结果、所述条件子句的预测结果和所述条件子句的标注结果,构建损失函数;利用所述损失函数,调整所述语言转换模型的模型参数,以利用所述调整后的模型参数,得到所述训练后的语言转换模型。
其中,所述选择子句包括选择列名子句和选择聚合函数子句;所述利用所述第一解码器处理所述长序列信息的特征编码,得到选择子句的预测结果,包括:
将所述长序列信息的特征编码输入所述第一解码器进行处理,得到与所述选择子句对应的第一自然语言查询特征向量和第一列名特征向量;通过预设的第一全连接层处理所述第一自然语言查询特征向量和所述第一列名特征向量,得到所述选择列名子句的预测结果,所述第一全连接层用于确定所述选择列名子句的预测结果与所述第一自然语言查询特征向量和所述第一列名特征向量的对应关系;通过预设的第二全连接层处理所述第一自然语言查询特征向量和所述第一列名特征向量,得到所述选择聚合函数子句的预测结果,所述第二全连接层用于确定所述选择聚合函数子句的预测结果与所述第一自然语言查询特征向量和所述第一列名特征向量的对应关系;将所述选择列名子句的预测结果和所述选择聚合函数子句的预测结果,作为所述选择子句的预测结果。
其中,所述条件子句包括条件个数、每个条件选择的列名、操作符和操作符对应取值;所述利用所述第二解码器处理所述长序列信息的特征编码,得到条件子句的预测结果,包括:将所述长序列信息的特征编码输入所述第二解码器进行处理,得到与所述条件子句对应的第二自然语言查询特征向量和第二列名特征向量;通过预设的第三全连接层处理所述第二自然语言查询特征向量,得到所述条件个数的预测结果,所述第三全连接层用于确定所述条件个数的预测结果与所述第二自然语言查询特征向量的对应关系;通过预设的第四全连接层处理所述第二自然语言查询特征向量和所述第二列名特征向量,得到所述每个条件选择的列名的预测结果,所述第四全连接层用于确定所述每个条件选择的列名的预测结果与所述第二自然语言查询特征向量和所述第二列名特征向量的对应关系;通过预设的第五全连接层处理所述第二自然语言查询特征向量和所述第二列名特征向量,得到所述操作符的预测结果,所述第五全连接层用于确定所述操作符的预测结果与所述第二自然语言查询特征向量和所述第二列名特征向量的对应关系;通过预设的第六全连接层处理所述第二自然语言查询特征向量和所述第二列名特征向量,得到第一位置的预测结果,所述第一位置为所述操作符对应取值在所述自然语言查询序列的起始位置,所述第六全连接层用于确定所述第一位置的预测结果与所述第二自然语言查询特征向量和所述第二列名特征向量的对应关系;通过预设的第七全连接层处理所述第二自然语言查询特征向量和所述第二列名特征向量,得到第二位置的预测结果,所述第二位置为所述操作符对应取值在所述自然语言查询序列的终止位置,所述第七全连接层用于确定所述第二位置的预测结果与所述第二自然语言查询特征向量和所述第二列名特征向量的对应关系;将所述条件个数的预测结果、所述每个条件选择的列名的预测结果、所述操作符的预测结果、所述第一位置的预测结果和所述第二位置的预测结果,作为所述条件子句的预测结果。
其中,所述根据所述选择子句的预测结果、所述选择子句的标注结果、所述条件子句的预测结果和所述条件子句的标注结果,构建损失函数,包括:根据所述选择子句的预测结果和所述选择子句的标注结果,构建第一损失函数;根据所述条件子句的预测结果和所述条件子句的标注结果,构建第二损失函数;对所述第一损失函数和所述第二损失函数进行加权求和,将加权求和得到的损失函数作为构建的所述损失函数。
其中,所述将自然语言查询序列和用于进行语义匹配的关联表格中的列名信息拼接为长序列信息,包括:使用双向长短时记忆模型获取自然语言查询序列的语义向量作为第一语义表示向量;使用所述双向长短时记忆模型获取所述关联表格中的至少一组列关联信息的语义表示向量,每组列关联信息中包括一个列名信息和对应的列类型;计算所述第一语义表示向量分别与每组列关联信息的语义表示向量的余弦相似度,作为对应的语义匹配度;按照从大到小顺序获取前预定数量个余弦相似度,将所述预定数量个余弦相似度所属的各组列关联信息作为经筛选的各组列关联信息;将所述自然语言查询序列和所述经筛选的各组列关联信息拼接为所述长序列信息。
本发明第二方面提供一种语言转换方法,该语言转换方法包括:获取自然语言查询序列;将所述自然语言查询序列输入预设的语言转换模型进行语言转换,得到对应的结构化查询语言;其中,所述语言转换模型是根据第一方面的任一项语言转换模型的训练方法训练得到的模型。
本发明第三方面提供一种语言转换模型的训练装置,该语言转换模型的训练装置包括:拼接模块,用于将自然语言查询序列和用于进行语义匹配的关联表格中的列名信息拼接为长序列信息;训练模块,用于基于所述长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型;其中,所述语言转换模型用于确定自然语言序列和结构化查询语言序列的对应关系,所述结构化查询语言序列中包括选择子句和条件子句,所述语言转换模型的网络结构包括第一解码器和第二解码器;在所述语言转换模型的模型训练过程中,所述第一解码器用于根据所述选择子句的特征确定选择子句的预测结果,所述第二解码器用于根据所述条件子句的特征得到条件子句的预测结果。
本发明第四方面提供一种语言转换装置,该语言转换装置包括:获取模块,用于获取自然语言查询序列;转换模块,用于将所述自然语言查询序列输入预设的语言转换模型进行语言转换,得到对应的结构化查询语言;其中,所述语言转换模型是上述第二方面任一项语言转换模型的训练方法训练得到的模型。
本发明第五方面提供一种电子设备,包括:一个或多个处理器;存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第一方面的语言转换模型的训练方法或第二方面的语言转换方法;一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
本发明第五方面提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据本发明上述第一方面的语言转换模型的训练方法或第二方面的语言转换方法。
根据本发明实施例的语言转换模型的训练方法,可以将对NL2SQL的预测分解为对选择子句的预测和对条件子句的预测,这样就可以只使用两种编码器进行预测,其中的第一解码器用于根据选择子句的特征确定选择子句的预测结果,第二解码器用于根据条件子句的特征得到条件子句的预测结果;相关技术中分别使用不同的解码器来完成选择子句中包含的查询目标和聚合函数等不同内容的预测,还使用不同的解码器进行限定条件中不同内容的预测,相比相关技术,本发明中对选择子句中的不同内容的预测可以共享第一解码器来实现,对条件子句中的不同内容的预测可以共享第二解码器来实现,通过解码器的共享来减少解码器的使用数量,从而降低模型的结构复杂度,有利于减少模型参数量和降低模型训练难度。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
图1为本发明实施例提供的一种语言转换模型的训练方法的流程图;
图2为本发明实施例提供的SQL语句的组成部分示意图;
图3为本发明实施例提供的语言转换模型结构示意图;
图4a为相关技术中预测任务中的每个子任务的解码器的示意图;
图4b为本发明实施例提供的共享解码器的结构对比示意图;
图5为本发明实施例提供的语言转换方法的流程图;
图6示出本发明实施例提供的语言转换模型的训练装置的结构示意图;
图7为本发明实施例提供的语言转换装置的结构示意图;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如本发明所使用的,术语“和/或”包括一个或多个相关列举条目的任何和全部组合。
本发明所使用的术语仅用于描述特定实施例,且不意欲限制本发明。如本发明所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。
当本发明中使用术语“包括”和/或“由……制成”时,指定存在特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
本发明实施例可借助本发明的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。
除非另外限定,否则本发明所用的全部术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本发明的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本发明明确如此限定。
目前基于深度学习的NL2SQL方法,在对查询目标、聚合函数、限定条件进行预测时,需要分别使用各种不同的解码器来完成查询目标,聚合函数,限定条件的预测。当表格中的列名较多较长时,输入序列会变得很长,使得模型难以学习自然语言查询与列名之间的关系。此外,多个解码器的使用不仅增加了模型的结构复杂度和模型参数量,增加模型训练难度,还使得解码器无法学习到不同子任务之间的关联。
第一方面,本发明实施例提供一种语言转换模型的训练方法。
图1是示出根据本发明实施例的语言转换模型的训练方法的流程图。如图1所示,本发明实施例中的语言转换模型的训练方法包括以下步骤。
步骤S110,将自然语言查询序列和用于进行语义匹配的关联表格中的列名信息拼接为长序列信息。
由于Text2SQL可以解决将自然语言映射到数据库查询语言SQL的问题,利用数据库查询语句涉及的表格,在自然语言到数据库查询语言的映射过程中进行语义匹配。
在该步骤中,关联表格用于进行语义匹配,关联表格可以是关系型数据库中的表格模式。例如,对员工信息查询,关联表格的表名可以是员工信息表,列名信息包括:工号、姓名、年龄、部门和工龄。
步骤S120,基于长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型。
其中,语言转换模型用于确定自然语言序列和结构化查询语言序列的对应关系,结构化查询语言序列中包括选择子句和条件子句,语言转换模型的网络结构包括第一解码器和第二解码器;在语言转换模型的模型训练过程中,第一解码器用于根据选择子句的特征确定选择子句的预测结果,第二解码器用于根据条件子句的特征得到条件子句的预测结果。
在该步骤中,选择(Select)子句和条件(Where)子句为结构化查询语言句子序列中的句子片段,选择子句用于从关联表格中选取符合条件的数据,条件子句用于规定选择的标准。也就是说,如需有条件地从表中选取数据,可将WHERE子句添加到SELECT语句。
根据本发明实施例的语言转换模型的训练方法,将对NL2SQL的预测分解为对选择子句的预测和对条件子句的预测,这样就可以只使用两种编码器进行预测,其中的第一解码器用于根据选择子句的特征确定选择子句的预测结果,第二解码器用于根据条件子句的特征得到条件子句的预测结果;相关技术中分别使用不同的解码器来完成选择子句中包含的查询目标和聚合函数等不同内容的预测,还使用不同的解码器进行限定条件中不同内容的预测,相比相关技术,本发明中对选择子句中的不同内容的预测可以共享第一解码器来实现,对条件子句中的不同内容的预测可以共享第二解码器来实现,通过解码器的共享来减少解码器的使用数量,从而降低模型的结构复杂度,有利于减少模型参数量和降低模型训练难度。
图2为本发明实施例提供的SQL语句的组成部分示意图。
通过图2可以看出,SQL语句的组成部分包括:SELECT子句和WHERE子句。将对结构化查询语言序列的预测任务分解为六个子任务:预测SELECT子句所选取的列名(Select-Column,SC或S-COL)、预测SELECT子句所选取的聚合函数(Select-Aggregation,SA或S-AGG)、预测WHERE子句的条件个数(Where-Numbe,WN或W-NUM),预测WHERE子句每个条件的所选取的列(Where-Column,WC或W-COL)、操作符(Where-Operators,WO或W-OP)和值(Where-Value,WV或W-VAL)六个子任务。
图3为本发明实施例提供的语言转换模型结构示意图。在下述实施例的描述中,将语言转换模型简称为NL2SQL模型,通过图3可以看出,NL2SQL模型结构包括编码器、解码器和输出层。
在上述步骤S110,将自然语言查询序列Q和用于进行语义匹配的列拼接成长序列,拼接得到的长序列信息如下:
Figure BDA0004079458820000081
其中,长序列信息X中的[CLS]标志位于第一个句子的首位,经过编码器得到的表征向量可以用于后续的分类任务;[SEP]标志位于自然语言查询序列Q之后和位于列关联信息之间,其中,
Figure BDA0004079458820000082
表示用于进行语义匹配的列中的第i个列的列名,
Figure BDA0004079458820000083
表示第i个列的列类型,i为大于或等于1且小于或等于k的整数,k为关联表格中的总列数。
在一些实施例中,NL2SQL模型中可以使用预训练语言模型(BidirectionalEncoder Representation from Transformers,BERT)作为编码器,可以使用长短时记忆模型(Long Short-Term Memory,LSTM)模型、预训练模型(Enhanced languageRepresentation with iNformatIve Entities,ERNIE)等其他深度学习模型作为编码器。
可以将拼接得到的长序列信息输入NL2SQL模型,经过基于BERT模型的编码器进行特征提取,得到长序列信息X中每个元素分别对应的特征编码:
Figure BDA0004079458820000091
其中,HX为特征编码集合,HX中的每个元素为长序列信息中一个元素的特征编码。
参考图3,将BERT模型作为NL2SQL模型中的编码器,编码器的每个输入为词嵌入(Word Embedding),词嵌入是单个词在预定义的向量空间中被映射为的向量,利用编码器对输入的词嵌入进行编码,得到每个词嵌入对应的特征编码。
例如,利用编码器对[CLS]标志位的向量进行编码,输出特征编码h[CLS],利用编码器对自然语言查询序列Q中的每个词,例如q1、q2和q3进行编码,输出各自对应的特征编码h1、h2和h3。利用编码器对[SEP]标志位的向量进行编码,输出特征编码h[SEP],利用编码器对第i列(col_i)和列类型(col_i_type)进行编码,输出各自对应的特征编码hcol_i和hcol_i_type
继续参考图3,NL2SQL模型中可以使用LSTM模型作为解码器,示例性地,解码器对输入的特征编码进行处理进行解码,对应的输出序列(自然语言查询特征向量Wemb_n和列名特征向量rci)对输出序列经全连接输出层来预测SELECT子句所选取的列名、预测SELECT子句所选取的聚合函数、预测WHERE子句的条件个数,预测WHERE子句每个条件的所选取的列、操作符和值。
在一些实施例中,步骤S120具体可以包括如下步骤:
S11,提取长序列信息的特征,得到长序列信息的特征编码。
S12,利用第一解码器处理长序列信息的特征编码,得到选择子句的预测结果。
S13,利用第二解码器处理长序列信息的特征编码,得到条件子句的预测结果。
在步骤S11-S13,第一解码器和第二解码器均用于从编码特征中还原出相应的SQL语句;其中,第一解码器用于对长序列信息的特征编码进行处理,从而得到SQL语句中的选择子句的预测结果,第二解码器用于对长序列信息的特征编码进行处理,从而得到SQL语句中的条件子句的预测结果。
S14,根据选择子句的预测结果、选择子句的标注结果、条件子句的预测结果和条件子句的标注结果,构建损失函数。在步骤S14,通过选择子句的预测结果和选择子句的标注结果,计算得到选择子句的损失函数;并通过条件子句的预测结果和条件子句的标注结果,计算得到条件子句的损失函数;将选择子句的损失函数和条件子句的损失函数相加,得到总损失函数,将总损失函数作为构建好的损失函数。
S15,利用损失函数,调整语言转换模型的模型参数,以利用调整后的模型参数,得到训练后的语言转换模型。
在步骤S15,可以确定损失函数对应的梯度,并根据损失函数对应的梯度,调整语言转换模型的模型参数。
通过上述步骤S11-S15,对选择子句中的不同内容的预测可以共享第一解码器来实现,对条件子句中的不同内容的预测可以共享第二解码器来实现,通过解码器的共享来减少解码器的使用数量,从而降低模型的结构复杂度,有利于减少模型参数量和降低模型训练难度。
在一些实施例中,选择子句包括选择列名子句和选择聚合函数子句;条件子句包括条件个数、每个条件选择的列名、操作符和操作符对应取值。
图4a为相关技术中预测任务的每个子任务的解码器的示意图;图4b为本发明实施例中预测任务的子任务共享解码器的结构对比示意图。
通过图4a可以看出,相关技术中,在将结构化查询语言序列的预测任务分解为多每个子任务分别对应个解码器,例如:SA解码器是用于预测SELECT子句所选取的列名(SC)的解码器,SC解码器是用于预测SELECT子句所选取的聚合函数(SA)的解码器,……,WV解码器是用于预测WHERE子句每个条件的所选取的列对应的筛选值。
通过图4b可以看出,在本发明中,解码器分为SELECT解码器和WHERE解码器,对SELECT子句所选取的列名(SC)的预测,以及对SELECT子句所选取的聚合函数(SA)的预测,可以共享SELECT解码器,对WHERE子句每个条件的所选取的列(WC)的预测、对操作符(WO)的预测和对筛选值(WV)的预测,可以共享WHERE解码器。
因此,本发明实施例的语言转换模型的训练方法,可以基于多任务学习方法使用共享解码器来降低模型的结构复杂度和参数量,使得模型更加容易训练和收敛,且共享解码器能够使得解码器学习到不同子任务之间的关联,提升模型的转换准确率。
下面以解码器为双向长短期记忆网络(Bi-directional Long Short-TermMemory,Bi-LSTM)为例,SELECT子句的SA任务和SC任务共享一个解码器,WHERE子句的WN任务、WC任务、WO任务和WV任务共享一个解码器为例,描述语言转换模型的训练方法的具体流程。
在一些实施例中,步骤S12具体可以包括:
S21,将长序列信息的特征编码输入第一解码器进行处理,得到与选择子句对应的第一自然语言查询特征向量和第一列名特征向量。
该步骤中,第一解码器即图4b中的SELECT解码器。
具体地,SELECT子句解码器的解码输出的自然语言查询和列名表示分别为:
Figure BDA0004079458820000111
hQ为长序列信息中的自然语言查询序列的特征编码;
Figure BDA0004079458820000112
为长序列信息中第i个列的列名和列类型的特征编码。也就是说,通过Bi-LSTM对长序列信息中的自然语言查询序列特征编码进行解码,得到第一自然语言查询特征向量
Figure BDA0004079458820000113
通过Bi-LSTM对长序列信息中第i个列的列名和列类型的特征编码进行解码,得到第一列名特征向量
Figure BDA0004079458820000114
S22,通过预设的第一全连接层处理第一自然语言查询特征向量和第一列名特征向量,得到选择列名子句的预测结果,第一全连接层用于确定选择列名子句的预测结果与第一自然语言查询特征向量和第一列名特征向量的对应关系。
S23,通过预设的第二全连接层处理第一自然语言查询特征向量和第一列名特征向量,得到选择聚合函数子句的预测结果,第二全连接层用于确定选择聚合函数子句的预测结果与第一自然语言查询特征向量和第一列名特征向量的对应关系;
在该步骤中,根据
Figure BDA0004079458820000121
Figure BDA0004079458820000122
使用两个全连接输出层来预测SC和SA,具体计算公式包括如下公式(1)和(2):
Figure BDA0004079458820000123
Figure BDA0004079458820000124
其中,WSC和WSA表示可训练参数矩阵,Softmax表示Softmax函数,P表示所得到的概率,PSC表示预测的SELECT子句所选取的列名的预测结果的概率;PSA表示预测的SELECT子句所选取的聚合函数的预测结果的概率;Aj∈A={NONE,MAX,MIN,SUM,COUNT,AVERAGE};A为聚合函数集合,Aj表示A中的第k个聚合函数,[:j]表示WSA的前j个矩阵。
S24,将选择列名子句的预测结果和选择聚合函数子句的预测结果,作为选择子句的预测结果。
通过上述步骤S21-S24,将对SELECT子句预测分解为:对SELECT子句所选取的列名(SC)的预测,对SELECT子句所选取的聚合函数(SA)的预测,且二者的预测共享第一解码器(也称SELECT解码器),从而有利于降低模型的结构复杂度和参数量,使得模型更加容易训练和收敛,且共享解码器能够使得解码器学习到不同子任务之间的关联,提升模型的转换准确率。
在一些实施例中,步骤S13具体可以包括如下步骤:
S31,将长序列信息的特征编码输入第二解码器进行处理,得到与条件子句对应的第二自然语言查询特征向量和第二列名特征向量;
S32,通过预设的第三全连接层处理第二自然语言查询特征向量,得到条件个数的预测结果,第三全连接层用于确定条件个数的预测结果与第二自然语言查询特征向量的对应关系;
S33,通过预设的第四全连接层处理第二自然语言查询特征向量和第二列名特征向量,得到每个条件选择的列名的预测结果,第四全连接层用于确定每个条件选择的列名的预测结果与第二自然语言查询特征向量和第二列名特征向量的对应关系;
S34,通过预设的第五全连接层处理第二自然语言查询特征向量和第二列名特征向量,得到操作符的预测结果,第五全连接层用于确定操作符的预测结果与第二自然语言查询特征向量和第二列名特征向量的对应关系;
S35,通过预设的第六全连接层处理第二自然语言查询特征向量和第二列名特征向量,得到第一位置的预测结果,第一位置为操作符对应取值在自然语言查询序列的起始位置,第六全连接层用于确定第一位置的预测结果与第二自然语言查询特征向量和第二列名特征向量的对应关系;
S37,通过预设的第七全连接层处理第二自然语言查询特征向量和第二列名特征向量,得到第二位置的预测结果,第二位置为操作符对应取值在自然语言查询序列的终止位置,第七全连接层用于确定第二位置的预测结果与第二自然语言查询特征向量和第二列名特征向量的对应关系;
S38,将条件个数的预测结果、每个条件选择的列名的预测结果、操作符的预测结果、第一位置的预测结果和第二位置的预测结果,作为条件子句的预测结果。
作为示例,WHERE子句解码器的解码输出的自然语言查询和列名表示分别为:
Figure BDA0004079458820000131
其中,hQ为长序列信息中的自然语言查询序列的特征编码;
Figure BDA0004079458820000132
为长序列信息中第i个列的列名和列类型的特征编码。也就是说,通过Bi-LSTM对长序列信息中的自然语言查询序列特征编码进行解码,得到第一自然语言查询特征向量
Figure BDA0004079458820000133
通过Bi-LSTM对长序列信息中第i个列的列名和列类型的特征编码进行解码,得到第一列名特征向量
Figure BDA0004079458820000134
根据
Figure BDA0004079458820000135
Figure BDA0004079458820000136
使用四个输出层来预测WHERE子句的条件个数、预测WHERE子句每个条件的所选取的列、操作符和值,其中WV任务选取自然语言查询中的一个片段作为预测结果,选取片段的方法为预测片段在自然语言查询中的起始位置和终止位置,具体计算公式如下:
Figure BDA0004079458820000141
Figure BDA0004079458820000142
Figure BDA0004079458820000143
Figure BDA0004079458820000144
Figure BDA0004079458820000145
其中,WWN,WWC,WWO,Ustart,Vstart,Uend和Vend均为可训练参数,P表示所得到的概率,具体地,PWN为预测的WHERE子句的条件个数的概率,其中,l的取值例如可以是本实施例取l=0,1,2,3,4,具体可根据实际情况缩放l的取值范围;PWC预测的WHERE子句每个条件的所选取的列的概率,PWO为预测的WHERE子句中的操作符的概率,Oj∈O={>,<,=,≥,≤,≠},[:j]表示WWO的前j个矩阵;
Figure BDA0004079458820000146
表示预测片段在自然语言查询中的起始位置的概率,
Figure BDA0004079458820000147
表示预测片段在自然语言查询中的终止位置的概率;
Figure BDA0004079458820000148
表示自然语言查询序列中第j个字符对应的WHERE子句解码器的输出表示。
通过上述步骤S31-S38,将对WHERE子句预测分解为:对WHERE子句的条件个数(WN)的预测,对WHERE子句的每个条件的所选取的列、操作符和值的预测,且这些预测共享第二解码器(也称WHERE解码器),有利于降低模型的结构复杂度和参数量,使得模型更加容易训练和收敛,且共享解码器能够使得解码器学习到不同子任务之间的关联,提升模型的转换准确率。
在一些实施例中,在进行训练好的模型的测试时,将保存好的训练后的模型参数θ*加载到NL2SQL模型中,使用上述步骤得到六个子任务的预测结果,并使用如下方式进行填充形成完整的SQL:SELECT{SA}{SC}FROM TableName WHERE({WC}{WO}{WV})*
其中,{}表示需要填充的槽位(例如槽位为SA,需要填充SELECT子句所选取的聚合函数的具体内容),*表示括号中的组件可以出现0次或多次,TableName表示关联表格的表名,由此完成完整的SQL语句的预测。
在一些实施例中,步骤S14具体可以包括:根据选择子句的预测结果和选择子句的标注结果,构建第一损失函数;根据条件子句的预测结果和条件子句的标注结果,构建第二损失函数;对第一损失函数和第二损失函数进行加权求和,将加权求和得到的损失函数作为构建的损失函数。
示例性地,在训练阶段,根据模型预测结果,使用交叉熵损失函数计算每个子任务的损失函数,以SC任务为例,损失的具体计算公式为:
Figure BDA0004079458820000151
其中,
Figure BDA0004079458820000152
表示SC任务的标签,可以根据目标SQL语句获得,
Figure BDA0004079458820000153
为SC任务的预测结果。
示例性地,语言转换模型的训练的总损失计算公式为:L=LSC+LSA+LWN+LWC+LWO+LWV,其中,L为总损失函数,LSC为SELECT子句中选择列名子句的预测结果的损失函数,LSASELECT子句中选择聚合函数的预测结果的损失函数,LWN为WHERE子句的条件个数的预测结果的损失函数,LWC、LWO和LWV依次为WHERE子句的每个条件的所选取的列、操作符和值的预测结果的损失函数。
在一些实施例中,步骤S110具体可以包括:S41,使用双向长短时记忆模型获取自然语言查询序列的语义向量作为第一语义表示向量;S42,使用双向长短时记忆模型获取关联表格中的至少一组列关联信息的语义表示向量,每组列关联信息中包括一个列名信息和对应的列类型;S43,计算第一语义表示向量分别与每组列关联信息的语义表示向量的余弦相似度,作为对应的语义匹配度;S44,按照从大到小顺序获取前预定数量个余弦相似度,将预定数量个余弦相似度所属的各组列关联信息作为经筛选的各组列关联信息;S45,将自然语言查询序列和经筛选的各组列关联信息拼接为长序列信息。
作为示例,可以通过下述公式(3)计算自然语言查询序列的语义向量与每组列关联信息的语义表示向量的预先相似度:
Figure BDA0004079458820000154
其中,对于预设的自然语言查询序列Q={q1,q2,…qn},以及关联表格的所有列名组成序列C={c1,c2,…cm},以及列类型ci_type,可以使用Bi-LSTM网络来获取自然语言查询序列Q的语义表示EQ以及每个(ci,ci_type)的语义表示
Figure BDA0004079458820000161
并计算每个
Figure BDA0004079458820000162
和EQ的余弦相似度si作为语义匹配度。
在该实施例中,可以只保留和当前自然语言查询语义匹配度前k的列作为NL2SQL模型的输入,k为大于或等于1的整数;通过该方法,可以基于语义匹配方法对关联表格中的列进行预筛选,以降低NL2SQL模型的输入复杂度。
根据本发明实施例的语言转换模型的训练方法,通过使用基于语义匹配的方法筛选关联表格中的列名,只保留和当前自然语言查询语义匹配的预定数量个列,减小了输入序列的长度,使得模型能够更容易地学习到输入序列中自然语言查询与列名之间的关系;以及,通过使用基于多任务学习方法使用共享解码器来降低模型的结构复杂度和参数量,使得模型更加容易训练和收敛,且共享解码器能够使得解码器学习到不同子任务之间的关联,提升模型的转换准确率。
图5示出本发明实施例提供的语言转换方法的流程图。在一些实施例中,该语言转换方法包括:S510,获取自然语言查询序列;S520,将自然语言查询序列输入预设的语言转换模型进行语言转换,得到对应的结构化查询语言;其中,语言转换模型是根据上述实施例的任一项语言转换模型的训练方法训练得到的模型。
根据本发明实施例的语言转换方法,使用的语言转换模型是预先训练得到的模型,该模型的训练过程中,可以将对NL2SQL的预测分解为对选择子句的预测和对条件子句的预测,这样就可以只使用两种编码器进行预测,其中的第一解码器用于根据选择子句的特征确定选择子句的预测结果,第二解码器用于根据条件子句的特征得到条件子句的预测结果;相关技术中分别使用不同的解码器来完成选择子句中包含的查询目标和聚合函数等不同内容的预测,还使用不同的解码器进行限定条件中不同内容的预测,通过解码器的共享来减少解码器的使用数量,从而降低模型的结构复杂度,有利于减少模型参数量和降低模型训练难度。
在本公开实施例中,使用基于语义匹配的方法对关联表格中的列名进行筛选,可以降低输入序列的长度;在模型训练过程中,基于多任务学习方法,并使用共享解码器来完成查询目标、聚合函数、限定条件的预测,能够有效降低模型的结构复杂度和参数量,且能够使解码器学习到不同子任务之间的关系。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
图6示出本发明实施例的语言转换模型的训练装置的结构示意图。如图6所示,语言转换模型的训练装置600具体可以包括:
拼接模块610,用于将自然语言查询序列和用于进行语义匹配的关联表格中的列名信息拼接为长序列信息;
训练模块620,用于基于长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型;其中,语言转换模型用于确定自然语言序列和结构化查询语言序列的对应关系,结构化查询语言序列中包括选择子句和条件子句,语言转换模型的网络结构包括第一解码器和第二解码器;在语言转换模型的模型训练过程中,第一解码器用于根据选择子句的特征确定选择子句的预测结果,第二解码器用于根据条件子句的特征得到条件子句的预测结果。
在一些实施例中,训练模块620包括:提取单元,用于提取长序列信息的特征,得到长序列信息的特征编码;第一解码单元,用于利用第一解码器处理长序列信息的特征编码,得到选择子句的预测结果;第二解码单元,用于利用第二解码器处理长序列信息的特征编码,得到条件子句的预测结果;损失函数构建单元,用于根据选择子句的预测结果、选择子句的标注结果、条件子句的预测结果和条件子句的标注结果,构建损失函数;参数调整单元,用于利用损失函数,调整语言转换模型的模型参数,以利用调整后的模型参数,得到训练后的语言转换模型。
在一些实施例中,选择子句包括选择列名子句和选择聚合函数子句;第一解码单元具体用于:将长序列信息的特征编码输入第一解码器进行处理,得到与选择子句对应的第一自然语言查询特征向量和第一列名特征向量;通过预设的第一全连接层处理第一自然语言查询特征向量和第一列名特征向量,得到选择列名子句的预测结果,第一全连接层用于确定选择列名子句的预测结果与第一自然语言查询特征向量和第一列名特征向量的对应关系;通过预设的第二全连接层处理第一自然语言查询特征向量和第一列名特征向量,得到选择聚合函数子句的预测结果,第二全连接层用于确定选择聚合函数子句的预测结果与第一自然语言查询特征向量和第一列名特征向量的对应关系;将选择列名子句的预测结果和选择聚合函数子句的预测结果,作为选择子句的预测结果。
在一些实施例中,条件子句包括条件个数、每个条件选择的列名、操作符和操作符对应取值;第二解码单元具体用于:将长序列信息的特征编码输入第二解码器进行处理,得到与条件子句对应的第二自然语言查询特征向量和第二列名特征向量;通过预设的第三全连接层处理第二自然语言查询特征向量,得到条件个数的预测结果,第三全连接层用于确定条件个数的预测结果与第二自然语言查询特征向量的对应关系;通过预设的第四全连接层处理第二自然语言查询特征向量和第二列名特征向量,得到每个条件选择的列名的预测结果,第四全连接层用于确定每个条件选择的列名的预测结果与第二自然语言查询特征向量和第二列名特征向量的对应关系;通过预设的第五全连接层处理第二自然语言查询特征向量和第二列名特征向量,得到操作符的预测结果,第五全连接层用于确定操作符的预测结果与第二自然语言查询特征向量和第二列名特征向量的对应关系;通过预设的第六全连接层处理第二自然语言查询特征向量和第二列名特征向量,得到第一位置的预测结果,第一位置为操作符对应取值在自然语言查询序列的起始位置,第六全连接层用于确定第一位置的预测结果与第二自然语言查询特征向量和第二列名特征向量的对应关系;通过预设的第七全连接层处理第二自然语言查询特征向量和第二列名特征向量,得到第二位置的预测结果,第二位置为操作符对应取值在自然语言查询序列的终止位置,第七全连接层用于确定第二位置的预测结果与第二自然语言查询特征向量和第二列名特征向量的对应关系;将条件个数的预测结果、每个条件选择的列名的预测结果、操作符的预测结果、第一位置的预测结果和第二位置的预测结果,作为条件子句的预测结果。
在一些实施例中,损失函数构建单元具体用于:根据选择子句的预测结果和选择子句的标注结果,构建第一损失函数;根据条件子句的预测结果和条件子句的标注结果,构建第二损失函数;对第一损失函数和第二损失函数进行加权求和,将加权求和得到的损失函数作为构建的损失函数。
在一些实施例中,拼接模块610具体用于:使用双向长短时记忆模型获取自然语言查询序列的语义向量作为第一语义表示向量;使用双向长短时记忆模型获取关联表格中的至少一组列关联信息的语义表示向量,每组列关联信息中包括一个列名信息和对应的列类型;计算第一语义表示向量分别与每组列关联信息的语义表示向量的余弦相似度,作为对应的语义匹配度;按照从大到小顺序获取前预定数量个余弦相似度,将预定数量个余弦相似度所属的各组列关联信息作为经筛选的各组列关联信息;将自然语言查询序列和经筛选的各组列关联信息拼接为长序列信息。
将对NL2SQL的预测分解为对选择子句的预测和对条件子句的预测,这样就可以只使用两种编码器进行预测,其中的第一解码器用于根据选择子句的特征确定选择子句的预测结果,第二解码器用于根据条件子句的特征得到条件子句的预测结果;相关技术中分别使用不同的解码器来完成选择子句中包含的查询目标和聚合函数等不同内容的预测,还使用不同的解码器进行限定条件中不同内容的预测,相比相关技术,本发明中对选择子句中的不同内容的预测可以共享第一解码器来实现,对条件子句中的不同内容的预测可以共享第二解码器来实现,通过解码器的共享来减少解码器的使用数量,从而降低模型的结构复杂度,有利于减少模型参数量和降低模型训练难度。
图7为本发明实施例提供的语言转换装置的结构示意图。如图7所示,该语言转换装置700具体可以包括:获取模块710,用于获取自然语言查询序列;转换模块720,用于将自然语言查询序列输入预设的语言转换模型进行语言转换,得到对应的结构化查询语言;其中,语言转换模型是根据上述实施例描述的任一项语言转换模型的训练方法训练得到的模型。
根据本发明实施例的语言转换装置,使用的语言转换模型是预先训练得到的模型,该模型的训练过程中,可以将对NL2SQL的预测分解为对选择子句的预测和对条件子句的预测,这样就可以只使用两种编码器进行预测,其中的第一解码器用于根据选择子句的特征确定选择子句的预测结果,第二解码器用于根据条件子句的特征得到条件子句的预测结果;相关技术中分别使用不同的解码器来完成选择子句中包含的查询目标和聚合函数等不同内容的预测,还使用不同的解码器进行限定条件中不同内容的预测,通过解码器的共享来减少解码器的使用数量,从而降低模型的结构复杂度,有利于减少模型参数量和降低模型训练难度。
需要明确的是,本发明并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8为本发明实施例提供的电子设备的结构示意图;参照图8,本发明实施例提供一种电子设备,其包括:
一个或多个处理器801;
存储器802,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一项的方法;一个或多个I/O接口803,连接在处理器801与存储器802之间,配置为实现处理器801与存储器802的信息交互。
其中,处理器801为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器802为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)803连接在处理器801与存储器802间,能实现处理器801与存储器802的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器801、存储器802和I/O接口803通过总线相互连接,进而与计算设备的其它组件连接。
本实施例还提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本实施例提供的语言转换模型的训练方法或语言转换方法,为避免重复描述,在此不再赘述本实施例的方法的具体步骤。
本领域普通技术人员可以理解,上文中所发明方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本实施例的范围之内并且形成不同的实施例。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (11)

1.一种语言转换模型的训练方法,其特征在于,所述方法包括:
将自然语言查询序列和用于进行语义匹配的关联表格中的列名信息拼接为长序列信息;
基于所述长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型;
其中,所述语言转换模型用于确定自然语言序列和结构化查询语言序列的对应关系,所述结构化查询语言序列中包括选择子句和条件子句,所述语言转换模型的网络结构包括第一解码器和第二解码器;在所述语言转换模型的模型训练过程中,所述第一解码器用于根据所述选择子句的特征确定选择子句的预测结果,所述第二解码器用于根据所述条件子句的特征得到条件子句的预测结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型,包括:
提取所述长序列信息的特征,得到所述长序列信息的特征编码;
利用所述第一解码器处理所述长序列信息的特征编码,得到选择子句的预测结果;
利用所述第二解码器处理所述长序列信息的特征编码,得到条件子句的预测结果;
根据所述选择子句的预测结果、所述选择子句的标注结果、所述条件子句的预测结果和所述条件子句的标注结果,构建损失函数;
利用所述损失函数,调整所述语言转换模型的模型参数,以利用所述调整后的模型参数,得到所述训练后的语言转换模型。
3.根据权利要求2所述的方法,其特征在于,所述选择子句包括选择列名子句和选择聚合函数子句;
所述利用所述第一解码器处理所述长序列信息的特征编码,得到选择子句的预测结果,包括:
将所述长序列信息的特征编码输入所述第一解码器进行处理,得到与所述选择子句对应的第一自然语言查询特征向量和第一列名特征向量;
通过预设的第一全连接层处理所述第一自然语言查询特征向量和所述第一列名特征向量,得到所述选择列名子句的预测结果,所述第一全连接层用于确定所述选择列名子句的预测结果与所述第一自然语言查询特征向量和所述第一列名特征向量的对应关系;
通过预设的第二全连接层处理所述第一自然语言查询特征向量和所述第一列名特征向量,得到所述选择聚合函数子句的预测结果,所述第二全连接层用于确定所述选择聚合函数子句的预测结果与所述第一自然语言查询特征向量和所述第一列名特征向量的对应关系;
将所述选择列名子句的预测结果和所述选择聚合函数子句的预测结果,作为所述选择子句的预测结果。
4.根据权利要求2所述的方法,其特征在于,所述条件子句包括条件个数、每个条件选择的列名、操作符和操作符对应取值;所述利用所述第二解码器处理所述长序列信息的特征编码,得到条件子句的预测结果,包括:
将所述长序列信息的特征编码输入所述第二解码器进行处理,得到与所述条件子句对应的第二自然语言查询特征向量和第二列名特征向量;
通过预设的第三全连接层处理所述第二自然语言查询特征向量,得到所述条件个数的预测结果,所述第三全连接层用于确定所述条件个数的预测结果与所述第二自然语言查询特征向量的对应关系;
通过预设的第四全连接层处理所述第二自然语言查询特征向量和所述第二列名特征向量,得到所述每个条件选择的列名的预测结果,所述第四全连接层用于确定所述每个条件选择的列名的预测结果与所述第二自然语言查询特征向量和所述第二列名特征向量的对应关系;
通过预设的第五全连接层处理所述第二自然语言查询特征向量和所述第二列名特征向量,得到所述操作符的预测结果,所述第五全连接层用于确定所述操作符的预测结果与所述第二自然语言查询特征向量和所述第二列名特征向量的对应关系;
通过预设的第六全连接层处理所述第二自然语言查询特征向量和所述第二列名特征向量,得到第一位置的预测结果,所述第一位置为所述操作符对应取值在所述自然语言查询序列的起始位置,所述第六全连接层用于确定所述第一位置的预测结果与所述第二自然语言查询特征向量和所述第二列名特征向量的对应关系;
通过预设的第七全连接层处理所述第二自然语言查询特征向量和所述第二列名特征向量,得到第二位置的预测结果,所述第二位置为所述操作符对应取值在所述自然语言查询序列的终止位置,所述第七全连接层用于确定所述第二位置的预测结果与所述第二自然语言查询特征向量和所述第二列名特征向量的对应关系;
将所述条件个数的预测结果、所述每个条件选择的列名的预测结果、所述操作符的预测结果、所述第一位置的预测结果和所述第二位置的预测结果,作为所述条件子句的预测结果。
5.根据权利要求2所述的方法,其特征在于,所述根据所述选择子句的预测结果、所述选择子句的标注结果、所述条件子句的预测结果和所述条件子句的标注结果,构建损失函数,包括:
根据所述选择子句的预测结果和所述选择子句的标注结果,构建第一损失函数;
根据所述条件子句的预测结果和所述条件子句的标注结果,构建第二损失函数;
对所述第一损失函数和所述第二损失函数进行加权求和,将加权求和得到的损失函数作为构建的所述损失函数。
6.根据权利要求1所述的方法,其特征在于,所述将自然语言查询序列和用于进行语义匹配的关联表格中的列名信息拼接为长序列信息,包括:
使用双向长短时记忆模型获取自然语言查询序列的语义向量作为第一语义表示向量;
使用所述双向长短时记忆模型获取所述关联表格中的至少一组列关联信息的语义表示向量,每组列关联信息中包括一个列名信息和对应的列类型;
计算所述第一语义表示向量分别与每组列关联信息的语义表示向量的余弦相似度,作为对应的语义匹配度;
按照从大到小顺序获取前预定数量个余弦相似度,将所述预定数量个余弦相似度所属的各组列关联信息作为经筛选的各组列关联信息;
将所述自然语言查询序列和所述经筛选的各组列关联信息拼接为所述长序列信息。
7.一种语言转换方法,其特征在于,所述方法包括:
获取自然语言查询序列;
将所述自然语言查询序列输入预设的语言转换模型进行语言转换,得到对应的结构化查询语言;其中,所述语言转换模型是根据权利要求1-6中任一项语言转换模型的训练方法训练得到的模型。
8.一种语言转换模型的训练装置,其特征在于,所述装置包括:
拼接模块,用于将自然语言查询序列和用于进行语义匹配的关联表格中的列名信息拼接为长序列信息;
训练模块,用于基于所述长序列信息训练预先构建的语言转换模型,得到训练后的语言转换模型;
其中,所述语言转换模型用于确定自然语言序列和结构化查询语言序列的对应关系,所述结构化查询语言序列中包括选择子句和条件子句,所述语言转换模型的网络结构包括第一解码器和第二解码器;在所述语言转换模型的模型训练过程中,所述第一解码器用于根据所述选择子句的特征确定选择子句的预测结果,所述第二解码器用于根据所述条件子句的特征得到条件子句的预测结果。
9.一种语言转换装置,其特征在于,所述装置包括:
获取模块,用于获取自然语言查询序列;
转换模块,用于将所述自然语言查询序列输入预设的语言转换模型进行语言转换,得到对应的结构化查询语言;其中,所述语言转换模型是根据权利要求1-6中任一项语言转换模型的训练方法训练得到的模型。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-6中任意一项或权利要求7所述的方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
11.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-6中任意一项或权利要求7所述的方法。
CN202310118374.2A 2023-01-30 2023-01-30 语言转换模型的训练方法、转换方法、装置、设备和介质 Pending CN116028527A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310118374.2A CN116028527A (zh) 2023-01-30 2023-01-30 语言转换模型的训练方法、转换方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310118374.2A CN116028527A (zh) 2023-01-30 2023-01-30 语言转换模型的训练方法、转换方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN116028527A true CN116028527A (zh) 2023-04-28

Family

ID=86079492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310118374.2A Pending CN116028527A (zh) 2023-01-30 2023-01-30 语言转换模型的训练方法、转换方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN116028527A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117609281A (zh) * 2024-01-18 2024-02-27 成都四方伟业软件股份有限公司 一种Text2Sql方法、系统、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117609281A (zh) * 2024-01-18 2024-02-27 成都四方伟业软件股份有限公司 一种Text2Sql方法、系统、电子设备及存储介质
CN117609281B (zh) * 2024-01-18 2024-04-05 成都四方伟业软件股份有限公司 一种Text2Sql方法、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN106502985B (zh) 一种用于生成标题的神经网络建模方法及装置
CN110705592B (zh) 分类模型训练方法、装置、设备及计算机可读存储介质
CN110362723A (zh) 一种题目特征表示方法、装置及存储介质
CN108665506A (zh) 图像处理方法、装置、计算机存储介质及服务器
CN113065358B (zh) 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法
CN109308355B (zh) 法律判决结果预测方法及装置
CN109460434B (zh) 数据提取模型建立方法及装置
CN113268609A (zh) 基于知识图谱的对话内容推荐方法、装置、设备及介质
CN112560456B (zh) 一种基于改进神经网络的生成式摘要生成方法和系统
CN114489669A (zh) 一种基于图学习的Python语言代码片段生成方法
CN112446211A (zh) 文本处理装置、方法、设备和计算机可读存储介质
CN116028527A (zh) 语言转换模型的训练方法、转换方法、装置、设备和介质
CN115329766B (zh) 一种基于动态词信息融合的命名实体识别方法
CN109919175A (zh) 一种结合属性信息的实体多分类方法
CN112732902A (zh) 跨语言摘要的生成方法、装置、电子设备及计算机可读介质
CN116069931A (zh) 层级标签文本分类方法、系统、设备及存储介质
CN113449076B (zh) 基于全局信息和局部信息的代码搜索嵌入方法及装置
CN114297220A (zh) 一种数据处理方法、装置、计算机设备以及存储介质
CN114529917A (zh) 一种零样本中文单字识别方法、系统、装置及存储介质
CN112287641B (zh) 一种同义句生成方法、系统、终端及存储介质
CN114997143B (zh) 文本生成模型训练方法和系统、文本生成方法及存储介质
CN114781389B (zh) 一种基于标签增强表示的罪名预测方法及系统
CN116910190A (zh) 多任务感知模型获取方法、装置、设备及可读存储介质
CN113127604B (zh) 基于评论文本的细粒度物品推荐方法及系统
CN112131363B (zh) 自动问答方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination