增加生成式对话模型结果多样性的方法及设备与流程

文档序号:14990772发布日期:2018-07-20 22:10阅读:183来源:国知局

本发明涉及计算机领域,尤其涉及一种增加生成式对话模型结果多样性的方法及设备。



背景技术:

用自然语言进行人机交互将会是今后的一个重要发展方向,无论是对科研学术领域还是商业应用领域来说都是如此。尽管如今市面上已经存在各种聊天机器人,对话建模并自动生成回复仍是一个远未解决的富有挑战性的任务。传统的基于检索的方法尽管给出的回复在语法及内容上质量较高,但往往比较死板,就只有固定的那几句“套路”,并且时常答非所问。基于生成式模型的方法则不同,理论上可以从现有的对话数据中去学习如何对话,然后灵活的回复用户的不同请求。

检索式的系统通过检索数据库给出回复,只能给出数据库中现成的回复,某些时候可能检索不到合适的回复。

生成式的系统根据用户的请求逐字或逐词生成一段回复,更灵活。但现有的生成式的系统往往生成一些比较通用的回复,生成的回复多样性不足。

伴随着深度学习的飞速发展,seq2seq模型被证明是一种强大且灵活的技术,并已在诸如语音识别,机器翻译等应用中大展身手。我们也可以将seq2seq模型应用到对话建模中。然而对话与前面提到的几个任务不同,天生自带极强的多样性。也就是说,用户的同一个请求,可以有无穷多种不同的合理的回复存在。这就使得直接照搬seq2seq模型到对话领域在效果上不尽如人意。



技术实现要素:

本发明的一个目的是提供一种增加生成式对话模型结果多样性的方法及设备,能够解决现有的生成式对话模型的回复多样性不足的问题。

根据本发明的一个方面,提供了一种增加生成式对话模型结果多样性的方法,该方法包括:

获取用户的生成对话的请求文本,所述请求文本为离散的输入序列;

将所述离散的输入序列用编码器进行编码,以将离散的输入序列编码到连续的向量空间,生成连续向量值;

根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值;

根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器生成回复所述用户的对话。

进一步的,上述方法中,所述编码器为循环神经网络。

进一步的,上述方法中,根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值,包括:

所述记忆模块是键值对的形式,根据所述编码器的输出的连续向量值和所述记忆模块的状态及匹配方式匹配到多个键;

计算每个匹配到的键key的概率分布;

根据计算得到的概率分布,对所有匹配到的键key在记忆模块中进行蒙特卡洛采样,取采样得到的键key对应的值为所述采样值。

进一步的,上述方法中,所述解码器为循环神经网络。

进一步的,上述方法中,根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器生成回复所述用户的对话,包括:

循环神经网络的解码器根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用beamsearching算法生成回复所述用户的离散的输出序列。

根据本发明的另一方面,还提供了一种增加生成式对话模型结果多样性的设备,该设备包括:

获取装置,用于获取用户的生成对话的请求文本,所述请求文本为离散的输入序列;

编码装置,用于将所述离散的输入序列用编码器进行编码,以将离散的输入序列编码到连续的向量空间,生成连续向量值;

采样装置,用于根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值;

解码装置,用于根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器生成回复所述用户的对话。

进一步的,上述设备中,所述编码器为循环神经网络。

进一步的,上述设备中,所述采样装置,用于所述记忆模块是键值对的形式,根据所述编码器的输出的连续向量值和所述记忆模块的状态及匹配方式匹配到多个键;计算每个匹配到的键的概率分布;根据计算得到的概率分布,对所有匹配到的键key在记忆模块中进行蒙特卡洛采样,取采样得到的键key对应的值为所述采样值。

进一步的,上述设备中,所述解码器为循环神经网络。

进一步的,上述设备中,所述解码装置,用于循环神经网络的解码器根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用bedmsedrching算法生成回复所述用户的离散的输出序列。

根据本发明的另一面,还提供一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

获取用户的生成对话的请求文本,所述请求文本为离散的输入序列;

将所述离散的输入序列用编码器进行编码,以将离散的输入序列编码到连续的向量空间,生成连续向量值;

根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值;

根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器生成回复所述用户的对话。

根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

获取用户的生成对话的请求文本,所述请求文本为离散的输入序列;

将所述离散的输入序列用编码器进行编码,以将离散的输入序列编码到连续的向量空间,生成连续向量值;

根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值;

根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器生成回复所述用户的对话。

与现有技术相比,本发明在编码与解码这两步的中间加入了一个记忆模块以及在记忆模块上采样,解码器decoder根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,生成回复所述用户的对话,来达到增加生成的回复用户的对话更多样、信息量更大的效果。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出根据本发明一实施例的增加生成式对话模型结果多样性的方法的原理图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

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

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

如图1所示,本发明提供一种增加生成式对话模型结果多样性的方法,包括:

步骤s1,获取用户的生成对话的请求文本(query),所述请求文本为离散的输入序列;

步骤s2,将所述离散的输入序列用编码器encoder进行编码,以将离散的输入序列编码到连续的向量空间,生成连续向量值;

步骤s3,根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值;

步骤s4,根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器decoder生成回复所述用户的对话(answer)。

在此,本发明在编码与解码这两步的中间加入了一个记忆模块以及在记忆模块上采样,解码器decoder根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,生成回复所述用户的对话,来达到增加生成的回复用户的对话更多样、信息量更大的效果。

本发明的增加生成式对话模型结果多样性的方法一实施例中,所述编码器为循环神经网络rnn,以通过循环神经网络rnn,将离散的输入序列编码到连续的向量空间,生成精确的连续向量值。

本发明的增加生成式对话模型结果多样性的方法一实施例中,步骤s3,根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值,包括:

所述记忆模块(memorymodule)是键值对(key-value)的形式,根据所述编码器的输出的连续向量值和所述记忆模块的状态及匹配方式匹配到多个键key;

计算每个匹配到的键key的softmax概率分布;

根据计算得到的softmax概率分布,对所有匹配到的键key在记忆模块中进行蒙特卡洛采样,取采样得到的键key对应的值value为所述采样值,以得到准确的采样值,增加后续回复用户的对话的多样性。

本发明的增加生成式对话模型结果多样性的方法一实施例中,所述解码器为循环神经网络rnn,以通过循环神经网络rnn,根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器decoder准确生成回复所述用户的对话。

本发明的增加生成式对话模型结果多样性的方法一实施例中,步骤s4,根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器decoder生成回复所述用户的对话,包括:

循环神经网络rnn的解码器根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用beamsearching算法生成回复所述用户的离散的输出序列,以准确、多样的生成回复所述用户的对话。

在此,记忆模块memorymodule可以在beamsearch的基础上添加一层更高层级的多样性来源,这种层级化结构对于对话建模来说是有助益的。

根据本发明的另一面,还提供一种增加生成式对话模型结果多样性的设备,其中,该设备包括:

获取装置,用于获取用户的生成对话的请求文本,所述请求文本为离散的输入序列;

编码装置,用于将所述离散的输入序列用编码器进行编码,以将离散的输入序列编码到连续的向量空间,生成连续向量值;

采样装置,用于根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值;

解码装置,用于根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器生成回复所述用户的对话。

在此,本发明在编码与解码这两步的中间加入了一个记忆模块以及在记忆模块上采样,解码器decoder根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,生成回复所述用户的对话,来达到增加生成的回复用户的对话更多样、信息量更大的效果。

本发明的增加生成式对话模型结果多样性的设备一实施例中,所述编码器为循环神经网络rnn,以通过循环神经网络rnn,将离散的输入序列编码到连续的向量空间,生成精确的连续向量值。

本发明的增加生成式对话模型结果多样性的设备一实施例中,所述采样装置,用于所述记忆模块是键值对的形式,根据所述编码器的输出的连续向量值和所述记忆模块的状态及匹配方式匹配到多个键;根据计算得到的概率分布,对所有匹配到的键key在记忆模块中进行蒙特卡洛采样,取采样得到的键key对应的值为所述采样值,以得到准确的采样值,增加后续回复用户的对话的多样性。

本发明的增加生成式对话模型结果多样性的设备一实施例中,所述解码器为循环神经网络,以通过循环神经网络rnn,根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器decoder准确生成回复所述用户的对话。

本发明的增加生成式对话模型结果多样性的设备一实施例中,所述解码装置,用于循环神经网络的解码器根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用beamsearching算法生成回复所述用户的离散的输出序列,以准确、多样的生成回复所述用户的对话。

在此,记忆模块memorymodule可以在beamsearch的基础上添加一层更高层级的多样性来源,这种层级化结构对于对话建模来说是有助益的。

根据本发明的另一面,还提供一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

获取用户的生成对话的请求文本,所述请求文本为离散的输入序列;

将所述离散的输入序列用编码器进行编码,以将离散的输入序列编码到连续的向量空间,生成连续向量值;

根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值;

根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器生成回复所述用户的对话。

根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

获取用户的生成对话的请求文本,所述请求文本为离散的输入序列;

将所述离散的输入序列用编码器进行编码,以将离散的输入序列编码到连续的向量空间,生成连续向量值;

根据所述编码器的输出的连续向量值在记忆模块中采样得到采样值;

根据所述记忆模块中采样得到采样值和所述编码器的输出的连续向量值,用解码器生成回复所述用户的对话。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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