首页> 中国专利> 对话生成模型的训练方法、对话方法、设备以及存储介质

对话生成模型的训练方法、对话方法、设备以及存储介质

摘要

本申请涉及对话系统技术领域,公开了对话生成模型的训练方法、对话方法、设备以及存储介质。该训练方法包括:构建对话生成模型和至少一个辅助模型;其中,对话生成模型和辅助模型的参数不同;将训练样本输入至对话生成模型中进行训练,得到第一匹配损失,以及将训练样本输入至至少一个辅助对话模型中进行训练,得到至少一个辅助匹配损失;利用第一匹配损失和至少一个辅助匹配损失,对对话生成模型的参数进行更新,以得到最终的对话生成模型。通过上述方式,能够提高对用户话语回复的准确性,使回复的信息更加匹配用户话语,提升用户体验。

著录项

  • 公开/公告号CN112559706A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利权人 中国科学院深圳先进技术研究院;

    申请/专利号CN202011459757.9

  • 发明设计人 秦博文;杨敏;李成明;姜青山;

    申请日2020-12-11

  • 分类号G06F16/332(20190101);G06N3/08(20060101);G06N3/04(20060101);

  • 代理机构44280 深圳市威世博知识产权代理事务所(普通合伙);

  • 代理人黎坚怡

  • 地址 518055 广东省深圳市南山区深圳大学城学苑大道1068号

  • 入库时间 2023-06-19 10:24:22

说明书

技术领域

本申请涉及对话系统技术领域,特别是涉及对话生成模型的训练方法、对话方法、设备以及存储介质。

背景技术

目前,在任务型对话系统中存在着许多模型和方法。常见的有三类解决方法:基于模板或规则的方法、基于神经网络的序列到序列模型的方法。

基于模板或者规则的方法,是通过人工预先制定一系列对话回复的模板或规则,当用户输入对话消息时,系统根据对话消息的特征(如情感状态)选择合适的模板或规则与对话消息结合,并产生最终的回复。这类方法主要依靠精心设计的手工模板或规则,这使得模型很难产生有创新性的句子或扩展到新的对话领域,且模板或规则的设计费时费力,成本极大。

发明内容

本申请主要解决的技术问题是提供对话生成模型的训练方法、对话方法、设备以及存储介质,能够降低模型训练的学习难度,提升模型的快速收敛能力,使训练更加充分,且所得到的对话生成模型应用于对话系统时,能够提高对用户话语回复的准确性,使回复的信息更加匹配用户话语,提升用户体验。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种对话生成模型的训练方法,该方法包括:构建对话生成模型和至少一个辅助模型;其中,对话生成模型和辅助模型的参数不同;将训练样本输入至对话生成模型中进行训练,得到第一匹配损失,以及将训练样本输入至至少一个辅助对话模型中进行训练,得到至少一个辅助匹配损失;利用第一匹配损失和至少一个辅助匹配损失,对对话生成模型的参数进行更新,以得到最终的对话生成模型。

其中,对话生成模型包括第一对话编码器、第一对话记忆网络、第一知识库记忆网络和第一解码器;将训练样本输入至对话生成模型中进行训练,得到第一匹配损失,包括:将训练样本输入至第一对话编码器,以使第一对话编码器对训练样本进行编码,得到第一向量;其中,第一向量为隐藏状态;将第一向量输入至第一对话记忆网络进行训练,得到第二向量,以及将第一向量输入至第一知识库记忆网络进行训练,得到第三向量;将第一向量、第二向量和第三向量输入至第一解码器,得到第一回复信息;基于第一回复信息和训练样本的真实信息进行计算,得到对话生成模型的第一匹配损失。

其中,将第一向量、第二向量和第三向量输入至第一解码器,得到第一回复信息,包括:计算第一向量在词汇表上的第一分布;词汇表根据训练样本生成;获取第二向量对应的第一概率;获取第三向量对应的第二概率;根据第一分布、第一概率和第二概率进行计算,得到第一回复信息的第二分布。

其中,根据第一分布、第一概率和第二概率进行计算,得到第一回复信息的第二分布,包括:根据以下公式计算得到第二分布:P

其中,辅助模型包括辅助对话模型和辅助知识库模型;将训练样本输入至至少一个辅助对话模型中进行训练,得到至少一个辅助匹配损失,包括:将训练样本输入至辅助对话模型中进行训练,得到第一辅助匹配损失,以及将训练样本输入至辅助知识库模型中进行训练,得到第二辅助匹配损失。

其中,辅助对话模型包括第二对话编码器、第二对话记忆网络和第二解码器;将训练样本输入至辅助对话模型中进行训练,得到第一辅助匹配损失,还包括:将训练样本输入至第二对话编码器,以使第二对话编码器对训练样本进行编码,得到第四向量;其中,第四向量为隐藏状态;将第四向量输入至第二对话记忆网络进行训练,得到第五向量;将第四向量和第五向量输入至第二解码器,得到第二回复信息;基于第二回复信息和第一回复信息进行计算,得到辅助对话模型的第一辅助匹配损失。

其中,基于第二回复信息和第一回复信息进行计算,得到辅助对话模型的第一辅助匹配损失,包括:根据以下公式计算得到第一辅助匹配损失:

其中,辅助知识库模型包括第三对话编码器、第二知识库记忆网络和第三解码器;将训练样本输入至辅助知识库模型中进行训练,得到第二辅助匹配损失,包括:将训练样本输入至第三对话编码器,以使第三对话编码器对训练样本进行编码,得到第六向量;其中,第六向量为隐藏状态;将第六向量输入至第二知识库记忆网络进行训练,得到第七向量;将第六向量和第七向量输入至第三解码器,得到第三回复信息;基于第三回复信息和第一回复信息进行计算得到辅助知识库模型的第二辅助匹配损失。

其中,基于第三回复信息和第一回复信息进行计算得到辅助知识库模型的第二辅助匹配损失,包括:根据以下公式计算得到第二辅助匹配损失:

其中,利用第一匹配损失和至少一个辅助匹配损失,对对话生成模型的参数进行更新,以得到最终的对话生成模型,包括:基于第一匹配损失、第一辅助匹配损失和第二辅助匹配损失进行计算,得到第二匹配损失;利用第二匹配损失对对话生成模型进行梯度更新,以更新对话生成模型的参数,以得到最终的对话生成模型。

其中,利用第二匹配损失对对话生成模型进行梯度更新,以更新对话生成模型的参数,以得到最终的对话生成模型之后,包括:利用对话生成模型更新后的参数对辅助对话模型和辅助知识库模型进行梯度更新,以分别更新辅助对话模型和辅助知识库模型的参数。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种对话方法,该方法包括:获取第一文本信息;将第一文本信息输入至对话生成模型,得到第二文本信息,第二文本信息用于回复第一文本信息,其中,对话生成模型是采用如上述技术方案提供的对话生成模型的训练方法训练得到的。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,该电子设备包括处理器以及与处理器连接的存储器;其中,存储器用于存储程序数据,处理器用于执行程序数据,以实现如上述任一技术方案提供的方法。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储程序数据,程序数据在被处理器执行时,用于实现如上述任一技术方案提供的方法。

本申请的有益效果是:区别于现有技术的情况,本申请提供一种对话生成模型的训练方法,通过构建对话生成模型和至少一个辅助模型;其中,对话生成模型和辅助模型的参数不同;将训练样本输入至对话生成模型中进行训练,得到第一匹配损失,以及将训练样本输入至至少一个辅助对话模型中进行训练,得到至少一个辅助匹配损失;利用第一匹配损失和至少一个辅助匹配损失,对对话生成模型的参数进行更新,以得到最终的对话生成模型。能够降低模型训练的学习难度,提升模型的快速收敛能力,使训练更加充分,且所得到的对话生成模型应用于对话系统时,能够提高对用户话语回复的准确性,使回复的信息更加匹配用户话语,提升用户体验。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请提供的对话生成模型的训练方法一实施例的流程示意图;

图2是本申请提供的对话生成模型的训练方法另一实施例的流程示意图;

图3是本申请提供的对话生成模型一实施例的结构示意图;

图4是本申请提供的图2中步骤26的一具体流程示意图;

图5是本申请提供的图2中步骤26的另一具体流程示意图;

图6是本申请提供的对话生成模型另一实施例的结构示意图;

图7是本申请提供的对话方法一实施例的流程示意图;

图8是本申请提供的电子设备一实施例的结构示意图;

图9是本申请提供的计算机可读存储介质一实施例的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序或结构。此外,术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

参阅图1,图1是本申请提供的对话生成模型的训练方法一实施例的流程示意图。该方法包括:

步骤11:构建对话生成模型和至少一个辅助模型;其中,对话生成模型和辅助模型的参数不同。

在本实施例中,对话生成模型和至少一个辅助模型可以采用深度神经网络进行构建。

深度神经网络结构是一种模仿动物神经网络行为特征、进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

本实施例中,对话生成模型的训练方法基于元协作学习方法,元协作学习(MetaCooperative Learning)是机器学习的子领域。传统的机器学习问题是基于海量数据集从头开始学习一个用于预测的数学模型,这与人类学习、积累历史经验(也称为元知识)指导新的机器学习任务的过程相差甚远。元协作学习则是学习不同的机器学习任务的学习训练过程,以及学习如何更快更好地训练一个数学模型。

在一种实施方式中,深度神经网络结构可采用长短期记忆神经网络、双向注意力机制以及全连接网络构建。

步骤12:将训练样本输入至对话生成模型中进行训练,得到第一匹配损失,以及将训练样本输入至至少一个辅助对话模型中进行训练,得到至少一个辅助匹配损失。

其中,训练样本可以是对话历史记录以及知识库元组。对话历史记录通过提前采集得到。具体地,对话历史记录包括多个文本信息和对应该文本信息的回复信息。如包括用户历史话语和对应的系统响应话语,其中,用户历史话语和系统响应话语对应。

在一些实施例中,训练样本可以是问答对数据。每个问答对数据包括问题和与问题相匹配的候选回答。对话生成模型和至少一个辅助模型都是基于对话的场景,并且都是文本匹配任务,都是针对一个特定的查询或问题,从候选的文档或者回答集中逐个计算文本与查询的匹配分数,排序后选出最佳的反馈文本。

可选地,相似的问答任务可包括:社区问答中的答案选择任务(用户提出问题,返回相关的回答),信息检索任务(用户输入查询,返回与查询相关的文本),多轮对话任务(基于用户新一轮的话语,返回系统回复)。上述三个任务都是基于对话的场景,并且都是文本匹配任务,都是针对一个特定的查询或问题,从候选的文档或者回答集中逐个计算文本与查询的匹配分数,排序后选出最佳的反馈文本。

也就是说,对话生成模型的训练任务可包括信息检索任务、社区问答任务和多轮对话任务。

其中,第一匹配损失用于表示对话生成模型对训练样本中的系统响应话语的匹配误差。

辅助匹配损失用于表示对话生成模型与辅助模型的匹配误差。

步骤13:利用第一匹配损失和至少一个辅助匹配损失,对对话生成模型的参数进行更新,以得到最终的对话生成模型。

通过利用第一匹配损失和至少一个辅助匹配损失,对对话生成模型的参数进行更新,能够通过结合辅助匹配损失使对话生成模型产生与辅助模型相似的结果,从而共同为构建高质量的面向任务的对话系统提供综合指导。通过这样的方式,还能增强对话生成模型在少样本数据条件下快速收敛的能力,即通过辅助模型对训练样本的相应训练,无需额外的获取训练样本数据,能够基于同一训练样本对对话生成模型进行修正。该对话生成模型能够应用于少样本的对话领域中,并提高回复用户话语的准确性。

通过本实施例所提供的训练方法降低了模型训练的学习难度,提升了模型的快速收敛的能力,使训练更加充分,且得到对话生成模型用于对话系统时回复的准确性更高。

在本实施例的对话生成模型的训练方法,该方法包括:构建对话生成模型和至少一个辅助模型;其中,对话生成模型和辅助模型的参数不同;将训练样本输入至对话生成模型中进行训练,得到第一匹配损失,以及将训练样本输入至至少一个辅助对话模型中进行训练,得到至少一个辅助匹配损失;利用第一匹配损失和至少一个辅助匹配损失,对对话生成模型的参数进行更新,以得到最终的对话生成模型。能够降低模型训练的学习难度,提升模型的快速收敛能力,使训练更加充分,且所得到的对话生成模型应用于对话系统时,能够提高对用户话语回复的准确性,使回复的信息更加匹配用户话语,提升用户体验。

参阅图2,图2是本申请提供的对话生成模型的训练方法另一实施例的流程示意图。该方法包括:

步骤21:构建对话生成模型和至少一个辅助模型;其中,对话生成模型和辅助模型的参数不同。

在本实施例中,对话生成模型包括第一对话编码器、第一对话记忆网络、第一知识库记忆网络和第一解码器。

步骤22:将训练样本输入至第一对话编码器,以使第一对话编码器对训练样本进行编码,得到第一向量;其中,第一向量为隐藏状态。

在一些实施例中,第一向量为向量矩阵。

步骤23:将第一向量输入至第一对话记忆网络进行训练,得到第二向量,以及将第一向量输入至第一知识库记忆网络进行训练,得到第三向量。

在一些实施例中,若第一向量为第一回合的对话历史话语在第一对话编码器中训练得到的,则第一对话记忆网络会按照第一向量的隐藏状态初始化。

步骤24:将第一向量、第二向量和第三向量输入至第一解码器,得到第一回复信息。

在一些实施例中,步骤24的具体流程为:

步骤241:计算第一向量在词汇表上的第一分布;词汇表根据训练样本生成。

可以理解,在得到训练样本时,将训练样本进行分词处理,以形成词汇表。

在一些实施例中,计算第一分布的方式可以采用KL(Kullback-Leibler)散度、JS(Jensen-Shannon)散度。

步骤242:获取第二向量对应的第一概率。

步骤243:获取所述第三向量对应的第二概率。

步骤244:根据所述第一分布、所述第一概率和所述第二概率进行计算,得到所述第一回复信息的第二分布。

根据以下公式计算得到所述第二分布:

P

其中,g

步骤25:基于第一回复信息和训练样本的真实信息进行计算,得到对话生成模型的第一匹配损失。

具体的,利用以下公式来计算第一匹配损失:

其中,P

步骤22-23结合图3进行说明:

训练样本为给定对话历史记录以及一系列用户话语和系统响应,如,包括对话历史话语{u

h

将向前和向后隐藏状态的向量串联作为第一对话编码器的输出:H=(h

使用第一对话记忆网络(Dialog Memoy)来推理对话上下文,即第一向量,该第一对话记忆网络是通过动态键值记忆网络实现的。第一对话记忆网络维护一个对话键记忆网络(Dialog Key Memoy)和一个对话值记忆网络(Dialog Value Memoy),它们都以第一回合的对话隐藏状态初始化。对话键记忆网络和对话值记忆网络在整个对话过程中都得到维护,对话键记忆网络在每一回合保持更新以跟踪对话历史记录,而对话值记忆网络则保持固定,以存储先前回合的对话上下文。这样,可以跟踪关注历史对话以及第一解码器状态的更新链,从而生成连贯而自然的响应。

采用独立的第一知识库记忆网络(Knowledge base Memoy,KB Memoy)对知识库信息进行编码,该知识库信息通过端到端记忆网络实现。知识库的每个事实元组都以三元格式(主题,关系,对象)表示,并存储在第一知识库记忆网络中。第一知识库记忆网络使用主题和关系嵌入的总和进行初始化,并在整个对话中共享。本实施例中,通过K跳读取机制访问第一知识库记忆网络。具体来说,使用初始查询向量(第一解码器处于隐藏状态)作为读取头,并且循环遍历K次,并计算每次循环的软注意力权重。软记忆的注意力决定了每个记忆向量与查询向量之间的相关性。

第一解码器逐字生成目标响应。具体而言,时间步长单词可以是从词汇表生成的,或者是从两个记忆网络(对话值记忆网络或知识库值记忆网络)之一复制的。对于第i轮,本实施例应用GRU网络生成目标响应,其中,步长处的隐藏状态s

S

本实施例将最后一跳的对话值记忆网络的读取输出用作参与的对话上下文c

p

本实施例使用P

软门g

第t个目标词的最终输出分布P

P

其中,g

对话生成模型可以以有监督的方式进行训练。

本实施例将损失函数

步骤26:将训练样本输入至辅助对话模型中进行训练,得到第一辅助匹配损失,以及将训练样本输入至辅助知识库模型中进行训练,得到第二辅助匹配损失。

在一些实施例中,上述步骤26可以分为两个流程,具体地,参阅图4和图5进行说明。

辅助对话模型包括第二对话编码器、第二对话记忆网络和第二解码器。具体地,参阅图4,辅助对话模型的训练过程为:

步骤41:将训练样本输入至第二对话编码器,以使第二对话编码器对训练样本进行编码,得到第四向量;其中,第四向量为隐藏状态。

在一些实施例中,第二对话编码器和上述对话生成模型的第一对话编码器为同一对话编码器,即辅助对话模型能够和对话生成模型共享第一对话编码器,只是各自对应的参数不同。

可以理解,第四向量为向量矩阵。

步骤42:将第四向量输入至第二对话记忆网络进行训练,得到第五向量。

在一些实施例中,若第四向量为第一回合的对话历史话语在第二对话编码器中训练得到的,则第二对话记忆网络会按照第四向量的隐藏状态初始化。

在一些实施例中,第二对话记忆网络和上述对话生成模型的第一对话记忆网络为同一对话记忆网络,即辅助对话模型能够和对话生成模型共享第一对话记忆网络,只是各自对应的参数不同。

步骤43:将第四向量和第五向量输入至第二解码器,得到第二回复信息。

在一些实施例中,第二解码器和上述对话生成模型的第一解码器为同一解码器,即辅助对话模型能够和对话生成模型共享第一解码器,只是各自对应的参数不同。

步骤44:基于第二回复信息和第一回复信息进行计算,得到辅助对话模型的第一辅助匹配损失。

将第一回复信息作为辅助对话模型对应的辅助标签。第一辅助匹配损失表示的是辅助对话模型的预测的元对话知识与对话生成模型输出的之间的差异。

具体地,根据以下公式计算得到第一辅助匹配损失:

其中,

辅助知识库模型包括第三对话编码器、第二知识库记忆网络和第三解码器。具体地,参阅图5,辅助知识库模型的训练过程为:

步骤51:将训练样本输入至第三对话编码器,以使第三对话编码器对训练样本进行编码,得到第六向量;其中,第六向量为隐藏状态。

在一些实施例中,第三对话编码器和上述对话生成模型的第一对话编码器为同一对话编码器,即辅助知识库模型能够和对话生成模型共享第一对话编码器,只是各自对应的参数不同。

可以理解,第六向量为向量矩阵。

步骤52:将第六向量输入至第二知识库记忆网络进行训练,得到第七向量。

在一些实施例中,第二知识库记忆网络和上述对话生成模型的第一知识库记忆网络为同一知识库记忆网络,即辅助知识库模型能够和对话生成模型共享第一知识库记忆网络,只是各自对应的参数不同。

步骤53:将第六向量和第七向量输入至第三解码器,得到第三回复信息。

在一些实施例中,第三解码器和上述对话生成模型的第一解码器为同一解码器,即辅助知识库模型能够和对话生成模型共享第一解码器,只是各自对应的参数不同。

步骤54:基于第三回复信息和第一回复信息进行计算得到辅助知识库模型的第二辅助匹配损失。

将第一回复信息作为辅助知识库模型对应的辅助标签。第二辅助匹配损失表示的是辅助知识库模型的预测的元知识库知识与对话生成模型输出的之间的差异。

具体地,根据以下公式计算得到第二辅助匹配损失:

其中,P

步骤27:基于第一匹配损失、第一辅助匹配损失和第二辅助匹配损失进行计算,得到第二匹配损失。

在一些实施例中,在每个时期的第一阶段,对话生成模型使用标注的标签(训练样本中的系统响应)和辅助知识库模型、辅助对话模型生成的辅助标签进行训练。对话生成模型的损失函数

具体地,第二匹配损失可以有以下公式求得:

步骤28:利用第二匹配损失对对话生成模型进行梯度更新,以更新对话生成模型的参数,以得到最终的对话生成模型。

在一些实施例中,将上述公式求导得到对话生成模型的参数。

具体地,对话生成模型进行梯度更新后的参数为:

其中,α是对话生成模型的学习率。

在步骤28之后,利用对话生成模型更新后的参数对辅助对话模型和辅助知识库模型进行梯度更新,以分别更新辅助对话模型和辅助知识库模型的参数。

具体地,本实施例保留了

因此,辅助对话模型的参数更新为:

辅助知识库模型的参数更新为:

其中,β表示对应的权重。注意,由于

因此,φ

通过上述方式,将训练样本分别输入至生成对话模型、辅助知识库模型和辅助对话模型,以利用辅助知识库模型和辅助对话模型的输出对生成对话模型的参数进行更新,然后利更新后的生成对话模型的参数对辅助知识库模型和辅助对话模型的参数进行更新,使生成对话模型、辅助知识库模型和辅助对话模型之间的关联性更强,生成对话模型在应用于对话系统时,不仅能够检索准确的知识库实体,而且还能使回复的信息更加准确。

在上述实施例中,该方法通过使用“二次梯度”策略从对话生成模型中自动学习辅助对话模型和辅助知识库模型的辅助标签,从而消除了手动标记辅助对话模型和辅助知识库模型的标签或任何其他数据的需要。这样,即使三个模型采用相同数量的训练数据,带有元协作学习的对话生成模型也比单任务学习要好。

本申请不仅可以使用在任务型对话领域。因其核心是一种通用的学习结构,因此可以适用于不同的对话生成任务和数据集中。不需要对原有方法进行修改,便可以原本的模型提高其自身的性能,因此该方法具有广阔的应用前景。

在一应用场景中,结合图6进行说明:在分别对生成对话模型、辅助知识库模型和辅助对话模型输入训练样本,其中训练样本包括对话

在面向任务的对话系统中,系统响应(即回复)不仅受到对话历史记录的影响,而且还受到检索到的知识库实体的指导。大多数相关方法是获得用于响应生成的良好语言模型,或者实现针对知识库实体提取的有效知识库建模,不能同时实现这两种方法。本申请通过辅助对话模型和辅助知识库模型,以显式协助对话生成模型分别对大知识库进行推理并学习对话模式,而无需手动标记其他数据。

任务型对话系统的用户倾向于使用简洁的语言,该语言通常会省略先前话语中的实体或概念。但是,序列到序列模型通常会忽略对话如何随着信息的发展而发展,从而导致生成不连贯和不合语法的响应,而这种响应又以训练数据中出现频率较高的单词为主导。为了缓解此问题,本申请的辅助对话模型

在一些实施例中,辅助对话模型与对话生成模型共享相同的对话编码器,对话记忆网络和响应解码器,但不具有知识库记忆网络。它以对话历史记录作为输入,并从对话历史记录中学习对话模式。具体地,在每个解码步骤t,相应的单词将仅从词汇表生成或从对话记忆网络复制,而无需考虑知识库知识。

通过辅助对话模型的最小化预测的元对话知识和对话生成模型的输出之间的差异来优化辅助对话模型,定义为:

其中

在一些实施例中,检索准确的知识库实体对于面向任务的对话系统实现特定用户目标至关重要。但是,序列到序列模型经常遭受如何有效合并外部知识库信息的困扰。如,动态的大外部知识库等效于难以编码和解码的噪音输入,从而使生成变得不稳定。为了缓解此问题,本申请的辅助知识库模型

对于辅助知识库模型,在每个解码步骤t∈[1,T]中,相应的单词将从词汇表生成或从知识库记忆网络复制而无需从语言建模的角度考虑对话模式。

在每个时期的第一阶段,生成对话模型使用标注的标签(训练对话)和两个辅助模型生成的辅助标签进行训练。具体地,生成对话模型的损失函数

其中

在每个时期的第二阶段,通过计算相对于生成对话模型的性能的梯度,来更新两个辅助模型。具体而言,通过鼓励选择辅助标签来更新两个辅助模型,以便如果要使用这些辅助标签来训练生成对话模型,生成对话模型的性能将在相同的训练数据上得到最大化。利用生成对话模型的性能来训练两个辅助模型被视为元协作学习的一种形式。因此,要更新两个辅助模型的参数φ

其中,

其中,α是生成对话模型的学习率。

最后,为了更新参数φ

因此,两个辅助模型的参数更新为:

注意,由于

本申请通过使用辅助知识库模型和辅助对话模型,分别从知识库和对话上下文中学习隐式元知识,共同为面向任务的对话生成模型提供全面指导,以使对话生成模型能够从知识库中检索准确的实体并提高回复对话的准确性。

参阅图7,图7是本申请提供的对话方法一实施例的流程示意图。该方法包括:

步骤71:获取第一文本信息。

本实施例应用于对话系统。

在一些实施例中,第一文本信息为对话信息。如对话可以是语音,需要将其进行转化为文本信息。

步骤72:将第一文本信息输入至对话生成模型,得到第二文本信息,所述第二文本信息用于回复所述第一文本信息。

其中,对话生成模型是采用如上述任一实施例的对话生成模型的训练方法训练得到的。

通过上述方式,利用上述实施例的对话生成模型,能够提高对用户话语回复的准确性,使回复的信息更加匹配用户话语,提升用户体验。

参阅图8,图8是本申请提供的电子设备一实施例的结构示意图。

本实施例中,电子设备80包括处理器81和与处理器81连接的存储器82。存储器82用于存储程序数据,处理器81用于执行程序数据,以实现上述任一实施例中的方法。

电子设备80可包括与处理器81连接的驱动器。

其中,处理器81还可以称为CPU(Central Processing Unit,中央处理单元)。处理器81可能是一种集成电路芯片,具有信号的处理能力。处理器81还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

参阅图9,图9是本申请提供的计算机可读存储介质一实施例的示意图。计算机可读存储介质90用于存储程序数据91,程序数据91在被处理器执行时能够实现上述任一实施例中的方法。

可以理解的,本实施例中的计算机可读存储介质90可以应用于服务器,其具体的实施可以参考上述实施例,这里不再赘述。

在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述其他实施方式中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分S。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号