语言转义方法、装置、设备及存储介质制造方法及图纸

技术编号:35478193 阅读:11 留言:0更新日期:2022-11-05 16:27
本申请实施例提供语言转义方法、装置、设备及存储介质。所述方法包括:对获取到的目标语句进行拆分,得到至少一个目标子语句;确定所述目标子语句中包含的关键词类型和关键词子句;根据所述目标子语句中包含的关键词类型对应的语义约束规则,对所述目标子语句中的关键词子句进行修正;对修正后的目标子语句进行组合,生成可被执行的机器语言。通过上述方式,能够有效提高自然语言转义准确性以及用户使用数据库查询的工作效率,同时降低对使用数据库查询工作人员的技术能力要求。库查询工作人员的技术能力要求。库查询工作人员的技术能力要求。

【技术实现步骤摘要】
语言转义方法、装置、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及自然语言转义方法、装置、设备及存储介质。

技术介绍

[0002]数据库作为很多数据服务的核心基础技术,为各种数据服务需求提供支持。在数据库的管理和使用当中,往往需要专业的人员参与数据库的使用、交互工作。
[0003]在现有技术中,虽然有一些技术实现了通过人类自然语言到数据库中进行数据查询。比如,可以是用户输入自然语言给神经网络,进而由神经网络输出对应的查询语句(比如,结构化查询语句(Structured Query Language,SQL))。然而,这些查询语句的可执行效果不佳。

技术实现思路

[0004]为解决或改善现有技术中存在的问题,本申请各实施例提供了语言转义方法、装置、设备及存储介质。
[0005]第一方面,在本申请的一个实施例中,提供了一种语言转义方法。该方法包括:
[0006]对获取到的目标语句进行拆分,得到至少一个目标子语句;
[0007]确定所述目标子语句中包含的关键词类型和关键词子句;
[0008]根据所述目标子语句中包含的关键词类型对应的语义约束规则,对所述目标子语句中的关键词子句进行修正;
[0009]对修正后的目标子语句进行组合,生成可被执行的机器语言。
[0010]第二方面,在本申请的一个实施例中,提供了一种电子设备,包括存储器及处理器;其中,
[0011]所述存储器,用于存储程序;
[0012]所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现第一方面所述的一种语言转义方法。
[0013]第三方面,在本申请的一个实施例中,提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如第一方面所述的一种语言转义方法。
[0014]第四方面,在本申请的一个实施例中,提供了一种数据库系统,所述系统包括:
[0015]编码器,用于获取到的自然语言进行编码处理得到的语义特征向量;
[0016]解码器,用于所述编码器输出的所述语义特征向量进行解码处理,生成目标语句;
[0017]拆分模块,用于对获取到的所述目标语句进行拆分,得到至少一个目标子语句;
[0018]修正模块,用于根据所述目标子语句中包含的关键词类型对应的语义约束规则,对所述目标子语句中的关键词子句进行修正;
[0019]组合模块,用于对修正后的目标子语句进行组合,生成可被执行的机器语言;
[0020]数据库,用于基于所述可被执行的机器语言执行数据查询任务。
[0021]本申请实施例提供的技术方案中,当用户提供查询作用的自然语言后,可以由编码器对自然语言进行编码处理从而得到该自然语言的语义特征向量。利用解码器对语言特征向量进行进一步处理,得到自然语言对应的可被数据库识别的目标语句。对目标语句进行拆分处理,得到包含至少一个目标子语句的序列。在每个目标子语句中都包含有关键词,在对目标子语句进行修正的时候,基于目标子语句中包含的关键词类型和对应的语义约束规则,对目标子语句进行修正,并对修正后的目标子语句进行组合,得到能够被数据库识别的机器语言。通过上述方式,能够有效提高自然语言转义准确性以及用户使用数据库查询的工作效率,同时降低对使用数据库查询工作人员的技术能力要求。
附图说明
[0022]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本申请实施例提供的语言转义方法的流程示意图;
[0024]图2为本申请实施例提供的语言转义系统的结构示意图;
[0025]图3为本申请实施例提供的对目标语句进行拆分方法的流程视图;
[0026]图4为本申请实施例举例说明的数据表结构示意图;
[0027]图5为本申请实施例举例说明的有向图的示意图;
[0028]图6为本申请实施例提供的一种语言转义装置的结构示意图;
[0029]图7为本申请实施例提供的一种电子设备的结构示意图;
[0030]图8为本申请实施例提供的一种数据库系统的示意图。
具体实施方式
[0031]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0032]在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。此外,下文描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0033]数据库是信息产业绝大多数数据服务的核心基础设施,数据处理过程中时刻需要数据库的支撑。现阶段终端用户和数据库运维人员仍然主要通过数据库查询机器语言(如SQL、Gremlin等)与数据库进行交互,这需要使用者有较强的数据库专业知识、运维经验、以及对相关数据库实例有较深的了解。因此,在数据库的管理、使用、运维过程中需要大量专
业工作人员参与到数据库交互工作中,技术门槛要求高,人工成本也高。随着人工智能技术的发展,可以利用机器学习技术,将工作人员提供的自然语言转换成为机器语言,以便计算机能够理解工作人员真实意图,并执行相应任务。然而,在实际应用中,利用自然语言处理、机器学习算法等技术实现自然语言到数据库查询语言的转义(NL2SQL)所得到的机器语言往往存在一些语法错误、语义错误等问题,导致数据库没法很好的执行转义得到的机器语言,还需要具有一定技术基础的工作人员对得到的机器语言进行调整后才能够被顺利执行。因此,本申请方案提出对经过转义得到的机器语言进行优化调整,从而实现工作人员通过自然语言与数据库的无障碍交互的方案。转义得到的机器语言准确率更高,更容易被成功执行。能够有效降低对工作人员技术能力要求,降低人工成本,提升工作效率。
[0034]在本申请技术方案中,具体工作过程,将在下述实施例中说明。
[0035]如图1为本申请实施例提供的语言转义方法的流程示意图。该语言转义方法的执行主体可以是本地计算机、云服务设备等。如图1所示,该语言转义方法包括如下步骤:
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种语言转义方法,所述方法包括:对获取到的目标语句进行拆分,得到至少一个目标子语句;确定所述目标子语句中包含的关键词类型和关键词子句;根据所述目标子语句中包含的关键词类型对应的语义约束规则,对所述目标子语句中的关键词子句进行修正;对修正后的目标子语句进行组合,生成可被执行的机器语言。2.根据权利要求1所述的方法,所述对获取到的目标语句进行拆分,得到至少一个目标子语句,包括:利用解码器对基于用户提供的自然语言编码得到的语义特征向量进行解码处理,得到包含有关键词、操作内容和预测值的目标语句;根据嵌套关系对所述目标语句进行拆分,生成无嵌套关系的所述至少一个目标子语句。3.根据权利要求2所述的方法,所述根据嵌套关系对所述目标语句进行拆分,生成无嵌套关系的所述至少一个目标子语句,包括:根据所述目标语句中包含的嵌套标识,确定存在嵌套关系的第一目标子语句和第二目标子语句;其中,所述第二目标子语句嵌套在所述第一目标子语句中;在所述第一目标子语句中所述嵌套标识所在的嵌套位置添加位置标识;生成由所述第一目标子语句和所述第二目标子语句按照嵌套关系中的层级顺序组成的序列。4.根据权利要求2所述的方法,得到至少一个目标子语句之后,还包括:根据所述目标子语句中包含的关键词类型,确定对应的所述语义约束规则。5.根据权利要求2所述的方法,当所述关键词类型为SELECT类型时,所述利用解码器对基于用户提供的自然语言编码得到的语义特征向量进行解码处理,得到包含有关键词、操作内容和预测值的目标语句,包括:获取数据库提供的数据表;对所述语义特征向量进行解码得到的所述SELECT关键词关联的操作内容与所述数据表中数据列进行匹配度分析;根据所述匹配度大小从所述数据表中确定与所述操作内容匹配的目标数据列;基于所述目标数据列中的数据,生成包含SELECT关键词、所述操作内容和所述预测值的目标语句。6.根据权利要求2所述的方法,当所述关键词类型为WHERE类型时;所述利用解码器对基于用户提供的自然语言编码得到的语义特征向量进行解码处理,得到包含有关键词、操作内容和预测值的目标语句,包括:获取数据库提供的数据表;根据所述语义特征信息进行解码得到的WHERE关键词关联的预测值,从所述数据表中筛选出操作内容;根据所述预测值与所述筛选出操作内容的匹配度大小,确定与所述预测值匹配的所述筛选出操作内容,以得到包含WHERE关键词、所述预测值和所述筛选出操作内容的目标语句。
7.根据权利要求4所述的方法,所述根据所述目标子语句中包含的关键词类型对应的语义约束规则,对所述目标子语句中的关键词子句进行修正,包括:当所述关键词类型为HAVING类型时,若执行所述操作内容时的执行结果为数值常量,则将HAVING子句中的所述预测值替换为常量。8.根据权利要求1至7中任一项所述的方法,所述根据所述目标子语句中包含的关键词类型对应的语义约束规则,对所述目标子语句中各所述关键词子句进行修正,包括:若所述预测值为非嵌套值,则计算所述预测值的第一特征向量与所述数据表中第一数据列中任意一个值的第二特...

【专利技术属性】
技术研发人员:付晗刘畅吴斌谭剑李飞飞
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1