一种数据处理方法、装置及其他设备与流程

文档序号:40969438发布日期:2025-02-18 19:34阅读:3来源:国知局
一种数据处理方法、装置及其他设备与流程

本技术涉及数据处理领域,尤其涉及一种数据处理方法、装置及其他设备。


背景技术:

1、结构化查询语言(structured query language,sql)作为与关系数据库进行交互的标准化编程语言,用户可以通过结构化查询语言执行数据查询、数据操作和管理任务。然而,由于sql语言的复杂性导致用户需要具备一定的专业技能,才能有效地编写和理解sql代码。为了克服这一障碍,目前提出了自然语言界面(natural language interface,nli)。nli采用人工智能(artificial intelligence,ai)和机器学习(machine learning‌,ml)技术将自然语言问题(natural language question,nlq)转换为sql语句。nli的出现可以使得缺乏编程知识的非技术用户采用nli自动将自然语言问题转化为sql代码。与此同时,为了使用户更好地理解sql代码,如何将sql代码自动翻译为易于用户理解的自然语言描述尤为重要。

2、目前,已有方案可以采用模板法或者深度神经网络模型对sql代码进行解释,将sql代码自动转化为自然语言描述。其中,模板法可以将sql查询语句转化为抽象语法树(abstract syntax tree,ast),随后根据ast中的节点选择对应的模板,从而生成sql语句的自然语言描述。或者通过深度神经网络模型对sql语句进行解释,生成sql语句的自然语言文本。

3、然而,采用模板法生成sql语句的自然语言描述机械化不自然,且随着sql查询嵌套层数的增加,深度学习模型或者大语言模型推理得到的自然语言描述的准确性可能会下降,因此,如何兼顾复杂sql转化为自然语言的准确性和自然流畅性成为了目前亟待解决的问题。


技术实现思路

1、本技术提供了一种数据处理方法、装置及其他设备,用于将结构化查询语言sql翻译为易于用户理解的自然语言描述,以辅助用户理解sql代码。

2、第一方面,本技术提供一种数据处理方法,该方法包括:首先,可以将结构化查询语言sql转化为关系代数树,该关系代数树包括多个关系代数节点,一个关系代数节点表示对数据进行的一项操作,并且关系代数节点包括字段信息和逻辑信息,其中,字段信息用于指示关系代数节点的操作对象,逻辑信息用于指示操作对象之间的逻辑关系;得到关系代数树之后,可以对关系代数树中的关系代数节点匹配第一自然语言模板,得到sql的第一自然语言描述,其中,第一自然语言模板为模板库中任一个自然语言模板,自然语言模板用于将sql翻译为自然语言;在通过模板法将sql初步翻译为自然语言描述之后,可以采用第一大语言模型对第一自然语言描述进行润色,得到第二自然语言描述,该第二自然语言描述用于辅助用户理解sql。

3、本技术实施例中,可以通过对关系代数树中的关系代数节点匹配自然语言模板,得到sql的初步解释即第一自然语言描述,随后,可以再通过大语言模型对sql的初步解释进行润色,得到第二自然语言描述。其中,

4、基于关系代数表达式对sql进行解析,可以将不同表达形式的sql语句转化为同一关系代数树,使得后续基于一个关系代数树进行模板匹配之后,可以得到多种表达形式的sql语句的翻译,不同于基于抽象语法树对sql进行解析时,基于对一个抽象语法树进行模板匹配仅能得到一个sql语句的翻译,可以进一步减少基于模板法对sql进行翻译的工作量。并且,本技术实施例首先采用模板法得到sql的初步解释,奠定了sql的基础解释框架,随后采用大语言模型对初步解释进行润色,可以避免仅采用大语言模型对于复杂sql代码进行解释时可能存在的不准确性,同时采用大语言模型对初步解释进行润色可以优化模板法进行翻译时的描述不自然的问题,使得最终解释结果更自然流畅。

5、在一种可能的实施方式中,当关系代数节点不存在匹配的第一自然语言模板时,该方法还可以包括:将关系代数节点的第一sql语句改写为第二sql语句,第二sql语句存在匹配的第二自然语言模板,第二自然语言模板为模板库中任一个自然语言模板。

6、本技术实施例中,在对关系代数节点匹配模板时,若模板库中不存在该关系代数节点的第一sql语句匹配的模板,可以对第一sql语句进行改写,以使得可以适配已有的模板,减少模板的开发和定制成本,提升模板的泛化性。

7、在一种可能的实施方式中,在前述的为关系代数树中的关系代数节点匹配自然语言模板,得到sql的第一自然语言描述之前,该方法还可以包括:根据预设切分点,将关系代数树切分为多个片段,片段包括多个目标关系代数节点,目标关系代数节点包括目标字段信息和目标逻辑信息。

8、本技术实施例中,由于构建的模板通常针对一个sql片段或者特定的sql语句,针对复杂的sql代码通常需要调用多个模板对其进行翻译。因此,在对关系代数树进行模板匹配时,可以将关系代数树切分为多个片段,使得后续采用模板法对关系代数树进行初步解释时,可以同时对多个片段批量进行翻译,以最终得到整个sql代码的自然语言描述。

9、在一种可能的实施方式中,前述的为关系代数树中的关系代数节点匹配自然语言模板,得到sql的第一自然语言描述,可以包括:为每个片段中的目标关系代数节点匹配自然语言模板,得到sql的第一自然语言描述。

10、在一种可能的实施方式中,为每个片段中的目标关系代数节点匹配自然语言模板,得到sql的第一自然语言描述,可以包括:根据目标关系代数节点中关键字的类型,确定每个片段中的目标关系代数节点的目标自然语言模板;将目标关系代数节点的目标字段信息填入目标自然语言模板,得到第一自然语言描述。

11、在一种可能的实施方式中,目标字段信息包括目标字段的名称,该方法还可以包括:采用第二大语言模型对目标字段进行翻译,得到翻译后的目标字段。

12、本技术实施例中,可以采用大语言模型对关系代数节点中的目标字段进行翻译,可以避免对存在缩写、英文和拼音混写等字段信息的解释,并提高对存在缩写、英文和拼音混写等字段进行翻译的准确性。

13、在一种可能的实施方式中,前述的将目标关系代数节点的目标字段信息填入目标自然语言模板,得到第一自然语言描述,可以包括:将翻译后的目标字段填入目标自然语言模板,得到第一自然语言描述。

14、本技术实施例中,可以将翻译后的字段信息填入模板,以提高对sql翻译为自然语言描述的准确性。

15、第二方面,本技术提供一种数据处理装置,包括:转化模块,用于将结构化查询语言sql转化为关系代数树,关系代数树包括多个关系代数节点,一个关系代数节点表示对数据进行的一项操作,关系代数节点包括字段信息和逻辑信息,字段信息用于指示关系代数节点的操作对象,逻辑信息用于指示操作对象之间的逻辑关系;匹配模块,用于为关系代数树中的关系代数节点匹配第一自然语言模板,得到sql的第一自然语言描述,第一自然语言模板为模板库中任一个自然语言模板,自然语言模板用于将sql翻译为自然语言;推理模块,用于采用第一大语言模型对第一自然语言描述进行润色,得到第二自然语言描述,第二自然语言描述用于辅助用户理解sql。

16、在一种可能的实施方式中,当关系代数节点不存在匹配的第一自然语言模板时,该装置还可以包括:改写模块,用于将关系代数节点的第一sql语句改写为第二sql语句,第二sql语句存在匹配的第二自然语言模板,第二自然语言模板为模板库中任一个自然语言模板。

17、在一种可能的实施方式中,前述的为关系代数树中的关系代数节点匹配自然语言模板,得到sql的第一自然语言描述之前,该装置还可以包括:切分模块,用于根据预设切分点,将关系代数树切分为多个片段,片段包括多个目标关系代数节点,目标关系代数节点包括目标字段信息和目标逻辑信息。

18、在一种可能的实施方式中,前述的匹配模块,具体用于:为每个片段中的目标关系代数节点匹配自然语言模板,得到sql的第一自然语言描述。

19、在一种可能的实施方式中,前述的匹配模块,具体用于:根据目标关系代数节点中关键字的类型,确定每个片段中的目标关系代数节点的目标自然语言模板;将目标关系代数节点的目标字段信息填入目标自然语言模板,得到第一自然语言描述。

20、在一种可能的实施方式中,目标字段信息包括目标字段的名称,前述的推理模块,还用于采用第二大语言模型对目标字段进行翻译,得到翻译后的目标字段。

21、在一种可能的实施方式中,前述的匹配模块,具体用于:将翻译后的目标字段填入目标自然语言模板,得到第一自然语言描述。

22、第三方面,本技术实施例提供了一种计算设备,包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备执行如第一方面或第一方面任意一种可能的实现方式的方法。

23、第四方面,本技术实施例提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行如第一方面或第一方面任意一种可能的实现方式的方法。

24、第五方面,本技术实施例提供了一种计算机可读存储介质,包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行如第一方面或第一方面任意一种可能的实现方式的方法。

25、第六方面,本技术实施例提供了一种包含指令的计算机程序产品,当指令被计算设备集群运行时,使得计算设备集群执行如第一方面或第一方面任意一种可能的实现方式的方法。

26、其中,第二方面至第六方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面的相关可能实现方式所带来的技术效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1