一种查询语句的生成方法、相关方法及装置制造方法及图纸

技术编号:31820586 阅读:37 留言:0更新日期:2022-01-12 12:12
本发明专利技术公开一种查询语句的生成方法、相关方法及装置。所述查询语句的生成方法,包括:将当前对话轮次的自然语言查询语句输入到槽位识别模型中,得到当前槽位结构信息;所述当前槽位结构信息包括预设槽位结构格式的槽位以及所述槽位中的所述自然语言查询语句的命名实体;若当前槽位结构信息中有空槽位,则获取至少一个在先对话轮次的自然语言查询语句对应的在先槽位结构信息;利用所述在先槽位结构信息中命名实体填充当前槽位结构信息的空槽位;对填充后的当前槽位结构信息中的各槽位对应的命名实体进行拼接,得到查询语句。本发明专利技术解决了现有技术中多轮对话场景下查询语句准确率低的问题。确率低的问题。确率低的问题。

【技术实现步骤摘要】
一种查询语句的生成方法、相关方法及装置


[0001]本专利技术涉及自然语言处理领域,特别涉及一种查询语句的生成方法、相关方法及装置。

技术介绍

[0002]数据库中存储了大量的数据,如果想要获取数据库中的数据,数据查询对象,例如运营人员或者数据分析人员,一般采用自然语言转换为SQL语言(Natural Language to Structured Query Language,NL2SQL)的方式,通过将描述想要查询的内容的自然语言查询语句转换为SQL语句,让普通查询对象快速的获取到自己想要的数据。
[0003]通常使用的NL2SQL方式的实现方式为通过端到端的深度学习模型,对自然语言查询语句和数据表的所有表头信息进行编码,然后进行解码,生成对应的SQL语句。将自然语言查询语句通过端到端的方式解析为SQL语句,只能满足单轮对话的要求。当需要基于上下文信息进行查询条件的变更进行多轮对话时,由于端到端的解决方案中,不同对话轮次的上下文信息没有实现关联,得到的SQL语句的准确率低,很难从数据库得到当前对话轮次需要的数据。<br/>
技术实现思路
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种查询语句的生成方法,包括:将当前对话轮次的自然语言查询语句输入到槽位识别模型中,得到当前槽位结构信息;所述当前槽位结构信息包括预设槽位结构格式的槽位以及所述槽位中的所述自然语言查询语句的命名实体;若当前槽位结构信息中有空槽位,获取至少一个在先对话轮次的自然语言查询语句对应的在先槽位结构信息;利用所述在先槽位结构信息中命名实体填充当前槽位结构信息的空槽位;对填充后的当前槽位结构信息中的各槽位对应的命名实体进行拼接,得到查询语句。2.如权利要求1所述的方法,在所述将当前对话轮次的自然语言查询语句输入到槽位识别模型中之前还包括:根据预先获取的元数据表创建所述预设的槽位结构格式的每个槽位对应的命名实体的集合;从各个所述集合中随机抽取命名实体得到多个训练样本;对所述多个训练样本进行序列标注,得到标注后的训练样本;基于所述标注后的训练样本对初始模型进行训练,得到所述槽位识别模型。3.如权利要求2所述的方法,其中,所述基于所述标注后的训练样本对初始模型进行训练得到所述槽位识别模型包括:将所述标注后的训练样本进行分字处理,得到每个字对应的字特征数据;将所述字特征数据输入到所述初始模型中的双向长短期记忆网络中,得到各个所述字特征数据对应的正向字特征数据和反向字特征数据;将所述正向字特征数据和所述反向字特征数据进行融合得到上下文字特征数据;将所述上下文词特征数据线性投影到所述初始模型中的条件随机场网络,得到所述标注后的训练样本的槽位识别结果;将所述标注后的训练样本的序列标注结果与所述槽位识别结果进行匹配,根据匹配结果更新所述槽位识别训练模型的网络参数;重复上述过程,直至达到预设的匹配结果,得到所述槽位识别模型。4.如权利要求1所述的方法,所述将当前对话轮次的自然语言查询语句输入到槽位识别模型中之前,还包括:对所述自然语言查询语句进行字符转换、特殊字符处理和字符拼写纠错中的至少一项操作,得到第一候选语句;基于所述自然语言查询语句的上下文信息、历史查询数据和预设的数据图谱中的至少一项,对所述第一候选语句进行补全,得到第二候选语句;对所述第二候选语句进行改写,得到标准化的自然语言查询语句。5.如权利要求4所述的方法,所述对所述第二候选语句进行改写,得到标准化的自然语言查询语句包括:对所述第二候选语句中的字和/或词进行同义词替换,得到第三候选语句;基于所述上下文信息和所述第三候选语句,确定待查询数据所在的数据表;获取所述数据表的维度枚举值和指标信息;根据所述维度枚举值和指标信息,对所述第三候选语句进行编辑距离计算相似度,根
据相似度筛选得到第四候选语句;对所述第四候选语句进行字符串匹配和排序处理,得到所述标准化的自然语言查询语句。6.如权利要求1-5中任一项所述的方法,所述获取至少一个在先对话轮次的自然语言查询语句对应的在先槽位结构信息,利用所述在先槽位结构信息中命名实体填充当前槽位结构信息的空槽位,包括:获取上一对话轮次的自然语言查询语句对应的在先槽位结构信息,并确定所述当前槽位结构信息的各空槽位对应的槽位是否都有命名实体;若是,则将所述命名实体填充到对应空槽位;若否,则获取按照距离当前对话轮次的时间远近,获取至少一个与所述上一对话轮次临近的在先对话轮次对应的在先槽位结构信息,并根据所述临近的在先对话轮次对应的在先槽位结构信息填充当前槽位结构信息的空槽位。7.如权利要求1所述的方法,所述预设的槽位结构格式的槽位包括:时间槽位,用于填充与时间对应的命名实体;数据表名称槽位,用于填充有与数据表名称对应的命名实体;数据表维度槽位,用于填充与数据表的维度枚举值对应的命名实体;数据表指标槽位,用于填充与数据表的指标对应的命名实体;以及...

【专利技术属性】
技术研发人员:董保华
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1