System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种自然语言到SQL语句的转换方法及相关装置制造方法及图纸_技高网

一种自然语言到SQL语句的转换方法及相关装置制造方法及图纸

技术编号:42030368 阅读:15 留言:0更新日期:2024-07-16 23:18
本申请公开了一种自然语言到SQL语句的转换方法及相关装置,涉及自然语言处理及数据库查询技术领域,其中,方法包括:当获得用户的第一自然查询语句时,结合数据库中的数据表分析第一自然查询语句是否存在歧义和/或涉及不可查字段;若第一自然查询语句不存在歧义且不涉及不可查字段,则根据第一自然查询语句生成可执行SQL语句;若第一自然查询语句存在歧义和/或涉及不可查字段,则向用户发出澄清请求;当获得用户针对澄清请求重新提出的第二自然查询语句时,根据第二自然查询语句生成可执行SQL语句。基于本申请公开的自然语言到SQL语句的转换方法可获得符合用户要求的SQL语句。

【技术实现步骤摘要】

本申请涉及自然语言处理及数据库查询,尤其涉及一种自然语言到sql语句的转换方法及相关装置。


技术介绍

1、在现代的信息系统中,数据库是存储和管理数据的重要工具。数据库中的数据,需要使用sql语句进行查询,即,用户想要查询数据库中的数据,需要先编写sql语句,然而,编写sql语句需要对数据库结构和查询语言有深入的理解,这对于非专业的用户而言是非常困难的。自然语言到sql语句的转换技术可以有效打通用户与数据库的壁垒,该技术可以理解用户的自然查询语句和数据库的结构信息,并对此加以融合和解析,生成数据库可执行的sql语句。

2、目前的自然语言到sql语句的转换方案大多为基于转换模型的转换方案,即,预先利用大量的训练数据(包括数据表结构信息、用户的自然查询语句以及用户的自然查询语句对应的可执行sql语句)微调预训练模型,以使模型学习从自然语言文本到可执行sql语句的映射,从而得到自然语言到sql语句的转换模型,进而,在进行数据库查询时,获取用户的自然查询语句,将用户的自然查询语句和数据表结构信息输入训练得到的自然语言到sql语句的转换模型,以得到可执行sql语句。

3、目前的自然语言到sql语句的转换方案虽然可以将用户的自然查询语句转换为可执行sql语句,但是,很多时候会出现转换得到的sql语句不符合用户要求的问题。


技术实现思路

1、有鉴于此,本申请提供了一种自然语言到sql语句的转换方法及相关装置,用以解决目前的自然语言到sql语句的转换方案很多时候会出现转换得到的sql语句不符合用户要求的问题,其技术方案如下:

2、本申请第一方面提供一种自然语言到sql语句的转换方法,包括:

3、当获得用户的第一自然查询语句时,结合数据库中的数据表分析所述第一自然查询语句是否存在歧义和/或涉及不可查字段;

4、若所述第一自然查询语句不存在歧义且不涉及不可查字段,则根据所述第一自然查询语句生成可执行sql语句;

5、若所述第一自然查询语句存在歧义和/或涉及不可查字段,则向用户发出包含歧义信息和/或不可查字段的澄清请求;当获得用户针对所述澄清请求重新提出的第二自然查询语句时,根据所述第二自然查询语句生成可执行sql语句。

6、在一种可能的实现方式中,所述自然语言到sql语句的转换方法还包括:

7、当获得用户针对所述澄清请求重新提出的第二自然查询语句时,结合所述数据表分析所述第二自然查询语句是否存在歧义和/或涉及不可查字段;

8、若所述第二自然查询语句不存在歧义且不涉及不可查字段,则执行所述根据所述第二自然查询语句生成可执行sql语句。

9、在一种可能的实现方式中,所述结合数据库中的数据表分析所述第一自然查询语句是否存在歧义和/或涉及不可查字段,包括:

10、结合数据库中的数据表对所述第一自然查询语句进行解析,得到解析结果,其中,所述解析结果包括若干查询条件、若干查询对象、所述若干查询条件分别对应的表字段以及所述若干查询对象分别对应的表字段;

11、对所述解析结果进行概念规整处理,得到概念规整结果,其中,所述概念规整处理指的是,针对所述解析结果包含的表字段中取值为字典项的表字段对应的查询条件,从对应表字段的字典项中获取对应的元素,作为该查询条件的具体概念值;

12、根据所述概念规整结果,确定所述第一自然查询语句是否存在歧义和/或涉及不可查字段;

13、所述向用户发出包含歧义信息和/或不可查字段的澄清请求,包括:

14、根据所述概念规整结果,向用户发出包含歧义信息和/或不可查字段的澄清请求。

15、在一种可能的实现方式中,所述根据所述概念规整结果,确定所述第一自然查询语句是否存在歧义和/或涉及不可查字段,包括:

16、若所述若干查询条件中有至少一个查询条件对应的表字段为多个,或者,所述若干查询对象中有至少一个查询对象对应的表字段为多个,则确定所述第一自然查询语句存在歧义;

17、若所述若干查询条件中有至少一个查询条件对应的表字段为空字段,或者,所述若干查询对象中有至少一个查询对象对应的表字段为空字段,则确定所述第一自然查询语句涉及不可查字段。

18、在一种可能的实现方式中,所述根据所述第一自然查询语句生成可执行sql语句,包括:

19、根据所述第一自然查询语句,同时结合所述概念规整结果,生成可执行sql语句。

20、在一种可能的实现方式中,所述根据所述第一自然查询语句,同时结合所述概念规整结果,生成可执行sql语句,包括:

21、将所述第一自然查询语句输入预先训练得到的自然语言到sql的转换模型,得到所述自然语言到sql的转换模型输出的临时sql语句;

22、根据所述临时sql语句和所述概念规整结果,生成可执行sql语句。

23、在一种可能的实现方式中,所述根据所述临时sql语句和所述概念规整结果,生成可执行sql语句,包括:

24、将所述临时sql语句解析为句法树;

25、根据所述句法树和所述概念规整结果,将所述临时sql语句处理成可执行sql语句。

26、在一种可能的实现方式中,所述根据所述句法树和所述概念规整结果,将所述临时sql语句处理成可执行sql语句,包括:

27、通过遍历所述句法树确定目标结点,其中,所述目标结点为代表对应表字段的取值为字典项的查询条件的结点;

28、从所述概念规整结果中获取所述目标结点所代表的查询条件的具体概念值;

29、根据所述目标结点所代表的查询条件所对应表字段的取值在数据库中的存储形式,以及所述目标结点所代表的查询条件的具体概念值,对所述临时sql语句进行修改,得到可执行sql语句。

30、在一种可能的实现方式中,所述自然语言到sql语句的转换方法还包括:

31、解读所述临时sql语句,得到解读结果;

32、展示所述解读结果和所述概念规整结果,以便用户根据所述解读结果和所述概念规整结果确定所述可执行sql语句是否符合要求。

33、在一种可能的实现方式中,所述自然语言到sql语句的转换方法还包括:

34、若用户对所述解读结果进行修改,则根据用户修改后的解读结果对所述概念规整结果进行修改,得到修改后的概念规整结果;

35、根据所述用户修改后的解读结果,重新生成临时sql语句;

36、根据重新生成的临时sql语句和所述修改后的概念规整结果,重新生成可执行sql语句。

37、本申请第二方面提供一种自然语言到sql语句的转换装置,包括:分析处理模块和sql语句生成模块;

38、所述分析处理模块,用于当获得用户的第一自然查询语句时,结合数据库中的数据表分析所述第一自然查询语句是否存在歧义和/或涉及不可查字段,若所述第一自然查询语句存在歧义和/或涉及不可本文档来自技高网...

【技术保护点】

1.一种自然语言到SQL语句的转换方法,其特征在于,包括:

2.根据权利要求1所述的自然语言到SQL语句的转换方法,其特征在于,还包括:

3.根据权利要求1所述的自然语言到SQL语句的转换方法,其特征在于,所述结合数据库中的数据表分析所述第一自然查询语句是否存在歧义和/或涉及不可查字段,包括:

4.根据权利要求3所述的自然语言到SQL语句的转换方法,其特征在于,所述根据所述概念规整结果,确定所述第一自然查询语句是否存在歧义和/或涉及不可查字段,包括:

5.根据权利要求3所述的自然语言到SQL语句的转换方法,其特征在于,所述根据所述第一自然查询语句生成可执行SQL语句,包括:

6.根据权利要求5所述的自然语言到SQL语句的转换方法,其特征在于,所述根据所述第一自然查询语句,同时结合所述概念规整结果,生成可执行SQL语句,包括:

7.根据权利要求6所述的自然语言到SQL语句的转换方法,其特征在于,所述根据所述临时SQL语句和所述概念规整结果,生成可执行SQL语句,包括:

8.根据权利要求7所述的自然语言到SQL语句的转换方法,其特征在于,所述根据所述句法树和所述概念规整结果,将所述临时SQL语句处理成可执行SQL语句,包括:

9.根据权利要求6所述的自然语言到SQL语句的转换方法,其特征在于,还包括:

10.根据权利要求9所述的自然语言到SQL语句的转换方法,其特征在于,还包括:

11.一种自然语言到SQL语句的转换装置,其特征在于,包括:分析处理模块和SQL语句生成模块;

12.根据权利要求11所述的自然语言到SQL语句的转换装置,其特征在于,所述分析处理模块包括:语义理解模块、概念规整模块和智能体模块;

13.一种电子设备,其特征在于,包括至少一个处理器和与所述处理器连接的存储器,其中:

14.一种计算机存储介质,其特征在于,所述存储介质承载有一个或多个计算机程序,当所述一个或多个计算机程序被电子设备执行时,能够使所述电子设备实现如权利要求1~10中任意一项所述的自然语言到SQL语句的转换方法的步骤。

15.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在电子设备上运行时,使得所述电子设备实现如权利要求1~10中任意一项所述的自然语言到SQL语句的转换方法的步骤。

...

【技术特征摘要】

1.一种自然语言到sql语句的转换方法,其特征在于,包括:

2.根据权利要求1所述的自然语言到sql语句的转换方法,其特征在于,还包括:

3.根据权利要求1所述的自然语言到sql语句的转换方法,其特征在于,所述结合数据库中的数据表分析所述第一自然查询语句是否存在歧义和/或涉及不可查字段,包括:

4.根据权利要求3所述的自然语言到sql语句的转换方法,其特征在于,所述根据所述概念规整结果,确定所述第一自然查询语句是否存在歧义和/或涉及不可查字段,包括:

5.根据权利要求3所述的自然语言到sql语句的转换方法,其特征在于,所述根据所述第一自然查询语句生成可执行sql语句,包括:

6.根据权利要求5所述的自然语言到sql语句的转换方法,其特征在于,所述根据所述第一自然查询语句,同时结合所述概念规整结果,生成可执行sql语句,包括:

7.根据权利要求6所述的自然语言到sql语句的转换方法,其特征在于,所述根据所述临时sql语句和所述概念规整结果,生成可执行sql语句,包括:

8.根据权利要求7所述的自然语言到sql语句的转换方法,其特征在于,所述根据所述句...

【专利技术属性】
技术研发人员:刘加新郑新李明洹李直旭
申请(专利权)人:科大讯飞苏州科技有限公司
类型:发明
国别省市:

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

1