CN109408526B - Sql语句生成方法、装置、计算机设备及存储介质 - Google Patents
Sql语句生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109408526B CN109408526B CN201811187964.6A CN201811187964A CN109408526B CN 109408526 B CN109408526 B CN 109408526B CN 201811187964 A CN201811187964 A CN 201811187964A CN 109408526 B CN109408526 B CN 109408526B
- Authority
- CN
- China
- Prior art keywords
- sql
- information
- sentences
- sentence
- keywords
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003058 natural language processing Methods 0.000 claims abstract description 30
- 238000005516 engineering process Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims description 29
- 230000011218 segmentation Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000003062 neural network model Methods 0.000 claims description 7
- 230000010365 information processing Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理,具体是通过SQL语句查收相关数据,并公开了一种SQL语句生成方法、装置、计算机设备及存储介质,该方法包括:获取与用户的对话信息,所述对话信息为用于数据查询的文本信息;根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息;根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句;根据所述SQL语句访问相应的数据库以完成数据查询。该方法可以帮助业务员自动生成SQL语句并进行完成相关的数据查询,由此满足了业务员的需求,同时减少了开发人员的工作量。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种SQL语句生成方法、装置、计算机设备及存储介质。
背景技术
目前,在互联网技术领域,由于业务场景千变万化,因此需要的数据支持也是随机而动。传统的方式是通过数据采集来满足业务需求,但是采数据集流程一般比较复杂,由此会造成数据采集时效滞后。比如,通过数据采集的方式支持业务的数据需求需要走流程审批、开发人员和业务人员的需求沟通、开发人员重复开发并提交SQL(中文:结构化查询语言,英文:Structured Query Language)语句等等,最后提取数据移交给业务人员,业务人员进行验证,若验证不通过还需要重新沟通,重复上述过程。整个流程繁复琐碎,由此造成数据支持时效性低,用户体验差,开发压力大。
发明内容
本申请提供了一种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是图2中的训练SQL语句模型的步骤的子步骤示意流程图;
图4是本申请另一实施例提供的一种SQL语句生成方法的示意流程图;
图5是图4中的SQL语句生成方法的子步骤示意流程图;
图6是本申请一实施例提供的一种SQL语句生成装置的示意性框图;
图7是本申请另一实施例提供的一种SQL语句生成装置的示意性框图;
图8是本申请一实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请实施例提供了一种SQL语句生成方法、装置、计算机设备和存储介质。
请参阅图1,图1是本申请一实施例提供的一种SQL语句生成方法的示意流程图。该SQL语句生成方法应用于终端中,该终端为智能机器人,当然,该终端也可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。该SQL语句的生成方法用于帮助业务员完成SQL语句的自动生成以及数据查询。其中,如图1所示,该SQL语句生成方法包括步骤S101~S104。
S101、获取与用户的对话信息,所述对话信息为用于数据查询的文本信息。
其中,该用户是指业务员,由于业务需求需要查询相应的数据库以获取相关数据,但是由于业务人员不是开发人员,因此不懂SQL语句的开发,一般需要研发人员的协助编写相关的SQL语句才能完成相应的数据查询,但是这样增加了开发人员的工作量。
在本实施例,该业务员只需要和智能机器人进行相关的对话,即可实现相关的SQL语句的自动生成并完成相应的数据库的数据查询。
譬如,该业务员想了解本公司(xx银行)上半年的贷款情况,其可以对智能机器人说“我想了解xx银行208年上半年的贷款总和”。智能机器人将这段语音信息转换成文本信息,该文本信息“我想了解xx银行2018年上半年的贷款总和”为用户与智能机器人的对话信息。
其中,该智能机器人中预先配置有SQL语句模型,该SQL语句模型用于帮助业务员搜索或生成其需要的SQL语句并完成相关的数据查询。
S102、根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息。
其中,根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息,包括:根据自然语言处理技术对所述对话信息进行分词处理,并提取经过所述分词处理后的话术关键字作为所述用户话术信息。
具体地,利用自然语言处理技术(Natural Language Processing,简称NLP技术)对该对话信息进行处理,具体是做分词处理以提取该对话信息中的关键字,这些关键字即为用户话术信息。
比如,对对话信息“我想了解xx银行2018年上半年的贷款总和”进行关键字提成,可以提取出“xx银行”、“2018年上半年”和“贷款总和”等关键字作为用户话术信息。
S103、根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句。
其中,该预设数据库中保存有大量之前开发人员开发的SQL语句,该SQL语句用于查询相关数据库中的数据。预先训练的SQL语句模型保存在智能机器人中用于帮助业务员搜索其需要的SQL语句并完成相关的数据查询。
具体地,可将用户话术信息中的关键词作为SQL语句模型的输入,根据该SQL语句模型从预设数据库中的SQL语句中查询包括最多所述关键字的SQL语句,该SQL语句即为所述用户话术信息对应的SQL语句。
S104、根据所述SQL语句访问相应的数据库以完成数据查询。
具体地,执行查询到的SQL语句访问相应的数据库进行数据查询以获取相关数据,并将提取到的数据推送给业务员。由此满足了业务员的需求,同时减少了开发人员的工作量。
比如,通过智能机器人显示该相关数据,或者将相关数据发送业务人员的邮箱中。
在本实施例中,该方法通过获取与用户的对话信息,所述对话信息为用于数据查询的文本信息;根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息;根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句;根据所述SQL语句访问相应的数据库以完成数据查询。该方法可以帮助业务员自动生成SQL语句并进行完成相关的数据查询,由此满足了业务员的需求,同时减少了开发人员的工作量。
在一实施例中,在上述SQL语句生成方法实施之前,还包括训练SQL语句模型的步骤,如图2所示,该步骤具体包括步骤S201至S203。
S201、采集SQL语句以及所述SQL语句对应的中文描述作为训练样本。
为了提高SQL语句模型的准确度,如图3所示,步骤S201包括子步骤S201a至S201c。
其中,S201a、选定不同的业务类型对应的数据库作为样本数据库;S201b、读取所述样本数据库的数据表的表结构以及中文描述,根据所述表结构按照SQL语句句式生成SQL语句并保存在所述预设数据库中;S201c、采集预设数据库中的SQL语句以及所述SQL语句对应的中文描述,将所述SQL语句与中文描述建立映射关系以得到训练样本。
具体地,选定不同的业务类型是指公司所涉及到的业务,该业务对应的数据库作为样本数据库;读取该样本数据库的数据表的表结构以及中文描述,并利用读取到的表结构按照SQL语句句式规则自动生成批量的SQL语句,具体可以采用自动生成工具生成批量的SQL语句,该自动生成工具比如为Navicat。同时将生成的SQL语句和所述中文描述对应保存在所述预设数据库中;采集预设数据库中的SQL语句以及所述SQL语句对应的中文描述,将所述SQL语句与中文描述建立映射关系,该SQL语句、中文描述和其对应的映射关系即为训练样本。
S202、基于选择的深度神经网络模型,根据所述训练样本进行模型训练以得到SQL语句模型,并保存所述SQL语句模型。
其中,选择的深度神经网络模型,具体是利用开源的深度学习框架Pytorch中的sequence-to-sequence模型(sequence-to-sequence模型是一种用于机器翻译的神经网络模型),将SQL语句和中文描述构成的训练样本作为输入,调用封装好的模型将输入编码成特征向量,该特征向量对应的数学表达就是矩阵,再把特征向量解码成输出。将输入编码成特征向量的过程会用到LSTM技术(Long Short-TermMemory、长短期记忆网络),由此可提高将中文话术翻译成SQL语句的准确性。由此得到了SQL语句模型,并将SQL语句模型保存在智能机器人中以便调用。
请参阅图4,图4是本申请另一实施例提供的一种SQL语句生成方法的示意流程图。该方法应用于智能机器人中,如图4所示,该SQL语句生成方法包括步骤S301~S308。
S301、获取与用户的对话信息。
具体地,该业务员想了解本公司(xx银行)上半年的贷款情况,其可以对智能机器人说“我想了解xx银行208年上半年的贷款总和”。智能机器人将这段语音信息转换成文本信息,该文本信息“我想了解xx银行2018年上半年的贷款总和”为用户与智能机器人的对话信息。
S302、根据自然语言处理技术对所述对话信息进行分词处理,并提取经过所述分词处理后的话术关键字作为所述用户话术信息。
具体地,利用自然语言处理技术(Natural Language Processing,简称NLP技术)对该对话信息进行处理,具体是做分词处理以提取该对话信息中的关键字,这些关键字即为话术关键字。
比如,对对话信息“我想了解xx银行2018年上半年的贷款总和”进行关键字提成,可以提取出“xx银行”、“2018年上半年”和“贷款总和”等话术关键字作为用户话术信息。
S303、根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句。
其中,该预设数据库中保存有大量之前开发人员开发的SQL语句,该SQL语句用于查询相关数据库中的数据。预先训练的SQL语句模型保存在智能机器人中用于帮助业务员搜索其需要的SQL语句并完成相关的数据查询。
具体地,可将用户话术信息中的关键词作为SQL语句模型的输入,根据该SQL语句模型从预设数据库中的SQL语句中查询包括最多所述关键字的SQL语句,该SQL语句即为所述用户话术信息对应的SQL语句。
S304、获取所述用户话术信息对应的SQL语句的中文描述,根据所述自然语言处理技术对所述中文描述进行处理以获取描述关键字。
具体地,由于不同的中文话术可能表达的是同一个意思,进而对应相同的SQL语句。还需获取该SQL语句的中文描述,即该SQL语句的中文标注,也可以理解为注释信息。在利用自然语言处理技术对所述中文描述做分词处理以获取相应的描述关键字,即实现了提取两句话(对话信息和中文描述)的关键词。
S305、基于预设匹配度计算公式,根据所述话术关键字和描述关键字计算所述SQL语句与所述用户话术信息的匹配系数。
其中,该预设匹配度计算公式可以为一个权重公式,该权重公式具体为X=0.4*n+0.4*m+0.2*i,其中n表示相同关键词的个数,m表示意思相近的关键词的个数,i表示完全不同关键字的个数。
由此可以基于该权重公式,根据所述话术关键字和描述关键字计算所述SQL语句与所述用户话术信息的匹配系数。
S306、判断所述匹配系数是否大于预设系数值。
其中,所述预设系统值用于判断所述SQL语句与所述用户话术信息近似程度。具体可以设置为90%,如果所述SQL语句与所述用户话术信息的匹配系数达到90%以上,就认为这两句话表达的是同一个意思。
具体地,判断所述匹配系数是否大于预设系数值;若所述匹配系数不大于所述预设系数值,则执行步骤S307;若所述匹配系数大于所述预设系数值,则执行步骤S308。
比如,若所述匹配系数不大于所述预设系数值,即匹配系数小于90%,说明没有相匹配的SQL语句,由此执行步骤S307采用预设SQL语句生成规则根据话术关键字生成规则生成SQL语句。
S307、根据所述话术关键字通过预设SQL语句生成规则生成SQL语句。
具体地,是采用预设SQL语句生成规则根据话术关键字生成规则生成SQL语句。如图5所示,步骤S307包括子步骤S307a至S307c。
其中,S307a、根据所述话术关键字搜索与所述话术关键字相匹配的SQL语句;S307b、对所述话术关键字和搜索到的SQL语句中的关键语句做一位有效编码;S307c、根据所述一位有效编码对应的编码结果确定所述话术关键字对应的关键语句,并将所述关键语句按照所述话术关键字的顺序组合成SQL语句。
具体地,所述话术关键字包括多个关键字,根据每个关键字搜索与其相似的SQL语句,该相匹配是指具有与话术关键字相同或意思相近的SQL语句。比如,搜索到10条与其相似的SQL,根据该10条SQL语句近似合成业务员需要的SQL语句。
其中,该一位有效编码又称为one-hot编码,为了便于合成新的SQL语句,需要对所述话术关键字和搜索到的SQL语句中的关键词作One-hot编码,编码后便于根据编码结果作话术关键字和SQL语句中的关键词的连线处理,同时还便于利用LSTM(Long Short-TermMemory、长短期记忆网络)进行训练得到验证模型,根据该验证模型验证新合成的SQL语句的正确性,以提高数据查询的效率。
S308、根据所述SQL语句访问相应的数据库以完成数据查询。
具体地,执行查询到或生成的SQL语句访问相应的数据库进行数据查询以获取相关数据,并将提取到的数据推送给业务员。比如,通过智能机器人显示该相关数据,或者将相关数据发送业务人员的邮箱中。由此业务人员可以无需研发人员的帮助即可实现数据查询,进而满足了业务员的需求,提高业务人员的查询体验,同时减少了开发人员的工作量。
图6是本申请实施例提供的一种SQL语句生成装置的示意性框图。如图6所示,对应于以上SQL语句生成方法,本申请还提供一种SQL语句生成装置。该SQL语句生成装置包括用于执行上述SQL语句方法的单元,该装置可以被配置于终端中,该终端具体可以智能机器人。
具体地,如图6所示,SQL语句装置400包括:样本采集单元401、训练保存单元402、信息获取单元403、信息处理单元404、语句查询单元405和数据访问单元406。
样本采集单元401,用于采集SQL语句以及所述SQL语句对应的中文描述作为训练样本。
其中,样本采集单元401包括:数据选择子单元4011、读取生成子单元4012和采集建立子单元4013。数据选择子单元4011,用于选定不同的业务类型对应的数据库作为样本数据库;读取生成子单元4012,用于读取所述样本数据库的数据表的表结构以及中文描述,根据所述表结构按照SQL语句句式生成SQL语句并保存在所述预设数据库中;采集建立子单元4013,用于采集预设数据库中的SQL语句以及所述SQL语句对应的中文描述,将所述SQL语句与中文描述建立映射关系以得到训练样本。
训练保存单元402,用于基于选择的深度神经网络模型,根据所述训练样本进行模型训练以得到SQL语句模型;并保存所述SQL语句模型。
信息获取单元403,用于获取与用户的对话信息,所述对话信息为用于数据查询的文本信息。
信息处理单元404,用于根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息。
语句查询单元405,用于根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句。
数据访问单元406,用于根据所述SQL语句访问相应的数据库以完成数据查询。
图7是本申请实施例提供的一种SQL语句生成装置的示意性框图。如图7所示,对应于以上SQL语句生成方法,本申请还提供一种SQL语句生成装置。该SQL语句生成装置包括用于执行上述SQL语句方法的单元,该装置可以被配置于终端中。
具体地,如图7所示,SQL语句装置500包括:信息获取单元501、信息处理单元502、语句查询单元503、描述处理单元504、系数计算单元505、系数判断单元506、语句生成单元507和语句查询单元508。
信息获取单元501,用于获取与用户的对话信息,所述对话信息为用于数据查询的文本信息。
信息处理单元502,用于根据自然语言处理技术对所述对话信息进行分词处理,并提取经过所述分词处理后的话术关键字作为所述用户话术信息。
语句查询单元503,用于根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句。
描述处理单元504,用于获取所述用户话术信息对应的SQL语句的中文描述,根据所述自然语言处理技术对所述中文描述进行处理以获取描述关键字。
系数计算单元505,用于基于预设匹配度计算公式,根据所述话术关键字和描述关键字计算所述SQL语句与所述用户话术信息的匹配系数。
系数判断单元506,用于判断所述匹配系数是否大于预设系数值。
具体地,若所述匹配系数不大于所述预设系数值,则调用语句生成单元507;若所述匹配系数大于所述预设系数值,则调用语句查询单元508。
语句生成单元507,用于根据所述话术关键字通过预设SQL语句生成规则生成SQL语句。
其中,语句生成单元507包括:语句搜索子单元5071、编码设置子单元5072和确定组合子单元5073。语句搜索子单元5071,用于根据所述话术关键字搜索与所述话术关键字相匹配的SQL语句;编码设置子单元5072,用于对所述话术关键字和搜索到的SQL语句中的关键语句做一位有效编码;确定组合子单元5073,用于根据所述一位有效编码对应的编码结果确定所述话术关键字对应的关键语句,并将所述关键语句按照所述话术关键字的顺序组合成SQL语句。
语句查询单元508,用于根据所述SQL语句访问相应的数据库以完成数据查询。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的SQL语句装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700可以是终端。
参照图8,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种SQL语句装置方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种SQL语句装置方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现如下步骤:
获取与用户的对话信息,所述对话信息为用于数据查询的文本信息;根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息;根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句;根据所述SQL语句访问相应的数据库以完成数据查询。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息时,具体实现如下步骤:
根据自然语言处理技术对所述对话信息进行分词处理,并提取经过所述分词处理后的话术关键字作为所述用户话术信息。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句之后,还实现如下步骤:
获取所述用户话术信息对应的SQL语句的中文描述,根据所述自然语言处理技术对所述中文描述进行处理以获取描述关键字;基于预设匹配度计算公式,根据所述话术关键字和描述关键字计算所述SQL语句与所述用户话术信息的匹配系数;判断所述匹配系数是否大于预设系数值;若所述匹配系数大于所述预设系数值,则执行所述根据所述SQL语句访问相应的数据库以完成数据查询的步骤。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述判断所述匹配系数是否大于预设系数值之后,还实现如下步骤:
若所述匹配系数不大于所述预设系数值,根据所述话术关键字通过预设SQL语句生成规则生成SQL语句,并执行所述根据所述SQL语句访问相应的数据库以完成数据查询的步骤。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述根据所述话术关键字通过预设SQL语句生成规则生成SQL语句时,具体实现如下步骤:
根据所述话术关键字搜索与所述话术关键字相匹配的SQL语句;对所述话术关键字和搜索到的SQL语句中的关键语句做一位有效编码;根据所述一位有效编码对应的编码结果确定所述话术关键字对应的关键语句,并将所述关键语句按照所述话术关键字的顺序组合成SQL语句。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述获取用户与智能机器人的对话信息之前,还实现如下步骤:
采集SQL语句以及所述SQL语句对应的中文描述作为训练样本;基于选择的深度神经网络模型,根据所述训练样本进行模型训练以得到SQL语句模型;将训练好的SQL语句模型配置在智能机器人中。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述采集SQL语句以及所述SQL语句对应的中文描述作为训练样本时,具体实现如下步骤:
选定不同的业务类型对应的数据库作为样本数据库;读取所述样本数据库的数据表的表结构以及中文描述,根据所述表结构按照SQL语句句式生成SQL语句并保存在所述预设数据库中;采集预设数据库中的SQL语句以及所述SQL语句对应的中文描述,将所述SQL语句与中文描述建立映射关系以得到训练样本。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图8中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本领域普通技术人员可以理解的是实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。如本发明实施例中,该计算机程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程步骤。
该计算机可读存储介质可以是磁碟、光盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的SQL语句装置和方法,可以通过其它的方式实现。例如,以上所描述的SQL语句装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种SQL语句生成方法,其特征在于,包括:
采集SQL语句以及所述SQL语句对应的中文描述作为训练样本;
基于选择的深度神经网络模型,根据所述训练样本进行模型训练以得到SQL语句模型,并保存所述SQL语句模型;
获取与用户的对话信息,所述对话信息为用于数据查询的文本信息;
根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息;
根据自然语言处理技术对所述对话信息进行分词处理,并提取经过所述分词处理后的话术关键字作为用户话术信息;
根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句;
根据所述SQL语句访问相应的数据库以完成数据查询;
获取所述用户话术信息对应的SQL语句的中文描述,根据所述自然语言处理技术对所述中文描述进行处理以获取描述关键字;
基于预设匹配度计算公式,根据所述话术关键字和描述关键字计算所述SQL语句与所述用户话术信息的匹配系数;
判断所述匹配系数是否大于预设系数值;
若所述匹配系数大于所述预设系数值,则执行所述根据所述SQL语句访问相应的数据库以完成数据查询的步骤。
2.根据权利要求1所述的SQL语句生成方法,其特征在于,所述判断所述匹配系数是否大于预设系数值之后,还包括:
若所述匹配系数不大于所述预设系数值,根据所述话术关键字通过预设SQL语句生成规则生成SQL语句,并执行所述根据所述SQL语句访问相应的数据库以完成数据查询的步骤。
3.根据权利要求2所述的SQL语句生成方法,其特征在于,所述根据所述话术关键字通过预设SQL语句生成规则生成SQL语句,包括:
根据所述话术关键字搜索与所述话术关键字相匹配的SQL语句;
对所述话术关键字和搜索到的SQL语句中的关键语句做一位有效编码;
根据所述一位有效编码对应的编码结果确定所述话术关键字对应的关键语句,并将所述关键语句按照所述话术关键字的顺序组合成SQL语句。
4.根据权利要求1所述的SQL语句生成方法,其特征在于,所述采集SQL语句以及所述SQL语句对应的中文描述作为训练样本,包括:
选定不同的业务类型对应的数据库作为样本数据库;
读取所述样本数据库的数据表的表结构以及中文描述,根据所述表结构按照SQL语句句式生成SQL语句并保存在所述预设数据库中;
采集所述预设数据库中的SQL语句以及所述SQL语句对应的中文描述,将所述SQL语句与中文描述建立映射关系以得到训练样本。
5.一种SQL语句生成装置,其特征在于,包括:
样本采集单元,用于采集SQL语句以及所述SQL语句对应的中文描述作为训练样本;
训练保存单元,用于基于选择的深度神经网络模型,根据所述训练样本进行模型训练以得到SQL语句模型;并保存所述SQL语句模型;
信息获取单元,用于获取与用户的对话信息,所述对话信息为用于数据查询的文本信息;
信息处理单元,用于根据自然语言处理技术对所述对话信息进行处理以得到用户话术信息;
分词处理单元,用于根据自然语言处理技术对所述对话信息进行分词处理,并提取经过所述分词处理后的话术关键字作为用户话术信息;
语句查询单元,用于根据预先训练的SQL语句模型,从预设数据库中的SQL语句中查询所述用户话术信息对应的SQL语句;
数据访问单元,用于根据所述SQL语句访问相应的数据库以完成数据查询;
描述处理单元,用于获取所述用户话术信息对应的SQL语句的中文描述,根据所述自然语言处理技术对所述中文描述进行处理以获取描述关键字;
系数计算单元,用于基于预设匹配度计算公式,根据所述话术关键字和描述关键字计算所述SQL语句与所述用户话术信息的匹配系数;
系数判断单元,用于判断所述匹配系数是否大于预设系数值;
判断执行单元,用于若所述匹配系数大于所述预设系数值,则执行所述根据所述SQL语句访问相应的数据库以完成数据查询的步骤。
6.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任意一项所述方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行如权利要求1至4任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811187964.6A CN109408526B (zh) | 2018-10-12 | 2018-10-12 | Sql语句生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811187964.6A CN109408526B (zh) | 2018-10-12 | 2018-10-12 | Sql语句生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408526A CN109408526A (zh) | 2019-03-01 |
CN109408526B true CN109408526B (zh) | 2023-10-31 |
Family
ID=65467048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811187964.6A Active CN109408526B (zh) | 2018-10-12 | 2018-10-12 | Sql语句生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408526B (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035506A (zh) * | 2019-10-28 | 2020-12-04 | 竹间智能科技(上海)有限公司 | 一种语义识别方法及其设备 |
CN110888876A (zh) * | 2019-10-31 | 2020-03-17 | 平安科技(深圳)有限公司 | 生成数据库脚本的方法、装置、存储介质及计算机设备 |
CN110993093B (zh) * | 2019-11-15 | 2023-02-24 | 北京邮电大学 | 基于深度学习的眼科预问诊方法与装置 |
CN110968601A (zh) * | 2019-11-28 | 2020-04-07 | 中国银行股份有限公司 | 一种数据查询处理方法及装置 |
CN111104422B (zh) * | 2019-12-10 | 2023-08-29 | 北京明略软件系统有限公司 | 一种数据推荐模型的训练方法、装置、设备及存储介质 |
CN111159227B (zh) * | 2019-12-20 | 2023-04-14 | 建信金融科技有限责任公司 | 数据查询方法、装置、设备及存储介质 |
CN111221947B (zh) * | 2019-12-26 | 2023-11-24 | 北京邮电大学 | 眼科预问诊装置的多轮对话实现方法及装置 |
CN111159220B (zh) * | 2019-12-31 | 2023-06-23 | 北京百度网讯科技有限公司 | 用于输出结构化查询语句的方法和装置 |
CN111209297B (zh) * | 2019-12-31 | 2024-05-03 | 深圳云天励飞技术有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN113127502B (zh) * | 2019-12-31 | 2024-05-03 | 深圳云天励飞技术有限公司 | 关系型数据库动态扩展的方法、装置及终端设备 |
CN111309991B (zh) * | 2020-01-16 | 2023-03-31 | 广州三七互娱科技有限公司 | 查询语句生成方法、装置和数据查询方法、系统 |
CN111382253B (zh) * | 2020-03-02 | 2022-07-15 | 思必驰科技股份有限公司 | 语义解析方法及语义解析器 |
CN111506701B (zh) * | 2020-03-25 | 2024-07-09 | 中国平安财产保险股份有限公司 | 一种智能查询方法及相关装置 |
CN111581229B (zh) * | 2020-03-25 | 2023-04-18 | 平安科技(深圳)有限公司 | Sql语句的生成方法、装置、计算机设备及存储介质 |
CN111427911A (zh) * | 2020-03-25 | 2020-07-17 | 平安医疗健康管理股份有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
WO2021189434A1 (zh) * | 2020-03-27 | 2021-09-30 | 深圳市欢太科技有限公司 | 用户选取方法、装置、服务器及存储介质 |
CN112069206B (zh) * | 2020-03-31 | 2022-02-22 | 北京来也网络科技有限公司 | 基于rpa及ai的数据查询方法、装置、介质及计算设备 |
CN111651474B (zh) * | 2020-06-02 | 2023-07-25 | 东云睿连(武汉)计算技术有限公司 | 一种自然语言至结构化查询语言的转换方法及系统 |
CN112380238B (zh) * | 2020-11-16 | 2024-06-28 | 平安科技(深圳)有限公司 | 数据库数据查询方法、装置、电子设备及存储介质 |
CN112463819B (zh) * | 2020-11-26 | 2024-10-25 | 北京宏景世纪软件股份有限公司 | 基于中文表达式的计算方法、装置、设备及存储介质 |
CN112506952A (zh) * | 2020-12-11 | 2021-03-16 | 中信银行股份有限公司 | 数据查询装置和数据查询方法 |
CN112559716A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 对话状态的识别方法、装置、电子设备和存储介质 |
CN112732741B (zh) * | 2020-12-31 | 2024-06-07 | 平安科技(深圳)有限公司 | Sql语句生成方法、装置、服务器及计算机可读存储介质 |
CN113779062A (zh) * | 2021-02-23 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | Sql语句生成方法、装置、存储介质及电子设备 |
CN112989011B (zh) * | 2021-04-26 | 2021-08-24 | 广州思迈特软件有限公司 | 数据查询方法、数据查询装置和电子设备 |
CN113282724B (zh) * | 2021-05-21 | 2024-05-28 | 北京京东振世信息技术有限公司 | 一种智能客服的交互方法和装置 |
CN113448980A (zh) * | 2021-06-18 | 2021-09-28 | 青岛海尔科技有限公司 | 用于生成sql语句的方法及装置、电子设备 |
CN113254619A (zh) * | 2021-06-21 | 2021-08-13 | 北京沃丰时代数据科技有限公司 | 针对用户询问的自动答复方法、装置和电子设备 |
CN113779215A (zh) * | 2021-08-25 | 2021-12-10 | 海南硬壳科技有限公司 | 数据处理平台 |
CN114253990A (zh) * | 2021-11-08 | 2022-03-29 | 广州广电运通信息科技有限公司 | 数据库查询方法、装置、计算机设备和存储介质 |
CN114461665B (zh) * | 2022-01-26 | 2023-01-24 | 北京百度网讯科技有限公司 | 用于生成语句转换模型的方法、装置及计算机程序产品 |
CN115271514B (zh) * | 2022-08-11 | 2024-07-12 | 中国铁塔股份有限公司 | 通讯企业的监控方法、装置、电子设备及存储介质 |
CN115878659B (zh) * | 2023-02-01 | 2023-06-02 | 云账户技术(天津)有限公司 | 一种生成sql语句的方法、装置、设备及可读存储介质 |
CN116049294B (zh) * | 2023-03-27 | 2023-06-27 | 北京大学深圳研究生院 | 一种Excel的操作方法、装置、设备及存储介质 |
CN117271553A (zh) * | 2023-09-08 | 2023-12-22 | 上海浦东发展银行股份有限公司 | 一种监管报送数据质量规则生成及运行方法 |
CN117609274A (zh) * | 2023-11-21 | 2024-02-27 | 上海金仕达卫宁软件科技有限公司 | 数据库语言智能生成系统及方法 |
CN118689895B (zh) * | 2024-08-23 | 2024-11-05 | 北京数洋智慧科技有限公司 | 一种基于生成式语言模型的数据库处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646032A (zh) * | 2013-11-11 | 2014-03-19 | 漆桂林 | 一种基于本体和受限自然语言处理的数据库查询方法 |
CN104021198A (zh) * | 2014-06-16 | 2014-09-03 | 北京理工大学 | 基于本体语义索引的关系数据库信息检索方法及装置 |
CN107451153A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 输出结构化查询语句的方法和装置 |
-
2018
- 2018-10-12 CN CN201811187964.6A patent/CN109408526B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646032A (zh) * | 2013-11-11 | 2014-03-19 | 漆桂林 | 一种基于本体和受限自然语言处理的数据库查询方法 |
CN104021198A (zh) * | 2014-06-16 | 2014-09-03 | 北京理工大学 | 基于本体语义索引的关系数据库信息检索方法及装置 |
CN107451153A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 输出结构化查询语句的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109408526A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408526B (zh) | Sql语句生成方法、装置、计算机设备及存储介质 | |
CN110210029B (zh) | 基于垂直领域的语音文本纠错方法、系统、设备及介质 | |
CN110162627B (zh) | 数据增量方法、装置、计算机设备及存储介质 | |
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
US20190163691A1 (en) | Intent Based Dynamic Generation of Personalized Content from Dynamic Sources | |
US12093648B2 (en) | Systems and methods for producing a semantic representation of a document | |
CN107437417B (zh) | 基于循环神经网络语音识别中语音数据增强方法及装置 | |
US11238050B2 (en) | Method and apparatus for determining response for user input data, and medium | |
CN108536807B (zh) | 一种信息处理方法及装置 | |
CN111310440A (zh) | 文本的纠错方法、装置和系统 | |
CN110852075B (zh) | 自动添加标点符号的语音转写方法、装置及可读存储介质 | |
CN113220862A (zh) | 标准问识别方法、装置及计算机设备及存储介质 | |
CN111898363B (zh) | 文本长难句的压缩方法、装置、计算机设备及存储介质 | |
CN110309513B (zh) | 一种文本依存分析的方法和装置 | |
CN111460117A (zh) | 对话机器人意图语料生成方法、装置、介质及电子设备 | |
CN112949293A (zh) | 一种相似文本生成方法、相似文本生成装置及智能设备 | |
CN112559711A (zh) | 一种同义文本提示方法、装置及电子设备 | |
CN116244432B (zh) | 语言模型的预训练方法、装置及电子设备 | |
CN114218356B (zh) | 基于人工智能的语义识别方法、装置、设备及存储介质 | |
CN110750967A (zh) | 一种发音的标注方法、装置、计算机设备和存储介质 | |
JP5293607B2 (ja) | 略語生成装置およびプログラム、並びに、略語生成方法 | |
CN115964474A (zh) | 一种政策关键词抽取方法、装置、存储介质及电子设备 | |
CN109727591B (zh) | 一种语音搜索的方法及装置 | |
CN114742062A (zh) | 文本关键词提取处理方法及系统 | |
Sreeram et al. | A Novel Approach for Effective Recognition of the Code-Switched Data on Monolingual Language Model. |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |