多轮对话管理方法、装置和计算机设备与流程

文档序号:22627738发布日期:2020-10-23 19:36阅读:199来源:国知局
多轮对话管理方法、装置和计算机设备与流程

本申请涉及到计算机领域,特别是涉及到多轮对话管理方法、装置和计算机设备。



背景技术:

智能客服机器人最核心和重要的技术就是多轮对话,即可以利用对话历史信息和外界信息,与客户进行自主交互,并非简单的预设的一问一答。多轮对话主要由自然语言理解、对话管理和对话生成三部分组成,其中,对话管理部分是三部分中的最核心和重要的,它是多轮对话与传统的faq问答系统最重要的区别。目前,多轮对话机器人的对话管理部分大多采用有限状态机模型,但采用有限状态机模型的机器人经常答非所问、中断卡壳,无法充分利用对话历史信息和外部知识信息与用户进行有效的交互,导致用户的体验效果很差。而且设计对话流程图,耗时耗力,对话语料需要大量人工标注,且只能学到已标注的知识和信息,无法进行自主学习,准确性比较低。



技术实现要素:

本申请的主要目的为提供多轮对话管理方法,旨在解决现有机器人对话不灵活,导致对话交互效果差的技术问题。

本申请提出一种多轮对话管理方法,包括:

接收输入的第一对话,并提炼出所述第一对话的结构化信息;

根据所述第一对话的结构化信息,以及所述对话管理组件中的神经网络模型预先学习到的最优化参量,确定与所述第一对话匹配的推理参数信息q(s,a;θ),其中,θ为训练优化得到的最优化参量,所述最优化参量根据预设专家知识训练得到,所述专家知识包括预设对话状态下的最优对话决策动作项,s表示对话状态,a表示与所述对话状态对应的对话决策动作项的奖励分布;

根据所述推理参数信息,选择与所述第一对话的结构化信息匹配的第一对话决策动作项,其中,所述第一对话决策动作项为预存的多个对话决策动作项中的任一对话决策动作项;

控制所述第一对话决策动作项决策出与所述第一对话结构化信息匹配的第二对话,并输出所述第二对话。

优选地,接收输入的第一对话,并提炼出所述第一对话的结构化信息的步骤之前,包括:

获取初始参数并锁定目标神经网络;

将所述初始参数输入评价神经网络,并根据最小化差量进行参数优化训练得到第一优化参数,其中,所述最小化差量为l(θ)=es,a~ρ(·)[(reward+gamma·{q,(st+1,at+1)∈{(s,a)}最优;

max(qtarget(st+1,at+1;θ)),es,a~ρ(·)表示平均值,reward是第t+1轮对话的奖励,gamma是折现因子常量,表示第t+1轮对话的对话状态和对话决策动作项属于专家知识中的元素,q为初始化常量;max(qtarget(st+1,at+1;θ))表示目标神经网络根据专家知识拟合得到(st+1,at+1)∈{(s,a)}最优的最大q值,qevaluate(st,at;θ)表示t轮对话的平均q值;

将所述第一优化参数输入所述目标神经网络,并锁定所述评价神经网络,根据最小化差量进行参数优化训练得到第二优化参数;

将所述第二优化参数输入所述评价神经网络,并在锁定所述目标神经网络的条件下,再次根据所述最小化差量进行参数优化训练得到第三优化参数;

根据所述目标神经网络和所述评价神经网络的参数优化的循环过程,优化至所述评价神经网络优化收敛,得到所述最优化参量。

优选地,获取初始参数并锁定目标神经网络的步骤之前,包括:

将所述专家知识中各预设对话状态,以及与各所述预设对话状态分别对应的对话决策动作项组成训练集,输入所述训练集至初始状态的神经网络进行模拟训练,得到初始化参数项;

将所述初始化参数项作为所述初始参数。

优选地,对话管理组件中的神经网络模型由双向lstm(长短期记忆网络,longshort-termmemory)和两层mlp(多层感知器,multi-layerperceptron)网络构成,所述接收输入的第一对话,并提炼出所述第一对话的结构化信息的步骤之前,包括:

获取三个连续的对话轮回,包括位于当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话;

将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码;

将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励。

优选地,将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码的步骤,包括:

根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度;

根据所述对话信息的遗忘程度和对话信息的输入程度,通过

得到当前对话的信息记忆和前对话的信息遗忘的综合结果,其中,wc表示可学习的记忆信息参数矩阵系数,bc表示可学习的记忆信息参数矩阵的常量,表示当前对话的信息记忆程度,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,tanh表示tanh函数;

根据所述当前对话的信息记忆和前对话的信息遗忘的综合结果,通过ht=ot·tanh(ct),得到所述当前对话的信息过滤后的输出结果,其中,ot=σ(wc·[ht-1,st]+bc),ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wc表示可学习的输出信息参数矩阵系数,bc表示可学习的输出信息参数矩阵的常量,ot表示当前对话的信息输出,ht表示当前对话的信息过滤后的输出结果。

优选地,根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度的步骤,包括:

通过ft=σ(wf·[ht-1,st]+bf)得到对话信息的遗忘程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wf表示可学习的遗忘参数矩阵的系数,bf表示可学习的遗忘参数矩阵的常量,ft表示对话信息的遗忘程度,σ表示σ函数;

通过it=σ(wi·[ht-1,st]+bi)得到对话信息的输入程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wi表示可学习的输入信息参数矩阵的系数,bi表示可学习的输入信息参数矩阵的常量,it表示对话信息的输入程度,σ表示σ函数。

优选地,将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励的步骤,包括:

将通过lstm层进行序列化编码后的编码数据输入至mlp,通过yt=wy·[ht-2,ht-1,ht]+by得到所述前对话、当前对话以及后对话的全连接编码后的全编码信息,其中,wy表示可学习的信息参数矩阵系数,by表示可学习的信息参数矩阵的常量;

通过at=wayt+ba输出所述全编码信息对应的各对话决策动作项的奖励,其中,wa表示可学习的信息参数矩阵对应全编码信息的系数,ba表示可学习的信息参数矩阵对应全编码信息的常量。

本申请还提供了一种多轮对话管理装置,包括:

接收提炼模块,用于接收输入的第一对话,并提炼出所述第一对话的结构化信息;

确定模块,用于根据所述第一对话的结构化信息,以及所述对话管理组件中的神经网络模型预先学习到的最优化参量,确定与所述第一对话匹配的推理参数信息q(s,a;θ),其中,θ为训练优化得到的最优化参量,所述最优化参量根据预设专家知识训练得到,所述专家知识包括预设对话状态下的最优对话决策动作项,s表示对话状态,a表示与所述对话状态对应的对话决策动作项的奖励分布;

选择模块,用于根据所述推理参数信息,选择与所述第一对话的结构化信息匹配的第一对话决策动作项,其中,所述第一对话决策动作项为预存的多个对话决策动作项中的任一对话决策动作项;

输出模块,用于控制所述第一对话决策动作项决策出与所述第一对话结构化信息匹配的第二对话,并输出第二对话。

本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

本申请通过增加专家知识参与多轮对话管理组件中神经网络的自主学习,增强对话管理组件的强化学习能力,通过将专家知识融合到强化学习模型训练中,不仅减少强化学习过程对大规模数据的需求,也极大地提高了神经网络模型训练过程的收敛速度和准确率,可以根据机器与真实用户的交流数据,进行持续自主学习持续优化神经网络模型,使得人机交互更加贴近现实自然人之间的交互状态。

附图说明

图1本申请一实施例的多轮对话管理方法流程示意图;

图2本申请一实施例的多轮对话管理装置结构示意图;

图3本申请一实施例的计算机设备内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请一实施例的多轮对话管理方法,包括:

s1:接收输入的第一对话,并提炼出所述第一对话的结构化信息。

上述结构化信息包括对话所属领域、对话动作和对话参数信息;对话所属领域主要是指对话的所属范围,例如理财推荐、贷款推荐等,对话动作主要是指通知动作、请求动作、问候动作等,对话参数信息主要是指对话中携带的参数项及其赋值,比如贷款利率、贷款额度、理财收益率等等。上述结构化信息可通过对第一对话进行关键字识别和/或语义识别来提炼。本申请实施例的对话包括一问一答的内容方式。

s2:根据所述第一对话的结构化信息,以及所述对话管理组件中的神经网络模型预先学习到的最优化参量,确定与所述第一对话匹配的推理参数信息q(s,a;θ),其中,θ为训练优化得到的最优化参量,所述最优化参量根据预设专家知识训练得到,所述专家知识包括预设对话状态下的最优对话决策动作项,s表示对话状态,a表示与所述对话状态对应的对话决策动作项的奖励分布。

通过加载学习到的最优化参量对应的推理参数信息q(s,a;θ)和预先定义的专家知识,机器人就可以根据当前的对话状态s选择最优的对话决策动作项a,这样也可以增强强化学习模型根据第一对话内容和情景推断回应第一对话的第二对话内容和情景的稳定性和准确率。

s3:根据所述推理参数信息,选择与所述第一对话的结构化信息匹配的第一对话决策动作项,其中,所述第一对话决策动作项为预存的多个对话决策动作项中的任一对话决策动作项。

s4:控制所述第一对话决策动作项决策出与所述第一对话结构化信息匹配的第二对话,并输出第二对话。

上述第一对话和第二对话为多轮对话中处于接续状态的任意两轮,比如第一对话包括一问a1,一答b1,则第二对话包括一问b1`,一答c1,其中b1与b1`为内容关联句或内容相同句。本申请实施例的对话管理系统是基于dqn的强化学习的系统,主要由用户仿真器和机器人两部分组成,用户仿真器和机器人结构相同,均分别包括对话状态追踪器和对话管理组件。对话状态追踪器用于记录对话过程中的结构化信息,对话管理组件主要是根据对话状态追踪器中的结构化信息选择对话决策动作项,并使对话多轮持续进行。拟合强化学习q-learning中的神经网络模型,输入的是对话状态s,输出对话决策动作项的奖励分布a。对话状态s是对状态追踪器中的结构化信息进行one-hot编码。one-hot编码,又称为有效编码,主要是采用n位状态寄存器来对n个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效。one-hot编码是分类变量作为二进制向量的表示。假设银行机器人为例,对话所属领域总共有理财推荐、闲聊两类。对话参数有earning_rate(收益率),investment_period(投资周期),risk(风险)三类。我们总共用11位数字进行one-hot编码,其中第1-2位编码对话所属领域,[0,0]表示未知,[1,0]表示理财推荐,[0,1]表示闲聊。第3-11位编码对话参数,其中earning_rate有<=5%、5-10%,>=10%三种,investment_period有<=6,6-12,〉=12个月,risk有低、中、高三种。以risk为例,[0,0,0]表示未知,[1,0,0]表示低,[0,1,0]表示中,[0,0,1]表示高。会被编码成st=[1,0,0,0,0,0,0,0,0,0,0]。用户仿真器和机器人中的对话管理组件中的神经网络模型,均是预先根据专家知识自主学习训练好的。通过加入专家知识,增强对话管理组件的强化学习能力,通过将专家知识融合到强化学习模型训练中,不仅减少强化学习过程对大规模数据的需求,也极大地提高了神经网络模型训练过程的收敛速度和准确率,可以根据机器与真实用户的交流数据,进行持续自主学习持续优化神经网络模型,使得人机交互更加贴近现实。本实施例将专家知识作为特征编码到了强化学习模型中,使强化学习模型在构造上有了较大改进,比如改变了强化学习模型loss的写法,使专家知识成为强化学习模型仿真环境的组成部分,通过奖励机制加速强化学习模型训练,并且使强化学习模型学习到知识正确率上升;而且本实施例中的对话结构化信息的编码向量化的模型也与未加载专家知识之前有了改进,使对话结构化信息更贴近自然人之间的对话沟通模式。强化学习与监督学习不同,监督学习是通过学习已标注的正确知识进行模型训练,而强化学习是通过建立仿真环境,通过奖励机制进行模型训练。未引入专家知识的强化学习模型仅通过构建仿真环境,通过奖励机制进行模型训练,会导致最终学到的知识并不一定是正确;而且学习速度往往很慢,需要几天的时间进行。第二对话可通过语音和/或文本的形式进行输出。

进一步地,所述接收输入的第一对话,并提炼出所述第一对话的结构化信息的步骤s1之前,包括:

s101:获取初始参数并锁定目标神经网络;

s102:将所述初始参数输入评价神经网络,并根据最小化差量进行参数优化训练得到第一优化参数,其中,所述最小化差量为l(θ)=es,a~ρ(·)[(reward+gamma·{q,(st+1,at+1)∈{(s,a)}最优;

es,a~ρ(·)表示平均值,reward是第t+1轮对话的奖励,gamma是折现因子常量,(st+1,at+1)∈{(s,a)}最优表示第t+1轮对话的对话状态和对话决策动作项属于专家知识中的元素,q为初始化常量;max(qtarget(st+1,at+1;θ))表示目标神经网络根据专家知识拟合得到的最大q值,qevaluate(st.at;θ)表示与第t轮对话的平均q值。

s103:将所述第一优化参数输入所述目标神经网络,并锁定所述评价神经网络,根据最小化差量进行参数优化训练得到第二优化参数;

s104:将所述第二优化参数输入所述评价神经网络,并在锁定所述目标神经网络的条件下,再次根据所述最小化差量进行参数优化训练得到第三优化参数;

s105:根据所述目标神经网络和所述评价神经网络的参数优化的循环过程,优化至所述评价神经网络优化收敛,得到所述最优化参量。

本申请实施例中,拟合强化学习q-learning中的神经网络模型包括目标神经网络和评价神经网络两部分。两部分的神经网络结构相同,但参数不同,用于根据最小化差量优化q值中的θ,将其优化为最优化参量。上述最小化差量为后一轮对话折现到当前对话的奖励,与当前对话实际获得的奖励之间的差距。当状态追踪器中的对话状态s存在于专家知识中时,并且对话决策动作项与专家知识中的某一动作决策项相同时,q为预先设置的初始化常量,比如q=1;否则q为目标神经网络通过专家知识拟合得到的最大q(s,a;θ),通过l(θ)逐步交替优化评价神经网络和目标神经网络,直至评价神经网络收敛,得到最优化参量θ。

进一步地,所述获取初始参数并锁定目标神经网络的步骤s101之前,包括:

s1011:将所述专家知识中各预设对话状态,以及与各所述预设对话状态分别对应的对话决策动作项组成训练集,输入所述训练集至初始状态的神经网络进行模拟训练,得到初始化参数项;

s1012:将所述初始化参数项作为所述初始参数。

本实施例通过在获取最优化参量的过程前,先通过专家知识作为训练数据对神经网络进行预训练,以优化神经网络的参数数据,并将优化得到的初始化参数项θ`,作为初始参数。相比于随机选定的初始值,具有更快的训练收敛速度,加快学习速度和提高强化学习模型的稳定性以及准确率。本实施例的对话管理组件包括自主学习和模型应用两部分。自主学习是学习机器人和用户仿真器中的对话管理组件中的推理参数信息的过程,使得其可以根据状态追踪器中的对话状态s选择最优的对话决策动作项,实现更贴近人与人交互效果的人机交互。

进一步地,所述对话管理组件中的神经网络模型由双向lstm(长短期记忆网络,longshort-termmemory)和两层mlp(多层感知器,multi-layerperceptron)网络构成,所述接收输入的第一对话,并提炼出所述第一对话的结构化信息的步骤s1之前,包括:

s11:获取三个连续的对话轮回,包括位于当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话;

s12:将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码;

s13:将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励。

上述三个连续的对话轮回来自专家知识,当前对话对应第t轮对话,前对话对应第t-1轮对话,前对话之前的一轮对话对应第t-2轮对话,后对话对应第t+1轮对话,上述三个连续的对话轮回为上述四个对话轮回中任意连续的三个轮回。通过将相邻三个对话轮回中的对话状态在lstm层进行序列化编码,形成对话状态的关联和连续,然后将lstm层序列化编码后的编码数据,通过mlp网络进行编码全连接,形成全连接编码s,以作为一个整体数据输入到上述指定函数中,以得到全连接编码相对各对话决策动作项的奖励a。

进一步地,所述将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码的步骤s12,包括:

s121:根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度;

s122:根据所述对话信息的遗忘程度和对话信息的输入程度,通过得到当前对话的信息记忆和前对话的信息遗忘的综合结果,其中,wc表示可学习的记忆信息参数矩阵系数,bc表示可学习的记忆信息参数矩阵的常量,表示当前对话的信息记忆程度,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,tanh表示tanh函数;

s124:根据所述当前对话的信息记忆和前对话的信息遗忘的综合结果,通过ht=ot·tanh(ct),得到所述当前对话的信息过滤后的输出结果,其中,ot=σ(wc·[ht-1,st]+bc),ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wc表示可学习的输出信息参数矩阵系数,bc表示可学习的输出信息参数矩阵的常量,ot表示当前对话的信息输出,ht表示当前对话的信息过滤后的输出结果。

通过相邻轮对话之间的信息遗忘程度、输入程度,得到前对话对当前对话的信息影响,提高lstm层进行序列化编的精准度。

进一步地,所述根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度的步骤s121,包括:

s1211:通过ft=σ(wf·[ht-1,st]+bf)得到对话信息的遗忘程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wf表示可学习的遗忘参数矩阵的系数,bf表示可学习的遗忘参数矩阵的常量,ft表示对话信息的遗忘程度,σ表示σ函数;

s1212:通过it=σ(wi·[ht-1,st]+bi)得到对话信息的输入程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wi表示可学习的输入信息参数矩阵的系数,bi表示可学习的输入信息参数矩阵的常量,it表示对话信息的输入程度,σ表示σ函数。

进一步地,所述将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励的步骤s13,包括:

s131:将通过lstm层进行序列化编码后的编码数据输入至mlp,通过yt=wy·[ht-2,ht-1,ht]+by得到所述前对话、当前对话以及后对话的全连接编码后的全编码信息,其中,wy表示可学习的信息参数矩阵系数,by表示可学习的信息参数矩阵的常量;

s132:通过at=wayt+ba输出所述全编码信息对应的各对话决策动作项的奖励,其中,wa表示可学习的信息参数矩阵对应全编码信息的系数,ba表示可学习的信息参数矩阵对应全编码信息的常量。

参照图2,本申请一实施例的多轮对话管理装置,包括:

接收提炼模块1,用于接收输入的第一对话,并提炼出所述第一对话的结构化信息。

上述结构化信息包括对话所属领域、对话动作和对话参数信息;对话所属领域主要是指对话的所属范围,例如理财推荐、贷款推荐等,对话动作主要是指通知动作、请求动作、问候动作等,对话参数信息主要是指对话中携带的参数项及其赋值,比如贷款利率、贷款额度、理财收益率等等。上述结构化信息可通过对第一对话进行关键字识别和/或语义识别来提炼。本申请实施例的对话包括一问一答的内容方式。

确定模块2,用于根据所述第一对话的结构化信息,以及所述对话管理组件中的神经网络模型预先学习到的最优化参量,确定与所述第一对话匹配的推理参数信息q(s,a;θ),其中,θ为训练优化得到的最优化参量,所述最优化参量根据预设专家知识训练得到,所述专家知识包括预设对话状态下的最优对话决策动作项,s表示对话状态,a表示与所述对话状态对应的对话决策动作项的奖励分布。

通过加载学习到的最优化参量对应的推理参数信息q(s,a;θ)和预先定义的专家知识,机器人就可以根据当前的对话状态s选择最优的对话决策动作项a,这样也可以增强强化学习模型根据第一对话内容和情景推断回应第一对话的第二对话内容和情景的稳定性和准确率。

选择模块3,用于根据所述推理参数信息,选择与所述第一对话的结构化信息匹配的第一对话决策动作项,其中,所述第一对话决策动作项为预存的多个对话决策动作项中的任一对话决策动作项。

输出模块4,用于控制所述第一对话决策动作项决策出与所述第一对话结构化信息匹配的第二对话,并输出第二对话。

上述第一对话和第二对话为多轮对话中处于接续状态的任意两轮,比如第一对话包括一问a1,一答b1,则第二对话包括一问b1`,一答c1,其中b1与b1`为内容关联句或内容相同句。本申请实施例的对话管理系统是基于dqn的强化学习的系统,主要由用户仿真器和机器人两部分组成,用户仿真器和机器人结构相同,均分别包括对话状态追踪器和对话管理组件。对话状态追踪器用于记录对话过程中的结构化信息,对话管理组件主要是根据对话状态追踪器中的结构化信息选择对话决策动作项,并使对话多轮持续进行。拟合强化学习q-learning中的神经网络模型,输入的是对话状态s,输出对话决策动作项的奖励分布a。对话状态s是对状态追踪器中的结构化信息进行one-hot编码。one-hot编码,又称为有效编码,主要是采用n位状态寄存器来对n个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效。one-hot编码是分类变量作为二进制向量的表示。假设银行机器人为例,对话所属领域总共有理财推荐、闲聊两类。对话参数有earning_rate(收益率),investment_period(投资周期),risk(风险)三类。我们总共用11位数字进行one-hot编码,其中第1-2位编码对话所属领域,[0,0]表示未知,[1,0]表示理财推荐,[0,1]表示闲聊。第3-11位编码对话参数,其中earning_rate有<=5%、5-10%,>=10%三种,investment_period有<=6,6-12,〉=12个月,risk有低、中、高三种。以risk为例,[0,0,0]表示未知,[1,0,0]表示低,[0,1,0]表示中,[0,0,1]表示高。会被编码成st=[1,0,0,0,0,0,0,0,0,0,0]。用户仿真器和机器人中的对话管理组件中的神经网络模型,均是预先根据专家知识自主学习训练好的。通过加入专家知识,增强对话管理组件的强化学习能力,通过将专家知识融合到强化学习模型训练中,不仅减少强化学习过程对大规模数据的需求,也极大地提高了神经网络模型训练过程的收敛速度和准确率,可以根据机器与真实用户的交流数据,进行持续自主学习持续优化神经网络模型,使得人机交互更加贴近现实。本实施例将专家知识作为特征编码到了强化学习模型中,使强化学习模型在构造上有了较大改进,比如改变了强化学习模型loss的写法,使专家知识成为强化学习模型仿真环境的组成部分,通过奖励机制加速强化学习模型训练,并且使强化学习模型学习到知识正确率上升;而且本实施例中的对话结构化信息的编码向量化的模型也与未加载专家知识之前有了改进,使对话结构化信息更贴近自然人之间的对话沟通模式。强化学习与监督学习不同,监督学习是通过学习已标注的正确知识进行模型训练,而强化学习是通过建立仿真环境,通过奖励机制进行模型训练。未引入专家知识的强化学习模型仅通过构建仿真环境,通过奖励机制进行模型训练,会导致最终学到的知识并不一定是正确;而且学习速度往往很慢,需要几天的时间进行。第二对话可通过语音和/或文本的形式进行输出。

进一步地,多轮对话管理装置,包括:

第一获取模块,用于获取初始参数并锁定目标神经网络;

优化模块,用于将所述初始参数输入评价神经网络,并根据最小化差量进行参数优化训练得到第一优化参数,其中,所述最小化差量为l(θ)=es,a~ρ(·)[(reward+gamma·{q,(st+1,at+1)∈{(s,a)}最优;

es,a~ρ(·)表示平均值,reward是第t+1轮对话的奖励,gamma是折现因子常量,表示第t+1轮对话的对话状态和对话决策动作项属于专家知识中的元素,q为初始化常量;max(qtarget(st+1,at+1;θ))表示目标神经网络根据专家知识拟合得到(st+1,at+1)∈{(s,a)}最优的最大q值,qevaluate(st,at;θ)表示t轮对话的平均q值。

第一训练模块,用于将所述第一优化参数输入所述目标神经网络,并锁定所述评价神经网络,根据最小化差量进行参数优化训练得到第二优化参数;

第二训练模块,用于将所述第二优化参数输入所述评价神经网络,并在锁定所述目标神经网络的条件下,再次根据所述最小化差量进行参数优化训练得到第三优化参数;

得到模块,用于根据所述目标神经网络和所述评价神经网络的参数优化的循环过程,优化至所述评价神经网络优化收敛,得到所述最优化参量。

本申请实施例中,拟合强化学习q-learning中的神经网络模型包括目标神经网络和评价神经网络两部分。两部分的神经网络结构相同,但参数不同,用于根据最小化差量优化q值中的θ,将其优化为最优化参量。上述最小化差量为后一轮对话折现到当前对话的奖励,与当前对话实际获得的奖励之间的差距。当状态追踪器中的对话状态s存在于专家知识中时,并且对话决策动作项与专家知识中的某一动作决策项相同时,q为预先设置的初始化常量,比如q=1;否则q为目标神经网络通过专家知识拟合得到的最大q(s,a;θ),通过l(θ)逐步交替优化评价神经网络和目标神经网络,直至评价神经网络收敛,得到最优化参量θ。

进一步地,多轮对话管理装置,包括:

组成模块,用于将所述专家知识中各预设对话状态,以及与各所述预设对话状态分别对应的对话决策动作项组成训练集,输入所述训练集至初始状态的神经网络进行模拟训练,得到初始化参数项;

作为模块,用于将所述初始化参数项作为所述初始参数。

本实施例通过在获取最优化参量的过程前,先通过专家知识作为训练数据对神经网络进行预训练,以优化神经网络的参数数据,并将优化得到的初始化参数项θ`,作为初始参数。相比于随机选定的初始值,具有更快的训练收敛速度,加快学习速度和提高强化学习模型的稳定性以及准确率。本实施例的对话管理组件包括自主学习和模型应用两部分。自主学习是学习机器人和用户仿真器中的对话管理组件中的推理参数信息的过程,使得其可以根据状态追踪器中的对话状态s选择最优的对话决策动作项,实现更贴近人与人交互效果的人机交互。

进一步地,所述对话管理组件中的神经网络模型由双向lstm(长短期记忆网络,longshort-termmemory)和两层mlp(多层感知器,multi-layerperceptron)网络构成,另一实施例的多轮对话管理装置,包括:

第二获取模块,用于获取三个连续的对话轮回,包括位于当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话;

编码模块,用于将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码;

输入模块,用于将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励。

上述三个连续的对话轮回来自专家知识,当前对话对应第t轮对话,前对话对应第t-1轮对话,前对话之前的一轮对话对应第t-2轮对话,后对话对应第t+1轮对话,上述三个连续的对话轮回为上述四个对话轮回中任意连续的三个轮回。通过将相邻三个对话轮回中的对话状态在lstm层进行序列化编码,形成对话状态的关联和连续,然后将lstm层序列化编码后的编码数据,通过mlp网络进行编码全连接,形成全连接编码s,以作为一个整体数据输入到上述指定函数中,以得到全连接编码相对各对话决策动作项的奖励a。

进一步地,所述编码模块,包括:

第一得到单元,用于根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度;

第二得到单元,用于根据所述对话信息的遗忘程度和对话信息的输入程度,通过得到当前对话的信息记忆和前对话的信息遗忘的综合结果,其中,wc表示可学习的记忆信息参数矩阵系数,bc表示可学习的记忆信息参数矩阵的常量,表示当前对话的信息记忆程度,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,tanh表示tanh函数;

第三得到单元,用于根据所述当前对话的信息记忆和前对话的信息遗忘的综合结果,通过ht=ot·tanh(ct),得到所述当前对话的信息过滤后的输出结果,其中,ot=σ(wc·[ht-1,st]+bc),ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wc表示可学习的输出信息参数矩阵系数,bc表示可学习的输出信息参数矩阵的常量,ot表示当前对话的信息输出,ht表示当前对话的信息过滤后的输出结果。

通过相邻轮对话之间的信息遗忘程度、输入程度,得到前对话对当前对话的信息影响,提高lstm层进行序列化编的精准度。

进一步地,第一得到单元,包括:

第一得到子单元,用于通过ft=σ(wf·[ht-1,st]+bf)得到对话信息的遗忘程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wf表示可学习的遗忘参数矩阵的系数,bf表示可学习的遗忘参数矩阵的常量,ft表示对话信息的遗忘程度,σ表示σ函数;

第二得到子单元,用于通过it=σ(wi·[ht-1,st]+bi)得到对话信息的输入程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wi表示可学习的输入信息参数矩阵的系数,bi表示可学习的输入信息参数矩阵的常量,it表示对话信息的输入程度,σ表示σ函数。

进一步地,所述输入模块,包括:

输入单元,用于将通过lstm层进行序列化编码后的编码数据输入至mlp,通过yt=wy·[ht-2,ht-1,ht]+by得到所述前对话、当前对话以及后对话的全连接编码后的全编码信息,其中,wy表示可学习的信息参数矩阵系数,hy表示可学习的信息参数矩阵的常量;

输出单元,用于通过at=wayt+ba输出所述全编码信息对应的各对话决策动作项的奖励,其中,wa表示可学习的信息参数矩阵对应全编码信息的系数,ba表示可学习的信息参数矩阵对应全编码信息的常量。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储多轮对话管理过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现多轮对话管理方法。

上述处理器执行上述多轮对话管理方法,包括:接收输入的第一对话,并提炼出所述第一对话的结构化信息;根据所述第一对话的结构化信息,以及所述对话管理组件中的神经网络模型预先学习到的最优化参量,确定与所述第一对话匹配的推理参数信息q(s,a;θ),其中,θ为训练优化得到的最优化参量,所述最优化参量根据预设专家知识训练得到,所述专家知识包括预设对话状态下的最优对话决策动作项,s表示对话状态,a表示与所述对话状态对应的对话决策动作项的奖励分布;根据所述推理参数信息,选择与所述第一对话的结构化信息匹配的第一对话决策动作项,其中,所述第一对话决策动作项为预存的多个对话决策动作项中的任一对话决策动作项;控制所述第一对话决策动作项决策出与所述第一对话结构化信息匹配的第二对话,并输出所述第二对话。

上述计算机设备,通过增加专家知识参与多轮对话管理组件中神经网络的自主学习,增强对话管理组件的强化学习能力,通过将专家知识融合到强化学习模型训练中,不仅减少强化学习过程对大规模数据的需求,也极大地提高了神经网络模型训练过程的收敛速度和准确率,可以根据机器与真实用户的交流数据,进行持续自主学习持续优化神经网络模型,使得人机交互更加贴近现实自然人之间的交互状态。

在一个实施例中,上述处理器接收输入的第一对话,并提炼出所述第一对话的结构化信息的步骤之前,包括:获取初始参数并锁定目标神经网络;将所述初始参数输入评价神经网络,并根据最小化差量进行参数优化训练得到第一优化参数,其中,所述最小化差量为l(θ)=es,a~ρ(·)[(reward+gamma·{q,(st+1,at+1)∈{(s,a)}最优;

es,a~ρ(·)表示平均值,reward是第t+1轮对话的奖励,gamma是折现因子常量,(st+1,at+1)∈{(s,a)}最优表示第t+1轮对话的对话状态和对话决策动作项属于专家知识中的元素,q为初始化常量;max(qtarget(st+1,at+1;θ))表示目标神经网络根据专家知识拟合得到的最大q值,qevaluate(st,at;θ)表示与第t轮对话的平均q值;将所述第一优化参数输入所述目标神经网络,并锁定所述评价神经网络,根据最小化差量进行参数优化训练得到第二优化参数;将所述第二优化参数输入所述评价神经网络,并在锁定所述目标神经网络的条件下,再次根据所述最小化差量进行参数优化训练得到第三优化参数;根据所述目标神经网络和所述评价神经网络的参数优化的循环过程,优化至所述评价神经网络优化收敛,得到所述最优化参量。

在一个实施例中,上述处理器获取初始参数并锁定目标神经网络的步骤之前,包括:将所述专家知识中各预设对话状态,以及与各所述预设对话状态分别对应的对话决策动作项组成训练集,输入所述训练集至初始状态的神经网络进行模拟训练,得到初始化参数项;将所述初始化参数项作为所述初始参数。

在一个实施例中,对话管理组件中的神经网络模型由双向lstm(长短期记忆网络,longshort-termmemory)和两层mlp(多层感知器,multi-layerperceptron)网络构成,上述处理器接收输入的第一对话,并提炼出所述第一对话的结构化信息的步骤之前,包括:获取三个连续的对话轮回,包括位于当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话;将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码;将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励。

在一个实施例中,上述处理器将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码的步骤,包括:根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度;根据所述对话信息的遗忘程度和对话信息的输入程度,通过得到当前对话的信息记忆和前对话的信息遗忘的综合结果,其中,wc表示可学习的记忆信息参数矩阵系数,bc表示可学习的记忆信息参数矩阵的常量,表示当前对话的信息记忆程度,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,tanh表示tanh函数;根据所述当前对话的信息记忆和前对话的信息遗忘的综合结果,通过ht=ot·tanh(ct),得到所述当前对话的信息过滤后的输出结果,其中,ot=σ(wc·[ht-1,st]+bc),ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wc表示可学习的输出信息参数矩阵系数,bc表示可学习的输出信息参数矩阵的常量,ot表示当前对话的信息输出,ht表示当前对话的信息过滤后的输出结果。

在一个实施例中,上述处理器根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度的步骤,包括:通过ft=σ(wf·[ht-1,st]+bf)得到对话信息的遗忘程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wf表示可学习的遗忘参数矩阵的系数,bf表示可学习的遗忘参数矩阵的常量,ft表示对话信息的遗忘程度,σ表示σ函数;通过it=σ(wi·[ht-1,st]+bi)得到对话信息的输入程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wi表示可学习的输入信息参数矩阵的系数,bi表示可学习的输入信息参数矩阵的常量,it表示对话信息的输入程度,σ表示σ函数。

在一个实施例中,上述处理器将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励的步骤,包括:将通过lstm层进行序列化编码后的编码数据输入至mlp,通过yt=wy·[ht-2,ht-1,ht]+by得到所述前对话、当前对话以及后对话的全连接编码后的全编码信息,其中,wy表示可学习的信息参数矩阵系数,by表示可学习的信息参数矩阵的常量;通过at=wayt+ba输出所述全编码信息对应的各对话决策动作项的奖励,其中,wa表示可学习的信息参数矩阵对应全编码信息的系数,ba表示可学习的信息参数矩阵对应全编码信息的常量。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现多轮对话管理方法,包括:接收输入的第一对话,并提炼出所述第一对话的结构化信息;根据所述第一对话的结构化信息,以及所述对话管理组件中的神经网络模型预先学习到的最优化参量,确定与所述第一对话匹配的推理参数信息q(s,a;θ),其中,θ为训练优化得到的最优化参量,所述最优化参量根据预设专家知识训练得到,所述专家知识包括预设对话状态下的最优对话决策动作项,s表示对话状态,a表示与所述对话状态对应的对话决策动作项的奖励分布;根据所述推理参数信息,选择与所述第一对话的结构化信息匹配的第一对话决策动作项,其中,所述第一对话决策动作项为预存的多个对话决策动作项中的任一对话决策动作项;控制所述第一对话决策动作项决策出与所述第一对话结构化信息匹配的第二对话,并输出所述第二对话。

上述计算机可读存储介质,通过增加专家知识参与多轮对话管理组件中神经网络的自主学习,增强对话管理组件的强化学习能力,通过将专家知识融合到强化学习模型训练中,不仅减少强化学习过程对大规模数据的需求,也极大地提高了神经网络模型训练过程的收敛速度和准确率,可以根据机器与真实用户的交流数据,进行持续自主学习持续优化神经网络模型,使得人机交互更加贴近现实自然人之间的交互状态。

在一个实施例中,上述处理器接收输入的第一对话,并提炼出所述第一对话的结构化信息的步骤之前,包括:获取初始参数并锁定目标神经网络;将所述初始参数输入评价神经网络,并根据最小化差量进行参数优化训练得到第一优化参数,其中,所述最小化差量为l(θ)=es,a~ρ(·)[(reward+gamma·{q,(st+1,at+1)∈{(s,a)}最优;

es,a~ρ(·)表示平均值,reward是第t+1轮对话的奖励,gamma是折现因子常量,(st+1,at+1)∈{(s,a)}最优表示第t+1轮对话的对话状态和对话决策动作项属于专家知识中的元素,q为初始化常量;max(qtarget(st+1,at+1;θ))表示目标神经网络根据专家知识拟合得到的最大q值,qevaluate(st,at;θ)表示与第t轮对话的平均q值;将所述第一优化参数输入所述目标神经网络,并锁定所述评价神经网络,根据最小化差量进行参数优化训练得到第二优化参数;将所述第二优化参数输入所述评价神经网络,并在锁定所述目标神经网络的条件下,再次根据所述最小化差量进行参数优化训练得到第三优化参数;根据所述目标神经网络和所述评价神经网络的参数优化的循环过程,优化至所述评价神经网络优化收敛,得到所述最优化参量。

在一个实施例中,上述处理器获取初始参数并锁定目标神经网络的步骤之前,包括:将所述专家知识中各预设对话状态,以及与各所述预设对话状态分别对应的对话决策动作项组成训练集,输入所述训练集至初始状态的神经网络进行模拟训练,得到初始化参数项;将所述初始化参数项作为所述初始参数。

在一个实施例中,对话管理组件中的神经网络模型由双向lstm(长短期记忆网络,longshort-termmemory)和两层mlp(多层感知器,multi-layerperceptron)网络构成,上述处理器接收输入的第一对话,并提炼出所述第一对话的结构化信息的步骤之前,包括:获取三个连续的对话轮回,包括位于当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话;将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码;将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励。

在一个实施例中,上述处理器将所述当前时刻之前的前对话、当前时刻对应的当前对话以及位于当前时刻之后的后对话中的对话状态,通过lstm层进行序列化编码的步骤,包括:根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度;根据所述对话信息的遗忘程度和对话信息的输入程度,通过得到当前对话的信息记忆和前对话的信息遗忘的综合结果,其中,wc表示可学习的记忆信息参数矩阵系数,bc表示可学习的记忆信息参数矩阵的常量,表示当前对话的信息记忆程度,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,tanh表示tanh函数;根据所述当前对话的信息记忆和前对话的信息遗忘的综合结果,通过ht=ot·tanh(ct),得到所述当前对话的信息过滤后的输出结果,其中,ot=σ(wc·[ht-1,st]+bc),ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wc表示可学习的输出信息参数矩阵系数,bc表示可学习的输出信息参数矩阵的常量,ot表示当前对话的信息输出,ht表示当前对话的信息过滤后的输出结果。

在一个实施例中,上述处理器根据所述前对话的对话状态输出的隐变量以及所述当前对话的对话状态,分别得到对话信息的遗忘程度和对话信息的输入程度的步骤,包括:通过ft=σ(wf·[ht-1,st]+bf)得到对话信息的遗忘程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wf表示可学习的遗忘参数矩阵的系数,bf表示可学习的遗忘参数矩阵的常量,ft表示对话信息的遗忘程度,σ表示σ函数;通过it=σ(wi·[ht-1,st]+bi)得到对话信息的输入程度,其中,ht-1表示所述前对话的对话状态输出的隐变量,st表示所述当前对话的对话状态,wi表示可学习的输入信息参数矩阵的系数,bi表示可学习的输入信息参数矩阵的常量,it表示对话信息的输入程度,σ表示σ函数。

在一个实施例中,上述处理器将通过lstm层进行序列化编码后的编码数据,输入至mlp网络进行编码全连接,形成全连接编码,并通过指定函数输出所述全连接编码相对各对话决策动作项的奖励的步骤,包括:将通过lstm层进行序列化编码后的编码数据输入至mlp,通过yt=wy·[ht-2,ht-1,ht]+by得到所述前对话、当前对话以及后对话的全连接编码后的全编码信息,其中,wy表示可学习的信息参数矩阵系数,by表示可学习的信息参数矩阵的常量;通过at=wayt+ba输出所述全编码信息对应的各对话决策动作项的奖励,其中,wa表示可学习的信息参数矩阵对应全编码信息的系数,ba表示可学习的信息参数矩阵对应全编码信息的常量。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

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

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