一种支持自然语言的数据查询方法和系统技术方案

技术编号:21140928 阅读:22 留言:0更新日期:2019-05-18 05:07
本发明专利技术公开了一种支持自然语言的数据查询方法,包括:接收用户自然语言查询语句;基于翻译模型建立自然语言查询语句翻译转换为目标标准SQL语句;判断能否获得目标标准SQL语句;若能,则基于目标标准SQL语句输出数据查询结果;若不能,则提示用户重新输入其它的自然语言查询语句,并且对翻译模型进行模型训练优化。本发明专利技术首先将自然语言查询语句解码翻译成SQL语句,将翻译模型无法翻译预测或者翻译错误的自然查询语句进行正确的标记,扩增模型训练样本集,持续训练以优化现有机器翻译模型,供自然语言查询系统调用。另一方面,还提供了一种支持自然语言的数据查询系统。

A Data Query Method and System Supporting Natural Language

【技术实现步骤摘要】
一种支持自然语言的数据查询方法和系统
本专利技术涉及数据查询
,具体来说,涉及一种支持自然语言的数据查询方法和系统。
技术介绍
随着数据库应用及信息检索系统的广泛发展和普及,各种智能便携式信息终端的大量涌现和使用,越来越多的非专业用户需要一种易于掌握的人机接口去访问所需的信息。目前常见的形式大多是以窗口、菜单为主的数据报表,用户只需用鼠标点击以及少量的键盘操作就能从数据库中获取所需的信息。但这种方式不够灵活和全面,很多问题是无法或难以用这种方式表达的。另一种常见方式是通过标准的SQL语言进行数据库查询,尽管SQL语言具有简洁、明快和高效的特点,但它的语言形式有很高的格式要求,其形式也和中文表达方式相差甚远,一般只有数据库专业开发人员才能掌握,普通用户很难掌握。所以大多公司的数据查询方式是业务人员通过提交查询申请,由专业数据查询人员完成数据查询任务,再反馈相应结果。自然语言是人类使用最多、最为方便的交流工具,因此通过自然语言直接和计算机进行交互,获取数据库查询结果,可以使没有数据库知识的用户也可以直接查询数据库,从而大大提高工作效率。
技术实现思路
针对相关技术中翻译准确率低、模型迭代优化速度慢、对翻译得到的语句的表达逻辑和内容的检查修正操作具有不可控性的问题,本专利技术提出一种支持自然语言的数据查询方法和系统,能够解决上述技术问题。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种支持自然语言的数据查询方法,包括:接收用户自然语言查询语句;基于翻译模型建立所述自然语言查询语句翻译转换为目标标准SQL语句;判断能否获得所述目标标准SQL语句;若能,则基于所述目标标准SQL语句输出数据查询结果;若不能,则提示用户重新输入其它的自然语言查询语句,并且对所述翻译模型进行模型训练优化。在一些实施例中,在基于翻译模型将所述自然语言查询语句翻译转换为目标标准SQL语句的步骤中,包括:将所述自然语言查询语句中的时间和条件属性通过精确匹配方式进行提取后翻译转换为第一字段,将所述自然语言查询语句的剩余部分在所述翻译模型中进行翻译转换为第二字段,拼接所述第一字段和所述第二字段以获得所述目标标准SQL语句。在一些实施例中,在拼接所述第一字段和所述第二字段以获得所述目标标准SQL语句的步骤前,包括字段检验、纠错和去重。在一些实施例中,对所述翻译模型进行模型训练优化包括数据集准备、模型输入数据准备、模型训练、获得实验结果。在一些实施例中,所述模型训练包括:创建所述翻译模型,初始化相关超参数;将所述自然语言查询语句输入训练集和测试集,并将所述自然语言查询语句按照长度放入Bucket;对所述自然语言查询语句的样本进行训练,观察所述翻译模型混淆度,其中,所述混淆度越接近于1,表示模型损失函数值接近于0;调整网络的各个所述超参数,如果混淆度值在最近3次迭代中没有降低,则减小学习率;记录每一次的训练结果,将产生最优结果的所述翻译模型保存。根据本专利技术的另一方面,提供了一种支持自然语言的数据查询系统,包括:接收模块,用于接收用户自然语言查询语句;翻译转换模块,用于基于翻译模型建立所述自然语言查询语句翻译转换为目标标准SQL语句;判断模块,用于判断能否获得所述目标标准SQL语句;输出模块,基于所述目标标准SQL语句输出数据查询结果;提示模块,用于提示用户重新输入其它的自然语言查询语句;模型训练优化模块,用于对所述翻译模型进行模型训练优化。在一些实施例中,所述翻译转换模块包括:第一转换模块,用于将所述自然语言查询语句中的时间和条件属性通过精确匹配方式进行提取后翻译转换为第一字段;第二转换模块,用于将所述自然语言查询语句的剩余部分在所述翻译模型中进行翻译转换为第二字段;拼接模块,用于拼接所述第一字段和所述第二字段以获得所述目标标准SQL语句。在一些实施例中,所述翻译转换模块包括:检查纠正模块,用于对字段进行检验、纠错和去重。在一些实施例中,所述模型训练优化模块包括:数据集、模型输入数据、模型训练模块以及实验结果获取模块。在一些实施例中,所述模型训练模块包括:创建模块,用于创建所述翻译模型,初始化相关超参数;输入模块,用于将所述自然语言查询语句输入训练集和测试集,并将所述自然语言查询语句按照长度放入Bucket;训练模块,用于对所述自然语言查询语句的样本进行训练,当所述翻译模型混淆度越接近于1时,表示模型损失函数值接近于0;调整模块,用于调整网络的各个所述超参数,如果混淆度值在最近3次迭代中没有降低,则减小学习率;保存模块,用于记录每一次的训练结果,将产生最优结果的所述翻译模型保存。基于以上实施例,本专利技术首先将自然语言查询语句解码翻译成SQL语句,将翻译模型无法翻译预测或者翻译错误的自然查询语句进行正确的标记,扩增模型训练样本集,持续训练以优化现有机器翻译模型,供自然语言查询系统调用。从而实现了自动化数据查询,使得不具备SQL知识的可以直接在数据中进行查询。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的一种支持自然语言的数据查询方法的流程图;图2示出了seq2seq模型结构图;图3示出了注意力机制的结构图;图4示出了自然语言查询seq2seq模型结构;图5是本专利技术实施例的一种支持自然语言的数据查询系统。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,根据本专利技术的实施例,提供了一种支持自然语言的数据查询方法,包括:S101:接收用户自然语言查询语句;S102:基于翻译模型建立所述自然语言查询语句翻译转换为目标标准结构化查询语言(StructuredQueryLanguage,以后简称SQL)语句;S103:判断能否获得所述目标标准SQL语句;S104:若能,则基于所述目标标准SQL语句输出数据查询结果;S105:若不能,则提示用户重新输入其它的自然语言查询语句,并且对所述翻译模型进行模型训练优化。基于以上实施例,首先将自然语言查询语句解码翻译成SQL语句,将翻译模型无法翻译预测或者翻译错误的自然查询语句进行正确的标记,扩增模型训练样本集,持续训练以优化现有机器翻译模型,供自然语言查询系统调用。因此,针对传统数据查询方式中使用数据报表或者专业人员帮助完成SQL查询,本专利技术创新性地将常用于机器翻译的深度学习模型Seq2Seq应用于数据查询场景中,建立了自然语言查询语句和SQL字段的有序映射,同时对查询条件进行规则匹配,最终拼接得到SQL语句,以实现从自然语言到SQL语句的自动翻译,实现自动化数据查询,使得不具备SQL知识的人可以直接在数据中进行查询。传统的自然语言语句解码流程主要是基于整个语句进行翻译,即将整个语句不做拆解,直接全句进入模型,解码翻译成另一种语言的完整表达。由于语言表达的多样性,模型的训练样本本文档来自技高网...

【技术保护点】
1.一种支持自然语言的数据查询方法,其特征在于,包括:接收用户自然语言查询语句;基于翻译模型建立所述自然语言查询语句翻译转换为目标标准SQL语句;判断能否获得所述目标标准SQL语句;若能,则基于所述目标标准SQL语句输出数据查询结果;若不能,则提示用户重新输入其它的自然语言查询语句,并且对所述翻译模型进行模型训练优化。

【技术特征摘要】
1.一种支持自然语言的数据查询方法,其特征在于,包括:接收用户自然语言查询语句;基于翻译模型建立所述自然语言查询语句翻译转换为目标标准SQL语句;判断能否获得所述目标标准SQL语句;若能,则基于所述目标标准SQL语句输出数据查询结果;若不能,则提示用户重新输入其它的自然语言查询语句,并且对所述翻译模型进行模型训练优化。2.根据权利要求1所述的方法,其特征在于,在基于翻译模型将所述自然语言查询语句翻译转换为目标标准SQL语句的步骤中,包括:将所述自然语言查询语句中的时间和条件属性通过精确匹配方式进行提取后翻译转换为第一字段,将所述自然语言查询语句的剩余部分在所述翻译模型中进行翻译转换为第二字段,拼接所述第一字段和所述第二字段以获得所述目标标准SQL语句。3.根据权利要求2所述的方法,其特征在于,在拼接所述第一字段和所述第二字段以获得所述目标标准SQL语句的步骤前,包括字段检验、纠错和去重。4.根据权利要求1所述的方法,其特征在于,对所述翻译模型进行模型训练优化包括数据集准备、模型输入数据准备、模型训练、获得实验结果。5.根据权利要求4所述的方法,其特征在于,所述模型训练包括:创建所述翻译模型,初始化相关超参数;将所述自然语言查询语句输入训练集和测试集,并将所述自然语言查询语句按照长度放入Bucket;对所述自然语言查询语句的样本进行训练,观察所述翻译模型混淆度,其中,所述混淆度越接近于1,表示模型损失函数值接近于0;调整网络的各个所述超参数,如果混淆度值在最近3次迭代中没有降低,则减小学习率;记录每一次的训练结果,将产生最优结果的所述翻译模型保存。6.一种支持自然语言的数据查询系统,其特征...

【专利技术属性】
技术研发人员:周晔穆海洁熊怡
申请(专利权)人:上海汇付数据服务有限公司
类型:发明
国别省市:上海,31

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

1