首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种对话生成的方法和装置_北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司_201810213188.6 

申请/专利权人:北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司

申请日:2018-03-15

公开(公告)日:2024-06-14

公开(公告)号:CN110309275B

主分类号:G06F16/332

分类号:G06F16/332

优先权:

专利状态码:有效-授权

法律状态:2024.06.14#授权;2020.10.30#实质审查的生效;2019.10.08#公开

摘要:本发明公开了一种对话生成的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据对话信息以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量;基于当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量;至少根据当前轮对话的隐状态向量以及记忆内容向量,生成对话回复信息。该实施方式提供了一种新颖的对话生成思路,结合变分隐变量,以随机读取记忆单元中的记忆内容,进而生成多样化的对话回复;另外,对于记忆内容的提取,提高了对话回复的准确性。

主权项:1.一种对话生成的方法,其特征在于,包括:接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据所述对话信息以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量;基于所述当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量,包括:根据所述当前轮对话的隐状态向量,确定相应的均值与方差,至少结合预定噪声值,以生成所述变分隐状态向量;根据所述变分隐状态向量,提取与所述当前轮对话的隐状态向量相应的记忆内容向量;至少根据所述当前轮对话的隐状态向量以及所述记忆内容向量,生成对话回复信息。

全文数据:一种对话生成的方法和装置技术领域本发明涉及计算机技术领域,尤其涉及一种对话生成的方法和装置。背景技术随着电子商务的发展,电子商务平台承担了有关商品的售后需求,但随着业务的发展、用户线上购物数量的增多,传统的人工客服模式已难以适应海量电商用户的售后需求,同时也给企业带来了巨大的人力成本负担。为解决该现象,基于语音对话性质的导购服务应运而生,即引入对话生成系统DialogueGenerationSystem,通过训练机器学习模型来更准确的捕捉用户的购物需求,同时动态理解用户的需求变化,以模拟自然人的对话方式,引导和帮助用户完成在电商网站上的购物行为以及完善各类售后服务。现有技术主要采用基于序列到序列的神经网络对话生成模型,即将对话生成描述为给定历史对话词序列,以生成相应的回复词序列。具体地,采用两个循环神经网络RNN,RecurrentNeuralNetworks——编码器以及解码器;其中,编码器编码时,首先将一个词映射成词向量,然后将词向量作为循环神经网络的输入,当循环到最后一个词时,用解码器循环神经网络的隐状态做分类,依次计算回复的词序列,生成相应的对话回复。在实现本发明的过程中,发明人发现现有技术至少存在如下问题:1无效回复:现有的对话生成模型,由于无法有效获取全部的上下文语义描述以及对于长句子建模能力的欠缺,往往生成与主题不相关的无效回复,例如“哈哈”、“我不知道”,回复较为单调,缺乏多样性,阻碍提升对话生成系统的效率;2记忆衰退:现有的对话生成模型,由于无法有效跟踪之前全部对话信息,且随着对话轮数的增加,系统对于对话起始阶段的记忆会越来越模糊,从而无法生成合理的回复,成为多轮对话系统的主要开发障碍。发明内容有鉴于此,本发明实施例提供一种对话生成的方法和装置,至少能够解决现有技术中对于对话记忆衰退,引发无法准确获取全部对话信息,所导致对话回复不准确的问题。为实现上述目的,根据本发明实施例的一个方面,提供了一种对话生成的方法,包括:接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据对话信息以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量;基于当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量;至少根据当前轮对话的隐状态向量以及记忆内容向量,生成对话回复信息。可选的,接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据对话信息以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量包括:接收当前轮对话的对话信息,转换对话信息为相应的句子向量;获取上一轮对话的隐状态向量,根据句子向量以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。可选的,接收当前轮对话的对话信息,转换对话信息为相应的句子向量包括:接收当前轮对话当前所输入的对话信息,转换当前所输入的对话信息为词序列,确定相应的词向量;其中,词序列与词向量具有映射关系;获取当前轮对话中上一次输入对话信息的隐状态向量,结合所述词向量,以确定与当前所输入的对话信息相应的隐状态向量;重复上述步骤,当检测到当前轮对话信息输入完毕时,将所确定的隐状态向量作为当前轮对话的句子向量。可选的,基于所述当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量包括:根据当前轮对话的隐状态向量,确定相应的均值与方差,至少结合预定噪声值,以生成变分隐状态向量;根据变分隐状态向量,提取与隐状态向量相应的记忆内容向量。可选的,至少根据当前轮对话的隐状态向量以及记忆内容向量,生成对话回复信息包括:确定对话回复信息中的第一个词,获取第一个词的词向量以及相应的隐状态向量,结合当前轮对话的隐状态向量以及记忆内容向量,确定第二个词的隐状态向量;其中,第一个词为预定的起始符;根据第二个词的隐状态向量,确定预定词表中每个词的概率,提取概率最大的词为所述第二个词;重复上述步骤,循环生成回复的每一个词,直至生成终止符为止,组合所生成的所有词为对话回复信息。为实现上述目的,根据本发明实施例的另一方面,提供了一种对话生成的装置,包括:接收模块,用于接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据对话信息以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量;提取模块,用于基于当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量;生成模块,用于至少根据当前轮对话的隐状态向量以及记忆内容向量,生成对话回复信息。可选的,所述接收模块,用于:接收当前轮对话的对话信息,转换对话信息为相应的句子向量;获取上一轮对话的隐状态向量,根据句子向量以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。可选的,接收模块,用于:接收当前轮对话当前所输入的对话信息,转换当前所输入的对话信息为词序列,确定相应的词向量;其中,词序列与词向量具有映射关系;获取当前轮对话中上一次输入对话信息的隐状态向量,结合所述词向量,以确定与当前所输入的对话信息相应的隐状态向量;重复上述步骤,当检测到当前轮对话信息输入完毕时,将所确定的隐状态向量作为当前轮对话的所述句子向量。可选的,提取模块,用于:根据当前轮对话的隐状态向量,确定相应的均值与方差,至少结合预定噪声值,以生成变分隐状态向量;根据变分隐状态向量,提取与隐状态向量相应的记忆内容向量。可选的,生成模块,用于:确定对话回复信息中的第一个词,获取第一个词的词向量以及相应的隐状态向量,结合当前轮对话的隐状态向量以及记忆内容向量,确定第二个词的隐状态向量;其中,第一个词为预定的起始符;根据第二个词的隐状态向量,确定预定词表中每个词的概率,提取概率最大的词为所述第二个词;重复上述步骤,循环生成回复的每一个词,直至生成终止符为止,组合所生成的所有词为对话回复信息。为实现上述目的,根据本发明实施例的再一方面,提供了一种对话生成的电子设备。本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的对话生成的方法。为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的对话生成的方法。根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:可以有效帮助解决目前在多轮自动对话系统性中的无效回复和记忆衰减的问题,使得对话回复准确性更高以及样式多样化。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本发明,不构成对本发明的不当限定。其中:图1是根据本发明实施例的一种对话生成的方法的主要流程示意图;图2是根据本发明实施例的一种可选的对话生成的方法的流程示意图;图3是根据本发明实施例的另一种可选的对话生成的方法的流程示意图;图4是根据本发明实施例的又一种可选的对话生成的方法的流程示意图;图5是根据本发明实施例的又一种可选的对话生成的方法的流程示意图;图6是根据本发明实施例的一种具体地对话生成的方法的流程示意图;图7是根据本发明实施例的依据循环神经网络生成对话的流程描述图;图8是根据本发明实施例的一种对话生成的装置的主要模块示意图;图9是本发明实施例可以应用于其中的示例性系统架构图;图10是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,本发明实施例所涉及的对话生成系统,为基于信息检索以及机器学习技术构建一个自动系统,能用自然语言与用户进行交互,即基于给定的对话历史,生成下一轮对话回复。参见图1,示出的是本发明实施例提供的一种对话生成的方法的主要流程图,包括如下步骤:S101:接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据对话信息以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。S102:基于当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量。S103:至少根据当前轮对话的隐状态向量以及记忆内容向量,生成对话回复信息。上述实施方式中,对于步骤S101,当前轮对话的隐状态向量,为在当前轮对话输入完毕后,包含当前轮对话与历史对话的语义向量。在任务对话场景中,获取用户或对话生成系统当前在对话界面中所输入的对话信息,该信息可以是文字、语音、图片等,本发明在此不做限制。为便于后续分析计算,在第m轮对话输入完毕后,可以使用多层次的神经网络对其进行编码,例如,使用低维稠密的向量以表示当前所有对话的语义和语法信息,且这种表示更加泛化。对于对话状态,主要采用隐状态向量方式,即不可观测的随机隐状态变量所构成的向量。隐状态向量的维度可以预先设定的,例如,事先在训练神经网络时人为设定隐状态向量的维度。另外,所涉及的向量,可以是一组数字、字符串或其他形式,本发明实施例以量化的数值来表示。对于步骤S102,所生成的变分隐状态向量与随机隐变量有关,用以随机从记忆单元中抽取组合对话的历史状态;其中,记忆单元记录了对话历史状态。进一步的,该随机隐变量根据所学习到的历史对话信息,对历史对话状态进行总结,并引入了随机噪声,可直接影响后续对话回复的生成结果。另外,对于随机噪声的引入,更为贴近实际对话生成应用场景,使得其实施方式具有更强的泛化能力,具有广阔的市场场景。对于步骤S103,基于所获取的记忆内容与当前对话的隐状态向量,逐词生成对于当前轮对话的回复信息,例如,首先确定对话回复中的第一个词,然后结合该词,确定所回复的第二个词。通常,所生成的回复中,第一个词均为开始符。对于第二个词的确定,需要结合上一个词进行。具体地,各词的隐状态需要结合上一个词的隐状态进行确定。由于是对于当前轮对话的回复,由此,各词的隐状态的确定,还需要结合当前对话的隐状态向量、所提取的记忆内容进行。之后,根据第二个词的隐状态,在给定数量的词表上进行分类操作,例如,softmax分类,以计算回复的下一个词的概率分布,并提取概率最大的词作为所回复的下一个词。按照该过程,循环生成所回复的每一个词,直到生成终止符为止。进一步的,对于所生成回复的所有词,可以根据实际应用场景进行转换,例如,对话场景为语音场景,则基于语音转换器,将所得词转换为语音发送;对话场景为文字场景,则直接将所得词进行组合整理即可;但所对话场景为图片场景,可以基于所得词的意思,找寻与之相应的图片即可。上述实施例所提供的方法,提供了一种新颖的对话生成思路,可以结合变分随机隐变量,以随机读取记忆单元中的历史对话记忆内容,进而生成多样化的对话回复,同时提高了对话回复的准确性。另外,各轮对话隐状态向量包含有相应的上一轮对话的对话信息,能够实现循环记忆的效果,体现更优质的对话生成性能。参见图2,示出了根据本发明实施例的一种可选的对话生成的方法流程示意图,包括如下步骤:S201:接收当前轮对话的对话信息,转换对话信息为相应的句子向量。S202:获取上一轮对话的隐状态向量,根据句子向量以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。S203:基于当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量;S204:至少根据当前轮对话的隐状态向量以及记忆内容向量,生成对话回复信息。上述实施方式中,步骤S203、S204可分别参见图1所示步骤S102、S103的描述,在此不再赘述。上述实施方式中,对于步骤S201,句子向量为本轮对话信息所对应的向量。通常,即使本轮对话没有提及实体,本轮对话信息本身也能表达一定的含义,例如,本轮对话信息“可以,那就开始吧”,对话中并未包含任何实体,但表达了要开始某项事情的意图。由此,为使得对话生成可以更加准确反馈对话内容,可以通过本发明提供的技术方案具体参见图3所示,对本轮对话信息进行句子向量处理。对于步骤S202,本发明主要采用循环神经网络,即本轮对话的隐状态向量与上一轮对话的隐状态向量相关,上一轮对话的隐状态向量与上上一轮对话的隐状态向量相关,以此实现对话状态的循环记忆。在对话生成系统中,对于当前轮对话所对应的隐状态向量,可以由本轮对话信息和其他历史对话信息确定例如,上一轮对话的隐状态向量。具体地,本轮对话的隐状态向量其中,为上一轮对话的隐状态向量、为本轮对话的句子向量,σ为神经网络激活函数。对于本轮对话隐状态向量的确定,可以依据文本循环神经网络ContextRNN,用以跟踪记录对话状态生成,同时可以更新对话状态信息。上述实施例所提供的方法,基于循环神经网络确定了本轮对话的隐状态向量,实现了对话状态的循环记忆,降低了对话信息的遗漏和记忆衰退情况,进而提高了对话回复的准确性。参见图3,示出了根据本发明实施例的另一种可选的对话生成的方法流程示意图,包括如下步骤:S301:接收当前轮对话当前所输入的对话信息,转换当前所输入的对话信息为词序列,确定相应的词向量;其中,词序列与词向量具有映射关系。S302:获取当前轮对话中上一次输入对话信息的隐状态向量,结合词向量,以确定与当前所输入的对话信息相应的隐状态向量。S303:重复上述步骤,当检测到当前轮对话信息输入完毕时,将所确定的隐状态向量作为当前轮对话的所述句子向量。S304:获取上一轮对话的隐状态向量,根据句子向量以及上一轮对话的隐状态向量,以确定当前轮对话的隐状态向量。S305:基于当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量。S306:至少根据当前轮对话的隐状态向量以及记忆内容向量,生成对话回复信息。上述实施方式中,步骤S304可参见图2所示步骤S202的描述,步骤S305、S306可分别参见图1所示步骤S102、S103的描述,在此不再赘述。上述实施方式中,对于步骤S301,词向量,包含这一个词的语义信息。对于当前轮对话所输入的对话信息,可以首先将其转换为相应的词序列。例如,当对话信息为语音时,可以依赖语音转换器、分词器等,将其转换为文字形式;当对话信息为图片时,可以先将图片进行分割,将其转换为像素点形式。具体地,一组对话由两个参与者完成,共包含m个对话,所组成的对话有D=u1,......,um,对于第m轮对话句子um,定义由Nm个词组成,即对于第m轮对话的词向量转换,可以依据编码器循环神经网络EncoderRNN进行,可以将该序列中每一个词映射成一个词向量,以作为文本循环神经网络的输入。例如,对于第t个词wt0≤t≤Nm,分配相应的一个词向量需要说明的是,每个词序列与词向量之间具有映射关系,可以通过一维矩阵表示,以表示这个词在词典中的位置。例如,对话信息“JulielovesmemorethanLindalovesme”的词序列Julie,loves,me,more,than,Linda,loves,me,相应的词向量为:[2,0,1,0,0,2,0,1,0,1,1]。对于步骤S302,对于当前第m轮对话,在第t个词输入之前,假设编码器循环神经网络上一次的隐状态向量为在第t个词输入之后,需对其隐状态向量进行更新,重新计算得到其中,σ为神经网络激活函数。对于步骤S303,对于对话生成系统,其隐状态向量会随着对话信息输入的增长而逐渐迭代更新。只有监测到当前无信息输入,或者输入完毕之后例如,用户输入enter,或者接收到输入终止符时,取最后一个词wm输入后,文本循环神经网络所更新的隐状态向量,作为当前第m轮对话的句子向量上述实施例所提供的方法,基于编码器循环神经网络,确定与当前轮信息相应的隐状态向量,且随着所输入信息的变化而进行更新,充分体现了信息循环迭代的特点。参见图4,示出的是本发明实施例提供的又一种可选的对话生成的方法的主要流程图,包括如下步骤:S401:接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据对话信息以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。S402:根据当前轮对话的隐状态向量,确定相应的均值与方差,至少结合预定噪声值,以生成变分隐状态向量。S403:根据变分隐状态向量,提取与隐状态向量相应的记忆内容向量。S404:至少根据当前轮对话的隐状态向量以及记忆内容向量,生成对话回复信息。上述实施方式中,对于步骤S401可参见图1所示步骤S101的描述,也可以参见图2所示步骤S201、S202的描述,还可以参见图3所示步骤S301~S304的描述;步骤S404可参见图1所示步骤S103的描述,在此不再赘述。上述实施方式中,对于步骤S402,可以根据公式:z=μ+∑⊙ε依据第m轮对话的隐状态向量,确定相应的变分隐状态向量z;其中,均值μ与方差∑由前馈神经网络根据当前第m轮对话的隐状态向量计算获得,ε为标准高斯变量,⊙为softplus函数。对于步骤S403,根据公式:在从记忆单元中读取记忆内容时,变分隐状态向量z能够读取与当前第m轮对话相关的历史对话记忆内容向量bm;其中,为第m轮对话后的第i个记忆内容向量。通过变分隐状态向量z中的随机噪声ε,使得所读取的记忆内容具有一定的随机性,进而所生成的对话回复信息既可以与历史对话信息相关,又具有多样性的特点。且该随机性在一定的可控范围内,通常取值在高斯分布波峰附近。进一步的,在提取记忆内容向量bm之后,可以根据当前第m轮对话的隐状态向量更新记忆单元。具体地,根据公式:Mm+1=Fm⊙Mm+Um⊙hupdate更新记忆单元;其中,F、U是两个开关向量,hupdate为用于更新记忆单元的对话状态向量,且Fm、Mm和hupdate均与第m轮对话的隐状态向量相关。另外,每当有新的对话输入后,该记忆单元都会随之更新,便于后续对话的查询使用。上述实施例所提供的方法,提供了一种基于当前轮对话的隐状态向量,生成能够提取记忆内容的变分隐状态向量的思路,通过所引入的随机噪声,使得所生成的变分隐状态向量具有一定的随机性,进而导致所提取的记忆内容也具有一定的随机性,进而使得所生成的对话回复既跟历史对话相关,又不失多样性,满足多方需求。参见图5,示出的是本发明实施例提供的再一种可选的对话生成的方法的主要流程图,包括如下步骤:S501:接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据对话信息以及上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。S502:基于当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量。S503:确定对话回复信息中的第一个词,获取第一个词的词向量以及相应的隐状态向量,结合当前轮对话的隐状态向量以及记忆内容向量,确定第二个词的隐状态向量;其中,第一个词为预定的起始符。S504:根据第二个词的隐状态向量,确定预定词表中每个词的概率,提取概率最大的词为所述第二个词。S505:重复上述步骤,循环生成回复的每一个词,直至生成终止符为止,组合所生成的所有词为对话回复信息。上述实施方式中,对于步骤S501可参见图1所示步骤S101的描述,也可以参见图2所示步骤S201、S202的描述,还可以参见图3所示步骤S301~S304的描述;步骤S502可参见图1所示步骤S102的描述,也可以参见图4所示步骤S402、S403的描述,在此不再赘述。对于对话回复信息的生成,可以依据解码器循环神经网络DeocderRNN生成。上述实施方式中,对于步骤S503~S505,解码器循环神经网络的输入,为上一次所生成的词Wk-10≤k≤Nn,Nn为所回复的句子中词的数量的词向量ek-1、解码器循环神经网络隐状态向量当前第m轮对话的隐状态向量以及所提取的记忆内容bm。解码器循环神经网络根据上述输入,确定所回复的下一个词的隐状态向量需要说明的是,对于所需回复的起始词,可以均设定为预定的开始符。对于起始词之后词的确定,可以按照上述步骤进行确定。根据起始词之后第二个词的隐状态,可以在给定词数量的词表上进行分类处理,计算回复下一个词的概率分布,并提取概率最大的词作为回复的第二个词。重复上述步骤,以循环生成回复的每一个词,直至生成终止符为止,并将所生成的所有词组合生成对话回复信息。上述实施例所提供的方法,提供了一种基于记忆内容和当前轮对话,确定所回复对话信息的思路,便于进一步完善和建立自动对话系统,从而有效节约人工成本,提高用户的使用体验。参见图6,示出了根据本发明实施例的一具体地对话生成的方法流程示意图,包括如下步骤:S601:接收当前轮对话当前所输入的对话信息,转换当前所输入的对话信息为词序列,确定相应的词向量;其中,词序列与词向量具有映射关系。S602:获取当前轮对话中上一次输入对话信息的隐状态向量,结合词向量,以确定与当前所输入的对话信息相应的隐状态向量。S603:重复上述步骤,当检测到当前轮对话信息输入完毕时,将所确定的隐状态向量作为当前轮对话的所述句子向量。S604:根据当前轮对话的隐状态向量,确定相应的均值与方差,至少结合预定噪声值,以生成变分隐状态向量。S605:根据变分隐状态向量,提取与隐状态向量相应的记忆内容向量。S606:确定对话回复信息中的第一个词,获取第一个词的词向量以及相应的隐状态向量,结合当前轮对话的隐状态向量以及记忆内容向量,确定第二个词的隐状态向量;其中,第一个词为预定的起始符。S607:根据第二个词的隐状态向量,确定预定词表中每个词的概率,提取概率最大的词为所述第二个词。S608:重复上述步骤,循环生成回复的每一个词,直至生成终止符为止,组合所生成的所有词为对话回复信息。上述实施方式中,步骤S601~S603可以参见图1所示步骤S101的描述,也可以参见图2所示步骤S201以及S202的描述,还可以参见图3所示步骤S301~S304的描述;步骤S604~S605可参见图1所示步骤S102的描述,还可以参见图4所示步骤S402~S403的描述;步骤S606~S608可参见图1所示步骤S103的描述,还可以参见图5所示步骤S503~S505的描述,在此不再赘述。以图7流程为例对于本发明整体流程进行阐述,依据编码器循环神经网络、文本循环神经网络以及解码器循环神经网络完成。以第三轮对话生成为例,具体实施过程有:1接收第二轮对话所输入的对话信息,将其转换为词序列2依据编码器循环神经网络,将该序列中第t个词0≤t≤N2,N2为第二轮对话的词数量映射为相应的词向量结合第t-1个词的隐状态向量为确定第t个词的隐状态向量3当第二轮对话中最后一个词输入完毕,确定最后一个词的隐状态向量为该轮对话的句子向量4文本循环神经网络以当前第二轮对话的句子向量为输入,结合上一轮对话的隐状态向量确定当前第二轮对话的隐状态向量5基于当前第二轮对话的隐状态向量生成相应的变分隐状态向量z,以从记忆单元中提取相关联的记忆内容向量b2,同时更新记忆单元;6解码器循环神经网络,基于记忆内容向量b2以及当前轮对话的隐状态向量逐词生成回复当前第二轮的词序列,即第三轮对话词序列直到生成终止符为止,将所生成的词组合为对话回复信息。上述实施例所提供的方法,可以有效帮助解决目前在多轮自动对话系统性中的无效回复和记忆衰减的问题,使得对话回复准确性更高以及样式多样化。对于电商平台,可以协助进一步建立和完善自动对话系统,从而有效的节约人工成本,提高用户的购物和售后服务体验,,更加方便的满足用户的购物需求,也可以更加快速的帮助用户完成购物行为。参见图8,示出了本发明实施例提供的一种对话生成的装置800的主要模块示意图,包括:接收模块801,用于接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据所述对话信息以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量;提取模块802,用于基于所述当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量;生成模块803,用于至少根据所述当前轮对话的隐状态向量以及所述记忆内容向量,生成对话回复信息。本发明实施装置中,所述接收模块801,用于:接收所述当前轮对话的对话信息,转换所述对话信息为相应的句子向量;获取上一轮对话的隐状态向量,根据所述句子向量以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。本发明实施装置中,所述接收模块801,用于:接收所述当前轮对话当前所输入的对话信息,转换所述当前所输入的对话信息为相应的词序列,并确定相应的词向量;其中,所述词序列与所述词向量具有映射关系;获取所述当前轮对话中上一次输入对话信息的隐状态向量,结合所述词向量,以确定与所述当前所输入的对话信息相应的隐状态向量;重复上述步骤,当检测到当前轮对话信息输入完毕时,将所确定的隐状态向量作为所述当前轮对话的所述句子向量。本发明实施装置中,所述提取模块802,用于:根据所述当前轮对话的隐状态向量,确定相应的均值与方差,至少结合预定噪声值,以生成所述变分隐状态向量;根据所述变分隐状态向量,提取与所述隐状态向量相应的记忆内容向量。本发明实施装置中,所述生成模块803,用于:确定对话回复信息中的第一个词,获取所述第一个词的词向量以及相应的隐状态向量,结合所述当前轮对话的隐状态向量以及所述记忆内容向量,确定第二个词的隐状态向量;其中,所述第一个词为预定的起始符;根据所述第二个词的隐状态向量,确定预定词表中每个词的概率,提取概率最大的词为所述第二个词;重复上述步骤,循环生成回复的每一个词,直至生成终止符为止,组合所生成的所有词为所述对话回复信息。另外,在本发明实施例中所述的对话生成装置的具体实施内容,在上面所述对话生成方法中已经详细说明了,故在此重复内容不再说明。上述实施例所提供的装置,可以有效帮助解决目前在多轮自动对话系统性中的无效回复和记忆衰减的问题,使得对话回复准确性更高以及样式多样化。对于电商平台,可以协助进一步建立和完善自动对话系统,从而有效的节约人工成本,提高用户的购物和售后服务体验,,更加方便的满足用户的购物需求,也可以更加快速的帮助用户完成购物行为。参见图9示出了可以应用本发明实施例的对话生成方法或对话生成装置的示例性系统架构900。如图9所示,系统架构900可以包括终端设备901、902、903,网络904和服务器905。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备901、902、903通过网络904与服务器905交互,以接收或发送消息等。终端设备901、902、903上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交系统软件等仅为示例。终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。服务器905可以是提供各种服务的服务器,例如对用户利用终端设备901、902、903所浏览的购物类网站提供支持的后台管理服务器仅为示例。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果例如目标推送信息、产品信息--仅为示例反馈给终端设备。需要说明的是,本发明实施例所提供的对话生成方法一般由服务器905执行,相应地,对话生成装置一般设置于服务器905中。应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。参见图10,其示出了适于用来实现本发明实施例的终端设备的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图10所示,计算机系统1000包括中央处理单元CPU1001,其可以根据存储在只读存储器ROM1002中的程序或者从存储部分1008加载到随机访问存储器RAM1003中的程序而执行各种适当的动作和处理。在RAM1003中,还存储有系统1000操作所需的各种程序和数据。CPU1001、ROM1002以及RAM1003通过总线1004彼此相连。输入输出IO接口1005也连接至总线1004。以下部件连接至IO接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管CRT、液晶显示器LCD等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至IO接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和或从可拆卸介质1011被安装。在该计算机程序被中央处理单元CPU1001执行时,执行本发明的系统中限定的上述功能。需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器RAM、只读存储器ROM、可擦式可编程只读存储器EPROM或闪存、光纤、便携式紧凑磁盘只读存储器CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、提取模块、生成模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,生成模块还可以被描述为“对话回复生成模块”。作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据所述对话信息以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量;基于所述当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量;至少根据所述当前轮对话的隐状态向量以及所述记忆内容向量,生成对话回复信息。根据本发明实施例的技术方案,可以有效帮助解决目前在多轮自动对话系统性中的无效回复和记忆衰减的问题,使得对话回复准确性更高以及样式多样化。上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

权利要求:1.一种对话生成的方法,其特征在于,包括:接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据所述对话信息以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量;基于所述当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量;至少根据所述当前轮对话的隐状态向量以及所述记忆内容向量,生成对话回复信息。2.根据权利要求1所述的方法,其特征在于,所述接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据所述对话信息以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量包括:接收所述当前轮对话的对话信息,转换所述对话信息为相应的句子向量;获取所述上一轮对话的隐状态向量,根据所述句子向量以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。3.根据权利要求2所述的方法,其特征在于,所述接收当前轮对话的对话信息,转换所述对话信息为相应的句子向量包括:接收所述当前轮对话当前所输入的对话信息,转换所述当前所输入的对话信息为词序列,确定相应的词向量;其中,所述词序列与所述词向量具有映射关系;获取所述当前轮对话中上一次输入对话信息的隐状态向量,结合所述词向量,以确定与当前所输入的对话信息相应的隐状态向量;重复上述步骤,当检测到当前轮对话信息输入完毕时,将所确定的隐状态向量作为所述当前轮对话的所述句子向量。4.根据权利要求1所述的方法,其特征在于,所述基于所述当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量包括:根据所述当前轮对话的隐状态向量,确定相应的均值与方差,至少结合预定噪声值,以生成所述变分隐状态向量;根据所述变分隐状态向量,提取与所述当前轮对话的隐状态向量相应的记忆内容向量。5.根据权利要求1所述的方法,其特征在于,所述至少根据所述当前轮对话的隐状态向量以及所述记忆内容向量,生成对话回复信息包括:确定对话回复信息中的第一个词,获取所述第一个词的词向量以及相应的隐状态向量,结合所述当前轮对话的隐状态向量以及所述记忆内容向量,确定第二个词的隐状态向量;其中,所述第一个词为预定的起始符;根据所述第二个词的隐状态向量,确定预定词表中每个词的概率,提取概率最大的词为所述第二个词;重复上述步骤,循环生成回复的每一个词,直至生成终止符为止,组合所生成的所有词为所述对话回复信息。6.一种对话生成的装置,其特征在于,包括:接收模块,用于接收当前轮对话的对话信息,获取上一轮对话的隐状态向量,根据所述对话信息以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量;提取模块,用于基于所述当前轮对话的隐状态向量,生成相应的变分隐状态向量,以提取相应的记忆内容向量;生成模块,用于至少根据所述当前轮对话的隐状态向量以及所述记忆内容向量,生成对话回复信息。7.根据权利要求6所述的装置,其特征在于,所述接收模块,用于:接收所述当前轮对话的对话信息,转换所述对话信息为相应的句子向量;获取所述上一轮对话的隐状态向量,根据所述句子向量以及所述上一轮对话的隐状态向量,确定当前轮对话的隐状态向量。8.根据权利要求7所述的装置,其特征在于,所述接收模块,用于:接收所述当前轮对话当前所输入的对话信息,转换所述当前所输入的对话信息为相应的词序列,并确定相应的词向量;其中,所述词序列与所述词向量具有映射关系;获取所述当前轮对话中上一次输入对话信息的隐状态向量,结合所述词向量,以确定与所述当前所输入的对话信息相应的隐状态向量;重复上述步骤,当检测到当前轮对话信息输入完毕时,将所确定的隐状态向量作为所述当前轮对话的所述句子向量。9.根据权利要求6所述的装置,其特征在于,所述提取模块,用于:根据所述当前轮对话的隐状态向量,确定相应的均值与方差,至少结合预定噪声值,以生成所述变分隐状态向量;根据所述变分隐状态向量,提取与所述当前轮对话的隐状态向量相应的记忆内容向量。10.根据权利要求6所述的装置,其特征在于,所述生成模块,用于:确定对话回复信息中的第一个词,获取所述第一个词的词向量以及相应的隐状态向量,结合所述当前轮对话的隐状态向量以及所述记忆内容向量,确定第二个词的隐状态向量;其中,所述第一个词为预定的起始符;根据所述第二个词的隐状态向量,确定预定词表中每个词的概率,提取概率最大的词为所述第二个词;重复上述步骤,循环生成回复的每一个词,直至生成终止符为止,组合所生成的所有词为所述对话回复信息。11.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。

百度查询: 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 一种对话生成的方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。