用于提升对话系统对话性能的方法及装置与流程

文档序号:12464679阅读:197来源:国知局
用于提升对话系统对话性能的方法及装置与流程

本发明涉及聊天机器人领域以及人工智能对话系统领域,尤其涉及一种用于提升对话系统对话性能的方法及装置。



背景技术:

随着人工智能技术的不断发展,用于人机进行交流的对话系统也需要进行适应性地发展,以提升用户与对话系统进行交流时的交互体验,从而提高用户对对话系统的信任度。现有的对话系统,针对用户输入的对话信息,通常是直接从语料库中匹配出语句进行应答,这导致现有的对话系统所生成的应答语句往往不能很好地把握当前对话的主题,且经常会重复之前已经进行过的话题,使得对话难以维持,也就是说,现有的对话系统灵活性不高,不够智能。



技术实现要素:

本发明要解决的技术问题是提供一种用于提升对话系统对话性能的方法及装置,采用预先构建的对话分析器对对话的上下文进行理解,可以使得对话系统记住前面进行过的话题信息,并确保对话在稳定的主题下进行,可以实现提高对话系统的对话灵活性。

为解决上述技术问题,本发明提供的技术方案是:

一方面,本发明提供一种用于提升对话系统对话性能的方法,包括,

获取用户输入的当前对话信息,以及获取前N轮的历史对话信息;

根据当前对话信息,前N轮的历史对话信息,以及根据预先构建的对话分析器,确定应答输出语句。

进一步地,根据当前对话信息,前N轮的历史对话信息,以及根据预先构建的对话分析器,确定应答输出语句,具体包括,

对当前对话信息进行分词,以获取当前词向量集合,以及对前N轮的历史对话信息进行分词,以获取N个历史词向量集合;

根据当前词向量集合和N个历史词向量集合,以及根据预先构建的对话分析器,确定应答词向量集合;

根据应答词向量集合,确定应答输出语句。

进一步地,对话分析器包括,编码单元,加权注意力单元,解码单元;

编码单元,用于采用预先构建的编码器,分别对当前词向量集合,历史词向量集合以集合为单位进行编码,以将每一个集合中的词向量转化成基于语义的词向量;

加权注意力单元,用于采用加权的注意力机制对经过编码后所获得的基于语义的词向量进行处理,以获得二个新的向量集合,分别为第一向量集合和第二向量集合,其中,第一向量集合与当前词向量集合对应,第二向量集合与N个历史词向量集合对应;

解码单元,用于采用预先构建的解码器对第一向量集合和第二向量集合进行解码,以获得应答词向量集合。

进一步地,编码器为循环神经网络,且解码器为循环神经网络。

另一方面,本发明提供一种用于提升对话系统对话性能的装置,包括,

信息获取模块,用于获取用户输入的当前对话信息,以及获取前N轮的历史对话信息;

应答输出模块:根据当前对话信息,前N轮的历史对话信息,以及根据预先构建的对话分析器,确定应答输出语句。

进一步地,应答输出模块,具体用于,

对当前对话信息进行分词,以获取当前词向量集合,以及对前N轮的历史对话信息进行分词,以获取N个历史词向量集合;

根据当前词向量集合和N个历史词向量集合,以及根据预先构建的对话分析器,确定应答词向量集合;

根据应答词向量集合,确定应答输出语句。

进一步地,对话分析器包括,编码单元,加权注意力单元,解码单元;

编码单元,用于采用预先构建的编码器,分别对当前词向量集合,历史词向量集合以集合为单位进行编码,以将每一个集合中的词向量转化成基于语义的词向量;

加权注意力单元,用于采用加权的注意力机制对经过编码后所获得的基于语义的词向量进行处理,以获得二个新的向量集合,分别为第一向量集合和第二向量集合,其中,第一向量集合与当前词向量集合对应,第二向量集合与N个历史词向量集合对应;

解码单元,用于采用预先构建的解码器对第一向量集合和第二向量集合进行解码,以获得应答词向量集合。

进一步地,编码器为循环神经网络,且解码器为循环神经网络。

本发明提供的用于提升对话系统对话性能的方法及装置,采用预先构建的对话分析器对对话的上下文进行理解,可以使得对话系统记住前面进行过的话题信息,并确保对话在稳定的主题下进行,可以实现提高对话系统的对话灵活性。

附图说明

图1是本发明实施例提供的用于提升对话系统对话性能的方法的流程图;

图2是本发明实施例提供的用于提升对话系统对话性能的方法的又一流程图;

图3是本发明实施例提供的用于提升对话系统对话性能的装置的框图;

图4是本发明实施例提供的对话分析器的原理结构图;

图5是本发明实施例提供的对话分析器的又一原理结构图;

图6是本发明实施例提供的对话分析器的再一原理结构图。

具体实施方式

下面通过具体的实施例进一步说明本发明,但是,应当理解为,这些实施例仅仅是用于更详细具体地说明之用,而不应理解为用于以任何形式限制本发明。

实施例一

结合图1,本实施例提供的本发明提供一种用于提升对话系统对话性能的方法,包括,

步骤S1:获取用户输入的当前对话信息,以及获取前N轮的历史对话信息;

步骤S2:根据当前对话信息,前N轮的历史对话信息,以及根据预先构建的对话分析器,确定应答输出语句。

本发明实施例提供的用于提升对话系统对话性能的方法,采用预先构建的对话分析器对对话的上下文进行理解,可以使得对话系统记住前面进行过的话题信息,并确保对话在稳定的主题下进行,可以实现提高对话系统的对话灵活性。

优选地,如图2所示地,步骤S2具体包括,

步骤S2.1:对当前对话信息进行分词,以获取当前词向量集合,以及对前N轮的历史对话信息进行分词,以获取N个历史词向量集合;

步骤S2.2:根据当前词向量集合和N个历史词向量集合,以及根据预先构建的对话分析器,确定应答词向量集合;

步骤S2.3:根据应答词向量集合,确定应答输出语句。

本实施例中,在获得用户输入的当前对话信息以及前N轮的历史对话信息后,先对两类信息分别进行分词,即,对当前对话信息进行分词,以获取当前词向量集合,以及对前N轮的历史对话信息进行分词,以获取N个历史词向量集合。前N轮的历史对话信息对应将获得N个历史词向量集合,也就是说,每一轮历史对话信息对应将获得一个历史词向量集合,也就是说,在步骤S2.1中,将获得N+1个向量集合。本实施例在将当前对话信息以及前N轮的历史对话信息进行分词之后,再将分词所获得的N+1个词向量输入至预先构建的对话分析器中,继而,对话分析器对所输入的上下文进行理解,从而给出应答词向量集合,之后,系统将根据应答词向量集合来获取应答输出语句。

需要说明的是,每一个语句都对应着若干个词,且每一个词都可以转换成一个词向量,也就是说,每一个语句对应着一个词向量集合,且对于同一个对话系统而言,词向量集合与语句之间的关系是唯一对应的。

进一步优选地,对话分析器包括,编码单元,加权注意力单元,解码单元;

编码单元,用于采用预先构建的编码器,分别对当前词向量集合,历史词向量集合以集合为单位进行编码,以将每一个集合中的词向量转化成基于语义的词向量;

加权注意力单元,用于采用加权的注意力机制对经过编码后所获得的基于语义的词向量进行处理,以获得二个新的向量集合,分别为第一向量集合和第二向量集合,其中,第一向量集合与当前词向量集合对应,第二向量集合与N个历史词向量集合对应;

解码单元,用于采用预先构建的解码器对第一向量集合和第二向量集合进行解码,以获得应答词向量集合。

本实施例中,当只考虑前一轮历史对话信息,即N的取值为1时,此时,对话分析器的原理结构图如图4所示,当前词向量集合为{x1,x2,x3,…xi…,xr},且历史词向量集合为{c1,c2,c3,…ci…cr},其中,xi指用户输入的当前对话信息分词后所获得的第i个词向量,ci指历史对话信息分词后所获得的第i个词向量。此时,编码单元对应有两个一模一样的编码器,分别为Encoder1和Encoder2,其中,Encoder1对当前词向量集合进行编码,且Encoder2对唯一的一个历史词向量集合进行编码,且两个编码器对两个词向量进行编码的目的都是将词向量转化成基于语义的词向量,即,Encoder1将当前词向量集合中的所有词向量转化成基于语义的词向量,且Encoder2将历史词向量集合中的所有词向量转化成基于语义的词向量。

在获得基于语义的词向量之后,采用加权的注意力机制对基于语义的词向量进行处理,具体的处理方式为,如图4所示地,针对经过Encoder1获得的基于语义的若干个词向量,采用全连接的方式进行加权处理(此处,图4中,按照处理的先后逻辑顺序将其命名为Attention1),以及针对经过Encoder2获得的基于语义的若干个词向量,采用全连接的方式进行加权处理(此处,图4中,按照处理的先后逻辑顺序将其命名为Attention2),经过Attention1处理后,将获得与当前词向量集合对应的第一向量集合,以及经过Attention2处理后,将获得与N(此处,N=1)个历史词向量集合对应的第二向量集合。

需要说明的是,Attention1以及Attention2中,各个词向量所对应的权值是预先通过机器学习的方法训练获得,且对于同一个节点处的若干个权值已进行过归一化处理,此外,本实施例中,所有的符号“⊕”表示求加权和。

需要说明的是,结合图4,本实施例中提及的注意力机制是指,对经过Encoder 1处理所获得的所有基于语义的词向量进行加权求和,以获得第一向量集合,对经过Encoder2处理所获得的所有基于语义的词向量进行加权求和,以获得第二向量集合。

需要说明的是,本实施例中,加权注意力单元的作用在于,能够有效去除历史对话信息中对于当前对话没有关联的信息,即,可以减少无关信息对对话分析器产生的噪音干扰,可以提高对话系统的性能。此外,加权注意力单元的另一个有益效果在于,可以将冗杂的历史对话信息压缩为向量,从而大大减轻解码器的计算负担,可提升对话系统的数据处理效率。

此外,本实施例中的对话分析器的原理结构图并不是唯一的。当考虑多轮的历史对话信息,即N的取值大于1(例如,N=2)时,此时,对话分析器的原理结构图如图5所示,那么,当前词向量集合为{x1,x2,x3,…xi…,xr},且一个历史词向量集合为{c1,c2,c3,…ci…cr},另一个历史词向量集合为{d1,d2,d3,…di…,dr},其中,向量集合中的每一个元素代指一个词向量。此时,加权的注意力机制是,对多轮历史对话信息对应的基于语义的多个向量分别进行处理后,再集中进行加权处理,以获得第二向量集合。

此外,对话分析器还可以是如图6所示的结构,如图6所示地,此时,加权的注意力机制,对当前对话信息对应的基于语义的向量集合进行加权处理后,获得第一向量集合,以及对多轮历史对话信息对应的基于语义的多个向量分别进行处理后,再与所获得的第一向量集合进行一次加权处理,然后获得第二向量集合。需要说明的是,经过多次的加权的注意力机制的处理后,可以更好地去除历史对话信息中与当前对话不相关的信息,以减少对话分析器中的噪音干扰。

此外,如图6中所示的对话分析器的结构的适用于除了历史对话信息还包括一些其他用户信息的场景,且在实际的处理过程中,是将用户的其他信息也作为历史对话信息进行处理,如此,可提高对话分析器对上下文的理解能力,有助于提升对话系统性能。

本实施例中,解码单元的作用是,采用预先构建的解码器(Decoder)对第一向量集合和第二向量集合进行解码,以获得应答词向量集合{y1,y2,y3,…yi…,yr}。本实施例中,采用循环神经网络作为解码器,且该循环神经网络的隐藏层采用softmax函数进行输出,输出的结果是针对每一个可能出现的词汇的概率值,此时取概率最大的那个词,作为神经网络最终的输出。

优选地,编码器为循环神经网络,且解码器为循环神经网络。

本实施例中,编码器和解码器都是循环神经网络(Recurrent Neural Networks,RNN)。此外,加权注意力单元,则是通过一层全连接的神经网络实现的可微分的神经网络层。此外,需要说明的是,本实施例中的编码器和解码器还可以是长短期记忆(Long Short Term Memory,LSTM)神经网络,以及门控重复单元(Gated Recurrent Unit,GRU)神经网络,可以结合实际需要进行具体选定,本实施例不做具体限定。

实施例二

结合图3,本实施例提供的用于提升对话系统对话性能的装置,包括,

信息获取模块1,用于获取用户输入的当前对话信息,以及获取前N轮的历史对话信息;

应答输出模块2:根据当前对话信息,前N轮的历史对话信息,以及根据预先构建的对话分析器,确定应答输出语句。

本发明实施例提供的用于提升对话系统对话性能的装置,采用预先构建的对话分析器对对话的上下文进行理解,可以使得对话系统记住前面进行过的话题信息,并确保对话在稳定的主题下进行,可以实现提高对话系统的对话灵活性。

优选地,应答输出模块2,具体用于,

对当前对话信息进行分词,以获取当前词向量集合,以及对前N轮的历史对话信息进行分词,以获取N个历史词向量集合;

根据当前词向量集合和N个历史词向量集合,以及根据预先构建的对话分析器,确定应答词向量集合;

根据应答词向量集合,确定应答输出语句。

本实施例中,在获得用户输入的当前对话信息以及前N轮的历史对话信息后,先对两类信息分别进行分词,即,对当前对话信息进行分词,以获取当前词向量集合,以及对前N轮的历史对话信息进行分词,以获取N个历史词向量集合。前N轮的历史对话信息对应将获得N个历史词向量集合,也就是说,每一轮历史对话信息对应将获得一个历史词向量集合,也就是说,在步骤S2.1中,将获得N+1个向量集合。本实施例在将当前对话信息以及前N轮的历史对话信息进行分词之后,再将分词所获得的N+1个词向量输入至预先构建的对话分析器中,继而,对话分析器对所输入的上下文进行理解,从而给出应答词向量集合,之后,系统将根据应答词向量集合来获取应答输出语句。

需要说明的是,每一个语句都对应着若干个词,且每一个词都可以转换成一个词向量,也就是说,每一个语句对应着一个词向量集合,且对于同一个对话系统而言,词向量集合与语句之间的关系是唯一对应的

进一步优选地,对话分析器包括,编码单元,加权注意力单元,解码单元;

编码单元,用于采用预先构建的编码器,分别对当前词向量集合,历史词向量集合以集合为单位进行编码,以将每一个集合中的词向量转化成基于语义的词向量;

加权注意力单元,用于采用加权的注意力机制对经过编码后所获得的基于语义的词向量进行处理,以获得二个新的向量集合,分别为第一向量集合和第二向量集合,其中,第一向量集合与当前词向量集合对应,第二向量集合与N个历史词向量集合对应;

解码单元,用于采用预先构建的解码器对第一向量集合和第二向量集合进行解码,以获得应答词向量集合。

本实施例中,当只考虑前一轮历史对话信息,即N的取值为1时,此时,对话分析器的原理结构图如图4所示,当前词向量集合为{x1,x2,x3,…xi…,xr},且历史词向量集合为{c1,c2,c3,…ci…cr},其中,xi指用户输入的当前对话信息分词后所获得的第i个词向量,ci指历史对话信息分词后所获得的第i个词向量。此时,编码单元对应有两个一模一样的编码器,分别为Encoder1和Encoder2,其中,Encoder1对当前词向量集合进行编码,且Encoder2对唯一的一个历史词向量集合进行编码,且两个编码器对两个词向量进行编码的目的都是将词向量转化成基于语义的词向量,即,Encoder1将当前词向量集合中的所有词向量转化成基于语义的词向量,且Encoder2将历史词向量集合中的所有词向量转化成基于语义的词向量。

在获得基于语义的词向量之后,采用加权的注意力机制对基于语义的词向量进行处理,具体的处理方式为,如图4所示地,针对经过Encoder1获得的基于语义的若干个词向量,采用全连接的方式进行加权处理(此处,图4中,按照处理的先后逻辑顺序将其命名为Attention1),以及针对经过Encoder2获得的基于语义的若干个词向量,采用全连接的方式进行加权处理(此处,图4中,按照处理的先后逻辑顺序将其命名为Attention2),经过Attention1处理后,将获得与当前词向量集合对应的第一向量集合,以及经过Attention2处理后,将获得与N(此处,N=1)个历史词向量集合对应的第二向量集合。

需要说明的是,Attention1以及Attention2中,各个词向量所对应的权值是预先通过机器学习的方法训练获得,且对于同一个节点处的若干个权值已进行过归一化处理,此外,本实施例中,所有的符号“⊕”表示求加权和。

需要说明的是,结合图4,本实施例中提及的注意力机制是指,对经过Encoder 1处理所获得的所有基于语义的词向量进行加权求和,以获得第一向量集合,对经过Encoder2处理所获得的所有基于语义的词向量进行加权求和,以获得第二向量集合。

需要说明的是,本实施例中,加权注意力单元的作用在于,能够有效去除历史对话信息中对于当前对话没有关联的信息,即,可以减少无关信息对对话分析器产生的噪音干扰,可以提高对话系统的性能。此外,加权注意力单元的另一个有益效果在于,可以将冗杂的历史对话信息压缩为向量,从而大大减轻解码器的计算负担,可提升对话系统的数据处理效率。

此外,本实施例中的对话分析器的原理结构图并不是唯一的。当考虑多轮的历史对话信息,即N的取值大于1(例如,N=2)时,此时,对话分析器的原理结构图如图5所示,那么,当前词向量集合为{x1,x2,x3,…xi…,xr},且一个历史词向量集合为{c1,c2,c3,…ci…cr},另一个历史词向量集合为{d1,d2,d3,…di…,dr},其中,向量集合中的每一个元素代指一个词向量。此时,加权的注意力机制是,对多轮历史对话信息对应的基于语义的多个向量分别进行处理后,再集中进行加权处理,以获得第二向量集合。

此外,对话分析器还可以是如图6所示的结构,如图6所示地,此时,加权的注意力机制,对当前对话信息对应的基于语义的向量集合进行加权处理后,获得第一向量集合,以及对多轮历史对话信息对应的基于语义的多个向量分别进行处理后,再与所获得的第一向量集合进行一次加权处理,然后获得第二向量集合。需要说明的是,经过多次的加权的注意力机制的处理后,可以更好地去除历史对话信息中与当前对话不相关的信息,以减少对话分析器的噪音。

此外,如图6中所示的对话分析器的结构的适用于除了历史对话信息还包括一些其他用户信息的场景,且在实际的处理过程中,是将用户的其他信息也作为历史对话信息进行处理,如此,可提高对话分析器对上下文的理解能力,有助于提升对话系统性能。

本实施例中,解码单元的作用是,采用预先构建的解码器(Decoder)对第一向量集合和第二向量集合进行解码,以获得应答词向量集合{y1,y2,y3,…yi…,yr}。本实施例中,采用循环神经网络作为解码器,且该循环神经网络的隐藏层采用softmax函数进行输出,输出的结果是针对每一个可能出现的词汇的概率值,此时取概率最大的那个词,作为神经网络最终的输出。

优选地,编码器为循环神经网络,且解码器为循环神经网络。

本实施例中,编码器和解码器都是循环神经网络(Recurrent Neural Networks,RNN)。此外,加权注意力单元,则是通过一层全连接的神经网络实现的可微分的神经网络层。此外,需要说明的是,本实施例中的编码器和解码器还可以是长短期记忆(Long Short Term Memory,LSTM)神经网络,以及门控重复单元(Gated Recurrent Unit,GRU)神经网络,可以结合实际需要进行具体选定,本实施例不做具体限定。

尽管本发明已进行了一定程度的描述,明显地,在不脱离本发明的精神和范围的条件下,可进行各个条件的适当变化。可以理解,本发明不限于所述实施方案,而归于权利要求的范围,其包括所述每个因素的等同替换。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1