System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理领域,尤其涉及一种数据处理方法、装置及其他设备。
技术介绍
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查询嵌套层
技术实现思路
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翻译为自然语言;推本文档来自技高网...
【技术保护点】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,当所述关系代数节点不存在匹配的所述第一自然语言模板时,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述为所述关系代数树中的关系代数节点匹配自然语言模板,得到所述SQL的第一自然语言描述之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述为所述关系代数树中的关系代数节点匹配自然语言模板,得到所述SQL的第一自然语言描述,包括:
5.根据权利要求4所述的方法,其特征在于,所述为每个所述片段中的目标关系代数节点匹配所述自然语言模板,得到所述SQL的第一自然语言描述,包括:
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述目标字段信息包括目标字段的名称,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述将所述目标关系代数节点的目标字段信息填入所述目标自然语言模板,得到所述第一自然语言描述,包括:
8.一种数据处理装置,其特征在于,包括:
9.根据权利要求
10.根据权利要求9所述的装置,其特征在于,所述为所述关系代数树中的关系代数节点匹配自然语言模板,得到所述SQL的第一自然语言描述之前,所述装置还包括:
11.根据权利要求10所述的装置,其特征在于,所述匹配模块,具体用于:
12.根据权利要求11所述的装置,其特征在于,所述匹配模块,具体用于:
13.根据权利要求10至12中任一项所述的装置,其特征在于,所述目标字段信息包括目标字段的名称,
14.根据权利要求13所述的装置,其特征在于,所述匹配模块,具体用于:
15.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;
16.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
17.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1至7中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至7中任一项所述的方法。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,当所述关系代数节点不存在匹配的所述第一自然语言模板时,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述为所述关系代数树中的关系代数节点匹配自然语言模板,得到所述sql的第一自然语言描述之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述为所述关系代数树中的关系代数节点匹配自然语言模板,得到所述sql的第一自然语言描述,包括:
5.根据权利要求4所述的方法,其特征在于,所述为每个所述片段中的目标关系代数节点匹配所述自然语言模板,得到所述sql的第一自然语言描述,包括:
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述目标字段信息包括目标字段的名称,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述将所述目标关系代数节点的目标字段信息填入所述目标自然语言模板,得到所述第一自然语言描述,包括:
8.一种数据处理装置,其特征在于,包括:
9.根据权利要求8所述的装置,其特征在于,当所述关系代数节点不存在匹配的所述第一自然语...
【专利技术属性】
技术研发人员:田航宇,孙涛,
申请(专利权)人:深圳华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。