CN114547072A - 自然语言查询转换sql方法、***、设备及存储介质 - Google Patents
自然语言查询转换sql方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN114547072A CN114547072A CN202210123795.XA CN202210123795A CN114547072A CN 114547072 A CN114547072 A CN 114547072A CN 202210123795 A CN202210123795 A CN 202210123795A CN 114547072 A CN114547072 A CN 114547072A
- Authority
- CN
- China
- Prior art keywords
- query
- target
- information
- trained
- sql
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种自然语言查询转换SQL方法、***、设备及存储介质,所述自然语言查询转换SQL方法包括:获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表,分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列,基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料和目标查询数据表中候选列进行拼接得到的输入序列进行多任务训练获得,基于所述不同子任务的预测结果,生成目标SQL查询语句。本申请解决了模型识别准确性较低的技术问题。
Description
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种自然语言查询转换SQL方法、***、设备及存储介质。
背景技术
在业务人员查询数据库数据的情况下,由于业务人员不了解SQL查询语句,往往需要由技术人员代为操作。近年来,随着深度学习方法的兴起和自然语言技术的迅猛发展,自然语言转换为SQL查询语言方法有了极大的进步,使得用户在不掌握SQL查询编写的基础上,也能通过自然语言的查询请求完成数据库查询操作,然而,当前很多自然语言转换为SQL查询语言方法,往往只衡量数据库中的相关表头信息进行建模,导致模型对一些查询问法的泛化适应性较差,进而导致模型识别准确性较低。
发明内容
本申请的主要目的在于提供一种自然语言查询转换SQL方法、***、设备及存储介质,旨在解决现有技术中的模型识别准确性较低的技术问题。
为实现上述目的,本申请提供一种自然语言查询转换SQL方法,所述自然语言查询转换SQL方法包括:
获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表;
分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列;
基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料和目标查询数据表中候选列进行拼接得到的输入序列进行多任务训练获得;
基于所述不同子任务的预测结果,生成目标SQL查询语句。
本申请还提供一种自然语言查询转换SQL***,所述自然语言查询转换SQL***为虚拟***,所述自然语言查询转换SQL***包括:
获取模块,用于获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表;
计算模块,用于分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列;
预测模块,用于基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料和目标查询数据表中候选列进行拼接得到的输入序列进行多任务训练获得;
生成模块,用于基于所述不同子任务的预测结果,生成目标SQL查询语句。
本申请还提供一种自然语言查询转换SQL设备,所述自然语言查询转换SQL设备为实体设备,所述自然语言查询转换SQL设备包括:存储器、处理器以及存储在所述存储器上的自然语言查询转换SQL程序,所述自然语言查询转换SQL程序被所述处理器执行实现如上述的自然语言查询转换SQL方法的步骤。
本申请还提供一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储自然语言查询转换SQL程序,所述自然语言查询转换SQL程序被处理器执行实现如上述的自然语言查询转换SQL方法的步骤。
本申请提供了一种自然语言查询转换SQL方法、***、设备及存储介质,本申请首先获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表,进而分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列,进一步地,基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料以及融合目标查询数据表中候选列的表头信息和表格内容进行多任务训练获得,进而基于所述不同子任务的预测结果,生成目标SQL查询语句,实现了通过将待训练查询语料以及融合目标查询数据表中候选列的表头信息和表格内容输入模型进行多任务建模处理,提高模型的泛化性以及准确率,进而根据用户的目标查询信息,在目标查询数据表中选取相似度较高的待查询列,从而将相似度较高的待查询列以及目标查询信息输入语言转换模型中,能够准确快速地得到所述目标查询信息对应的目标SQL查询语句,克服了只衡量数据库中的相关表头信息进行建模,导致模型对一些查询问法的泛化适应性较差的技术缺陷,从而提高了模型识别转换的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域默认技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请自然语言查询转换SQL方法第一实施例的流程示意图;
图2为本申请自然语言查询转换SQL方法第二实施例的流程示意图;
图3为本申请自然语言查询转换SQL方法第三实施例的流程示意图;
图4为本申请自然语言查询转换SQL方法第四实施例的流程示意图;
图5为本申请实施例方案涉及的硬件运行环境的自然语言查询转换SQL设备结构示意图;
图6为本申请自然语言查询转换SQL装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
在本申请中,以一种SQL语句的结构为例进行说明,SQL语句的结构为:select选择列名from数据表名称where条件列名运算符条件值。
由此可知,SQL语句的结构中包括:选择列名、条件表达式。其中,条件表达式包括条件值、条件列名和条件值与条件列名的关系,其中,选择列名为选择(select)子句中的列的名称,条件表达式为条件(where)子句中的条件的表达式,条件表达式可以有一个或多个,本申请对此不做限制。
本申请实施例提供一种自然语言查询转换SQL方法,在本申请自然语言查询转换SQL方法的第一实施例中,参照图1,所述自然语言查询转换SQL方法包括:
步骤S10,获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表;
在本实施例中,需要说明的是,目标查询信息为自然语言的文本。用户输入文字形式或者语音形式的自然语言,如果用户输入的为文字形式的自然语音,则直接获得目标查询信息。如果用户输入的为语音形式的自然语音,则将语音形式的自然语言转换为文字形式的目标查询信息。
获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表,具体地,获取用户在***或平台输入的查询语句信息,进而对所述查询语句信息进行预处理,得到预处理的目标查询信息,并且确定所述目标查询信息对应的目标查询数据表,从而在所述目标查询数据表中进行查询。
其中,所述获取目标查询信息的步骤包括:
步骤S11,获取用户输入的查询语句信息;
步骤S12,对所述查询语句信息进行预处理,获得所述目标查询信息。
在本实施例中,需要说明的是,所述预处理可以包括但不限于:将查询语句信息中表示数字的词替换成标准格式的替换词,例如,将数字一千替换成1000,以及将表示时间的词替换成标准时间表达式。例如,将今天、昨天和上周三等时间词语替换成“年月日”的日期表达式。
步骤S20,分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列;
在本实施例中,需要说明的是,所述表头信息为所述目标查询数据对应的列名,所述相似度的计算方法包括但不限于计算编辑距离、欧氏距离以及Jaccard杰卡德距离等相似度。
分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列,具体地,分别计算所述目标查询信息和所述目标查询数据表每一个表头信息之间的相似度,进而将各个相似度进行排序,获得相似度排序结果,进一步地,根据所述相似度排序结果,确定所述待查询列,例如,在所述相似度排序结果中选取预设数量相似度较高的表头信息作为所述待查询列。
步骤S30,基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料和目标查询数据表中候选列进行拼接得到的输入序列进行多任务训练获得;
在本实施例中,需要说明的是,语言转换模型的模型结构可以为基于注意力的变换器(transformer)的编码器(encoder)结构,例如,来自变换器的双向编码器表示预训练模型(Bidirectional Encoder Representations from Transformers,简称Bert)。
基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料和目标查询数据表中候选列进行拼接得到的输入序列进行多任务训练获得,具体地,将待查询列与待查询列中的列名拼接,得到拼接语句,其中,需要说明的是,将所述目标查询信息与待查询列中的列名拼接时,可以在每个待查询列中的列名前使用分隔符,例如,在每个列名前可以增加[SEP],进一步地,可以在数据表的列名前增加类型标识。对于数据表的列名其所在的列的数据值具有类型属性,例如,可为数字类型或者文本类型。可以在数字类型的列名前增加数字类型标识,可以在文本类型的列名前增加文字类型标识,进一步地,将所述拼接语句输入至所述语言转换模型,以通过所述语言转换模型中的各个子任务对所述拼接语句进行联合预测,进而获得不同子任务的预测结果。
步骤S40,基于所述不同子任务的预测结果,生成目标SQL查询语句。
在本实施例中,需要说明的是,所述不同子任务的预测结果包括对条件连接符、选择列和已选列对应的聚合函数、选择列作为WHERE语句中的条件列以及条件列对应的条件运算符、以及条件列对应的条件值四种任务的预测结果,其中,所述条件连接符包括与(and)连接符以及或(or)连接符,所述聚合函数可以包括但不限于聚合条件:返回平均值(AVG)、返回数量(COUNT)、返回最大值(MAX)、返回最小值(MIN)和返回指定数据的和(SUM),所述推荐运算符包括但不限于大于号、等于号、小于号和/或不等号。
基于所述不同子任务的预测结果,生成目标SQL查询语句,具体地,根据所述条件列和所述条件值,确定所述条件值与所述条件列名的条件表达式,进一步地,若存在多个条件表达式,则根据条件连接符,确定各个条件表达式之间的连接关系,进而基于所述选择列和已选列对应的聚合函数、条件表达式、条件表达式之间的连接关系,确定所述目标SQL查询语句。
在所述基于所述不同子任务的预测结果,生成目标SQL查询语句的步骤之后,所述自然语言查询转换SQL方法还包括:
步骤A10,根据所目标SQL查询语句进行数据查询,获得与所述目标查询信息对应的查询结果。
在本实施例中,根据所目标SQL查询语句进行数据查询,获得与所述目标查询信息对应的查询结果,具体地,运行所述目标SQL查询语句,在所述目标查询数据表进行数据查询,获得与所述目标查询信息对应的查询结果,从而实现了根据用户输入的自然语言信息进行数据查询。
本申请实施例提供了一种自然语言查询转换SQL方法,本申请实施例首先获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表,进而分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列,进一步地,基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料以及融合目标查询数据表中候选列的表头信息和表格内容进行多任务训练获得,进而基于所述不同子任务的预测结果,生成目标SQL查询语句,实现了通过将待训练查询语料以及融合目标查询数据表中候选列的表头信息和表格内容输入模型进行多任务建模处理,提高模型的泛化性以及准确率,进而根据用户的目标查询信息,在目标查询数据表中选取相似度较高的待查询列,从而将相似度较高的待查询列以及目标查询信息输入语言转换模型中,能够准确快速地得到所述目标查询信息对应的目标SQL查询语句,克服了只衡量数据库中的相关表头信息进行建模,导致模型对一些查询问法的泛化适应性较差的技术缺陷,从而提高了模型识别转换的准确性。
进一步地,参照图2,基于本申请中第一实施例,在本申请的另一实施例中,在所述基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果的步骤之前,所述自然语言查询转换SQL还包括:
步骤B10,构建待训练语言转换模型,其中,所述待训练语言转换模型包括多个子任务;
在本实施例中,需要说明的是,将SQL查询语句构建为多个子任务,所述子任务包括对条件连接符、选择列和已选列对应的聚合函数、选择列作为WHERE语句中的条件列以及条件列对应的条件运算符、以及条件列对应的条件值四种任务。
步骤B20,获取目标查询数据表所处目标领域中的待训练查询语料,并对所述待训练查询语料进行分词处理,得到各个字符信息;
在本实施例中,需要说明的是,所述待训练查询语料包括金融领域、医疗领域等语料,可选地,选取金融领域的语料,例如,查询存储金额、银行客户数量等。
步骤B30,计算所述待训练查询语料和所述目标查询数据表中各个表头信息的相似度,并基于所述相似度,确定预设数量的候选列;
在本实施例中,计算所述待训练查询语料和所述目标查询数据表中各个表头信息的相似度,并基于所述相似度,确定预设数量的候选列,具体地,分别计算所述待训练查询语料和所述目标查询数据表每一个表头信息之间的相似度,进而将各个相似度进行排序,获得相似度排序结果,进一步地,根据所述相似度排序结果,确定所述候选列,例如,在所述相似度排序结果中选取预设数量相似度较高的表头信息作为所述候选列。
步骤B40,将所述待训练查询语料、各所述候选列中的表头信息和表格内容、各所述字符信息和各所述候选列的数据类型进行拼接,得到目标输入序列;
在本实施例中,需要说明的是,将所述待训练查询语料、各所述候选列中的表头信息和表格内容、各所述字符信息和各所述候选列的数据类型,从而输入至模型的目标输入序列融合了各所述候选列中的表头信息和表格内容、以及各所述候选列的数据类型,使得模型能够学习到更多关联信息,提高模型的泛化性,进一步地,在拼接过程中,利用[CLS]表示序列的首标志位,并且使用[SEP]作为分隔符,例如,待训练查询语料为查询A银行的客户量,目标输入序列即为:[CLS]查询A支行的客户量[SEP][文本类型]支行名称A支行[SEP][数值类型]客户数量1000。
步骤B50,基于所述目标输入序列,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型。
在本实施例中,具体地,在所述目标输入序列的首标志位后连接一个二分类全连接神经网络作为条件连接符的预测,获得第一输出结果,进而在每个候选列和各自对应的数据类型连接分类全连接神经网络,预测是否选择列和已选列对应的聚合函数,获得第二输出结果,进一步地,将每个候选列和各自对应的数据类型,以及上述的第二输出结果进行拼接,并连接分类全连接网络,预测是否选择列作为WHERE语句中的条件列以及对应的条件运算符,获得第三输出结果,进一步地,将待训练查询语料拼接每个字符信息的数据类型,并连接二分类全连接网络,预测是否为WHERE语句中该列的条件值,获得第四输出结果,进而基于每个子任务的真实标签和输出结果,计算每个子任务的交叉熵损失,从而对所述待训练语言转换模型进行迭代训练,得到所述语言转换模型。
本实施例通过上述方案,也即,构建待训练语言转换模型,其中,所述待训练语言转换模型包括多个子任务,进而获取目标查询数据表所处目标领域中的待训练查询语料,并对所述待训练查询语料进行分词处理,得到各个字符信息,进一步地,计算所述待训练查询语料和所述目标查询数据表中各个表头信息的相似度,并基于所述相似度,确定预设数量的候选列,进而将所述待训练查询语料、各所述候选列中的表头信息和表格内容、各所述字符信息和各所述候选列的数据类型进行拼接,得到目标输入序列,进一步地,基于所述目标输入序列,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型,实现了根据目标领域的待训练查询语料进行模型训练,提高模型对该目标领域的查询信息的识别能力,此外,还提取与待训练查询语料相关度较高的候选列,以融合候选列中的表头信息和表格内容得到目标输入序列,进一步地,根据役目标输入序列对模型进行多任务建模处理,从而使得模型更够学习到更多目标领域中关联信息,提高模型识别转换的准确性。
进一步地,参照图3,基于本申请中第二实施例,在本申请的另一实施例中,所述获取查询数据库所处目标领域中的待训练查询语料的步骤包括:
步骤C10,获取业务查询问句信息,并对所述业务查询问句信息进行共性分析,获得共性分析结果;
步骤C20,基于所述共性分析结果,将所述业务查询问句信息进行组合,获得多个业务场景问句模板;
在本实施例中,具体地,收集业务场景中经常会使用的自然语言查询语句,并对所述自然语言查新语句进行预处理,获得所述业务查询问句信息,进而分析所述业务查询问句信息之间的共性,进而编写针对该业务场景下的业务场景问句模板,具体包括:需要查询的列名、需要使用的聚合函数、条件中的列名、条件运算符、条件值等信息槽位,通过不同形式的问法组合形成不同的业务场景问句模板。
步骤C30,基于所述业务场景问句模板,构建问句扩充信息;
在本实施例中,具体地,首先收集不同数据类型下条件运算符的中文词汇,常用句首次和句末词,不同数据类型息的聚合函数的中文词汇等信息,进而根据所述业务场景问句模板,构建业务场景的问句扩充信息以及对应的SQL查询语句。
步骤C40,基于所述业务查询信息和所述问句扩充信息,通过预设复述识别模型进行识别,生成所述待训练查询语料。
在本实施例中,所述预设复述识别模型包括预先训练好的SimBERT网络模型,具体地,将所述业务查询信息和所述问句扩充信息输入至所述预设复述识别模型,生成多个相似语料,并将所述相似语料作为语料集的扩充,从而形成所述待训练查询语料。
本实施例通过上述方案,也即,获取业务查询问句信息,并对所述业务查询问句信息进行共性分析,获得共性分析结果,进而基于所述共性分析结果,将所述业务查询问句信息进行组合,获得多个业务场景问句模板,进一步地,基于所述业务场景问句模板,构建问句扩充信息,进而基于所述业务查询信息和所述问句扩充信息,通过预设复述识别模型进行识别,生成所述待训练查询语料,实现了针对目标领域的业务查询问句信息进行语料构建和扩充,从而增加训练语料,提高模型的泛化性,解决了针对具体业务场景中的标注数据样本少,导致模型泛化适应性较差的问题。
进一步地,参照图4,基于本申请中第二实施例,在本申请的另一实施例中,所述基于所述目标输入序列,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型的步骤包括:
步骤D10,基于所述目标输入序列中的首标志位,通过所述待训练语言转换模型对条件连接符进行预测,获得第一输出结果;
在本实施例中,需要说明的是,在目标输入序列中首标志位[CLS]对应的输出位置连接一个二分类全连接网络,进而基于所述句首标志位处,通过二分类全连接网络输出为条件连接符的第一输出结果。其中,条件连接符包括:或连接符、与连接符或者空。即后面生成的条件表达式之间的关系可以为“或”的关系,也可以为“与”的关系。条件连接符“空”表示条件表达式之间没有关系,例如,生成的条件表达式为一个时,该条件连接符为“空”。
步骤D20,基于所述目标输入序列中各候选列以及对应的数据类型,对选择列和已选列对应的聚合函数进行预测,获得第二输出结果;
在本实施例中,基于所述目标输入序列中各候选列以及对应的数据类型,对选择列和已选列对应的聚合函数进行预测,获得第二输出结果,具体地,根据各候选列以及各自对应的数据类型,预测各候选列是否为选择列以及已选列对应的聚合函数,获得第二输出结果,例如,[文本类型]支行名称,确定选择列为支行名称,[数字类型]客户数量,可确定聚合函数为数量求和SUM函数。
步骤D30,将各所述候选列和各自对应的数据类型与所述第二输出结果进行拼接,并基于拼接结果,对条件列和条件列的条件运算符进行预测,获得第三输出结果;
在本实施例中,具体地,将每一个所述候选列和对应的数据类型与所述第二输出结果进行拼接,得到拼接结果,从而增加模型获得的信息,进而基于所述拼接结果,预测所述条件列和条件列的条件运算符,获得所述第三输出结果,例如,A、B银行的客户数据,[文本类型]支行名称A银行,条件值确定为A银行和B银行,条件运算符是与运算符。
步骤D40,基于所述目标输入序列中的待训练查询语料以及各所述字符信息的数据类型,对条件列的条件值进行预测,获得第四输出结果;
在本实施例中,具体地,使用待训练查询语料连接二分类全连接网络,基于所述目标输入序列中的待训练查询语料以及各所述字符信息的数据类型,预测WHERE语句中条件列的条件值,从而得到所述第四输出结果。
步骤D50,基于所述第一输出结果、所述第二输出结果、所述第三输出结果和所述第四输出结果,形成各个子任务对应的输出结果;
步骤D60,基于所述各个子任务对应的输出结果,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型。
在本实施例中,具体地,基于所述各个子任务对应的输出结果,结合待训练查询语料对应的真实标签,计算模型损失,以基于所述模型损失,优化更新所述待训练语言转换模型,并判断优化后的待训练语言转换模型是否满足训练结束条件,其中,所述训练结束条件包括损失函数收敛以及达到最大迭代次数等,若满足,则将优化后的语言转换模型作为所述语言转换模型,若不满足,则返回执行步骤:基于所述目标输入序列,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型,以继续训练语言转换模型。
其中,所述基于各个子任务对应的输出结果,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型的步骤包括:
步骤D61,基于各所述输出结果,计算各个子任务的交叉熵损失;
步骤D62,所述交叉熵损失,通过梯度下降算法优化所述待训练语言转换模型的模型参数,获得所述语言转换模型。
在本实施例中,具体地,根据各个子任务的输出结果,结合真实标签,通过预设损失函数,计算各个子任务对应的交叉熵损失值,进一步地,基于所述各子任务对应的权重以及交叉熵损失值,计算模型总损失,进而基于所述模型总损失,通过梯度下降算法进行反向传播以优化更新所述待训练语言转换模型的模型参数,从而得到优化后的语言转换模型。
本实施例通过上述方案,也即,基于所述目标输入序列中的首标志位,通过所述待训练语言转换模型对条件连接符进行预测,获得第一输出结果,基于所述目标输入序列中各候选列以及对应的数据类型,对选择列和已选列对应的聚合函数进行预测,获得第二输出结果,进而将各所述候选列和各自对应的数据类型与所述第二输出结果进行拼接,并基于拼接结果,对条件列和条件列的条件运算符进行预测,获得第三输出结果,进一步地,基于所述目标输入序列中的待训练查询语料以及各所述字符信息的数据类型,对条件列的条件值进行预测,获得第四输出结果,基于所述第一输出结果、所述第二输出结果、所述第三输出结果和所述第四输出结果,形成各个子任务对应的输出结果,进一步地,基于所述各个子任务对应的输出结果,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型,实现了在设计模型的子任务中,分别将每一个子任务作为一个神经网络的预测任务,进而在训练阶段,将目标输入序列拆解成4个子任务,进而目标输入序列中待训练查询语料、各候选列以及对应的数据类型进行不同子任务的训练,并将子任务的真实结果作为标签,结合各个子任务的输出结果和真实标签进行迭代训练模型,从而得到语言转换模型,从而使得通过语言转换模型对用户输入的查询信息进行多任务预测识别,提高模型识别的准确性和效率。
参照图5,图5是本申请实施例方案涉及的硬件运行环境的自然语言查询转换SQL设备结构示意图。
如图5所示,该自然语言查询转换SQL设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该自然语言查询转换SQL设备还可以包括矩形用户接口、网络接口、相机、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可包括标准的有线接口、无线接口(如WIFI接口)。
本领域技术人员可以理解,图5中示出的自然语言查询转换SQL设备结构并不构成对自然语言查询转换SQL设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块以及自然语言查询转换SQL程序。操作***是管理和控制自然语言查询转换SQL设备硬件和软件资源的程序,支持自然语言查询转换SQL程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与自然语言查询转换SQL***中其它硬件和软件之间通信。
在图5所示的自然语言查询转换SQL设备中,处理器1001用于执行存储器1005中存储的自然语言查询转换SQL程序,实现上述任一项所述的自然语言查询转换SQL方法的步骤。
本申请自然语言查询转换SQL设备具体实施方式与上述自然语言查询转换SQL方法各实施例基本相同,在此不再赘述。
此外,请参照图6,图6是本申请自然语言查询转换SQL装置的功能模块示意图,本申请还提供一种自然语言查询转换SQL***,所述自然语言查询转换SQL***包括:
获取模块,用于获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表;
计算模块,用于分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列;
预测模块,用于基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料和目标查询数据表中候选列进行拼接得到的输入序列进行多任务训练获得;
生成模块,用于基于所述不同子任务的预测结果,生成目标SQL查询语句。
可选地,所述自然语言查询转换SQL***还用于:
构建待训练语言转换模型,其中,所述待训练语言转换模型包括多个子任务;
获取目标查询数据表所处目标领域中的待训练查询语料,并对所述待训练查询语料进行分词处理,得到各个字符信息;
计算所述待训练查询语料和所述目标查询数据表中各个表头信息的相似度,并基于所述相似度,确定预设数量的候选列;
将所述待训练查询语料、各所述候选列中的表头信息和表格内容、各所述字符信息和各所述候选列的数据类型进行拼接,得到目标输入序列;
基于所述目标输入序列,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型。
可选地,所述自然语言查询转换SQL***还用于:
获取业务查询问句信息,并对所述业务查询问句信息进行共性分析,获得共性分析结果;
基于所述共性分析结果,将所述业务查询问句信息进行组合,获得多个业务场景问句模板;
基于所述业务场景问句模板,构建问句扩充信息;
基于所述业务查询信息和所述问句扩充信息,通过预设复述识别模型进行识别,生成所述待训练查询语料。
可选地,所述自然语言查询转换SQL***还用于:
基于所述目标输入序列中的首标志位,通过所述待训练语言转换模型对条件连接符进行预测,获得第一输出结果;
基于所述目标输入序列中各候选列以及对应的数据类型,对选择列和已选列对应的聚合函数进行预测,获得第二输出结果;
将各所述候选列和各自对应的数据类型与所述第二输出结果进行拼接,并基于拼接结果,对条件列和条件列的条件运算符进行预测,获得第三输出结果;
基于所述目标输入序列中的待训练查询语料以及各所述字符信息的数据类型,对条件列的条件值进行预测,获得第四输出结果;
基于所述第一输出结果、所述第二输出结果、所述第三输出结果和所述第四输出结果,形成各个子任务对应的输出结果;
基于所述各个子任务对应的输出结果,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型。
可选地,所述自然语言查询转换SQL***还用于:
基于各所述输出结果,计算各个子任务的交叉熵损失;
基于所述交叉熵损失,通过梯度下降算法优化所述待训练语言转换模型的模型参数,获得所述语言转换模型。
可选地,所述获取模块还用于:
获取用户输入的查询语句信息;
对所述查询语句信息进行预处理,获得所述目标查询信息。
可选地,所述自然语言查询转换SQL***还用于:
根据所目标SQL查询语句进行数据查询,获得与所述目标查询信息对应的查询结果。
本申请自然语言查询转换SQL***的具体实施方式与上述自然语言查询转换SQL方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种存储介质,所述存储介质为计算机可读存储介质,且所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的自然语言查询转换SQL方法的步骤。
本申请计算机可读存储介质具体实施方式与上述自然语言查询转换SQL方法各实施例基本相同,在此不再赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (10)
1.一种自然语言查询转换SQL方法,其特征在于,所述自然语言查询转换SQL方法包括:
获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表;
分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列;
基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料以及融合目标查询数据表中候选列的表头信息和表格内容进行多任务训练获得;
基于所述不同子任务的预测结果,生成目标SQL查询语句。
2.如权利要求1所述的自然语言查询转换SQL方法,其特征在于,在所述基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料以及融合目标查询数据表中候选列的表头信息和表格内容进行多任务训练获得的步骤之前,所述自然语言查询转换SQL还包括:
构建待训练语言转换模型,其中,所述待训练语言转换模型包括多个子任务;
获取目标查询数据表所处目标领域中的待训练查询语料,并对所述待训练查询语料进行分词处理,得到各个字符信息;
计算所述待训练查询语料和所述目标查询数据表中各个表头信息的相似度,并基于所述相似度,确定预设数量的候选列;
将所述待训练查询语料、各所述候选列中的表头信息和表格内容、各所述字符信息和各所述候选列的数据类型进行拼接,得到目标输入序列;
基于所述目标输入序列,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型。
3.如权利要求2所述的自然语言查询转换SQL方法,其特征在于,所述获取查询数据库所处目标领域中的待训练查询语料的步骤包括:
获取业务查询问句信息,并对所述业务查询问句信息进行共性分析,获得共性分析结果;
基于所述共性分析结果,将所述业务查询问句信息进行组合,获得多个业务场景问句模板;
基于所述业务场景问句模板,构建问句扩充信息;
基于所述业务查询信息和所述问句扩充信息,通过预设复述识别模型进行识别,生成所述待训练查询语料。
4.如权利要求1所述的自然语言查询转换SQL方法,其特征在于,所述基于所述目标输入序列,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型的步骤包括:
基于所述目标输入序列中的首标志位,通过所述待训练语言转换模型对条件连接符进行预测,获得第一输出结果;
基于所述目标输入序列中各候选列以及对应的数据类型,对选择列和已选列对应的聚合函数进行预测,获得第二输出结果;
将各所述候选列和各自对应的数据类型与所述第二输出结果进行拼接,并基于拼接结果,对条件列和条件列的条件运算符进行预测,获得第三输出结果;
基于所述目标输入序列中的待训练查询语料以及各所述字符信息的数据类型,对条件列的条件值进行预测,获得第四输出结果;
基于所述第一输出结果、所述第二输出结果、所述第三输出结果和所述第四输出结果,形成各个子任务对应的输出结果;
基于所述各个子任务对应的输出结果,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型。
5.如权利要求4所述的自然语言查询转换SQL方法,其特征在于,所述基于各个子任务对应的输出结果,对待训练语言转换模型进行多任务迭代训练,获得所述语言转换模型的步骤包括:
基于各所述输出结果,计算各个子任务的交叉熵损失;
基于所述交叉熵损失,通过梯度下降算法优化所述待训练语言转换模型的模型参数,获得所述语言转换模型。
6.如权利要求1所述的自然语言查询转换SQL方法,其特征在于,所述获取目标查询信息的步骤包括:
获取用户输入的查询语句信息;
对所述查询语句信息进行预处理,获得所述目标查询信息。
7.如权利要求1所述的自然语言查询转换SQL方法,其特征在于,在所述基于所述不同子任务的预测结果,生成目标SQL查询语句的步骤之后,所述自然语言查询转换SQL方法还包括:
根据所目标SQL查询语句进行数据查询,获得与所述目标查询信息对应的查询结果。
8.一种自然语言查询转换SQL***,其特征在于,所述自然语言查询转换SQL***包括:
获取模块,用于获取目标查询信息,并确定所述目标查询信息对应的目标查询数据表;
计算模块,用于分别计算所述目标查询信息和所述目标查询数据表各个表头信息的相似度,并基于各所述相似度,确定待查询列;
预测模块,用于基于所述待查询列和所述目标查询信息,通过已训练好的语言转换模型进行多任务联合预测,获得不同子任务的预测结果,其中,所述语言转换模型为基于待训练查询语料和目标查询数据表中候选列进行拼接得到的输入序列进行多任务训练获得;
生成模块,用于基于所述不同子任务的预测结果,生成目标SQL查询语句。
9.一种自然语言查询转换SQL设备,其特征在于,所述自然语言查询转换SQL设备包括:存储器、处理器以及存储在存储器上的自然语言查询转换SQL程序,
所述自然语言查询转换SQL程序被所述处理器执行实现如权利要求1至7中任一项所述自然语言查询转换SQL方法的步骤。
10.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有自然语言查询转换SQL程序,所述自然语言查询转换SQL程序被处理器执行实现如权利要求1至7中任一项所述自然语言查询转换SQL方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210123795.XA CN114547072A (zh) | 2022-02-10 | 2022-02-10 | 自然语言查询转换sql方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210123795.XA CN114547072A (zh) | 2022-02-10 | 2022-02-10 | 自然语言查询转换sql方法、***、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114547072A true CN114547072A (zh) | 2022-05-27 |
Family
ID=81674434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210123795.XA Pending CN114547072A (zh) | 2022-02-10 | 2022-02-10 | 自然语言查询转换sql方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114547072A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200320436A1 (en) * | 2019-04-08 | 2020-10-08 | Google Llc | Transformation for machine learning pre-processing |
CN116467347A (zh) * | 2023-03-22 | 2023-07-21 | 天云融创数据科技(北京)有限公司 | 一种股票问答方法 |
CN116561288A (zh) * | 2023-07-12 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 事件查询方法、装置、计算机设备、存储介质及程序产品 |
CN116910105A (zh) * | 2023-09-12 | 2023-10-20 | 成都瑞华康源科技有限公司 | 一种基于预训练大模型的医疗信息查询***及方法 |
CN117149985A (zh) * | 2023-10-31 | 2023-12-01 | 海信集团控股股份有限公司 | 一种基于大模型的问答方法、装置、设备及介质 |
CN117743506A (zh) * | 2023-09-04 | 2024-03-22 | 应急管理部大数据中心 | 一种基于自然语言的数据关联查询方法及*** |
-
2022
- 2022-02-10 CN CN202210123795.XA patent/CN114547072A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200320436A1 (en) * | 2019-04-08 | 2020-10-08 | Google Llc | Transformation for machine learning pre-processing |
US11928559B2 (en) * | 2019-04-08 | 2024-03-12 | Google Llc | Transformation for machine learning pre-processing |
CN116467347A (zh) * | 2023-03-22 | 2023-07-21 | 天云融创数据科技(北京)有限公司 | 一种股票问答方法 |
CN116467347B (zh) * | 2023-03-22 | 2024-04-30 | 天云融创数据科技(北京)有限公司 | 一种股票问答方法 |
CN116561288A (zh) * | 2023-07-12 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 事件查询方法、装置、计算机设备、存储介质及程序产品 |
CN116561288B (zh) * | 2023-07-12 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 事件查询方法、装置、计算机设备、存储介质及程序产品 |
CN117743506A (zh) * | 2023-09-04 | 2024-03-22 | 应急管理部大数据中心 | 一种基于自然语言的数据关联查询方法及*** |
CN117743506B (zh) * | 2023-09-04 | 2024-05-28 | 应急管理部大数据中心 | 一种基于自然语言的数据关联查询方法及*** |
CN116910105A (zh) * | 2023-09-12 | 2023-10-20 | 成都瑞华康源科技有限公司 | 一种基于预训练大模型的医疗信息查询***及方法 |
CN117149985A (zh) * | 2023-10-31 | 2023-12-01 | 海信集团控股股份有限公司 | 一种基于大模型的问答方法、装置、设备及介质 |
CN117149985B (zh) * | 2023-10-31 | 2024-03-19 | 海信集团控股股份有限公司 | 一种基于大模型的问答方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111026842B (zh) | 自然语言处理方法、自然语言处理装置及智能问答*** | |
CN110825882B (zh) | 一种基于知识图谱的信息***管理方法 | |
CN114547072A (zh) | 自然语言查询转换sql方法、***、设备及存储介质 | |
US10725827B2 (en) | Artificial intelligence based virtual automated assistance | |
CN110597999A (zh) | 一种依存句法分析关系抽取模型的司法案件知识图谱构建方法 | |
CN112163424B (zh) | 数据的标注方法、装置、设备和介质 | |
CN110580308B (zh) | 信息审核方法及装置、电子设备、存储介质 | |
US10747958B2 (en) | Dependency graph based natural language processing | |
JP2020521210A (ja) | 情報処理方法及び端末、コンピュータ記憶媒体 | |
US20220188517A1 (en) | Hierarchical machine learning architecture including master engine supported by distributed light-weight real-time edge engines | |
CN113254507B (zh) | 一种数据资产目录智能构建盘点方法 | |
CN116719520B (zh) | 代码生成方法及装置 | |
CN110555205A (zh) | 否定语义识别方法及装置、电子设备、存储介质 | |
CN111078835A (zh) | 简历评估方法、装置、计算机设备及存储介质 | |
CN115964273A (zh) | 基于深度学习的航天器测试脚本自动生成方法 | |
CN111651552A (zh) | 结构化信息确定方法、装置和电子设备 | |
CN115062070A (zh) | 一种基于问答的文本表格数据查询方法 | |
CN113297251A (zh) | 多源数据检索方法、装置、设备及存储介质 | |
CN116245177A (zh) | 地理环境知识图谱自动化构建方法及***、可读存储介质 | |
CN117592470A (zh) | 大语言模型驱动的低成本公报数据抽取方法 | |
CN117827866A (zh) | 基于自然语言的人机交互方法及装置 | |
CN117271557A (zh) | 一种基于业务规则的sql生成解释方法、装置、设备及介质 | |
CN115438995B (zh) | 一种基于知识图谱的服装定制企业的业务处理方法及设备 | |
CN116894495A (zh) | 用注释增强机器学习管道的方法、计算机可读介质和*** | |
CN115017271A (zh) | 用于智能生成rpa流程组件块的方法及*** |
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 |