实现多轮对话的方法及装置和关系模型生成方法

文档序号:1963717 发布日期:2021-12-14 浏览:7次 >En<

阅读说明:本技术 实现多轮对话的方法及装置和关系模型生成方法 (Method and device for realizing multi-turn conversation and relational model generation method ) 是由 惠彬原 耿瑞莹 黎槟华 李永彬 孙健 于 2021-08-30 设计创作,主要内容包括:本申请公开了一种实现多轮对话的方法及装置和关系模型生成方法,通过将当前轮对话的查询问题与可能使用的元属性建立紧密关系,与当前轮对话之前的多轮对话中不太可能使用的元属性建立松散关系,体现出了当前轮对话的查询问题中用户聚焦的意图发生的变化,有效缓解了焦点转移问题,为对话系统向用户给出满意的答案提供了强有力的保障,提升了多轮对话的应用效果。(The method and the device for realizing the multi-turn conversation and the relational model generation method have the advantages that the query problem of the current turn of conversation is closely related to the possibly used meta-attribute, and the loose relationship is established with the unlikely used meta-attribute in the multi-turn conversation before the current turn of conversation, so that the change of the focusing intention of a user in the query problem of the current turn of conversation is reflected, the focus transfer problem is effectively relieved, the satisfactory answer is provided for the user by a conversation system, and the application effect of the multi-turn conversation is improved.)

实现多轮对话的方法及装置和关系模型生成方法

技术领域

本申请涉及但不限于人工智能技术,尤指一种实现多轮对话的方法及装置和关系模型生成方法。

背景技术

TableQA是一种基于表格的智能问答系统,TableQA系统属于任务型对话的一个分支。实现TableQA系统的核心技术称为自然语言文本到数据库查询语言(SQL)语句的转换技术(NL2SQL,Natural Language to SQL),即将用户的自然语言问题转换为可执行的SQL语句。NL2SQL这一任务的本质,就是将用户的自然语言语句转化为计算机可以理解并执行的规范语义表示(formal meaning representation)。

在对话场景中,对于用户上下文的捕捉和处理极为重要,当前的上下文建模方案主要专注于问题本身的上下文建模,利用一些深度学习模型策略,比如多轮注意力(attention)机制等方式隐式的捕捉上下文关系。而对于多轮的NL2SQL场景,在用户的不断询问的过程中,用户聚焦的意图即用户问题焦点可能会发生变化,相关技术中专注于问题本身的上下文建模的方式,无法解决焦点转移问题,从而不能很好地理解用户的意图,从而会降低基于多轮对话的应用效果。

发明内容

本申请提供一种实现多轮对话的方法及装置和关系模型生成方法,能够有效缓解焦点转移问题,提升多轮对话的应用效果。

本发明实施例提供了一种实现多轮对话的方法,包括:

对多轮对话的查询问题和数据库中的元属性分别进行编码,获得查询问题的表征和元属性的表征;

根据所述多轮对话的查询问题确定每一轮对话的焦点信息;

根据所述查询问题的表征和所述元属性的表征,按照所述每一轮对话的焦点信息建立所述多轮对话的查询问题和元属性之间的关系;

根据所述建立的关系,对每一轮对话的查询问题进行解码,获得数据库查询语言SQL语句。

在一种示例性实例中,所述按照所述每一轮对话的焦点信息建立所述多轮对话的查询问题和所述元属性之间的关系,包括:

利用多轮注意力机制捕捉所述每一轮对话的查询问题和所述元属性之间的相似性,按照每一轮对话的焦点信息建立所述多轮对话的查询问题和所述元属性之间的关系。

在一种示例性实例中,所述按照每一轮对话的焦点信息建立所述多轮对话的查询问题和所述元属性之间的关系,包括:

将所述查询问题的表征和所述元属性的表征输入关系模型,以获得所述每一轮对话的焦点建立的多轮对话的查询问题和元属性之间的关系;

其中,所述关系为,当前轮对话的查询问题与高概率使用的元属性建立紧密关系,与当前轮对话之前的多轮对话中低概率使用的元属性建立松散关系。

在一种示例性实例中,所述关系模型如下式所示:

ei=softmax(hQWatthK⊙mi);

其中,e表示所述多轮对话的查询问题和元属性之间的关系,hQ表示所述查询问题的表征,hK表示u偶数元属性的表征,m表示字符级别的衰减函数,⊙表示同或运算,i表示轮次,Watt为可训练参数。

在一种示例性实例中,所述衰减函数包括以下之一:

线性衰减:

指数衰减:

逆sigmoid衰减函数:

其中,k、c为常数,用于控制衰减的强度;t表示多轮对话中每个字的位置;T是Token,表示在字层面的顺序编码;Sigmoid函数为S型函数。

在一种示例性实例中,所述对每一轮对话的查询问题进行解码,获得数据库的查询语言语句,包括:

利用所述表示多轮对话的查询问题和元属性之间的关系的表征,以及所述当前轮对话的表征作为上下文嵌入,一个字符一个字符的进行解码,得到所述当前轮对话的查询问题对应的数据库查询语言语句。

本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述实现多轮对话的方法。

本申请再提供一种实现多轮对话的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的实现多轮对话的方法的步骤。

本申请又提供一种关系模型生成方法,包括:

将多轮对话的查询问题的表征样本和数据库中的元属性的表征样本输入预先设置的关系模型,关系模型的输出为根据所述查询问题的表征样本和所述元属性的表征样本,按照每一轮对话的焦点信息建立所述多轮对话的查询问题和所述元属性之间的关系样本;其中,所述每一轮对话的焦点信息根据所述多轮对话的查询问题确定;

通过对关系模型的训练确定关系模型的参数。

在一种示例性实例中,所述按照每一轮对话的焦点信息建立所述多轮对话的查询问题和所述元属性之间的关系样本,包括:

将所述查询问题的表征样本和所述元属性的表征样本输入所述关系模型,以获得所述按照每一轮对话的焦点信息建立的所述多轮对话的查询问题和所述元属性之间的关系;

其中,所述关系为,当前轮对话的查询问题样本与高概率使用的元属性样本建立紧密关系,与当前轮对话之前的多轮对话中低概率使用的元属性样本建立松散关系。

在一种示例性实例中,所述关系模型如下式所示:

ei=softmax(hQWatthK⊙mi)

其中,e表示所述多轮对话的查询问题和元属性之间的关系样本,hQ表示所述查询问题的表征样本,hK表示u偶数元属性的表征样本,m表示字符级别的衰减函数,⊙表示同或运算,i表示轮次,Watt为可训练参数。

在一种示例性实例中,所述衰减函数包括以下之一:

线性衰减:

指数衰减:

逆sigmoid衰减函数:

其中,k、c为常数,用于控制衰减的强度;t表示…;T表示…。Sigmoid函数为S型函数。

本申请还提供一种实现多轮对话的设备,包括:编码模块、关系建立模块、解码模块;其中,

编码模块,用于对多轮对话的查询问题和数据库中的元属性分别进行编码,获得查询问题的表征和元属性的表征;

关系建立模块,用于根据所述多轮对话的查询问题确定每一轮对话的焦点信息;根据所述查询问题的表征和所述元属性的表征,按照所述每一轮对话的焦点信息建立所述多轮对话的查询问题和元属性之间的关系;

解码模块,用于所述建立的关系,对每一轮对话的查询问题进行解码,获得数据库查询语言语句。

在一种示例性实例中,还包括:生成模块,用于:

以多轮对话的查询问题的表征样本和数据库中的元属性的表征样本作为预先设置的关系模型的输入,以根据所述查询问题的表征样本和所述元属性的表征样本,按照每一轮对话的焦点信息建立所述多轮对话的查询问题和所述元属性之间的关系样本作为输出,对关系模型进行训练确定关系模型的参数;其中,所述每一轮对话的焦点信息根据所述多轮对话的查询问题确定。

在一种示例性实例中,所述编码模块为采用Transformer架构的编码器。

在一种示例性实例中,所述解码模块为采用循环神经网络架构的解码器。

通过本申请实施例提供的实现多轮对话的方法及装置和关系模型生成方法,通过将当前自然语言问题与可能使用的元属性建立紧密关系,与当前自然语言问题之前的多轮对话中不太可能使用的元属性建立松散关系,体现出了当前自然语言问题中用户聚焦的意图发生的变化,有效缓解了焦点转移问题,为对话系统向用户给出满意的答案提供了强有力的保障,提升了多轮对话的应用效果。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本申请实施例中实现多轮对话的方法的流程示意图;

图2为本申请实施例中关系模型生成的流程示意图;

图3为本申请实施例中实现多轮对话的装置的组成结构示意图;

图4为本申请实施例中基于TableQA系统场景下实现多轮对话的演示图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在本申请一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

多轮NL2SQL场景下,在用户不断询问的过程中,由于用户聚焦的意图即用户问题焦点可能会发生变化,会带来焦点转移问题,从而影响多轮对话的应用效果。

归纳偏置(inductive bias)是机器学习中为了预测其未遇到过的输入的结果时而做的假设的集合,如果这个假设的集合越充分,那么预测将越逼近准确的答案。本申请发明人在研究中发现,多轮NL2SQL场景下,如果能构建出自然语言和schema之间的实体联系(Schema linking),其中,Schema是表格的元属性,如表名、列名等。也就是说,如果能够实现schema linking层面的上下文建模,就能够充分捕捉多轮数据的归纳偏置,从而能够更精准地引导自然语言问题向可执行的SQL语句的转化跟随用户当前的意图转化,进而使得多轮对话能够按照用户当前的意图给出用户满意的答案。

图1为本申请实施例中实现多轮对话的方法的流程示意图,如图1所示,包括:

步骤100:对多轮对话的查询问题和数据库中的元属性分别进行编码,获得查询问题的表征和元属性的表征。

在一种示例性实例中,可以采用如Transformer架构等的编码器来实现对多轮对话的查询问题和元属性分别的编码。

在一种示例性实例中,编码器的输入包括来自用户的多轮对话的查询问题,以及来自数据库中的元属性(schema)两种类型,编码器的作用是获取这些文本的词向量,转换为具有语义特征的嵌入编码,以得到自然语言问题的表征和schema的表征。

步骤101:根据多轮对话的查询问题确定每一轮对话的焦点信息。

在用户不断询问的过程中,用户聚焦的意图即对话的焦点信息可能会发生变化。

步骤102:根据对话的查询问题的表征和元属性的表征,按照每一轮对话的焦点信息建立多轮对话的查询问题和元属性之间的关系。

在获得对话的查询问题的表征和schema的表征后,本申请实施例中一个重要处理是:建立多轮对话的查询问题和schema之间的联系,将对话的查询问题中出现的实体和可能涉及到的schema进行链接,使得当前轮对话的查询问题与可能使用到的元属性(如表和/或列)联系起来,也就是说,在用户不断询问的过程中,由于用户聚焦的意图即对话的焦点信息可能会发生变化,通过步骤102实现了当前轮对话的查询问题与可能(如高概率)使用的元属性建立紧密关系,与当前轮对话的查询问题之前的多轮对话中不太可能(如低概率)使用的元属性建立松散关系,以体现出当前轮对话的查询问题中用户聚焦的意图发生的变化,有效缓解了焦点转移问题。

在一种示例性实例中,可以利用一些深度学习模型策略,比如多轮注意力(attention)机制等方式来捕捉问题和schema之间的相似性,从而按照用户聚焦的意图建立多轮对话的查询问题和元属性之间的关系。

在一种示例性实例中,步骤102可以包括:

将对话的查询问题的表征和元属性的表征输入预先训练好的关系模型,以获得按照对话的焦点信息建立的多轮对话的查询问题和元属性之间的关系。在一种实施例中,按照对话的焦点信息建立多轮对话的查询问题和元属性之间的关系,包括:将对话的查询问题的表征和元属性的表征输入关系模型,以获得每一轮对话的焦点建立的多轮对话的查询问题和元属性之间的关系,其中,该关系为,当前轮对话的查询问题与可能(如高概率)使用的元属性建立紧密关系,与当前轮对话之前的多轮对话中不太可能(如低概率)使用的元属性建立松散关系。

在一种示例性实例中,步骤102可以包括:

ei=softmax(hQWatthK⊙mi) (1)

公式(1)中,e表示多轮对话的查询问题和元属性之间的关系(可简称为linking的关系),hQ表示对话的查询问题的表征,hK表示元属性的表征,m表示字符级别的衰减函数,⊙表示同或运算,i表示轮次,Watt为可训练参数。

在一种示例性实例中,衰减函数可以包括但不限于以下之一:

线性衰减:

指数衰减:

逆sigmoid衰减函数:

上述衰减函数中,k、c为常数,用于控制衰减的强度;t表示多轮对话中每个字的位置,可以是一个顺序编码;T是Token,表示在Token(字)层面的顺序编码(t);Sigmoid函数可称为S型函数,常被用作神经网络的激活函数。

在多轮对话场景中,对话的焦点信息即用户聚焦的意图可能会改变,比如:第一轮可能在询问有关博物馆本身的信息,到了第四轮可能开始关心博物馆访客的信息,本申请发明人发现,实现焦点的切换的一个重要途径就是实现对话的查询和schema之间的实体联系(Schema linking)的切换,基于这个发现,本申请实施例中通过引入衰减函数,使得关系模型更加关注距离当前轮次较近的元属性信息,使得当前轮对话的查询问题与可能(如高概率)使用的元属性建立紧密关系,与当前轮之前的多轮对话中不太可能(如低概率)使用的元属性建立松散关系,体现出了当前轮对话的查询问题中用户聚焦的意图发生的变化,有效缓解了焦点转移问题。本申请实施例中的关系模型也可以形象地称为记忆遗忘机制,即除了更加关注距离当前轮次较近的元属性信息之外,也不忘掉历史的元属性信息。

步骤103:根据建立的关系,对每一轮对话的查询问题进行解码,获得SQL语句。

在一种示例性实例中,可以采用如循环神经网络(RNN)架构等的解码器来实现对当前轮对话的查询问题的解码。

在一种示例性实例中,步骤103可以包括:

利用表示多轮对话的查询问题和元属性之间的关系的表征,以及当前轮对话的表征作为上下文嵌入,一个字符一个字符的进行解码,得到完整的当前轮对话的查询问题对应的SQL语句。

本步骤中,在对当前轮对话的表征进行解码时,使得当前轮对话的查询问题问题与可能使用的元属性建立紧密关系,与当前轮对话之前的多轮对话中不太可能使用的元属性建立松散关系,体现出了当前轮对话的查询问题中用户聚焦的意图发生的变化,有效缓解了焦点转移问题。

本申请实施例提供的实现多轮对话的方法,通过将当前轮对话的查询问题与可能使用的元属性建立紧密关系,与当前轮对话之前的多轮对话中不太可能使用的元属性建立松散关系,体现出了当前轮对话的查询问题中用户聚焦的意图发生的变化,有效缓解了焦点转移问题,为对话系统向用户给出满意的答案提供了强有力的保障,为对话系统向用户给出满意的答案提供了强有力的保障,提升了多轮对话的应用效果。

本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行图1任一项所述的实现多轮对话的方法。

本申请再提供一种实现多轮对话的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行图1任一项所述的实现多轮对话的方法的步骤。

图2为本申请实施例中关系模型生成方法的流程示意图,如图2所示,包括:

步骤200:将多轮对话的查询问题的表征样本和数据库中的元属性的表征样本输入预先设置的关系模型,关系模型的输出为根据所述查询问题的表征样本和元属性的表征样本,按照每一轮对话的焦点信息建立多轮对话的查询问题和元属性之间的关系样本。

其中,每一轮对话的焦点信息根据所述多轮对话的查询问题确定。

在一种示例性实例中,按照每一轮对话的焦点信息建立多轮对话的查询问题和元属性之间的关系样本,包括:

将对话的查询问题的表征样本和元属性的表征样本输入关系模型,以获得按照每一轮对话的焦点信息建立的多轮对话的查询问题和元属性之间的关系,其中,该关系为,当前轮对话的查询问题样本与可能(如高概率)使用的元属性样本建立紧密关系,与当前轮对话之前的多轮对话中不太可能(如低概率)使用的元属性样本建立松散关系。

在一种示例性实例中,关系模型可以如公式(1)所示,在生成关系模型的过程中,公式(1)中的,e表示多轮对话的查询问题和元属性之间的关系(可简称为linking的关系)样本,hQ表示所述查询问题的表征样本,hK表示元属性的表征样本,Watt为可训练参数。

在一种示例性实例中,衰减函数如上文所示,这里不再赘述。

步骤201:通过对关系模型的训练确定关系模型的参数。

在多轮对话场景中,对话的焦点信息即用户聚焦的意图可能会改变,本申请实施例中通过引入衰减函数,在确保关系模型更加关注距离当前轮次较近的元属性信息的情况下对关系模型进行训练,即训练好参数的关系模型会让当前轮对话的查询问题样本与可能使用的元属性样本建立紧密关系,与当前轮对话之前的多轮对话中不太可能使用的元属性样本建立松散关系,体现出了当前轮对话的查询问题中用户聚焦的意图发生的变化,这样,本申请实施例中生成的关系模型在多轮对话处理的使用中为有效缓解了焦点转移问题提供了保障。本申请实施例中的关系模型也可以形象地称为记忆遗忘机制,即除了更加关注距离当前轮次较近的元属性信息之外,也不忘掉历史的元属性信息。

本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行图2任一项所述的关系模型生成方法。

本申请再提供一种实现关系模型生成的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行图2任一项所述的关系模型生成的方法的步骤。

图3为本申请实施例中实现多轮对话的装置的组成结构示意图,如图3所示,包括:编码模块、关系建立模块、解码模块;其中,

编码模块,用于对多轮对话的查询问题和数据库中的元属性分别进行编码,获得查询问题的表征和元属性的表征;

关系建立模块,用于根据所述多轮对话的查询问题确定每一轮对话的焦点信息;根据所述查询问题的表征和所述元属性的表征,按照每一轮对话的焦点信息建立多轮对话的查询问题和元属性之间的关系;

解码模块,用于根据建立的关系,对每一轮对话的查询问题进行解码,获得SQL语句。

在一种示例性实例中,本申请实施例提供的实现多轮对话的装置还可以包括:生成模块,用于:

以多轮对话的查询问题的表征样本和数据库中的元属性的表征样本作为预先设置的关系模型的输入,以根据所述查询问题的表征样本和所述元属性的表征样本,按照每一轮对话的焦点信息建立所述多轮对话的查询问题和所述元属性之间的关系样本作为输出,对关系模型进行训练确定关系模型的参数;其中,所述每一轮对话的焦点信息根据所述多轮对话的查询问题确定。

在一种示例性实例中,编码模块可以采用如Transformer架构等的编码器来实现对多轮自然语言问题和元属性分别的编码。

在一种示例性实例中,解码模块可以采用如RNN架构等的解码器来实现对当前轮自然语言问题的解码。

在一种示例性实例中,关系建立模块具体用于:

将多轮对话的查询问题的表征和数据库中元属性的表征输入预先训练好的关系模型,以获得按照每一轮对话的焦点信息建立的多轮对话的查询问题和元属性之间的关系;其中,每一轮对话的焦点信息根据多轮对话的查询问题确定。

在一种示例性实例中,关系模型可以如公式(1)所示,公式(1)中的衰减函数可以如上文所述。这里不再赘述。

在一种示例性实例中,解码模块具体用于:

利用表示多轮对话的查询问题和元属性之间的关系的表征,以及当前轮对话的表征作为上下文嵌入,一个字符一个字符的进行解码,得到完整的当前轮对话的查询问题对应的SQL语句。

图4为本申请实施例中基于TableQA系统场景下实现多轮对话的演示图,如图4所示,通过编码器,分别对多轮对话的查询问题和多轮的元属性进行编码,得到多轮对话的查询问题的表征和元属性的表征。这些表征输入到预先训练好的关系模型,关系模型按照每一轮对话的焦点信息建立多轮对话的查询问题和元属性之间的关系,如图4所示,在第一轮~第三轮的询问中,用户询问的焦点都是有关博物馆本身的信息,如阴影部分显示的博物馆ID(museum id)、博物馆、博物馆的工作人员;到了第四轮用户询问的焦点开始关心博物馆访客的信息,如阴影部分显示的访客(visitors)、访客的名字、访客的ID、访客的年龄。如图4所示,在从第一轮到第五轮询问中,阴影越深表示该元属性与当前用户的询问的关系越密切,阴影越浅表示该元属性与当前用户的询问的关系越松散。这样,在解码器,利用表示多轮对话的查询问题和元属性之间的关系的表征,以及当前轮对话的表征作为上下文嵌入,一个字符一个字符的进行解码,便可以得到反映了与当前轮对话的查询问题关系紧密的元属性的完整的SQL语句,从而更好地跟随了用户当前的意图,使得对当前用户问题的解读更好地按照用户当前的意图进行,最终得到的SQL语句也更能准确地反映当前用户关心的问题,进而为给出用户满意的答案提供了强有力的保障。如图4所示,按照本申请实现多轮对话的方法,针对第五轮用户询问得到的SQL语句中,包括的信息意思是“提供前面对话涉及的博物馆的访客的ID和年龄”,这个SQL语音准确反映了当前用户要询问的信息,而不再是博物馆的相关信息了,从而为对话系统向用户给出满意的答案提供了强有力的保障。

虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于制作DOPE图表的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!