CN113609158A - 一种sql语句的生成方法、装置、设备及介质 - Google Patents
一种sql语句的生成方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113609158A CN113609158A CN202110925265.2A CN202110925265A CN113609158A CN 113609158 A CN113609158 A CN 113609158A CN 202110925265 A CN202110925265 A CN 202110925265A CN 113609158 A CN113609158 A CN 113609158A
- Authority
- CN
- China
- Prior art keywords
- sql statement
- natural language
- language text
- target sql
- generating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 239000013598 vector Substances 0.000 claims abstract description 51
- 238000012549 training Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 11
- 238000004220 aggregation Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001172 regenerating effect Effects 0.000 claims description 5
- 238000002372 labelling Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种SQL语句的生成方法、装置、设备及介质。其中,该方法包括:确定用户输入的自然语言文本对应的特征数据;对自然语言文本、列名和表格内容进行编码,得到编码向量;基于编码向量确定用于生成目标SQL语句的各个组件;基于各个组件填充对应的语义槽,并生成目标SQL语句。本申请实施例提供的技术方案,可以提升将自然语言文本转为SQL语句的准确度。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种SQL语句的生成方法、装置、设备及介质。
背景技术
数据库是企业存储数据的主要方式,专业用户可以通过结构化查询语言(Structured Query Language,简称SQL)访问数据库,但非专业用户因不熟悉SQL而无法访问和操作数据库。随着人工智能在机器学习领域取得突破进展,可以通过自然语句转SQL(Natural Language to SQL,简称NL2SQL)为非专业用户访问和操作数据库提供了新的思路。
现有技术中,NL2SQL技术实现方式主要有两种。第一种方式:通过人工梳理数据库中的表格,来配置自然语言文本及其相应的SQL语句模板的清单。但是,若出现新的自然文本需要增加新的SQL语句模板,该方式不仅耗时耗力,效果也差强人意。第二种方式:通过人工对样本数据进行标注之后再采用深度学习模型进行模型训练,但是,该方式标注样本数据需要耗费大量的人力,且因该方式的泛化能力和迁移能力不足而造成SQL语句的问答准确度较低。因此,需要设计一种结构化查询语言SQL的生成方法,提升生成SQL语句的准确度。
发明内容
本申请实施例提供了一种SQL语句的生成方法、装置、设备及介质,以实现提升生成SQL语句的准确度。
第一方面,本申请实施例提供了一种SQL语句的生成方法,该方法包括:
确定用户输入的自然语言文本对应的特征数据;其中,所述特征数据包括所述自然语言文本对应的数据表的列名和表格内容;
对所述自然语言文本、所述列名和所述表格内容进行编码,得到编码向量;
基于所述编码向量确定用于生成目标SQL语句的各个组件;
基于所述各个组件填充对应的语义槽,并生成所述目标SQL语句。
第二方面,本申请实施例提供了一种SQL语句的生成装置,该装置包括:
数据确定模块,用于确定用户输入的自然语言文本对应的特征数据;其中,所述特征数据包括所述自然语言文本对应的数据表的列名和表格内容;
向量确定模块,用于对所述自然语言文本、所述列名和所述表格内容进行编码,得到编码向量;
组件确定模块,用于基于所述编码向量确定用于生成目标SQL语句的各个组件;
语句生成模块,用于基于所述各个组件填充对应的语义槽,并生成所述目标SQL语句。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请任意实施例所述的SQL语句的生成方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现本申请任意实施例所述的SQL语句的生成方法。
本申请实施例提供了一种SQL语句的生成方法、装置、设备及介质,确定用户输入的自然语言文本对应的特征数据;对自然语言文本、列名和表格内容进行编码,得到编码向量;基于编码向量确定用于生成目标SQL语句的各个组件;基于各个组件填充对应的语义槽,并生成目标SQL语句。本申请可以提升将自然语言文本转为SQL语句的准确度。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例提供的一种SQL语句的生成方法的第一流程示意图;
图2A为本申请实施例提供的一种SQL语句的生成方法的第二流程示意图;
图2B为本申请实施例提供的一种SQL语句的生成方法的原理示意图;
图3为本申请实施例提供的一种SQL语句的生成装置的结构示意图;
图4是用来实现本申请实施例的一种SQL语句的生成方法的电子设备的框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请实施例提供的一种SQL语句的生成方法的第一流程示意图,本实施例可适用于将用户输入的自然语言文本转为SQL语句,以使非专业用户对数据库进行访问和操作的情况。本实施例提供的一种SQL语句的生成方法可以由本申请实施例提供的SQL语句的生成装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在执行本方法的电子设备中。优选的,本申请的SQL语句的生成方法可由预先训练的语句生成模型来执行,该语句生成模型可将用户输入的自然语言文本生成该自然语言文本对应的SQL语句。
参见图1,本实施例的方法包括但不限于如下步骤:
S110、确定用户输入的自然语言文本对应的特征数据。
在本申请实施例中,语句生成模型可对用户输入的自然语言文本进行处理,得到该自然语言文本对应的特征数据,其中,特征数据包括自然语言文本对应的数据表的列名和表格内容。特征数据的确定过程具体可以是:先对用户输入的自然语言文本进行意图识别,确定自然语言文本对应的意图识别结果;再根据意图识别结果,确定自然语言文本对应的数据表的列名和表格内容。
可选的,本申请对自然语言文本进行意图识别所使用的意图识别方法不做具体限定,可以是现有技术中任意一种意图识别方法。
示例性的,假如用户输入的自然语言文本为“去年各个子公司的平均销售额”,语句生成模型先通过意图识别方法对该自然语言文本进行意图识别,确定意图识别结果;再根据意图识别结果,确定用户想要查询的数据表的列名和表格内容。例如:通过对该自然语言文本进行意图识别,能够确定出用户想要查询的是“XX年各个子公司的平均销售额数据表”,那么数据表的列名为子公司和平均销售额,数据表的表格内容为平均销售额。
S120、对自然语言文本、列名和表格内容进行编码,得到编码向量。
在本申请实施例中,语句生成模型中包含两个编码器,即第一编码器和第二编码器。通过这两个编码器对自然语言文本、列名和表格内容进行编码,得到编码向量。这样设置的好处在于,可以将自然语言文本、列名和表格内容向量化,变成语句生成模型可识别的机器语言。
具体的,将自然语言文本和列名进行编码生成第一编码向量;并将自然语言文本和表格内容进行编码生成第二编码向量。
在本申请实施例中,基于语句生成模型所提供的知识语义,通过第一编码器将自然语言文本和列名进行编码生成第一编码向量;基于字符粒度,通过第二编码器将自然语言文本和表格内容进行编码生成第二编码向量。本申请基于字符粒度的原因在于,表格内容通常由实体组成,若基于单词粒度,则生成的第二编码向量效果不佳。
S130、基于编码向量确定用于生成目标SQL语句的各个组件。
在本申请实施例中,通过步骤S120对自然语言文本、列名和表格内容进行编码,得到编码向量之后,再根据SQL语言的统一结构,基于该编码向量确定用于生成目标SQL语句的各个组件。可选的,可从查询字段、聚合函数和筛选条件等维度上确定目标SQL语句的各个组件。
具体的,目标SQL语句的各个组件中,查询字段维度上有:SELECT从句中的条件(即Select-Column);聚合函数维度上有:SELECT从句中的条件对应的聚合函数(即Select-Aggregation);筛选条件维度上有:WHERE从句中条件的数量(即Where-Number)、WHERE从句中每个条件对应的列名(即Where-Column)、WHERE从句中每个条件对应的操作符(即Where-Operator)和WHERE从句中每个条件对应的值(即Where-Value)。其中,不同组件之间存在一定的依赖关系。
示例性的,假如用户输入的自然语言文本为“去年各个子公司的平均销售额”,则基于编码向量确定用于生成目标SQL语句的各个组件有:Select-Column、Select-Aggregation、Where-Number和Where-Column。
S140、基于各个组件填充对应的语义槽,并生成目标SQL语句。
在本申请实施例中,通过步骤S130确定目标SQL语句的各个组件之后,再根据对各个组件进行语义槽填充。
示例性的,假如用户输入的自然语言文本为“去年各个子公司的平均销售额”。基于第一编码向量和第二编码向量,可从数据表的所有列中确定与自然语言文本相对应的列名,如子公司、销售额,作为Select-Column;确定与自然语言文本相对应的聚合函数,如平均,作为Select-Aggregation;确定与自然语言文本相对应的条件的数量,如1个,作为Where-Number;确定与自然语言文本相对应的每个条件的列名,如日期,作为Where-Column。
在本申请实施例中,为各个组件填充对应的语义槽之后,基于各个组件填充对应的语义槽,按照SQL语法规则进行处理,生成目标SQL语句。
可选的,语句生成模型的模型训练过程包括:根据预先训练的样本生成模型和预先确定的数据表的元数据,确定语句生成模型的训练样本集;并对训练样本集进行标注,确定训练样本集中各条样本数据的特征数据;根据训练样本集中各条样本数据的特征数据,对初始语句生成模型进行训练,得到训练之后的语句生成模型。其中,样本生成模型可以是基于bert模型训练得到的。
在本申请实施例中,与现有技术中通过人工标注方法得到训练样本集相比,本申请是通过样本生成模型生成训练样本集,并对训练样本集中的各条样本数据进行标注得到各条样本数据的特征数据。具体的,首先从预先确定的数据表中获取指标、维度、纬度值、本体和同义词等元数据;然后将这些元数据输入至样本生成模型,以得到训练样本集,其中,训练样本集中的样本数据包含自然语言文本和基于规则模板生成的SQL语句;最后,还可通过样本生成模型对训练样本集中的样本数据进行标注,得到样本数据的特征数据。与现有技术相比,本申请因通过预先训练的样本生成模型来生成并标注训练样本集,所以本申请能够减少人工成本。
可选的,由于训练样本集中的样本数据较少且泛化性不足,可以通过样本扩充方法对训练样本集进行扩充,其中,本申请对样本扩充方法不做具体限定,可以是现有技术中任意一种样本扩充方法。
本实施例提供的技术方案,先确定用户输入的自然语言文本对应的数据表的列名和表格内容;再对自然语言文本、列名和表格内容进行编码,得到编码向量;然后基于编码向量,确定用于生成目标SQL语句的各个组件;最后确定各个组件对应的语义槽,并生成目标SQL语句。本申请通过先确定用于生成目标SQL语句的各个组件再对各个组件填充对应的语义槽,可以保证用于生成目标SQL语句的各个组件的语义槽的准确度,进而提升了将自然语言文本转为SQL语句的准确度。
实施例二
图2A为本申请实施例提供的一种SQL语句的生成方法的第二流程示意图;
图2B为本申请实施例提供的一种SQL语句的生成方法的原理示意图。本申请实施例是在上述实施例的基础上进行优化,具体优化为:增加了对目标SQL语句的确定过程进行详细的解释说明。
参见图2A,本实施例的方法包括但不限于如下步骤:
S210、确定用户输入的自然语言文本对应的特征数据。
其中,特征数据包括自然语言文本对应的数据表的列名和表格内容。
S220、将自然语言文本和列名进行编码生成第一编码向量;并将自然语言文本和表格内容进行编码生成第二编码向量。
在本申请实施例中,基于语句生成模型所提供的知识语义,通过第一编码器将自然语言文本和列名进行编码生成第一编码向量;基于字符粒度,通过第二编码器将自然语言文本和表格内容进行编码生成第二编码向量。
S230、基于第一编码向量和第二编码向量确定用于生成目标SQL语句的各个组件。
S240、基于各个组件填充对应的语义槽,并生成目标SQL语句。
示例性的,如图2B所示,首先,对用户输入的自然语言文本“去年各子公司的平均销售额”进行意图识别,得到意图识别结果。其中意图识别可以是对自然语言文本进行分词、词性标注、命名实体识别和依存句法分析等处理。然后,确定该自然语言文本对应的SQL语句的各个组件,并采用语义词槽填充方法确定各个组件对应的语义槽,如图2B中的查询字段为销售额,聚合函数为平均,筛选条件为日期等于XX年,分组字段为子公司;最后,按照SQL语法规则对各个组件对应的语义槽进行处理,生成目标SQL语句。
S250、确定目标SQL语句的置信度。
在本申请实施例中,经步骤S240生成目标SQL语句之后,还可以通过语句生成模型对所目标SQL语句进行评估,得到目标SQL语句的置信度。
S260、若目标SQL语句的置信度大于等于预设数值,则将目标SQL语句反馈给用户;若目标SQL语句的置信度小于预设数值,则根据bert模型,重新生成自然语言文本对应的新的目标SQL语句。
在本申请实施例中,经步骤S240得到目标SQL语句的置信度之后,若目标SQL语句的置信度大于等于预设数值,表明所生成的目标SQL语句能够表示用户输入的自然语言文本,则将该目标SQL语句反馈给用户;若目标SQL语句的置信度小于预设数值,表明所生成的目标SQL语句不能够表示用户输入的自然语言文本,则根据bert模型中的规则模块重新生成自然语言文本对应的新的目标SQL语句。
可选的,根据bert模型重新生成自然语言文本对应的新的目标SQL语句之后,还需要确定新的目标SQL语句的置信度;若新的目标SQL语句的置信度大于等于目标SQL语句的置信度,表明相比目标SQL语句而言,新的目标SQL语句能够表示用户输入的自然语言文本,则将新的目标SQL语句反馈给用户;若新的目标SQL语句的置信度小于目标SQL语句的置信度,表明新的目标SQL语句仍旧不能够表示用户输入的自然语言文本,则向用户反馈预设应答信息,如“您输入的自然语言文本无法得到对应的SQL语句”;其中,预设应答信息为无法生成目标SQL语句的应答信息。
本实施例提供的技术方案,通过确定用户输入的自然语言文本对应的特征数据;将自然语言文本和列名进行编码生成第一编码向量;并将自然语言文本和表格内容进行编码生成第二编码向量;基于第一编码向量和第二编码向量确定用于生成目标SQL语句的各个组件;基于各个组件填充对应的语义槽,并生成目标SQL语句;确定目标SQL语句的置信度。本申请通过目标SQL语句对应的置信度可以判断将自然语言文本转为目标SQL语句的准确度,若准确度较低,则通过bert模型重新生成新的目标SQL语句,从而可以提升生成目标SQL语句的准确度。执行本申请的技术方案,可以减少人工成本且能够提升将自然语言文本转为SQL语句的准确度。
实施例三
图3为本申请实施例提供的一种SQL语句的生成装置的结构示意图,如图3所示,该装置300可以包括:
数据确定模块310,用于确定用户输入的自然语言文本对应的特征数据;其中,所述特征数据包括所述自然语言文本对应的数据表的列名和表格内容;
向量确定模块320,用于对所述自然语言文本、所述列名和所述表格内容进行编码,得到编码向量;
组件确定模块330,用于基于所述编码向量确定用于生成目标SQL语句的各个组件;
语句生成模块340,用于基于所述各个组件填充对应的语义槽,并生成所述目标SQL语句。
进一步的,上述向量确定模块320,具体用于:将所述自然语言文本和所述列名进行编码生成第一编码向量;将所述自然语言文本和所述表格内容进行编码生成第二编码向量。
进一步的,上述SQL语句的生成装置,还可以包括:第一判断模块;
所述第一判断模块,用于在基于所述各个组件填充对应的语义槽,并生成所述目标SQL语句之后,确定所述目标SQL语句的置信度;若所述目标SQL语句的置信度大于等于预设数值,则将所述目标SQL语句反馈给用户;若所述目标SQL语句的置信度小于所述预设数值,则根据bert模型,重新生成所述自然语言文本对应的新的目标SQL语句。
进一步的,上述SQL语句的生成装置,还可以包括:第二判断模块;
所述第二判断模块,用于在根据bert模型,重新生成所述自然语言文本对应的新的目标SQL语句之后,确定所述新的目标SQL语句的置信度;若所述新的目标SQL语句的置信度大于等于所述目标SQL语句的置信度,则将所述新的目标SQL语句反馈给用户;若所述新的目标SQL语句的置信度小于所述目标SQL语句的置信度,则向用户反馈预设应答信息;其中,所述预设应答信息为无法生成目标SQL语句的应答信息。
可选的,所述语句生成模型的模型训练过程包括:根据预先训练的样本生成模型和预先确定的数据表的元数据,确定所述语句生成模型的训练样本集;并对所述训练样本集进行标注,确定所述训练样本集中各条样本数据的特征数据;根据所述训练样本集中各条样本数据的特征数据,对初始语句生成模型进行训练,得到训练之后的语句生成模型。
可选的,所述目标SQL语句的各个组件包括如下至少一项:SELECT从句中的条件、SELECT从句中的条件对应的聚合函数、WHERE从句中条件的数量、WHERE从句中每个条件对应的列名、WHERE从句中每个条件对应的操作符和WHERE从句中每个条件对应的值。
本实施例提供的SQL语句的生成装置可适用于上述任意实施例提供的SQL语句的生成方法,具备相应的功能和有益效果。
实施例四
图4是用来实现本申请实施例的一种SQL语句的生成方法的电子设备的框图,图4示出了适于用来实现本申请实施例实施方式的示例性电子设备的框图。图4显示的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。该电子设备典型可以是智能手机、平板电脑、笔记本电脑、车载终端以及可穿戴设备等。
如图4所示,电子设备400以通用计算设备的形式表现。电子设备400的组件可以包括但不限于:一个或者多个处理器或者处理单元416,存储器428,连接不同***组件(包括存储器428和处理单元416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
电子设备400典型地包括多种计算机***可读介质。这些介质可以是任何能够被电子设备400访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器428可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。电子设备400可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请实施例各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本申请实施例所描述的实施例中的功能和/或方法。
电子设备400也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该电子设备400交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,电子设备400还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器420通过总线418与电子设备400的其它模块通信。应当明白,尽管图4中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元416通过运行存储在存储器428中的程序,从而执行各种功能应用以及数据处理,例如实现本申请任一实施例所提供的SQL语句的生成方法。
实施例五
本申请实施例五还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时可以用于执行本申请上述任一实施例所提供的SQL语句的生成方法。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请实施例进行了较为详细的说明,但是本申请实施例不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种SQL语句的生成方法,其特征在于,应用于语句生成模型,所述方法包括:
确定用户输入的自然语言文本对应的特征数据;其中,所述特征数据包括所述自然语言文本对应的数据表的列名和表格内容;
对所述自然语言文本、所述列名和所述表格内容进行编码,得到编码向量;
基于所述编码向量确定用于生成目标SQL语句的各个组件;
基于所述各个组件填充对应的语义槽,并生成所述目标SQL语句。
2.根据权利要求1所述的方法,其特征在于,所述对所述自然语言文本、所述列名和所述表格内容进行编码,得到编码向量,包括:
将所述自然语言文本和所述列名进行编码生成第一编码向量;
将所述自然语言文本和所述表格内容进行编码生成第二编码向量。
3.根据权利要求1所述的方法,其特征在于,在基于所述各个组件填充对应的语义槽,并生成所述目标SQL语句之后,还包括:
确定所述目标SQL语句的置信度;
若所述目标SQL语句的置信度大于等于预设数值,则将所述目标SQL语句反馈给用户;
若所述目标SQL语句的置信度小于所述预设数值,则根据bert模型,重新生成所述自然语言文本对应的新的目标SQL语句。
4.根据权利要求3所述的方法,其特征在于,在根据bert模型,重新生成所述自然语言文本对应的新的目标SQL语句之后,还包括:
确定所述新的目标SQL语句的置信度;
若所述新的目标SQL语句的置信度大于等于所述目标SQL语句的置信度,则将所述新的目标SQL语句反馈给用户;
若所述新的目标SQL语句的置信度小于所述目标SQL语句的置信度,则向用户反馈预设应答信息;其中,所述预设应答信息为无法生成目标SQL语句的应答信息。
5.根据权利要求1所述的方法,其特征在于,所述语句生成模型的模型训练过程包括:
根据预先训练的样本生成模型和预先确定的数据表的元数据,确定所述语句生成模型的训练样本集;并对所述训练样本集进行标注,确定所述训练样本集中各条样本数据的特征数据;
根据所述训练样本集中各条样本数据的特征数据,对初始语句生成模型进行训练,得到训练之后的语句生成模型。
6.根据权利要求1所述的方法,其特征在于,所述目标SQL语句的各个组件包括如下至少一项:SELECT从句中的条件、SELECT从句中的条件对应的聚合函数、WHERE从句中条件的数量、WHERE从句中每个条件对应的列名、WHERE从句中每个条件对应的操作符和WHERE从句中每个条件对应的值。
7.一种SQL语句的生成装置,其特征在于,所述装置包括:
数据确定模块,用于确定用户输入的自然语言文本对应的特征数据;其中,所述特征数据包括所述自然语言文本对应的数据表的列名和表格内容;
向量确定模块,用于对所述自然语言文本、所述列名和所述表格内容进行编码,得到编码向量;
组件确定模块,用于基于所述编码向量确定用于生成目标SQL语句的各个组件;
语句生成模块,用于基于所述各个组件填充对应的语义槽,并生成所述目标SQL语句。
8.根据权利要求7所述的装置,其特征在于,所述向量确定模块,具体用于:
将所述自然语言文本和所述列名进行编码生成第一编码向量;
将所述自然语言文本和所述表格内容进行编码生成第二编码向量。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的结构化查询语言SQL语句的生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的结构化查询语言SQL语句的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110925265.2A CN113609158A (zh) | 2021-08-12 | 2021-08-12 | 一种sql语句的生成方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110925265.2A CN113609158A (zh) | 2021-08-12 | 2021-08-12 | 一种sql语句的生成方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113609158A true CN113609158A (zh) | 2021-11-05 |
Family
ID=78308351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110925265.2A Pending CN113609158A (zh) | 2021-08-12 | 2021-08-12 | 一种sql语句的生成方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609158A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986954A (zh) * | 2021-12-30 | 2022-01-28 | 深圳市明源云科技有限公司 | 用户事件获取方法、装置、智能终端及可读存储介质 |
CN114048226A (zh) * | 2021-11-12 | 2022-02-15 | 国家电网有限公司大数据中心 | 一种数据查询方法、装置、电子设备和存储介质 |
CN114490709A (zh) * | 2021-12-28 | 2022-05-13 | 北京百度网讯科技有限公司 | 文本生成方法、装置、电子设备及存储介质 |
CN116629227A (zh) * | 2023-07-24 | 2023-08-22 | 海信集团控股股份有限公司 | 一种将文本转换为sql语句的方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766355A (zh) * | 2018-12-28 | 2019-05-17 | 上海汇付数据服务有限公司 | 一种支持自然语言的数据查询方法和*** |
CN110688394A (zh) * | 2019-09-29 | 2020-01-14 | 浙江大学 | 面向新型供电城轨列车大数据运维的nl生成sql方法 |
CN111414380A (zh) * | 2020-03-20 | 2020-07-14 | 华泰证券股份有限公司 | 一种中文数据库sql语句生成方法、设备及存储介质 |
CN112287093A (zh) * | 2020-12-02 | 2021-01-29 | 上海交通大学 | 基于半监督学习和Text-to-SQL模型的自动问答*** |
CN113051875A (zh) * | 2021-03-22 | 2021-06-29 | 北京百度网讯科技有限公司 | 信息转换模型的训练方法、文本信息的转换方法和装置 |
-
2021
- 2021-08-12 CN CN202110925265.2A patent/CN113609158A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766355A (zh) * | 2018-12-28 | 2019-05-17 | 上海汇付数据服务有限公司 | 一种支持自然语言的数据查询方法和*** |
CN110688394A (zh) * | 2019-09-29 | 2020-01-14 | 浙江大学 | 面向新型供电城轨列车大数据运维的nl生成sql方法 |
CN111414380A (zh) * | 2020-03-20 | 2020-07-14 | 华泰证券股份有限公司 | 一种中文数据库sql语句生成方法、设备及存储介质 |
CN112287093A (zh) * | 2020-12-02 | 2021-01-29 | 上海交通大学 | 基于半监督学习和Text-to-SQL模型的自动问答*** |
CN113051875A (zh) * | 2021-03-22 | 2021-06-29 | 北京百度网讯科技有限公司 | 信息转换模型的训练方法、文本信息的转换方法和装置 |
Non-Patent Citations (2)
Title |
---|
TONG GUO, HUILIN GAO: "Content Enhanced BERT-based Text-to-SQL Generation", ARXIV.1910.07179V5, 22 April 2020 (2020-04-22), pages 1 * |
张俊驰;胡婕;刘梦赤;: "基于复述的中文自然语言接口", 计算机应用, no. 05, 10 May 2016 (2016-05-10) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048226A (zh) * | 2021-11-12 | 2022-02-15 | 国家电网有限公司大数据中心 | 一种数据查询方法、装置、电子设备和存储介质 |
CN114490709A (zh) * | 2021-12-28 | 2022-05-13 | 北京百度网讯科技有限公司 | 文本生成方法、装置、电子设备及存储介质 |
CN113986954A (zh) * | 2021-12-30 | 2022-01-28 | 深圳市明源云科技有限公司 | 用户事件获取方法、装置、智能终端及可读存储介质 |
CN113986954B (zh) * | 2021-12-30 | 2022-04-08 | 深圳市明源云科技有限公司 | 用户事件获取方法、装置、智能终端及可读存储介质 |
CN116629227A (zh) * | 2023-07-24 | 2023-08-22 | 海信集团控股股份有限公司 | 一种将文本转换为sql语句的方法及设备 |
CN116629227B (zh) * | 2023-07-24 | 2023-10-24 | 海信集团控股股份有限公司 | 一种将文本转换为sql语句的方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287278B (zh) | 评论生成方法、装置、服务器及存储介质 | |
CN113609158A (zh) | 一种sql语句的生成方法、装置、设备及介质 | |
CN113495900B (zh) | 基于自然语言的结构化查询语言语句获取方法及装置 | |
CN109522552B (zh) | 一种医疗信息的归一化方法、装置、介质及电子设备 | |
WO2021135469A1 (zh) | 基于机器学习的信息抽取方法、装置、计算机设备及介质 | |
CN110298019A (zh) | 命名实体识别方法、装置、设备及计算机可读存储介质 | |
US11216618B2 (en) | Query processing method, apparatus, server and storage medium | |
US20120158742A1 (en) | Managing documents using weighted prevalence data for statements | |
CN111597800B (zh) | 同义句的获取方法及装置、设备及存储介质 | |
CN113486178B (zh) | 文本识别模型训练方法、文本识别方法、装置以及介质 | |
CN113656763B (zh) | 确定小程序特征向量的方法、装置和电子设备 | |
CN115827819A (zh) | 一种智能问答处理方法、装置、电子设备及存储介质 | |
CN114492661B (zh) | 文本数据分类方法和装置、计算机设备、存储介质 | |
CN112084779A (zh) | 用于语义识别的实体获取方法、装置、设备及存储介质 | |
CN115099233A (zh) | 一种语义解析模型的构建方法、装置、电子设备及存储介质 | |
CN112711943B (zh) | 一种维吾尔文语种识别方法、装置及存储介质 | |
CN117787226A (zh) | 标签生成模型训练方法、装置、电子设备及存储介质 | |
CN111241273A (zh) | 文本数据分类方法、装置、电子设备及计算机可读介质 | |
CN110837559B (zh) | 语句样本集的生成方法、电子装置及存储介质 | |
CN115169370B (zh) | 语料数据增强方法、装置、计算机设备及介质 | |
CN111949765B (zh) | 基于语义的相似文本搜索方法、***、设备和存储介质 | |
CN114911940A (zh) | 文本情感识别方法及装置、电子设备、存储介质 | |
CN114020774A (zh) | 多轮问答语句的处理方法、装置、设备及存储介质 | |
CN112395878A (zh) | 一种基于电价政策的文本处理方法及*** | |
CN111782781A (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 |