CN113468174A - 数据库的查询方法、装置、电子设备和计算机存储介质 - Google Patents
数据库的查询方法、装置、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN113468174A CN113468174A CN202110726905.7A CN202110726905A CN113468174A CN 113468174 A CN113468174 A CN 113468174A CN 202110726905 A CN202110726905 A CN 202110726905A CN 113468174 A CN113468174 A CN 113468174A
- Authority
- CN
- China
- Prior art keywords
- condition
- text
- column name
- conditional
- type
- 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 45
- 230000014509 gene expression Effects 0.000 claims abstract description 149
- 238000006243 chemical reaction Methods 0.000 claims abstract description 45
- 230000002776 aggregation Effects 0.000 claims description 11
- 238000004220 aggregation Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种数据库的查询方法、装置、电子设备和计算机存储介质。该方法通过将待转换文本和数据表的列名输入至自然语言转换模型,得到待转换文本中每个字符对应的属性标识、条件列名和选择列名,其中,属性标识包括:文本开始标识、文本中间标识、数字开始标识、数字中间标识或非条件值标识;数据表的列名包括条件列名和选择列名,根据待转换文本中每个字符对应的属性标识,从待转换文本中提取条件值,根据条件值和条件列名,确定条件值与条件列名的条件表达式,根据条件表达式和选择列名,得到结构化查询语言语句,基于结构化查询语言语句进行查询,得到查询结果。使得将自然语言转换成SQL语句的效率高,使得数据库查询的速度快、效率高。
Description
技术领域
本公开涉及数据库技术领域,尤其涉及一种数据库的查询方法、装置、电子设备和计算机存储介质。
背景技术
在对数据库中的数据进行查询时,常常需要使用结构化语言(Structured QueryLanguage,简称SQL)语句。对于不会使用SQL语句的用户,可以输入自然语言,将自然语言转换为SQL语句,从而基于SQL语句完成查询任务。
然而,现有的将自然语言转换为SQL语句的转换处理的工作量大,转换效率不高。
发明内容
为了解决上述技术问题,本公开提供了一种数据库的查询方法、装置、电子设备和计算机存储介质。
第一方面,本公开提供了一种数据库的查询方法,包括:
将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名和选择列名,其中,所述属性标识包括:文本开始标识、文本中间标识、数字开始标识、数字中间标识或非条件值标识;所述数据表的列名包括所述条件列名和所述选择列名;
根据所述待转换文本中每个字符对应的属性标识,从所述待转换文本中提取条件值;
根据所述条件值和所述条件列名,确定所述条件值与所述条件列名的条件表达式;
根据所述条件表达式和选择列名,得到结构化查询语言语句;
基于所述结构化查询语言语句进行查询,得到查询结果。
可选的,所述条件值的类型包括数字类型和文本类型,所述条件列名的类型包括:数字类型和文本类型;所述根据所述条件值和所述条件列名,确定所述条件值与所述条件列名的条件表达式,包括:
根据数字类型的条件值与数字类型的条件列名,确定所述数字类型的条件值与所述数字类型的条件列名的条件表达式;
根据文本类型的条件值与文本类型的条件列名,确定所述文本类型的条件值与所述文本类型的条件列名的条件表达式;
确定所述条件值与所述条件列名的条件表达式为所述数字类型的条件值与所述数字类型的条件列名的条件表达式和所述文本类型的条件值与所述文本类型的条件列名的条件表达式。
可选的,根据数字类型的条件值与数字类型的条件列名,确定所述数字类型的条件值与所述数字类型的条件列名的条件表达式,包括:
根据所述待转换文本、目标数字类型的条件值、目标数字类型的条件列名和目标运算符,得到目标第一输入语句,所述目标运算符包括:大于号、等于号、小于号和/或不等号;
将所述目标第一输入语句输入至语句判断模型,得到目标第一输入语句的标识,所述目标第一输入语句的标识用于指示所述目标第一输入语句是否正确;
根据所有正确的所述目标第一输入语句,确定所述数字类型条件值与所述数字类型条件列名的数字类型条件表达式。
可选的,所述根据文本类型的条件值与文本类型的条件列名,确定所述文本类型的条件值与所述文本类型的条件列名的条件表达式,包括:
根据所述待转换文本、目标文本类型的条件值、目标文本类型的条件列名和目标文本关系,得到目标第二输入语句,所述目标文本关系包括:是或者不是;
将所述目标第二输入语句输入至语句判断模型,得到目标第二输入语句的标识,所述目标第二输入语句的标识用于指示所述目标第二输入语句是否正确;
根据所有正确的所述目标第二输入语句,确定所述文本类型条件值与所述文本类型条件列名的条件表达式。
可选的,所述根据文本类型的条件值与文本类型的条件列名,确定所述文本类型的条件值与所述文本类型的条件列名的条件表达式之后,还包括:
将所述文本类型的条件值与数据表中的文本类型的数据值进行匹配,得到替换条件值,所述数据表中的文本类型数据值包括所述替换条件值;
根据所述替换条件值和所述文本类型的条件列名,得到所述替换条件值与所述文本类型的条件列名的条件表达式;
所述确定所述条件值与所述条件列名的条件表达式为所述数字类型的条件值与所述数字类型的条件列名的条件表达式和所述文本类型的条件值与所述文本类型的条件列名的条件表达式,包括:
确定所述条件值与所述条件列名的条件表达式为所述数字类型的条件值与所述数字类型的条件列名的条件表达式和所述文本类型条件值与所述文本类型条件列名的条件表达式。
可选的,所述将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名和选择列名,包括:
将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名、选择列名、条件连接符和聚合条件,其中,所述条件连接符包括或连接符或与连接符。
可选的,所述将待转换文本和数据表的列名输入至自然语言转换模型之前,还包括:
对所述待转换文本进行预处理,得到处理后的待转换文本;
所述将待转换文本和数据表的列名输入至自然语言转换模型,包括:
将处理后的待转换文本和数据表的列名输入至自然语言转换模型。
第二方面,本公开提供一种数据库的查询装置,包括:
输入模块,用于将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名和选择列名,其中,所述属性标识包括:文本开始标识、文本中间标识、数字开始标识、数字中间标识或非条件值标识;所述数据表的列名包括所述条件列名和所述选择列名;
提取模块,用于根据所述待转换文本中每个字符对应的属性标识,从所述待转换文本中提取条件值;
条件关系模块,用于根据所述条件值和所述条件列名,确定所述条件值与所述条件列名的条件表达式;
结构化查询语言语句生成模块,用于根据所述条件表达式和选择列名,得到结构化查询语言语句;
查询模块,用于基于所述结构化查询语言语句进行查询,得到查询结果。
可选的,所述条件值的类型包括数字类型和文本类型,所述条件列名的类型包括:数字类型和文本类型;所述条件关系模块具体用于:
根据数字类型的条件值与数字类型的条件列名,确定所述数字类型的条件值与所述数字类型的条件列名的条件表达式;
根据文本类型的条件值与文本类型的条件列名,确定所述文本类型的条件值与所述文本类型的条件列名的条件表达式;
确定所述条件值与所述条件列名的条件表达式为所述数字类型的条件值与所述数字类型的条件列名的条件表达式和所述文本类型的条件值与所述文本类型的条件列名的条件表达式。
可选的,所述条件关系模块具体用于:
根据所述待转换文本、目标数字类型的条件值、目标数字类型的条件列名和目标运算符,得到目标第一输入语句,所述目标运算符包括:大于号、等于号、小于号和/或不等号;
将所述目标第一输入语句输入至语句判断模型,得到目标第一输入语句的标识,所述目标第一输入语句的标识用于指示所述目标第一输入语句是否正确;
根据所有正确的所述目标第一输入语句,确定所述数字类型条件值与所述数字类型条件列名的数字类型条件表达式。
可选的,所述条件关系模块具体用于:
根据所述待转换文本、目标文本类型的条件值、目标文本类型的条件列名和目标文本关系,得到目标第二输入语句,所述目标文本关系包括:是或者不是;
将所述目标第二输入语句输入至语句判断模型,得到目标第二输入语句的标识,所述目标第二输入语句的标识用于指示所述目标第二输入语句是否正确;
根据所有正确的所述目标第二输入语句,确定所述文本类型条件值与所述文本类型条件列名的条件表达式。
可选的,所述装置还包括:
相似替换模块,用于将所述文本类型的条件值与数据表中的文本类型的数据值进行匹配,得到替换条件值,所述数据表中的文本类型数据值包括所述替换条件值;根据所述替换条件值和所述文本类型的条件列名,得到所述替换条件值与所述文本类型的条件列名的条件表达式;
所述条件关系模块具体用于:确定所述条件值与所述条件列名的条件表达式为所述数字类型的条件值与所述数字类型的条件列名的条件表达式和所述文本类型条件值与所述文本类型条件列名的条件表达式。
可选的,所述输入模块具体用于:
将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名、选择列名、条件连接符和聚合条件,其中,所述条件连接符包括或连接符或与连接符。
可选的,所述装置还包括:
预处理模块,用于对所述待转换文本进行预处理,得到处理后的待转换文本;
所述输入模块具体用于:
将处理后的待转换文本和数据表的列名输入至自然语言转换模型。
第三方面,本公开提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序;其中所述一个或多个计算机程序被存储在所述存储器中;所述一个或多个处理器在执行所述一个或多个计算机程序时,使得所述电子设备实现如上述第一方面所述的方法。
第四方面,本公开提供一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如上述第一方面所述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过将自然语言的待转换文本与数据表的列名一起输入自然语言转换模型中,可以得到SQL语句中的条件列名和选择列名,同时自然语言部分得到其每个字符对应得到属性标识,通过该属性标识可以直接提取出条件值。接下来根据条件值和条件列名确定条件表达式,至此可以确定出SQL语句,从而基于SQL语句进行查询,使得将自然语言转换成SQL语句的效率高,进而使得数据库查询的速度快、效率高。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开提供的一种数据库的查询方法的流程示意图;
图2为本公开提供的另一种数据库的查询方法的流程示意图;
图3为本公开提供的另一种数据库的查询方法的流程示意图;
图4为本公开提供的另一种数据库的查询方法的流程示意图;
图5A为本公开提供的一种自然语言转换模型的输入输出示意图;
图5B为本公开提供的一种根据属性标识提取条件值的示意图;
图5C为本公开提供的一种判断正确的条件表达式的原理示意图;
图6为本公开提供的一种数据库的查询装置的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在数据库查询过程中,常常使用SQL语句进行查询。SQL是一种编程语言,在数据库查询过程中,可以接收用户输入的自然语言,将自然语言转化为计算机可识读的SQL语句,从而基于SQL语句进行查询。
以一种SQL语句的结构为例进行说明,SQL语句的结构如下:
select选择列名from数据表名称where条件列名运算符条件值。
由此可知,SQL语句的结构中包括:选择列名、条件表达式。其中,条件表达式包括条件值、条件列名和条件值与条件列名的关系。
其中,选择列名为选择(select)子句中的列的名称。
其中,条件表达式为条件(where)子句中的条件的表达式。条件表达式可以有一个或多个,本公开对此不做限制。
本公开提供的数据库查询方法,对于输入的自然语言文本,将自然语言文本与数据表的列名一起输入自然语言转换模型中,可以得到SQL语句中的条件列名和选择列名,同时自然语言部分得到其每个字符对应得到属性标识,通过该属性标识可以直接提取出条件值。接下来根据条件值和条件列名确定条件表达式,至此可以确定出SQL语句,从而基于SQL语句进行查询,使得将自然语言转换成SQL语句的效率高,进而使得数据库查询的速度快、效率高。
图1为本公开提供的一种数据库的查询方法的流程示意图,如图1所示,本实施例的方法由电子设备执行。该电子设备可以为客户端、数据库服务器,也可以为与客户端连接的其他电子设备。电子设备可以是服务器、计算机设备、终端设备等,在此本公开不做限制。本实施例的方法如下:
S101、将待转换文本和数据表的列名输入至自然语言转换模型,得到待转换文本中每个字符对应的属性标识、条件列名和选择列名。
待转换文本为自然语言的文本。用户输入文字形式或者语音形式的自然语言,如果用户输入的为文字形式的自然语音,则待转换文本为该用户输入的文字形式。如果用户输入的为语音形式的自然语音,则将语音形式的自然语言转换为文字形式的待转换文本。
可以将待转换文本与数据表中的列名拼接,得到拼接语句。上述数据表中的列名可以包括数据表中的所有列的列名。将待转换文本与数据表中的列名拼接时,可以在每个数据表的列名前使用分隔符。示例性的,在每个列名前可以增加[SEP]。
可选的,可以在数据表的列名前增加类型标识。对于数据表的列名其所在的列的数据值具有类型属性,例如,可为数字类型或者文本类型。可以在数字类型的列名前增加数字类型标识,例如,可以为[Real]。可以在文本类型的列名前增加文字类型标识,例如,可以为[Text]。
将拼接语句输入自然语言转换模型,拼接语句的每一位对应得到一个输出,分别是待转换文本中每个字符对应的属性标识、条件列名和选择列名。从而,通过步骤S101得到了SQL语句中的条件列名和选择列名。
其中,自然语言转换模型为训练好的模型,用于对输入的待转换文本进行处理,从而得到待转换文本中每个字符对应的属性标识、条件列名和选择列名。
可选的,自然语言转换模型的模型结构可以为基于注意力的变换器(transformer)的编码器(encoder)结构,例如,来自变换器的双向编码器表示预训练模型(Bidirectional Encoder Representations from Transformers,简称Bert)。
其中,待转换文本中的每个字符的位置输出其对应的属性标识。属性标识包括:文本开始标识、文本中间标识、数字开始标识、数字中间标识或非条件值标识。其中,文本开始标识表示其对应的字符为条件值中文本的开始字符。文本中间标识表示其对应的字符为条件值中除开始字符外的其他字符。数字开始标识表示其对应的字符为条件值中数字的开始字符。数字中间标识表示其对应的字符为条件值中除开始字符外的其他字符。非条件值标识表示该字符不是条件值。
其中,每个数据表的列名前的类型标识输出选择列标识和条件列标识,其中,选择列标识用于指示其对应的数据表的列是否是选择列,也就是,其对应的数据表的列名是否为选择列名。
其中,条件列标识用于指示其对应的数据表的列是否是条件列,也就是,其对应的数据表的列名是否为条件列名。
可选的,条件列标识可以包括:为条件列标识和非条件列标识,其中,非条件列标识用于指示该数据表的列名不是条件列名。其中,为条件列标识可以包括运算符。运算符可以包括但不限于:大于号、等于号、小于号或者不等号等。由于条件值和条件列名可能有多个,因此,此处得到的运算符并不是最终的条件表达式中的运算符。
其中,数据表的列名包括条件列名和选择列名。条件列名为从数据表的列名中选出的,选择列名为从数据表的列名中选出的,因此,数据表的列名包括条件列名和选择列名。
S102、根据待转换文本中每个字符对应的属性标识,从待转换文本中提取条件值。
根据步骤S101中得到的待转换文本中每个字符对应的属性标识,可以从待转换文本中提取条件值。在提取条件值时,属性标识为文本开始标识和其后连续的文本中间标识对应的待转换文字中的字符可以提取为一个条件值。数字开始标识和其后连续的数字中间标识对应的待转换文字中的字符可以提取为一个条件值。非条件值标识则不进行提取。
提取条件值的步骤执行完后,判断是否提出去条件值。
可以理解,提取出的条件值可以为零个、一个或多个,对于条件值的数量本公开不做限制。
若未提取出的条件值为零个,即未提取出条件值,则可以根据选择列名生成SQL语句。
若提取出的条件值为一个或多个,则继续执行S103。
S103、根据条件值和条件列名,确定条件值与条件列名的条件表达式。
根据得到的条件值和条件列名,可以确定条件值与条件列名的条件表达式,也就是确定所有条件值与所有条件列名的对应关系,并确定对应的条件值与条件列名之间的关系。可以理解,条件表达式可以为一个或多个。
S104、根据条件表达式和选择列名,得到结构化查询语言语句。
S105、基于结构化查询语言语句进行查询,得到查询结果。
根据条件表达式和选择列名可以得到结构化查询语句。从而基于该结构化查询语言语句在数据库中执行查询操作,得到查询结果。
本实施例,通过将自然语言的待转换文本与数据表的列名一起输入自然语言转换模型中,可以得到SQL语句中的条件列名和选择列名,同时自然语言部分得到其每个字符对应得到属性标识,通过该属性标识可以直接提取出条件值。接下来根据条件值和条件列名确定条件表达式,至此可以确定出SQL语句,从而基于SQL语句进行查询,使得将自然语言转换成SQL语句的效率高,进而使得数据库查询的速度快、效率高。
在图1所示实施例的基础上,进一步地,属性标识中能够区分文本和数字,因此,根据属性标识提取的条件值的类型包括数字类型和文本类型,即条件值包括数字类型的条件值和文本类型的条件值。数据库的列名所属的列类型包括:数字类型或者文本类型,因此,条件列名的类型包括:数字类型和文本类型,即条件列名包括:数字类型的条件列名和文本类型的条件列名。由于条件表达式中,只有相同类型的条件值和条件列名才可能在同一个条件表达式中,则在步骤S103中可以对条件值和条件列名按照数字和文本进行单独处理,从而得到所有的条件表达式。其中,目标数字类型的条件值是所有的数字类型的条件值中的任一条件值。目标数字类型的条件列名是所有的数字类型的条件列名中的任一条件列名。目标运算符是所有的运算符中的任一运算符。下面以图2所示实施例进行详细说明。
请参见图2,图2为本公开提供的另一种数据库的查询方法的流程示意图,图2是在图1所示实施例的基础上,进一步地,S103可以通过如下步骤S1031-S1033执行:
S1031、根据数字类型的条件值与数字类型的条件列名,确定数字类型的条件值与数字类型的条件列名的条件表达式。
可以获取所有的条件值中的数字类型的条件值,获取所有的条件列名中的数字类型的条件列名。将所有的数字类型的条件值和所有的数字类型的条件列名进行单独处理。
条件列名与条件值如果均为数字类型,则条件表达式中二者的对应关系可以为大于、小于、等于或者不等于,或者上述四种关系的可能的组合情况,例如,小于或等于。
可选的,在所有的数字类型的条件值的任一个条件值、所有的数字类型的条件列名中的任一个条件列名和所有的运算符中的任一个运算符,组成一个输入语句,将该输入语句输入语句判断模型,获取条件值与条件列的匹配度,从而确定条件表达式,下面以具体的实施例进行详细说明。
步骤S1031可以通过如下步骤1-步骤3实现:
步骤1、根据待转换文本、目标数字类型的条件值、目标数字类型的条件列名和目标运算符,得到目标第一输入语句。
根据目标数字类型的条件值、目标数字类型的条件列名和目标运算符,可以得到第一目标条件表达式。从而将待转换文本和第一目标条件表达式进行拼接,得到目标第一输入语句。
其中,目标数字类型的条件值是所有的数字类型的条件值中的任一条件值。目标数字类型的条件列名是所有的数字类型的条件列名中的任一条件列名。目标运算符是所有的运算符中的任一运算符。
其中,目标运算符可以包括但不限于:大于号、等于号、小于号和/或不等号等。
步骤2、将目标第一输入语句输入至语句判断模型,得到目标第一输入语句的标识。
将所有的目标第一输入语句分别输入至语句判断模型,得到目标第一输入语句的标识。
其中,语句判断模型为训练好的模型,用于根据待转换文本,确定输入的目标第一输入语句中包含的第一目标条件表达式是否正确。
可选的,语句判断模型的模型结构可以为基于注意力的变换器的编码器结构,例如,Bert。
其中,目标第一输入语句的标识用于指示目标第一输入语句是否正确。示例性的,目标第一输入语句的标识可以是目标第一输入语句的句首标志位[CLS]的输出。句首标志位的输出可以用字符表示。例如,句首标志位的输出可以为“0”或者“1”。句首标志位的输出是“0”时,表示该第一目标条件表达式错误,句首标志位的输出是“1”时,表示该第一目标条件表达式正确。
步骤3、根据所有正确的目标第一输入语句,确定数字类型的条件值与数字类型的条件列名的条件表达式。
根据目标第一输入语句的标识,确定所有正确的目标第一输入语句。从所有正确的目标第一输入语句中获取第一目标条件表达式。获取到的第一目标条件表达式是数字类型的条件值与数字类型的条件列名的条件表达式。
通过对数字类型进行单独处理,并通过语句判断模型快速准确得到条件表达式。
S1032、根据文本类型的条件值与文本类型的条件列名,确定文本类型的条件值与文本类型的条件列名的文本类型的条件表达式。
可以获取所有的条件值中的文本类型的条件值,获取所有的条件列名中的文本类型的条件列名。将所有的文本类型的条件值和所有的文本类型的条件列名进行单独处理。
条件列名与条件值如果均为文本类型,则条件表达式中二者的对应关系可以为:“是”或者“不是”。
一种可能的实现方式中,可以根据文本类型的条件值与文本类型的条件列名进行相似度匹配,从而得到文本类型的条件值与文本类型的条件列名的条件表达式。
另一种可能的实现方式中,在所有的文本类型的条件值中的任一个条件值、所有的文本类型的条件列名中的任一个条件列名和所有的文本关系中的任一个对应关系,组成一个输入语句,对该输入语句判断其正误,从而确定条件表达式,下面以具体的实施例进行详细说明。
步骤S1031可以通过如下步骤a-步骤c实现:
步骤a、根据待转换文本、目标文本类型的条件值、目标文本类型的条件列名和目标文本关系,得到目标第二输入语句。
根据目标文本类型的条件值、目标文本类型的条件列名和目标文本关系,可以得到第二目标条件表达式。从而将待转换文本和第二目标条件表达式进行拼接,得到目标第二输入语句。
其中,目标文本类型的条件值是所有的文本类型的条件值中的任一条件值。目标文本类型的条件列名是所有的文本类型的条件列名中的任一条件列名。目标文本关系是所有的文本关系中的任一文本关系。
其中,目标文本关系可以包括但不限于:是或者不是。即目标文本关系为“是”用于表示目标文本类型的条件列名所属的列中的数据值是目标文本类型的条件值。目标文本关系为“不是”用于表示目标文本类型的条件列名所属的列中的数据值不是目标文本类型的条件值。
步骤b、将目标第二输入语句输入至语句判断模型,得到目标第二输入语句的标识,目标第二输入语句的标识用于指示目标第二输入语句是否正确。
将所有的目标第二输入语句分别输入至语句判断模型,得到目标第二输入语句的标识。
其中,语句判断模型为训练好的模型,用于根据待转换文本,确定输入的目标第二输入语句中包含的第二目标条件表达式是否正确。
可选的,语句判断模型的模型结构可以为基于注意力的变换器的编码器结构,例如,Bert。
可选的,该语句判断模型与上述对数字类型进行处理时的语句判断模型相同。
其中,目标第二输入语句的标识用于指示目标第二输入语句是否正确。示例性的,目标第二输入语句的标识可以是目标第二输入语句的句首标志位[CLS]的输出。句首标志位的输出可以用字符表示。例如,句首标志位的输出可以为“0”或者“1”。句首标志位的输出是“0”时,表示第二目标条件表达式错误,句首标志位的输出是“1”时,表示第二目标条件表达式正确。
步骤c、根据所有正确的目标第二输入语句,确定文本类型条件值与文本类型条件列名的文本类型条件表达式。
根据目标第一输入语句的标识,确定所有正确的目标第一输入语句。从所有正确的目标第一输入语句中获取第一目标条件表达式。获取到的第一目标条件表达式是数字类型的条件值与数字类型的条件列名的条件表达式。
通过对文本类型进行单独处理,并通过语句判断模型快速准确得到条件表达式。
可以理解,S1031和S1032的执行没有先后顺序。可以先执行S1031,再执行S1032。也可以先执行S1032,再执行S1031。还可以同时执行S1032和S1031。其中,同时执行S1032和S1031,可以缩短处理时间,提高转换效率。
S1033、确定条件值与条件列名的条件表达式为数字类型的条件值与数字类型的条件列名的条件表达式和文本类型的条件值与文本类型的条件列名的条件表达式。
确定条件值与条件列名的条件表达式为步骤S1031得到的条件表达式和步骤S1032得到的条件表达式。
本实施例,通过属性标识直接将提取出的条件值区分为数字类型条件值和文本类型条件值,从而在得到条件表达式的过程中,分类型进行单独处理,根据数字类型的条件值和数字类型的条件列名得到相应的条件表达式,根据文本类型的条件值和文本类型的条件列名得到相应的条件表达式。从而确定条件值与条件列名的条件表达式为数字类型的条件值与数字类型的条件列名的条件表达式和文本类型的条件值与文本类型的条件列名的条件表达式。减小了处理的工作量,提高了处理效率。
图3为本公开提供的另一种数据库的查询方法的流程示意图,图3是在图2所示实施例的基础上,进一步地,如图3所示,在上述实施例的基础上,进一步地,步骤S1032之后还可以执行如下步骤S1034和S1035:
S1034、将文本类型的条件值与数据表中的文本类型的数据值进行匹配,得到替换条件值。
其中,数据表中的文本类型数据值包括替换条件值。
可以将文本类型的条件值与数据表中所有的文本类型的数据值进行匹配,也可以获取文本类型条件值所在的条件表达式中的条件列名,将文本类型条件值与该条件列名所属的列中的数据值进行匹配。
若匹配到相同的条件值,则无需得到替换条件值。若匹配不到相同的条件值,则替换条件值为最相似的条件值。
S1035、根据替换条件值和文本类型的条件列名,得到替换条件值与文本类型的条件列名的条件表达式。
将文本类型的条件值与文本类型的条件列名的条件表达式中的文本类型的条件值替换为替换条件值,得到替换条件值与文本类型的条件列名的条件表达式。
相应的,S1033可以通过如下步骤S10331实现:
S10331、确定条件值与条件列名的条件表达式为数字类型的条件值与数字类型的条件列名的条件表达式和文本类型条件值与文本类型条件列名的条件表达式。
由于SQL语句进行查询时,均为精确查询,若待转换文本中的条件值与数据库中的数据值并不完全一致,则查询结果不准确,甚至可能查询不到。本实施例通过相似匹配的方式,将条件值替换为数据库中的数据值,即替换条件值,从而得到的条件表达式更加准确,生成的SQL语句更加准确,更有利于查询到准确的结果,提高了查询效率。
在上述任一实施例的基础上,进一步地,步骤S201可以通过如下步骤实现:
将待转换文本和数据表的列名输入至自然语言转换模型,得到待转换文本中每个字符对应的属性标识、条件列名、选择列名、条件连接符和聚合条件。
其中,每个数据表的列名前的类型标识输出选择列标识还可以指示聚合条件。聚合条件具有多种,则选择列标识可以包括每种聚合条件对应的聚合标识和非选择列标识。其中,非选择列标识用于指示该数据表的列名不是选择列名。可以理解,聚合条件可以包括但不限于如下聚合条件:
返回指定组中的平均值(AVG);
返回指定组中项目的数量(COUNT);
返回指定数据的最大值(MAX);
返回指定数据的最小值(MIN);
返回指定数据的和(SUM)。
其中,在将待转换文本与数据表中的列名拼接时,可以在待转换文本前使用句首标志位。示例性的,在待转换文本前可以增加[CLS]。
从而句首标志位处输出的为条件连接符。其中,条件连接符包括:“或”连接符、“与”连接符或者“空”。即后面生成的条件表达式之间的关系可以为“或”的关系,也可以为“与”的关系。条件连接符“空”表示条件表达式之间没有关系,例如,生成的条件表达式为一个时,该条件连接符为“空”。
本实施例,通过自然语言转换模型,得到待转换文本中每个字符对应的属性标识、条件列名、选择列名、条件连接符和聚合条件,从而通过一个模型,便得到了SQL语句中的大部分信息,从而在接下来的步骤中,确定条件表达式,即可确定SQL语句,从而提高了转换SQL语句的效率,进而提高了查询效率。
图4为本公开提供的另一种数据库的查询方法的流程示意图,图4是在上述任一实施例的基础上,进一步地,如图4所示,在执行步骤S101之前,可以执行S100,相应的,S101可以通过如下步骤S1011实现:
S100、对待转换文本进行预处理,得到处理后的待转换文本。
其中,预处理可以包括但不限于:
将待转换文本中表示数字的词替换成标准格式的替换词。例如,将数字“一千”替换成“1000”。
将表示时间的词替换成标准时间表达式。例如,将“今天”、“昨天”“上周三”等替换成“年月日”的日期表达式。
S1011、将处理后的待转换文本和数据表的列名输入至自然语言转换模型。
本实施例,通过对待转换文本进行预处理,将待转换文本中的次元转换为标准格式的替换词,利于后续对待转换文本的转换,提高了转换效率,进而提高了查询效率。
在上述实施例的基础上,进一步地,在步骤S101中,若待转换文本有多个,可以将每个待转换文本与数据表的列名拼接,得到每个待转换文本对应的输入语句,将所有的待转换文本对应的输入语句输入至自然语言转换模型。
其中,若各待转换文本的字数不同,则可以通过空白字符补齐成预设阈值数量的文本长度,得到字数为预设阈值的多个待转换文本。其中,预设阈值大于等于各待转换文本的字数中的最大值。
每个字数为预设阈值的多个待转换文本与数据表的列名拼接,并组成掩码矩阵,其中,掩码矩阵中每一行为一个字数为预设阈值的多个待转换文本与数据表的列名拼接的语句。
将掩码矩阵输入自然语言转换模型,得到待转换文本中每个字符对应的属性标识、条件列名和选择列名。
进一步地,输入到自然语言转换模型的数据为数字,便于自然语言转换模型进行处理,因此,在将掩码矩阵输入自然语言转换模型之前,还可以执行如下步骤:
将掩码矩阵中的待转换文本中的每个字转换为数字编码,得到转换后的掩码矩阵。
从而将转换后的掩码矩阵输入自然语言转换模型。
下面以自然语言转换模型的模型结构为Bert结构为例进行说明。假设待转换文本为:“过去三天中AB最低收盘价和最高收盘价分别是多少?”其中,AB为某品牌名称。
步骤A、将待转换文本中的“过去三天”转换为“20210202至20210205”,得到处理后的待转换文本“20210202至20210205中AB最低收盘价和最高收盘价分别是多少”。
此步骤A对应上述步骤S100。
请参见图5A,图5A为本公开提供的一种自然语言转换模型的输入输出示意图。下面结合图5A介绍步骤B-步骤D。
步骤B、获取到数据表中的所有列名。假设数据表中的所有列名包括:交易日期和股票名称等。
步骤C、将“20210202至20210205中AB最低收盘价和最高收盘价分别是多少”与数据表中的所有列名拼接,得到拼接语句“[CLS][20210202][至][20210205][A][B][最][低][收][盘][价][和][最][高][收][盘][价][分][别][是][多][少][SEP][Real][交易日期][SEP][Text][股票名称][SEP]……”。
步骤D、将拼接语句输入到已经训练好的自然语言转换模型,得到条件连接符501、待转换文本中每个字符对应的属性标识502、条件列标识503、选择列标识504。
其中,属性标识502中,“O”表示非条件值标识,“T-B”表示文本开始标识,“T-I”表示文本中间标识,“R-B”表示数字开始标识、“R-I”表示数字中间标识。
其中,选择列标识504标识中包含聚合条件。
此步骤B-步骤D对应上述步骤S101。
步骤E、根据待转换文本中每个字符对应的属性标识,从待转换文本中提取条件值。
请参见图5B,图5B为本公开提供的一种根据属性标识提取条件值的示意图。“20210202至20210205中AB最低收盘价”得到的属性标识505。从文本开始标识到其后连续的文本中间标识为止为一个文本类型的条件值,从而得到文本类型的条件值“AB”。从数字开始标识到其后连续的数字中间标识为止为一个数字类型的条件值,从而得到文本类型的条件值“20210202”和“20210205”。从而得到文本类型和数字类型的条件值。
此步骤E对应上述步骤S102。
步骤F、将得到的条件值、条件列名和对应关系一一组合在一起。
请参见图5C,图5C为本公开提供的一种判断正确的条件表达式的原理示意图。
数字类型的条件表达式分别为:
交易日期大于20210202;
交易日期小于20210202;
交易日期等于20210202;
交易日期大于20210205;
交易日期小于20210205;
交易日期等于20210205;
此处对应步骤1。
文本类型的条件表达式为:
股票名称是AB。
此处对应步骤a。
将待转换文本分别与上述数字类型的条件表达式拼接,得到第一输入语句。将第一输入语句分别输入到语句判断模型中,得到句首标识[CLS]的输出,该输出表示该第一输入语句中包含的条件表达式是否正确。此处对应步骤2。
将待转换文本分别与上述文本类型的条件表达式拼接,得到第二输入语句。将第二输入语句分别输入到语句判断模型中,得到句首标识[CLS]的输出,该输出表示该第二输入语句中包含的条件表达式是否正确。此处对应步骤b。
从而根据所有正确的目标第一输入语句,确定数字类型的条件值与数字类型的条件列名的条件表达式分别为:交易日期>20210202,交易日期<20210205。
从而根据所有正确的目标第二输入语句,确定文本类型条件值与文本类型条件列名的文本类型条件表达式为:股票代码为AB。
步骤G、将“AB”与数据表中的文本类型的数据值进行匹配,得到替换条件值“ABCD”。
自然语言中,可能输入的AB为公司名称的简称,其与股票名称并不完全相同,因此可以将其转换为数据库中存储的名称“ABCD”。
此步骤G对应上述步骤S1034。
步骤H、得到SQL语句。此步骤G对应上述步骤S104。
步骤I、基于SQL语句进行查询,得到查询结果。此步骤G对应上述步骤S105。
图6为本公开提供的一种数据库的查询装置的结构示意图,如图6所示,本公开提供的装置包括:
输入模块601,用于将待转换文本和数据表的列名输入至自然语言转换模型,得到待转换文本中每个字符对应的属性标识、条件列名和选择列名,其中,属性标识包括:文本开始标识、文本中间标识、数字开始标识、数字中间标识或非条件值标识;数据表的列名包括条件列名和选择列名;
提取模块602,用于根据待转换文本中每个字符对应的属性标识,从待转换文本中提取条件值;
条件关系模块603,用于根据条件值和条件列名,确定条件值与条件列名的条件表达式;
结构化查询语言语句生成模块604,用于根据条件表达式和选择列名,得到结构化查询语言语句;
查询模块605,用于基于结构化查询语言语句进行查询,得到查询结果。
可选的,条件值的类型包括数字类型和文本类型,条件列名的类型包括:数字类型和文本类型;条件关系模块603具体用于:
根据数字类型的条件值与数字类型的条件列名,确定数字类型的条件值与数字类型的条件列名的条件表达式;
根据文本类型的条件值与文本类型的条件列名,确定文本类型的条件值与文本类型的条件列名的条件表达式;
确定条件值与条件列名的条件表达式为数字类型的条件值与数字类型的条件列名的条件表达式和文本类型的条件值与文本类型的条件列名的条件表达式。
可选的,条件关系模块603具体用于:
根据待转换文本、目标数字类型的条件值、目标数字类型的条件列名和目标运算符,得到目标第一输入语句,目标运算符包括:大于号、等于号、小于号和/或不等号;
将目标第一输入语句输入至语句判断模型,得到目标第一输入语句的标识,目标第一输入语句的标识用于指示目标第一输入语句是否正确;
根据所有正确的目标第一输入语句,确定数字类型条件值与数字类型条件列名的数字类型条件表达式。
可选的,条件关系模块603具体用于:
根据待转换文本、目标文本类型的条件值、目标文本类型的条件列名和目标文本关系,得到目标第二输入语句,目标文本关系包括:是或者不是;
将目标第二输入语句输入至语句判断模型,得到目标第二输入语句的标识,目标第二输入语句的标识用于指示目标第二输入语句是否正确;
根据所有正确的目标第二输入语句,确定文本类型条件值与文本类型条件列名的条件表达式。
可选的,装置还包括:
相似替换模块,用于将文本类型的条件值与数据表中的文本类型的数据值进行匹配,得到替换条件值,数据表中的文本类型数据值包括替换条件值;根据替换条件值和文本类型的条件列名,得到替换条件值与文本类型的条件列名的条件表达式;
条件关系模块603具体用于:确定条件值与条件列名的条件表达式为数字类型的条件值与数字类型的条件列名的条件表达式和文本类型条件值与文本类型条件列名的条件表达式。
可选的,输入模块601具体用于:
将待转换文本和数据表的列名输入至自然语言转换模型,得到待转换文本中每个字符对应的属性标识、条件列名、选择列名、条件连接符和聚合条件,其中,条件连接符包括或连接符或与连接符。
可选的,装置还包括:
预处理模块,用于对待转换文本进行预处理,得到处理后的待转换文本;
输入模块601具体用于:
将处理后的待转换文本和数据表的列名输入至自然语言转换模型。
上述实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本公开提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序;其中一个或多个计算机程序被存储在存储器中;一个或多个处理器在执行一个或多个计算机程序时,使得电子设备实现如上述实施例的方法。
本公开提供一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述实施例的方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据库的查询方法,其特征在于,包括:
将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名和选择列名,其中,所述属性标识包括:文本开始标识、文本中间标识、数字开始标识、数字中间标识或非条件值标识;所述数据表的列名包括所述条件列名和所述选择列名;
根据所述待转换文本中每个字符对应的属性标识,从所述待转换文本中提取条件值;
根据所述条件值和所述条件列名,确定所述条件值与所述条件列名的条件表达式;
根据所述条件表达式和选择列名,得到结构化查询语言语句;
基于所述结构化查询语言语句进行查询,得到查询结果。
2.根据权利要求1所述的方法,其特征在于,所述条件值的类型包括数字类型和文本类型,所述条件列名的类型包括:数字类型和文本类型;所述根据所述条件值和所述条件列名,确定所述条件值与所述条件列名的条件表达式,包括:
根据数字类型的条件值与数字类型的条件列名,确定所述数字类型的条件值与所述数字类型的条件列名的条件表达式;
根据文本类型的条件值与文本类型的条件列名,确定所述文本类型的条件值与所述文本类型的条件列名的条件表达式;
确定所述条件值与所述条件列名的条件表达式为所述数字类型的条件值与所述数字类型的条件列名的条件表达式和所述文本类型的条件值与所述文本类型的条件列名的条件表达式。
3.根据权利要求2所述的方法,其特征在于,根据根据数字类型的条件值与数字类型的条件列名,确定所述数字类型的条件值与所述数字类型的条件列名的条件表达式,包括:
根据所述待转换文本、目标数字类型的条件值、目标数字类型的条件列名和目标运算符,得到目标第一输入语句,所述目标运算符包括:大于号、等于号、小于号和/或不等号;
将所述目标第一输入语句输入至语句判断模型,得到目标第一输入语句的标识,所述目标第一输入语句的标识用于指示所述目标第一输入语句是否正确;
根据所有正确的所述目标第一输入语句,确定所述数字类型条件值与所述数字类型条件列名的数字类型条件表达式。
4.根据权利要求2所述的方法,其特征在于,所述根据文本类型的条件值与文本类型的条件列名,确定所述文本类型的条件值与所述文本类型的条件列名的条件表达式,包括:
根据所述待转换文本、目标文本类型的条件值、目标文本类型的条件列名和目标文本关系,得到目标第二输入语句,所述目标文本关系包括:是或者不是;
将所述目标第二输入语句输入至语句判断模型,得到目标第二输入语句的标识,所述目标第二输入语句的标识用于指示所述目标第二输入语句是否正确;
根据所有正确的所述目标第二输入语句,确定所述文本类型条件值与所述文本类型条件列名的条件表达式。
5.根据权利要求2所述的方法,其特征在于,所述根据文本类型的条件值与文本类型的条件列名,确定所述文本类型的条件值与所述文本类型的条件列名的条件表达式之后,还包括:
将所述文本类型的条件值与数据表中的文本类型的数据值进行匹配,得到替换条件值,所述数据表中的文本类型数据值包括所述替换条件值;
根据所述替换条件值和所述文本类型的条件列名,得到所述替换条件值与所述文本类型的条件列名的条件表达式;
所述确定所述条件值与所述条件列名的条件表达式为所述数字类型的条件值与所述数字类型的条件列名的条件表达式和所述文本类型的条件值与所述文本类型的条件列名的条件表达式,包括:
确定所述条件值与所述条件列名的条件表达式为所述数字类型的条件值与所述数字类型的条件列名的条件表达式和所述文本类型条件值与所述文本类型条件列名的条件表达式。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名和选择列名,包括:
将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名、选择列名、条件连接符和聚合条件,其中,所述条件连接符包括或连接符或与连接符。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述将待转换文本和数据表的列名输入至自然语言转换模型之前,还包括:
对所述待转换文本进行预处理,得到处理后的待转换文本;
所述将待转换文本和数据表的列名输入至自然语言转换模型,包括:
将处理后的待转换文本和数据表的列名输入至自然语言转换模型。
8.一种数据库的查询装置,其特征在于,包括:
输入模块,用于将待转换文本和数据表的列名输入至自然语言转换模型,得到所述待转换文本中每个字符对应的属性标识、条件列名和选择列名,其中,所述属性标识包括:文本开始标识、文本中间标识、数字开始标识、数字中间标识或非条件值标识;所述数据表的列名包括所述条件列名和所述选择列名;
提取模块,用于根据所述待转换文本中每个字符对应的属性标识,从所述待转换文本中提取条件值;
条件关系模块,用于根据所述条件值和所述条件列名,确定所述条件值与所述条件列名的条件表达式;
结构化查询语言语句生成模块,用于根据所述条件表达式和选择列名,得到结构化查询语言语句;
查询模块,用于基于所述结构化查询语言语句进行查询,得到查询结果。
9.一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序;其中所述一个或多个计算机程序被存储在所述存储器中;其特征在于,所述一个或多个处理器在执行所述一个或多个计算机程序时,使得所述电子设备实现如权利要求1-7任一项所述的方法。
10.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726905.7A CN113468174A (zh) | 2021-06-29 | 2021-06-29 | 数据库的查询方法、装置、电子设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726905.7A CN113468174A (zh) | 2021-06-29 | 2021-06-29 | 数据库的查询方法、装置、电子设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113468174A true CN113468174A (zh) | 2021-10-01 |
Family
ID=77873689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110726905.7A Pending CN113468174A (zh) | 2021-06-29 | 2021-06-29 | 数据库的查询方法、装置、电子设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468174A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969044A (zh) * | 2022-05-30 | 2022-08-30 | 北京火山引擎科技有限公司 | 一种基于数据湖的物化列创建方法以及数据查询方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446277A (zh) * | 2018-09-21 | 2019-03-08 | 北京翰云时代数据技术有限公司 | 基于中文自然语言的关系型数据智能搜索方法及*** |
CN111414380A (zh) * | 2020-03-20 | 2020-07-14 | 华泰证券股份有限公司 | 一种中文数据库sql语句生成方法、设备及存储介质 |
CN112800201A (zh) * | 2021-01-28 | 2021-05-14 | 杭州汇数智通科技有限公司 | 自然语言的处理方法、装置及电子设备 |
-
2021
- 2021-06-29 CN CN202110726905.7A patent/CN113468174A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446277A (zh) * | 2018-09-21 | 2019-03-08 | 北京翰云时代数据技术有限公司 | 基于中文自然语言的关系型数据智能搜索方法及*** |
CN111414380A (zh) * | 2020-03-20 | 2020-07-14 | 华泰证券股份有限公司 | 一种中文数据库sql语句生成方法、设备及存储介质 |
CN112800201A (zh) * | 2021-01-28 | 2021-05-14 | 杭州汇数智通科技有限公司 | 自然语言的处理方法、装置及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969044A (zh) * | 2022-05-30 | 2022-08-30 | 北京火山引擎科技有限公司 | 一种基于数据湖的物化列创建方法以及数据查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813802B (zh) | 一种基于自然语言生成结构化查询语句的方法 | |
CN112069298B (zh) | 基于语义网和意图识别的人机交互方法、设备及介质 | |
CN108304372B (zh) | 实体提取方法和装置、计算机设备和存储介质 | |
CN107291783B (zh) | 一种语义匹配方法及智能设备 | |
CN112800201B (zh) | 自然语言的处理方法、装置及电子设备 | |
CN111177184A (zh) | 基于自然语言的结构化查询语言转换方法、及其相关设备 | |
EP3318978A1 (en) | System and method for semantic analysis of speech | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
CN109685056A (zh) | 获取文档信息的方法及装置 | |
Kaur et al. | A survey of named entity recognition in English and other Indian languages | |
CN104199965A (zh) | 一种语义信息检索方法 | |
CN112163553B (zh) | 物料价格核算方法、装置、存储介质和计算机设备 | |
JP2006244262A (ja) | 質問回答検索システム、方法およびプログラム | |
CN111209396A (zh) | 实体识别模型的训练方法及实体识别方法、相关装置 | |
CN112380848B (zh) | 文本生成方法、装置、设备及存储介质 | |
CN114266256A (zh) | 一种领域新词的提取方法及*** | |
CN115878778A (zh) | 面向业务领域的自然语言理解方法 | |
Hämäläinen et al. | Revisiting NMT for normalization of early English letters | |
CN111831810A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN114595661A (zh) | 用于评审投标文件的方法、设备和介质 | |
CN113468174A (zh) | 数据库的查询方法、装置、电子设备和计算机存储介质 | |
CN117112767A (zh) | 问答结果生成方法和商业查询大模型训练方法、及装置 | |
CN115080603B (zh) | 一种数据库查询语言转换方法、装置、设备及存储介质 | |
CN111104422A (zh) | 一种数据推荐模型的训练方法、装置、设备及存储介质 | |
CN113420124B (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 |