掌桥专利:专业的专利平台
掌桥专利
首页

任务导向型对话策略生成方法

文献发布时间:2023-06-19 11:22:42


任务导向型对话策略生成方法

技术领域

本发明涉及一种任务导向型对话策略生成方法,属于自然语言处理技术领域。

背景技术

任务导向型对话系统旨在为用户提供完成特定任务,如订酒店、买电影票等服务;这种对话系统需要特定的对话策略以便根据当前对话的上下文,在每个对话轮次中选取最合适的动作。

增强学习在机器人和其他领域的发展给对话策略学习带来新的灵感,在明确状态空间与动作空间之后,任务导向型对话系统的目标就是最大化用户的正反馈。基于增强学习的对话策略学习方法适合采用用户模拟器代替真人进行训练,以便获取能覆盖各种对话状态空间的大量对话数据,用户模拟器的质量取决于给特定上下文的系统动作打分的奖励函数。

设计奖励函数的一个直接办法是基于对话状态以规则的方式打分:如果对话成功结束,则返回一个大的正奖励;如果对话失败,则返回一个大的负奖励;如果对话仍在进行中,则返回一个小的负值以鼓励以更少的轮数完成对话。然而这种方案不够灵活,因为在对话结束前给所有系统动作分配了相同的负值奖励。另外,仅仅在对话结束后才返回奖励可能在对话过程中推迟了对低质量动作的惩罚和对高质量动作的奖励。

有学者提出对抗式策略学习,联合训练两个系统来解决上述困难,一个系统是策略模型,决定在每个对话轮次采取哪个动作;另一个系统是判别器,判别动作在当前对话状态下是否为合理回应。但是这种方法仅限于基于策略梯度的算法,可以交替更新对话策略和奖励模型;而非策略梯度方法则无法从自学习的奖励函数中受益。另外对话策略与奖励模型的交替循环很容易陷入局部最优状态或者导致模式崩溃。

发明内容

本发明的目的是克服现有技术存在的不足,提供一种任务导向型对话策略生成方法。

本发明的目的通过以下技术方案来实现:

任务导向型对话策略生成方法,特点是:包括以下步骤:

S101)建立对话状态跟踪器,确定对话状态空间与动作空间及其形式化表示;

对话状态跟踪器用于记录对话过程的槽位填槽状态,包括用户给出约束条件的信息槽和表示用户请求的请求槽,每个领域的每个槽位维持和更新一置信度向量;

S102)使用变分自动编码器模拟对话状态;

将人与人对话状态的离散表示通过一编码器Enc投影到一连续空间,得到一个隐变量;编码器Enc采用预训练的变分自动编码器VAE,由编码器得到的隐变量z通过解码器Dec重建人与人对话的状态;

于是给定一个人类生成的状态s,用条件概率编码器推断z,因z服从qω(z|s)的概率分布,以数学形式表示为公式(1):

z~Enc(s)=qω(z|s) (1)

编码器与解码器的优化目标是给定z的情况下ψ为参数的解码器重建输入s的概率接近1,同时编码器分布qω(z|s)接近标准高斯分布;因此优化过程的损失函数表示为公式(2):

LossVAE(ω,ψ)=Ex

其中,ω是变分参数的编码器,ψ是解码器;Ex z~qω(z|s)[log pψ(s|z)]表示对关于变量z的函数log pψ(s|z)计算数学期望,其中z的概率分布为z~qω(z|s);KL(qω(z|s)||p(z))是编码器分布qω(z|s)与标准高斯分布p(z)=N(0,I)之间的KL散度;

S103)使用多层感知器与Gumbel Softmax模拟对话动作;

对话系统的动作空间确定后,维度为k,通过对话历史语料的统计获取动作空间的概率分布,估计任一动作的概率p;从具有类概率分布p的集合中采样采用Gumbel Max技巧,由于argmax运算不可导,未能进行梯度反推,因此需要使用平滑近似的Gumbel Softmax方法,生成第i个k维样本yi的方法如公式(3)所示:

其中gi是从Gumbel(0,1)中独立采样的,pi对应于生成器的输出分布,对于i=1,...,k,当退火参数T→0时,argmax运算完全恢复,但梯度将消失;相反,当T上升时,Gumbel-Softmax样本与来自k类均匀分布的样本越来越相似;

选择T平衡近似偏差和梯度方差的大小,采用多层感知器进行拟合,模拟动作Asim表示为f

S104)模拟样本生成器与判别器对抗训练

经过步骤S102)与步骤S103),在给定噪声nsa以后,通过多组多层感知器以及操作生成模拟的(Ssim,Asim)对,如公式(4)所示:

其中h=MLP

在对抗训练过程中,生成器Genθ(名称Gen,所有参数为θ)以噪声nsa为输入,输出一个样本(s,a)sim;为从判别器Dφ中得到更高的奖励信号,名称D,所有参数为φ,生成器Genθ的训练损失表示为公式(5):

LossG(θ)=Ex

其中Dφ表示衡量生成的状态-动作对(s,a)sim真实性的判别器,Dφ是一多层感知器,将状态-动作对(s,a)作为输入,并输出样本来自真实数据分布的概率D(s,a);判别器的目标是将较高的概率分配给真实数据,而将较低分数分配给模拟数据;

给定真实数据样本和生成器Genθ的模拟样本的等量混合,判别器Dφ的损失函数如公式(6)所示:

LossD(φ)=Ex

其中,公式(6)前半部分与公式(5)相同,后半部分的含义是从真实数据data中取样(s,a)变量经过判别器Dφ判定为真实样本的数学期望;

S105)使用增强学习方法训练对话策略。

进一步地,上述的任务导向型对话策略生成方法,其中,步骤S101),在对话中每个时间步t,对话状态跟踪器收集到的信息形成一个结构化表示即对话状态St,是一高维的二进制向量,其内容包括以下:

1)查询的返回实体的嵌入结果;

2)相对于给定域的预订选项的可用性;

3)信息槽的状态;

4)请求槽的状态;

5)上一个用户操作;

6)上一个用户操作的重复次数;

对话状态St的维度在100~500维之间,每个元素取值为0或1;

每个原子对话动作用领域名、动作类型、槽名连接起来表示,在实际的人人对话中一些动作是原子对话动作的组合序列,所有可能的对话动作组成动作空间A,用独热嵌入的高维向量表示,每个元素取值为0或1。

进一步地,上述的任务导向型对话策略生成方法,其中,步骤S102),变分自动编码器是一个两层的多层感知器,以离散状态表示作为输入,并输出两个中间嵌入,分别对应均值和方差,将均值μ视为给定状态输入s的嵌入表示。

进一步地,上述的任务导向型对话策略生成方法,其中,步骤S103),T参数初始值设置为0.8,k等于动作维度300。

进一步地,上述的任务导向型对话策略生成方法,其中,步骤S105),使用增强学习方法需确定组件,增强学习的状态空间S和动作空间A在步骤S101)确定,复用判别器Dφ作为增强学习的奖励函数,当模拟生成的状态动作对被判别器认为真实时,给予+1奖励,而反之则奖励为0;

在策略学习模型方面,选择不同类型增强学习方式。

进一步地,上述的任务导向型对话策略生成方法,其中,增强学习方式为深度Q网络DQN方法和近端策略优化PPO方法。

本发明与现有技术相比具有显著的优点和有益效果,具体体现在以下方面:

①本发明任务导向型对话策略生成方法,将对抗式学习分为两个步骤,首先使用模拟样本生成器来学习奖励函数,来自判别器的损失可直接反馈给生成器进行优化;其次,训练好的判别器作为对话奖励被纳入增强学习过程中用于指导对话策略学习,并且不会在学习中更新;

②本发明方法可利用任何增强学习算法来更新对话策略,包括基于策略梯度的算法,也包括非策略梯度的算法;此外,由于奖励函数是以离线的方式进行预训练,可先通过区分人类与机器各自生成的对话,推断出人类生成的高质量对话中包含的共同信息,然后充分利用学到的信息,以迁移学习的方式指导新领域的对话策略学习。

③本发明方法很好地解决任务导向型对话系统对话策略学习中存在的缺陷,使得各种增强学习方式都能训练得到更高质量的对话策略,在人机对话系统中具有广泛的应用价值。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明具体实施方式了解。本发明的目的和其他优点可通过在所写的说明书中所特别指出的结构来实现和获得。

附图说明

图1:本发明的流程示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现详细说明具体实施方案。

如图1所示,任务导向型对话策略生成方法,具体步骤如下:

S101)建立对话状态跟踪器,确定对话状态空间与动作空间及其形式化表示;

对话状态跟踪器用于记录对话过程的槽位填槽状态,包括用户给出约束条件的信息槽和表示用户请求的请求槽,每个领域的每个槽位维持和更新一个置信度向量;

在对话中每个时间步t,对话状态跟踪器收集到的信息形成一个结构化表示即对话状态St,是一高维的二进制向量,其内容包括以下:

1)查询的返回实体的嵌入结果;

2)相对于给定域的预订选项的可用性;

3)信息槽的状态;

4)请求槽的状态;

5)上一个用户操作;

6)上一个用户操作的重复次数;

对话状态St的维度根据实际情况在100~500维之间,每个元素取值为0或1;状态为400维向量;

每个原子对话动作可用领域名、动作类型、槽名连接起来表示,如“景点_通知_地址”,在实际的人人对话中一些动作是原子对话动作的组合序列,所有可能的对话动作组成动作空间A,用独热嵌入的高维向量表示,每个元素取值为0或1,动作为300维向量;

S102)使用变分自动编码器模拟对话状态;

由于实际情境中状态生成器的输出是一个离散向量,使得从判别器到生成器的损失反向传播难以进行;将人与人对话状态的离散表示通过一编码器Enc投影到一连续空间,得到一个隐变量;编码器Enc采用预训练的变分自动编码器VAE,由编码器得到的隐变量z通过解码器Dec重建人与人对话的状态;

于是给定一个人类生成的状态s,用条件概率编码器推断z,因z服从qω(z|s)的概率分布,以数学形式表示为公式(1):

z~Enc(s)=qω(z|s) (1)

编码器与解码器的优化目标是给定z的情况下ψ为参数的解码器重建输入s的概率尽量接近1,同时编码器分布qω(z|s)接近标准高斯分布;因此优化过程的损失函数表示为公式(2):

LossVAE(ω,ψ)=Ex

其中,ω是变分参数的编码器,ψ是解码器;Ex z~qω(z|s)[log pψ(s|z)]表示对关于变量z的函数log pψ(s|z)计算数学期望,其中z的概率分布为z~qω(z|s);KL(qω(z|s)||p(z))是编码器分布qω(z|s)与标准高斯分布p(z)=N(0,I)之间的KL散度;

变分自动编码器是一个两层的多层感知器,以离散状态表示(如400维)作为输入,并输出两个中间嵌入(64维),分别对应均值和方差,在推理中,将均值μ视为给定状态输入s的嵌入表示;

S103)使用多层感知器与Gumbel Softmax模拟对话动作;

对话系统的动作空间(维度为k)确定后,通过对话历史语料的统计获取动作空间的概率分布,估计任一动作的概率p;从具有类概率分布p的集合中采样采用Gumbel Max技巧,但由于argmax运算不可导,不能进行梯度反推,因此需要使用平滑近似的GumbelSoftmax方法,生成第i个k维样本yi的方法如公式(3)所示:

其中g i是从Gumbel(0,1)中独立采样的,pi对应于生成器的输出分布,对于i=1,...,k,当退火参数T→0时,argmax运算完全恢复,但梯度将消失;相反,当T上升时,Gumbel-Softmax样本与来自k类均匀分布的样本越来越相似;

选择T来平衡近似偏差和梯度方差的大小,T参数初始值设置为0.8,k等于动作维度300;采用多层感知器进行拟合,模拟动作Asim表示为f

S104)模拟样本生成器与判别器对抗训练

经过步骤S102)与步骤S103),在给定噪声nsa以后,通过多组多层感知器以及操作生成模拟的(Ssim,Asim)对,如公式(4)所示:

其中h=MLP

在对抗训练过程中,生成器Genθ(名称Gen,所有参数为θ)以噪声nsa为输入,输出一个样本(s,a)sim;为从判别器Dφ(名称D,所有参数为φ)中得到更高的奖励信号,生成器Genθ的训练损失表示为公式(5):

LossG(θ)=Ex

其中Dφ表示衡量生成的状态-动作对(s,a)sim真实性的判别器,Dφ是一多层感知器,将状态-动作对(s,a)作为输入,并输出样本来自真实数据分布的概率D(s,a);判别器的目标是将较高的概率分配给真实数据,而将较低分数分配给模拟数据;

给定真实数据样本和生成器Genθ的模拟样本的等量混合,判别器Dφ的损失函数如公式(6)所示:

LossD(φ)=Ex

其中,公式(6)前半部分与公式(5)相同,后半部分的含义是从真实数据data中取样(s,a)变量经过判别器Dφ判定为真实样本的数学期望;

S105)使用增强学习方法训练对话策略

使用增强学习方法需确定相关组件,增强学习的状态空间S和动作空间A在步骤S101)已经确定,复用判别器Dφ作为增强学习的奖励函数,当模拟生成的状态动作对被判别器认为真实时,给予+1奖励,而反之则奖励为0;

在策略学习模型方面,选择不同类型增强学习方式,如深度Q网络(DQN)和近端策略优化(PPO)。

综上所述,本发明任务导向型对话策略生成方法,将对抗式学习分为两个步骤,首先使用模拟样本生成器来学习奖励函数,来自判别器的损失可直接反馈给生成器进行优化;其次,训练好的判别器作为对话奖励被纳入增强学习过程中用于指导对话策略学习,并且不会在学习中更新。

本发明方法可利用任何增强学习算法来更新对话策略,包括基于策略梯度的算法,也包括非策略梯度的算法;此外,由于奖励函数是以离线的方式进行预训练,可先通过区分人类与机器各自生成的对话,推断出人类生成的高质量对话中包含的共同信息,然后充分利用学到的信息,以迁移学习的方式指导新领域的对话策略学习。

本发明方法很好地解决任务导向型对话系统对话策略学习中存在的缺陷,使得各种增强学习方式都能训练得到更高质量的对话策略,在人机对话系统中具有广泛的应用价值。

需要说明的是:以上所述仅为本发明的优选实施方式,并非用以限定本发明的权利范围;同时以上的描述,对于相关技术领域的专门人士应可明了及实施,因此其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在申请专利范围中。

相关技术
  • 任务导向型对话策略生成方法
  • 一种可自动生成对话策略的任务型对话管理方法和系统
技术分类

06120112899756