一种数据库查询语言转换方法、装置、设备及存储介质制造方法及图纸

技术编号:34984881 阅读:9 留言:0更新日期:2022-09-21 14:29
本发明专利技术公开了一种数据库查询语言转换方法、装置、设备及存储介质,通过获取待转换的自然语句,根据语法结构对所述自然语句进行拆分,获取语句词组集合;采用预先训练的得到的索引模型组对所述语句词组集合进行匹配分析,获取不同词性的词组对应的关键词;所述索引模型组中包括不同词性的索引模型,分别对应所述语句词组集合中不同词性的词组与SQL关键词的匹配关系;对获取的不同词性的关键词进行拼装,得到SQL语句。能够高效、便捷地将自然语句转化为数据库的SQL语句。转化为数据库的SQL语句。转化为数据库的SQL语句。

【技术实现步骤摘要】
一种数据库查询语言转换方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种数据库查询语言转换方法、装置、设备及存储介质。

技术介绍

[0002]通过多年的信息化建设,各业务领域的信息系统经多年运行汇集了海量的运行数据,其中大部分有价值的业务数据存储于关系数据库(如Oracle、Mysql等主流数据库)中,呈现出规模大、种类多、范围广等特点,对于这类数据的获取和分析通常需要通过机器编程语言,即数据库查询语句与数据库进行交互操作,给数据分析带来了较高的门槛。

技术实现思路

[0003]为解决上述技术问题,本专利技术提供一种数据库查询语言转换方法、装置、设备及存储介质,能够快速将自然语句转化为数据库的SQL语句,降低数据分析的门槛。
[0004]本专利技术实施例提供一种数据库查询语言转换方法,所述方法包括:获取待转换的自然语句,根据语法结构对所述自然语句进行拆分,获取语句词组集合;采用预先训练的得到的索引模型组对所述语句词组集合进行匹配分析,获取不同词性的词组对应的关键词;所述索引模型组中包括不同词性的索引模型,分别对应所述语句词组集合中不同词性的词组与SQL关键词的匹配关系;对获取的不同词性的关键词进行拼装,得到SQL语句。
[0005]优选地,所述索引模型组的训练过程具体包括:获取训练语句和SQL关键词;将所述训练语句中不同词性的词组和对应的SQL关键词进行匹配,生成不同词性的词组对应的数据源;采用FST数据结构的索引工具,将不同词性的词组的数据源转化成对应的索引模型;将不同词性的词语转化生成的索引模型的集合作为所述索引模型组。
[0006]进一步地,所述将所述训练语句中不同词性的词组和对应的SQL关键词进行匹配,生成不同词性的词组对应的数据源,具体包括:将所述训练语句中预先标记为数据表名称的词组和对应的数据表名称进行匹配,并对应存储到table.txt文本中,作为数据表名称的数据源;将所述训练语句中预先标记为数据表字段的词组和对应的数据表字段进行匹配,并对应存储到field.txt文本中,作为数据表字段的数据源;将所述训练语句中预先标记为统计关键词的词组和对应的统计关键词进行匹配,并对应存储到stat.txt文本中,作为统计关键词的数据源;将所述训练语句中预先标记为排序关键词的词组和对应的排序关键词进行匹配,
并对应存储到sort.txt文本中,作为排序关键词的数据源;将所述训练语句中预先标记为条件关键词的词组和对应的条件关键词进行匹配,并对应存储到cond.txt文本中,作为条件关键词的数据源;将数据表名称和该数据表中的所有数据表字段进行匹配,并对应存储到table_field.txt文本中,作为数据表的数据源;将数据表名称和该数据表中对应的子数据表名称进行匹配,并对应存储到table_table.txt文本中,作为数据表关联的数据源;所述采用FST数据结构的索引工具,将不同词性的词组的数据源转化成对应的索引模型,具体包括:采用FST数据结构作为索引结构的索引工具lucene,根据table.txt文本的数据建立table_model索引模型;采用FST数据结构作为索引结构的索引工具lucene,根据field.txt文本的数据建立field_model索引模型;采用FST数据结构作为索引结构的索引工具lucene,根据stat.txt文本的数据建立stat_model索引模型;采用FST数据结构作为索引结构的索引工具lucene,根据sort.txt文本的数据建立sort_model索引模型;采用FST数据结构作为索引结构的索引工具lucene,根据cond.txt文本的数据建立cond_model索引模型。
[0007]作为上述方案的改进方案,所述采用预先训练的得到的索引模型组对所述语句词组集合进行匹配分析,获取不同词性的词组对应的关键词,具体包括:通过field_model索引模型过滤出所述语句词组集合中数据表字段的词组,生成字段集合fs;根据table_model索引模型、table_field.txt文本和table_table.txt文本对所述语句词组进行过滤分析,生成表名集合ts;通过stat_model索引模型过滤出所述语句词组集合中的与统计关键词匹配的词组,并通过字段集合fs和表名集合ts进行字段分析,对过滤出的词组对应的统计关键词作汇总标记statFlag;通过sort_model索引模型过滤出所述语句词组集合中的与排序关键词匹配的词组,并通过字段集合fs和表名集合ts进行字段分析,对过滤出的词组对应的排序关键词作汇总标记sortFlag;通过cond_model索引模型过滤出所述语句词组集合中的与条件关键词匹配的词组,并通过字段集合fs和表名集合ts进行字段分析,通过数据分类过滤,查询与过滤出的词组对应的条件关键词,将查询出的条件关键词作汇总标记condFlag。
[0008]进一步地,所述对获取的不同词性的关键词进行拼装,得到SQL语句,具体包括:根据汇总标记statFlag、汇总标记sortFlag、汇总标记condFlag在对应的文本中查询,获取统计关键词、排序关键词和条件关键词;将获取的统计关键词、排序关键词和条件关键词,与字段集合fs、表名集合ts进行拼接,获取SQL语句。
[0009]优选地,所述根据table_model索引模型、table_field.txt文本和table_table.txt文本对所述语句词组进行过滤分析,生成表名集合ts,具体包括:通过table_model索引模型过滤出所述语句词组集合中的与数据表名称匹配的词组,得到表名集合a;通过table_field.txt文本对字段集合fs进行二次分析,过滤出语句词组集合中与数据表名称匹配的词组,得到表名集合b;对表名集合a和表名集合b进行并集运算去重,并根据table_table.txt文本对并集运算后的表名集合内的多张数据表建立关联,生成表名集合ts。
[0010]作为一种优选方案,在获取待转换的自然语句后,所述方法还包括:采用余弦相似度算法,计算预建的精确数据源中的每一SQL语句与所述自然语句的相似度,确定相似度最高的SQL语句作为备选语句,所述精确数据源包括不同的自然语句和SQL语句的一一对应关系;当备选语句的相似度不小于预设的第一阈值时,将所述备选语句确定为所述自然语句转换后的SQL语句。
[0011]本专利技术实施例还提供一种数据库查询语言转换装置,所述装置包括:拆分模块,用于获取待转换的自然语句,根据语法结构对所述自然语句进行拆分,获取语句词组集合;分析模块,用于采用预先训练的得到的索引模型组对所述语句词组集合进行匹配分析,获取不同词性的词组对应的关键词;所述索引模型组中包括不同词性的索引模型,分别对应所述语句词组集合中不同词性的词组与SQL关键词的匹配关系;拼装模块,用于对获取的不同词性的关键词进行拼装,得到SQL语句。
[0012]优选地,所述装置还包括模型训练模块,具体用于:获取训练语句和SQL关键词;将所述训练语句中不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库查询语言转换方法,其特征在于,所述方法包括:获取待转换的自然语句,根据语法结构对所述自然语句进行拆分,获取语句词组集合;采用预先训练的得到的索引模型组对所述语句词组集合进行匹配分析,获取不同词性的词组对应的关键词;所述索引模型组中包括不同词性的索引模型,分别对应所述语句词组集合中不同词性的词组与SQL关键词的匹配关系;对获取的不同词性的关键词进行拼装,得到SQL语句。2.如权利要求1所述的数据库查询语言转换方法,其特征在于,所述索引模型组的训练过程具体包括:获取训练语句和SQL关键词;将所述训练语句中不同词性的词组和对应的SQL关键词进行匹配,生成不同词性的词组对应的数据源;采用FST数据结构的索引工具,将不同词性的词组的数据源转化成对应的索引模型;将不同词性的词语转化生成的索引模型的集合作为所述索引模型组。3.如权利要求2所述的数据库查询语言转换方法,其特征在于,所述将所述训练语句中不同词性的词组和对应的SQL关键词进行匹配,生成不同词性的词组对应的数据源,具体包括:将所述训练语句中预先标记为数据表名称的词组和对应的数据表名称进行匹配,并对应存储到table.txt文本中,作为数据表名称的数据源;将所述训练语句中预先标记为数据表字段的词组和对应的数据表字段进行匹配,并对应存储到field.txt文本中,作为数据表字段的数据源;将所述训练语句中预先标记为统计关键词的词组和对应的统计关键词进行匹配,并对应存储到stat.txt文本中,作为统计关键词的数据源;将所述训练语句中预先标记为排序关键词的词组和对应的排序关键词进行匹配,并对应存储到sort.txt文本中,作为排序关键词的数据源;将所述训练语句中预先标记为条件关键词的词组和对应的条件关键词进行匹配,并对应存储到cond.txt文本中,作为条件关键词的数据源;将数据表名称和该数据表中的所有数据表字段进行匹配,并对应存储到table_field.txt文本中,作为数据表的数据源;将数据表名称和该数据表中对应的子数据表名称进行匹配,并对应存储到table_table.txt文本中,作为数据表关联的数据源;所述采用FST数据结构的索引工具,将不同词性的词组的数据源转化成对应的索引模型,具体包括:采用FST数据结构作为索引结构的索引工具lucene,根据table.txt文本的数据建立table_model索引模型;采用FST数据结构作为索引结构的索引工具lucene,根据field.txt文本的数据建立field_model索引模型;采用FST数据结构作为索引结构的索引工具lucene,根据stat.txt文本的数据建立stat_model索引模型;采用FST数据结构作为索引结构的索引工具lucene,根据sort.txt文本的数据建立
sort_model索引模型;采用FST数据结构作为索引结构的索引工具lucene,根据cond.txt文本的数据建立cond_model索引模型。4.如权利要求3所述的数据库查询语言转换方法,其特征在于,所述采用预先训练的得到的索引模型组对所述语句词组集合进行匹配分析,获取不同词性的词组对应的关键词,具体包括:通过field_model索引模型过滤出所述语句词组集合中数据表字段的词组,生成字段集合fs;根据table_model索引模型、table_field.txt文本和table_table...

【专利技术属性】
技术研发人员:李正权苏炜蔡建新黄何列胡夏林蔡宇铮石慧芳罗莉萍陈晓辉梁少林李保津李洁儒许上云张熙黎有莫劲昆
申请(专利权)人:广东华慧鲁班科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1