CN108241670A - 数据库语句生成方法及装置 - Google Patents
数据库语句生成方法及装置 Download PDFInfo
- Publication number
- CN108241670A CN108241670A CN201611218184.4A CN201611218184A CN108241670A CN 108241670 A CN108241670 A CN 108241670A CN 201611218184 A CN201611218184 A CN 201611218184A CN 108241670 A CN108241670 A CN 108241670A
- Authority
- CN
- China
- Prior art keywords
- field
- target
- corresponding target
- string
- information
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了数据库语句生成方法及装置,不需要对整个自然语言查询字符串进行划分,而是先将整个自然语言查询字符串划分为各字段对应的目标字符串,再对各目标字符串进行划分,从而提高了划分自然语言查询字符串的效率;再次,将各字段相应的目标集合中目标词组与相应字段的属性信息相匹配,获得匹配成功目标字段;并生成数据库语句,用户可以利用自然语言查询字符串查询数据库中的数据,不用输入专用的操作命令,从而扩大了数据库的用户适用范围。
Description
技术领域
本申请实施例涉及数据库技术领域,更具体的涉及一种数据库语句生成方法及装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,对数据库中存储的数据进行查询需要专用操作命令,例如SQL(Structured Query Language,结构化查询语言)查询语句。例如用户需要查询2007年7月月薪为10000-50000的员工姓名、编号和部门。假设员工表格为E,表格E包括以下字段:YGNAME(员工名)、YGBM(部门)、YGBH(编号);薪酬表格为A,表格A包括以下字段:NIAN(年份)、YUE(月份)、YGYX(月薪)、YGBH(编号)则SQL查询语句为:
Select E.*from E,A
Where E.YGBH=A.YGBH
And A.YGYX between 10000and 50000
And A.NIAN=2007
And A.YUE=7
这需要用户必须熟悉并掌握SQL查询语句,导致数据库的用户只能是具有专用操作命令知识的用户,使得数据库的适用范围受限。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库语句生成方法及装置。
一种数据库语句生成方法,包括:
接收用户输入的自然语言查询字符串;
将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串;
从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组;
将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;
依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句;
将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。
优选地,还包括:
判断所述数据库语句的准确性;
当所述数据库语句准确时,获取各字段相应的目标字符串的划分信息,所述划分信息包括各目标字符串的相邻字符信息、各目标字符串包含的字符信息;
当所述数据库语句不准确时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回步骤从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组。
其中,所述将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串包括:
依据预先设置的各字段相应的划分信息,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串。
优选地,在所述依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句之前,还包括:
依据预先设置的各字段的权重,计算各目标字段的权重之和;
当所述权重之和大于等于预设权重时,触发所述依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句步骤。
优选地,还包括:
当所述权重之和小于所述预设权重时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回步骤从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组。
其中,各字段包括指标字段,所述将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段包括:
将所述指标字段相应的目标集合中一个或多个目标词组,与预先存储的所述指标字段对应的指标数据库中各词组相匹配,所述指标数据库包括一个或多个词组;
当未成功匹配时,将所述指标数据库中的预设词组作为所述指标字段的目标词组;
将所述指标字段,确定为目标字段。
其中,各字段包括用户名称字段,所述将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段包括:
从预先设置的各用户名称字段相应的配置文件标识中,确定所述用户名称字段相应的目的配置文件标识;
从预先设置的各配置文件标识相应的解决方案标识中,确定所述目的配置文件标识相应的目的解决方案标识;
当确定出所述目的配置文件标识以及所述目的解决方案标识时,确定所述用户名称字段为一目标字段。
一种数据库语句生成装置,包括:
第一接收模块,用于接收用户输入的自然语言查询字符串;
第一划分模块,用于将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串;
第一获取模块,用于从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组;
第二获取模块,用于将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;
第一确定模块,用于依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句;
第一生成模块,用于将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。
优选的,还包括:
第一判断模块,用于判断所述数据库语句的准确性;
第三获取模块,用于当所述数据库语句准确时,获取各字段相应的目标字符串的划分信息,所述划分信息包括各目标字符串的相邻字符信息、各目标字符串包含的字符信息;
第一返回模块,用于当所述数据库语句不准确时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回所述第一获取模块。
优选的,所述第一划分模块包括:
划分单元,用于依据预先设置的各字段相应的划分信息,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串。
借由上述技术方案,本发明提供的数据库语句生成方法,当接收到用户输入的自然语言查询字符串后,首先会依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串,从各字段相应的目标字符串中,获得各字段相应的目标集合;即不会对整个自然语言查询字符串进行划分,而是先将整个自然语言查询字符串划分为各字段对应的目标字符串,再对各目标字符串进行划分,从而提高了划分自然语言查询字符串的效率;再次,将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句,将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。用户可以利用自然语言查询字符串查询数据库中的数据,不用输入专用的操作命令,从而扩大了数据库的用户适用范围。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种数据库语句生成方法的流程示意图;
图2示出了本申请实施例提供的一种数据库语句生成方法中通过机器学习获得自然语言字符串的划分信息的方法一种实现方式的流程示意图;
图3示出了本申请实施例提供的一种数据库语句生成方法中将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段的一种实现方式的方法流程示意图;
图4示出了本申请实施例提供的一种数据库语句生成方法中将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段的又一实现方式的方法流程示意图;
图5示出了本申请实施例提供的一种数据库语句生成装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
请参阅图1,为本申请实施例提供的一种数据库语句生成方法的流程示意图,该方法包括:
步骤S101:接收用户输入的自然语言查询字符串。
自然语言查询字符串是类似于日常生活中使用的语言,例如查询2016年1月1日到2016年2月1日安德玛官网的付费流量的访问量。
步骤S102:将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串。
本申请实施例中会预先设置用户在输入自然语言查询字符串时,需要先输入哪个字段,再输入哪个字段,可以理解的是,针对不同的企业,不同的需求,设置的字段的种类和顺序可能不同,本申请实施例提供但不限于以下各字段的顺序信息,例如预先设置的各字段的顺序信息为:日期字段、解决方案字段、维度字段以及指标字段。
其中解决方案字段是用于表示查询谁的内容,例如,解决方案字段可以包括:表格的名称、表格中的某一字段等等;维度字段是用于表示从哪个角度去查询,例如从收费角度查询、从付费角度查询、从免费角度查询、从来源角度查询等等,维度字段可以包括:广告来源、渠道来源、付费来源等等;指标字段是用于表示需要查询的具体内容,例如访问量、业内停留时间、业内浏览深度等等。
以“查询2007年7月月薪为10000-50000的员工姓名、编号和部门”为例,其中,“2007年7月”为日期字段、“月薪为10000-50000”是维度字段、“员工姓名、编号和部门”是指标字段。
再如“2016年1月1日到2016年2月1日安德玛官网的付费流量的访问量”中,“2016年1月1日到2016年2月1日”为日期字段、“安德玛官网”为解决方案字段、“付费流量”为维度字段、“访问量”为指标字段。
本申请实施例要求用户输入的自然语言查询字符串中字符的顺序是预先设置的各字段的顺序信息。假设预先设置的字段数目有4个,并不要求用户在输入自然语言查询字符串时,全部输入这4个字段相应的字符串,但是需要按照这样的顺序去输入。
这样在接收到用户输入的自言语言查询字符串时,就可以依据预先设置的各字段的顺序信息对自言语言查询字符串进行划分。
假设预先设置的各字段的顺序信息为:日期字段、解决方案字段、维度字段以及指标字段,以“2016年1月1日到2016年2月1日安德玛官网的付费流量的访问量”为例,将这一字符串分为4部分。
可以利用机器学习(Machine Learning,ML)得出对自然语言查询语句的划分信息,划分信息可以包括:各目标字符串的相邻字符信息、各字目标符串包含的字符信息,例如日期字段可以包括:“年”和/或“月”和/或“日”这些字符,且包含数字;各个不同的字段相应的字符串之间可能用“的”、“得”、“了”等词分隔开,假设将“2016年1月1日到2016年2月1日安德玛官网的付费流量的访问量”划分为“2016年1月1日到2016年2月1日”、“安德玛官网”、“付费流量”、“访问量”这4个目标字符串。
步骤S103:从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组。
仍以上述为例,则日期字段对应的目标字符串为“2016年1月1日到2016年2月1日”,其对应的目标集合包括:2016、2016年、2016年1、2016年1月、2016年1月1、2016年1月1日,……,到,……,2016年2、2016年2月、2016年2月1、2016年2月1日,……。
解决方案字段对应的目标字符串为“安德玛官网”,其对应的目标集合包括:安、安德、安德玛、安德玛官、安德玛官网、德、德玛、德玛官、德玛官网、玛、玛官、玛官网、官、官网、网。
维度字段对应的目标字符串为“付费流量”,其对应的目标集合包括:付、付费、付费流、付费流量、费、费流、费流量、流、流量、量。
指标字段对应的目标字符串为“访问量”,其对应的目标集合包括:访、访问、访问量、问、问量、量。
步骤S104:将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段。
仍以上述为例,每一字段的目标集合中包括一个或多个目标词组,将这些字段的目标集合中各个目标词组分别与该字段的属性信息相匹配。
由于在对自然语言查询字符串进行划分时,划分的可能不准确,或者有的用户在输入自然语言查询字符串时,缺少某一字段,即并不是所有字段相应的目标集合中都会有与相应字段的属性信息匹配成功的目标词组,所以需要从各字段中确定出,能够匹配成功的各目标字段。
仍以“2016年1月1日到2016年2月1日安德玛官网的付费流量的访问量”为例,假设日期字段对应的目标集合中,能够与其属性信息匹配成功的目标词组为:2016年1月1日、2016年2月1日;解决方案字段对应的目标集合中,能够与其属性信息匹配成功的目标词组为:安德玛官网;维度字段对应的目标集合中,能够与其属性信息匹配成功的目标词组为:付费流量;指标字段对应的目标集合中,能够与其属性信息匹配成功的目标词组为:访问量。
步骤S105:依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句。
可以预先设置各字段相应的数据库语句信息,以日期字段为例进行说明,本申请实施例提供但不限于以下对应方式:
日期字段:where day between日期1and日期2。
步骤S106:将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。
具体的,可以依据各目标数据库语句以及数据库的语法信息,生成数据库语句。
仍以“2016年1月1日到2016年2月1日安德玛官网的付费流量的访问量”为例,则生成的数据库语句为:
Select Count(*)as指标字段where日期字段=20160101至20160201and解决方案字段=安德玛官网and维度字段=付费流量。
count()是个聚合函数,count(*)作用是求表的所有记录数。
假设指标字段在表格中用paid_visit_count字段表示;维度字段在表格中用Source_Type字段表示,且付费流量在表格中用Paid_Channel字段表示;则上述数据库语句为:
Select Count(*)as paid_visit_count where day between 20160101and20160201and解决方案字段=安德玛官网and Source_Type=Paid_Channel
本申请实施例提供的一种数据库语句生成方法中,当接收到用户输入的自然语言查询字符串后,首先会依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串,从各字段相应的目标字符串中,获得各字段相应的目标集合;即不会对整个自然语言查询字符串进行划分,而是先将整个自然语言查询字符串划分为各字段对应的目标字符串,再对各目标字符串进行划分,从而提高了划分自然语言查询字符串的效率;再次,将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句,将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。用户可以利用自然语言查询字符串查询数据库中的数据,不用输入专用的操作命令,从而扩大了数据库的用户适用范围。
请参阅图2,为本申请实施例提供的一种数据库语句生成方法中通过机器学习获得自然语言字符串的划分信息的方法一种实现方式的流程示意图,该方法包括:
步骤S201:判断所述数据库语句的准确性。
具体的,可以用该数据库语句从数据库中进行查询,数据库会自动判断出该数据库语句是否正确。
步骤S202:当所述数据库语句准确时,获取各字段相应的目标字符串的划分信息。
所述划分信息包括各目标字符串的相邻字符信息、各目标字符串包含的字符信息。
相应的,所述将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串包括:
依据预先设置的各字段相应的划分信息,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串。
步骤S203:当所述数据库语句不准确时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回步骤S103。
在上述任一数据库语句生成方法实施例中,在所述依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句之前,还包括:
依据预先设置的各字段的权重,计算各目标字段的权重之和。当所述权重之和大于等于预设权重时,触发所述依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句步骤。
可以理解的是,如果缺少的字段越多,在查询过程中失败的可能性越大,所以本申请实施例巧妙的为各字段设置了权重,用各目标字段的权重之和,来确定查询成功率,当权重之和大于等于预设权重时,表明利用各目标字段成功查询的可能性较高,可以生成数据库语句。
各字段的权重是依据在对数据库中数据进行查询时,各字段的重要程度设置的,例如日期字段的权重为0.3、解决方案字段的权重为0.4、维度字段的权重为0.2以及指标字段的权重为0.1,即各字段的权重之和为1。
假设步骤S104确定出的目标字段包括日期字段、解决方案字段以及维度字段,那么这三个目标字段的权重之和为0.9。
在上述任一数据库语句生成方法实施例中,当所述权重之和小于所述预设权重时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回步骤S103。
上述任一数据库语句生成方法实施例中,各字段包括指标字段,请参阅图3,为本申请实施例提供的一种数据库语句生成方法中将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段的一种实现方式的方法流程示意图,该方法包括:
步骤S301:将所述指标字段相应的目标集合中一个或多个目标词组,与预先存储的所述指标字段对应的指标数据库中各词组相匹配,所述指标数据库包括一个或多个词组。
步骤S302:当未成功匹配时,将所述指标数据库中的预设词组作为所述指标字段的目标词组。
假设指标字段对应的目标集合中不包括“访问量”这一词组,则会将指标数据库中预设词组作为指标字段的目标词组。例如对于该企业的数据库而言,其查询的一般都是“访问量”,此时可以用“访问量”这一词组作为预设词组,即作为指标字段的目标词组。
步骤S303:将所述指标字段,确定为目标字段。
上述任一数据库语句生成方法实施例中,各字段包括用户名称字段,请参阅图4,为本申请实施例提供的一种数据库语句生成方法中将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段的又一实现方式的方法流程示意图,该方法包括:
步骤S401:从预先设置的各用户名称字段相应的配置文件标识中,确定所述用户名称字段相应的目的配置文件标识。
用户在使用数据库之前可以先进行注册,用户名称字段即为用户在注册时输入的用户名称。在用户注册之后,会为该用户名称分配一配置文件标识以及一解决方案标识,即一用户名称对应一配置文件标识,但是一解决方案标识可以对应一个或多个配置文件标识。
步骤S402:从预先设置的各配置文件标识相应的解决方案标识中,确定所述目的配置文件标识相应的目的解决方案标识。
步骤S403:当确定出所述目的配置文件标识以及所述目的解决方案标识时,确定所述用户名称字段为一目标字段。
仍以“2016年1月1日到2016年2月1日安德玛官网的付费流量的访问量”为例,假设“2016年1月1日到2016年2月1日”为日期字段、“安德玛官网”为用户名称字段、“付费流量”为维度字段、“访问量”为指标字段。
假设依据“安德玛官网”获得的配置文件标识(profile_id)为XXXXX,解决方案标识(solution_id)为XXX,则生成的数据库语句为:
Select Count(*)as paid_visit_count where day between 20160101and20160201and profile_id=XXXXX and solution_id=XXX and Source_Type=Paid_Channel
本申请实施例还提供了一种与数据库语句生成方法相应的数据库语句生成装置,下面对数据库语句生成装置中各模块进行大致说明,数据库语句生成装置中各模块的详细说明,可以参见数据库语句生成方法中对相应的步骤的说明。在此不再赘述。
请参阅图5,为本申请实施例提供的一种数据库语句生成装置的结构示意图,该装置包括:第一接收模块51、第一划分模块52、第一获取模块53、第二获取模块54、第一确定模块55以及第一生成模块56,其中:
第一接收模块51,用于接收用户输入的自然语言查询字符串;
第一划分模块52,用于将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串;
第一获取模块53,用于从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组;
第二获取模块54,用于将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;
第一确定模块55,用于依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句;
第一生成模块56,用于将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。
可选的,上述任一数据库语句生成装置实施例中,还包括:
第一判断模块,用于判断所述数据库语句的准确性;
第三获取模块,用于当所述数据库语句准确时,获取各字段相应的目标字符串的划分信息,所述划分信息包括各目标字符串的相邻字符信息、各目标字符串包含的字符信息;
第一返回模块,用于当所述数据库语句不准确时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回所述第一获取模块。
可选的,上述任一数据库语句生成装置实施例中,第一划分模块包括:
划分单元,用于依据预先设置的各字段相应的划分信息,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串。
可选的,上述任一数据库语句生成装置实施例中,还包括:
第一计算模块,用于依据预先设置的各字段的权重,计算各目标字段的权重之和;
触发模块,用于当所述权重之和大于等于预设权重时,触发第一确定模块55。
可选的,上述任一数据库语句生成装置实施例中,还可以包括:
第二返回模块,用于当所述权重之和小于所述预设权重时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回所述第一获取模块。
可选的,上述任一数据库语句生成装置实施例中,各字段包括指标字段,所述第二获取模块包括:
第二匹配单元,用于将所述指标字段相应的目标集合中一个或多个目标词组,与预先存储的所述指标字段对应的指标数据库中各词组相匹配,所述指标数据库包括一个或多个词组;
替换单元,用于当未成功匹配时,将所述指标数据库中的预设词组作为所述指标字段的目标词组;
第二确定单元,用于将所述指标字段,确定为目标字段。
其中,上述任一数据库语句生成装置实施例中,各字段包括用户名称字段,所述第二获取模块包括:
第三确定单元,用于从预先设置的各用户名称字段相应的配置文件标识中,确定所述用户名称字段相应的目的配置文件标识;
第四确定单元,用于从预先设置的各配置文件标识相应的解决方案标识中,确定所述目的配置文件标识相应的目的解决方案标识;
第五确定单元,用于当确定出所述目的配置文件标识以及所述目的解决方案标识时,确定所述用户名称字段为一目标字段。
本申请实施例还提供的一种数据库语句生成装置包括处理器和存储器,上述第一接收模块51、第一划分模块52、第一获取模块53、第二获取模块54第一确定模块55以及第一生成模块56等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来生成数据库语句。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
处理器调用第一接收模块51接收用户输入的自然语言查询字符串,再调用第一划分模块52依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串,然后调用第一获取模块53从各字段相应的目标字符串中,获得各字段相应的目标集合;即不会对整个自然语言查询字符串进行划分,而是先将整个自然语言查询字符串划分为各字段对应的目标字符串,在对各目标字符串进行划分,从而提高了划分自然语言查询字符串的效率;再次,调用第二获取模块54将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;然后调用第一确定模块66以及第一生成模块67依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句,将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。用户可以利用自然语言查询字符串查询数据库中的数据,不用输入专用的操作命令,从而扩大了数据库的用户适用范围。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:
接收用户输入的自然语言查询字符串;
将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串;
从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组;
将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;
依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句;
将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据库语句生成方法,其特征在于,包括:
接收用户输入的自然语言查询字符串;
将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串;
从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组;
将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;
依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句;
将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。
2.根据权利要求1所述数据库语句生成方法,其特征在于,还包括:
判断所述数据库语句的准确性;
当所述数据库语句准确时,获取各字段相应的目标字符串的划分信息,所述划分信息包括各目标字符串的相邻字符信息、各目标字符串包含的字符信息;
当所述数据库语句不准确时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回步骤从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组。
3.根据权利要求2所述数据库语句生成方法,其特征在于,所述将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串包括:
依据预先设置的各字段相应的划分信息,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串。
4.根据权利要求1所述数据库语句生成方法,在所述依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句之前,还包括:
依据预先设置的各字段的权重,计算各目标字段的权重之和;
当所述权重之和大于等于预设权重时,触发所述依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句步骤。
5.根据权利要求4所述数据库语句生成方法,其特征在于,还包括:
当所述权重之和小于所述预设权重时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回步骤从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组。
6.根据权利要求1所述数据库语句生成方法,其特征在于,各字段包括指标字段,所述将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段包括:
将所述指标字段相应的目标集合中一个或多个目标词组,与预先存储的所述指标字段对应的指标数据库中各词组相匹配,所述指标数据库包括一个或多个词组;
当未成功匹配时,将所述指标数据库中的预设词组作为所述指标字段的目标词组;
将所述指标字段,确定为目标字段。
7.根据权利要求1所述数据库语句生成方法,其特征在于,各字段包括用户名称字段,所述将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段包括:
从预先设置的各用户名称字段相应的配置文件标识中,确定所述用户名称字段相应的目的配置文件标识;
从预先设置的各配置文件标识相应的解决方案标识中,确定所述目的配置文件标识相应的目的解决方案标识;
当确定出所述目的配置文件标识以及所述目的解决方案标识时,确定所述用户名称字段为一目标字段。
8.一种数据库语句生成装置,其特征在于,包括:
第一接收模块,用于接收用户输入的自然语言查询字符串;
第一划分模块,用于将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串;
第一获取模块,用于从各字段相应的目标字符串中,获得各字段相应的目标集合,各字段相应的目标集合中包括一个或多个目标词组;
第二获取模块,用于将各字段相应的目标集合中一个或多个目标词组与相应字段的属性信息相匹配,获得匹配成功的各目标词组相应的目标字段;
第一确定模块,用于依据预先设置的各字段相应的数据库语句信息,确定出各目标字段相应的目标数据库语句;
第一生成模块,用于将匹配成功的各目标词组加载至相应的目标数据库语句中,生成数据库语句。
9.根据权利要求8所述数据库语句生成装置,其特征在于,还包括:
第一判断模块,用于判断所述数据库语句的准确性;
第三获取模块,用于当所述数据库语句准确时,获取各字段相应的目标字符串的划分信息,所述划分信息包括各目标字符串的相邻字符信息、各目标字符串包含的字符信息;
第一返回模块,用于当所述数据库语句不准确时,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,重新划分为各字段相应的目标字符串,并返回所述第一获取模块。
10.根据权利要求9所述数据库语句生成装置,其特征在于,所述第一划分模块包括:
划分单元,用于依据预先设置的各字段相应的划分信息,将所述自然语言查询字符串依据预先设置的各字段的顺序信息,划分为各字段相应的目标字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611218184.4A CN108241670A (zh) | 2016-12-26 | 2016-12-26 | 数据库语句生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611218184.4A CN108241670A (zh) | 2016-12-26 | 2016-12-26 | 数据库语句生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108241670A true CN108241670A (zh) | 2018-07-03 |
Family
ID=62701377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611218184.4A Pending CN108241670A (zh) | 2016-12-26 | 2016-12-26 | 数据库语句生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108241670A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831638A (zh) * | 2019-04-17 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种数据表的创建方法和装置 |
CN112307489A (zh) * | 2020-06-24 | 2021-02-02 | 神州融安科技(北京)有限公司 | 字符显示方法、装置、电子设备及计算机可读存储介质 |
CN112364051A (zh) * | 2020-11-25 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 一种数据查询方法及装置 |
CN112948016A (zh) * | 2021-02-25 | 2021-06-11 | 京东数字科技控股股份有限公司 | 配置信息的生成方法、装置及设备 |
CN114201525A (zh) * | 2022-02-15 | 2022-03-18 | 支付宝(杭州)信息技术有限公司 | 查询数据的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993475B1 (en) * | 2000-05-03 | 2006-01-31 | Microsoft Corporation | Methods, apparatus, and data structures for facilitating a natural language interface to stored information |
CN102262634A (zh) * | 2010-05-24 | 2011-11-30 | 北京大学深圳研究生院 | 一种自动问答方法及系统 |
CN104123346A (zh) * | 2014-07-02 | 2014-10-29 | 广东电网公司信息中心 | 一种结构化数据搜索方法 |
CN104462429A (zh) * | 2014-12-12 | 2015-03-25 | 北京国双科技有限公司 | 数据库查询语句的生成方法及装置 |
CN104657439A (zh) * | 2015-01-30 | 2015-05-27 | 欧阳江 | 用于自然语言精准检索的结构化查询语句生成系统及方法 |
CN104866593A (zh) * | 2015-05-29 | 2015-08-26 | 中国电子科技集团公司第二十八研究所 | 一种基于知识图谱的数据库搜索方法 |
-
2016
- 2016-12-26 CN CN201611218184.4A patent/CN108241670A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993475B1 (en) * | 2000-05-03 | 2006-01-31 | Microsoft Corporation | Methods, apparatus, and data structures for facilitating a natural language interface to stored information |
CN102262634A (zh) * | 2010-05-24 | 2011-11-30 | 北京大学深圳研究生院 | 一种自动问答方法及系统 |
CN104123346A (zh) * | 2014-07-02 | 2014-10-29 | 广东电网公司信息中心 | 一种结构化数据搜索方法 |
CN104462429A (zh) * | 2014-12-12 | 2015-03-25 | 北京国双科技有限公司 | 数据库查询语句的生成方法及装置 |
CN104657439A (zh) * | 2015-01-30 | 2015-05-27 | 欧阳江 | 用于自然语言精准检索的结构化查询语句生成系统及方法 |
CN104866593A (zh) * | 2015-05-29 | 2015-08-26 | 中国电子科技集团公司第二十八研究所 | 一种基于知识图谱的数据库搜索方法 |
Non-Patent Citations (1)
Title |
---|
冯志伟: "《自然语言的计算机处理》", 31 October 1996, 上海外语教育出版社 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831638A (zh) * | 2019-04-17 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种数据表的创建方法和装置 |
CN112307489A (zh) * | 2020-06-24 | 2021-02-02 | 神州融安科技(北京)有限公司 | 字符显示方法、装置、电子设备及计算机可读存储介质 |
CN112307489B (zh) * | 2020-06-24 | 2024-03-22 | 神州融安科技(北京)有限公司 | 字符显示方法、装置、电子设备及计算机可读存储介质 |
CN112364051A (zh) * | 2020-11-25 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 一种数据查询方法及装置 |
CN112364051B (zh) * | 2020-11-25 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 一种数据查询方法及装置 |
CN112948016A (zh) * | 2021-02-25 | 2021-06-11 | 京东数字科技控股股份有限公司 | 配置信息的生成方法、装置及设备 |
CN114201525A (zh) * | 2022-02-15 | 2022-03-18 | 支付宝(杭州)信息技术有限公司 | 查询数据的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108241670A (zh) | 数据库语句生成方法及装置 | |
US10248653B2 (en) | Information technology platform for language translation and task management | |
US10803033B2 (en) | Systems and methods for enhanced mapping and classification of data | |
CN108241621A (zh) | 法律知识的检索方法及装置 | |
CN106897340A (zh) | 一种数据表更新方法及装置 | |
Janev et al. | Knowledge graphs and big data processing | |
US20150186808A1 (en) | Contextual data analysis using domain information | |
Hoberman | Data Modeling for MongoDB: Building Well-Designed and Supportable MongoDB Databases | |
US10262030B1 (en) | Automatic dynamic reusable data recipes | |
US20220391848A1 (en) | Condensing hierarchies in a governance system based on usage | |
Nussbeck et al. | How to design biospecimen identifiers and integrate relevant functionalities into your biospecimen management system | |
Thuerer et al. | The application of workload control in assembly job shops: an assessment by simulation | |
CN109101512B (zh) | 法律数据库的构建方法、法律数据查询方法及装置 | |
US20210201014A1 (en) | Extracting values from images of documents | |
CN113220885B (zh) | 一种文本处理方法和系统 | |
US11500840B2 (en) | Contrasting document-embedded structured data and generating summaries thereof | |
US10650060B2 (en) | Graphical user interface for tracking data access and data changes in a centralized database | |
CN108132936A (zh) | 数据导入方法及装置 | |
CN104899209B (zh) | 针对开放式数据处理服务的优化方法和装置 | |
CN110941952A (zh) | 一种完善审计分析模型的方法及装置 | |
CN108694547A (zh) | 账号异常识别方法、装置、设备和储存介质 | |
WO2022165473A1 (en) | Dynamic application builder for multidimensional database environments | |
CN113822603A (zh) | 一种基于SaaS的云计算处理方法 | |
CN108241643A (zh) | 关键词的指标数据分析方法及装置 | |
CN112380321A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180703 |