【技术实现步骤摘要】
对话方法及系统
[0001]本公开涉及自然语言处理领域,具体而言,涉及一种对话方法及系统。
技术介绍
[0002]现有技术中,某些智能客服系统会根据用户输入的自然语言生成数据库可操作的SQL查询语句,然后执行SQL查询语句从数据库获取数据并生成用户应答。其中,根据用户输入的自然语言生成SQL查询语句是智能客服系统的关键操作。此操作的通常做法是:针对用户输入文本和数据库表/列的关系进行建模,并在模型中采用注意力机制得到用户输入和SQL查询语句的对应关系,但是采用注意力机制可以生成简单的SQL查询语句,但当涉及到生成多个数据库表组合(例如多表union、join等)的SQL查询语句时,容易出现错误。
技术实现思路
[0003]有鉴于此,本公开的目的是提供一种对话方法以及对话系统,以解决生成多个数据表组合的SQL查询语句容易出错的问题。
[0004]第一方面,本公开实施例提供一种对话方法,包括:
[0005]获得用户问题;
[0006]确定所述用户问题与至少一个数据库表的多个列的第一关联关系 ...
【技术保护点】
【技术特征摘要】
1.一种对话方法,包括:获得用户问题;确定所述用户问题与至少一个数据库表的多个列的第一关联关系;根据所述第一关联关系构建SQL查询语句;以及执行所述SQL查询语句以获得所述用户问题的应答。2.根据权利要求1所述的对话方法,还包括:确定所述用户问题的主题,以及根据所述主题从多个数据库表中选出所述至少一个数据库表。3.根据权利要求1所述的对话方法,其中,所述确定所述用户问题与至少一个数据库表的多个列的第一关联关系,根据所述第一关联关系构建SQL查询语句,包括:构建与所述用户问题中的多个词语分别对应的词特征向量;构建与所述至少一个数据库表的多个列信息分别对应的列特征向量;根据所述词特征向量和所述列特征向量构建关系特征向量;以及根据所述关系特征向量得到所述SQL查询语句。4.根据权利要求1所述的对话方法,其中,所述确定所述用户问题与至少一个数据库表的多个列的第一关联关系,根据所述第一关联关系构建SQL查询语句,包括:构建与所述用户问题中的多个词语分别对应的词特征向量;构建与所述至少一个数据库表的多个列信息分别对应的列特征向量;根据所述词特征向量和所述列特征向量构建关系特征向量;以及根据所述关系特征向量得到多个候选SQL查询语句;从所述多个候选SQL查询语句确定与所述用户问题最匹配的候选SQL查询语句作为所述SQL查询语句。5.根据权利要求3所述的对话方法,还包括:对所述词特征向量进行自注意力操作;对所述列特征向量进行自注意力操作;则根据所述关系特征向量得到所述SQL查询语句,包括:根据所述词特征向量的自注意力操作结果、所述列特征向量的自注意力操作结果以及所述关系特征向量得到所述SQL查询语句。6.根据权利要求3所述的对话方法,其中,采用贪心搜索得到所述SQL查询语句。7.根据权利要求4所述的对话方法,其中,采用集束搜索得到概率从高到低排列的前K个的候选SQL查询语句,K为大于1的整数。8.根据权利要求1所述的对话方法,还包括:确定所述多个数据库表的多个列之间的第二关联关系;则所述根据所述第一关联关系构建SQL查询语句包括:根据所述第一关联关系和所述第二关联关系构建SQL查询语句。9.一种对话系统,包括:问题采集模块,用于获得用户问题;查询语句构建模块,...
【专利技术属性】
技术研发人员:惠彬原,任琪宇,耿瑞莹,黎槟华,李永彬,孙健,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。