首页> 中国专利> 一种可自动生成对话策略的任务型对话管理方法和系统

一种可自动生成对话策略的任务型对话管理方法和系统

摘要

本发明涉及一种可自动生成对话策略的任务型对话管理方法,包括:获取用户语音输入,通过语音识别模块得到语音输入识别文本输入到自然语言理解模块,识别出用户意图;对话状态追踪模块根据用户意图得到当前对话状态,通过对话策略生成模型生成对话流程树;对话流程树的每个节点对应的对话策略送入自然语言生成模块,生成对应的话术文本;话术文本传给语音合成模块,合成语音传给用户,其中,上述对话策略生成模型通过基于强化学习的自学习机制,实现对话流程树的自动化配置。

著录项

  • 公开/公告号CN113239167A

    专利类型发明专利

  • 公开/公告日2021-08-10

    原文格式PDF

  • 申请/专利权人 百融云创科技股份有限公司;

    申请/专利号CN202110598349.X

  • 发明设计人 常方舒;邱家洪;冯鑫;张韶峰;

    申请日2021-05-31

  • 分类号G06F16/332(20190101);G06F16/33(20190101);G06F16/31(20190101);G06N20/00(20190101);

  • 代理机构11310 北京立成智业专利代理事务所(普通合伙);

  • 代理人张江涵

  • 地址 100043 北京市石景山区实兴大街30号院5号楼5层76号

  • 入库时间 2023-06-19 12:10:19

说明书

技术领域

本发明涉及计算机技术领域,尤其涉及对话管理系统。

背景技术

人机交互作为信息时代人类与计算机之间信息交流的基础技术,受到学术界和工业界的广泛关注。近年来人机交互领域发展迅猛,出现了许多产品,常见的有语音助手,智能音箱,语音机器人。当前对话系统主要有两种:任务型对话管理系统、闲聊型对话系统。任务型对话管理系统以完成任务为主,使用尽可能少的对话轮数达到目的,主要面向垂直领域,如:机票预定、酒店预定、订电影票等。常见的任务型对话管理系统方案有2种:

(1)管道方法。一个完整的由管道方法构建的任务型对话管理系统主要有4个部分:语音识别模块(ASR)、语义理解模块(NLU)、对话管理模块(DM)、自然语言生成模块(NLG)、语音合成模块(TTS),其中对话管理模块又可以细分为对话状态表示和对话策略学习。管道方法具有较强的领域相关性,每个领域都需要设计语义槽、动作空间和决策规则,难于拓展到新的领域;同时模块与模块之间相互独立,需要为每个模块提供大量的标注数据用于模型训练;模型之间具有依赖性,导致上游模块的错误会级联到下游模块,产生较大误差及误差来源不明确。

(2)端到端方法。这种方式直接将语义理解、对话管理和文本生成融合到一体,以语音识别后的文本作为端到端模型的输入,模型输出用户响应文本,通过语音合成后发送给用户。端到端的方式具有结构简单、便于移植的优点,也解决了多模块需要大量标注数据的问题,极大的优化了语音交互内部复杂的设计。然而,端到端的技术合成的文本在语义和逻辑上较差,且效果依赖于知识库,存在训练效率低下、用户体验差及不可控性的缺点。

目前任务型对话管理系统存在许多问题:一、可拓展性差。针对不同场景需要重新开发模型、制定策略,尤其对于管道方法构建任务型对话系统。二、用户体验差。由于用户提问具有不可控性,系统定义和规则无法全面覆盖,导致答非所问或出现有歧义的回复。三、维护困难。任务型对话管理在不同场景、任务上有不同的话术规范,需要研发、产品、运营跨部门协作维护,维护过程繁琐又困难。

发明内容

本发明要解决的问题有:

一、任务型对话管理系统可拓展性较差、维护困难的问题。当前企业对话管理系统的开发维护过程是:(1)运营部门根据业务数据总结出该场景的对话流程树;对话流程树是完成该场景任务的对话状态走向,树中节点表示对话进行到该状态时系统或用户的动作。(2)运营和产品部门根据对话流程树设计场景规范话术模本,针对对话流程树中每个节点的动作设计相应的话术和回复策略。(3)研发部门根据场景规范话术模本设计相应的正则表达式。整个对话管理过程需要多个部门之间进行多次有效的沟通才能完成完成,耗费的时间、精力巨大,部门之间的沟通误差也会进一步导致对话系统实现的效果变差,且维护难度大。不同场景对应的对话流程树和场景规范话术模本也不一样,当新增场景时,需要重新设计对话流程、话术模本和回复策略,重新设计正则表达式,牵一发而动全身,可拓展性极差。

二、用户体验差。这里所说的用户包含两种类型,使用对话管理系统的企业用户和与对话系统进行交互的终端用户。当涉及到toB业务时,当前对话管理系统可拓展性差的问题,使得企业客户使用和维护对话管理系统变的异常艰难,用户体验极差。对于终端用户,由于用户的回复具有不可控性,系统的规则无法完全覆盖,且人工总结的话术模板形式单一,使得系统回复具有机械感,正则表达式无法精准理解语义,系统回复有时答非所问或充满歧义,用户体验大打折扣。

针对以上问题,本发明提出了一种可自动生成策略的任务型对话管理方法,包括:获取用户语音输入,通过语音识别模块得到语音输入识别文本输入到自然语言理解模块,识别出用户意图;对话状态追踪模块根据用户意图得到当前对话状态,通过对话策略生成模型生成对话流程树;对话流程树的每个节点对应的对话策略送入自然语言生成模块,生成对应的话术文本;话术文本传给语音合成模块,合成语音传给用户,其中,上述对话策略生成模型通过基于强化学习的自学习机制,实现对话流程树的自动化配置。

本发明还提出了一种任务型对话管理系统,包括语音识别模块、自然语言理解模块、对话状态追踪模块、对话策略生成模型、自然语言生成模块和语音合成模块;通过获取用户语音输入,上述语音识别模块得到语音输入识别文本输入到自然语言理解模块,识别出用户意图;对话状态追踪模块根据用户意图得到当前对话状态,通过对话策略生成模型生成对话流程树;对话流程树的每个节点对应的对话策略送入自然语言生成模块,生成对应的话术文本;话术文本传给语音合成模块,合成语音传给用户,其中,上述对话策略生成模型通过基于强化学习的自学习机制,实现对话流程树的自动化配置。通过对话策略生成树自动生成对话流程树,解决人工配置对话流程树过程繁琐、维护难度高的问题。

进一步的,对话策略生成模型自学习机制,采用强化学习的思想对由场景通话数据训练得到的对话策略生成模型不断进行学习、优化,使模型生成的对话流程树不断逼近人为配置的对话流程树,包括:

(1)首先对已有场景通话数据进行标注,构建数据集,训练基于深度学习模型的对话策略生成初始模型。模型的X标签是从场景对话中提取的对话状态,Y标签是从对话数据中抽取的系统或用户动作。若初始无场景相关通话数据,可使用近似场景的对话策略生成模型作为初始模型。

(2)当有新的数据场景通话数据产生的时候,重新训练模型,根据当前输入的对话状态产生的模型输出,判断模型效果,若效果更优,则产生正向激励,若效果更差,则产生负向激励,并更新相应的模型参数。

(3)对话管理系统在使用过程中不断循环(2),不断对对话策略生成模型进行优化,最终使得对话策略生成模型生成的对话流程树在内容和规范上逼近人工配置,使得由刚开始产生的对话流程树需要较多的人为修正,到最后使用完全由模型自动生成的对话流程树,实现对话流程树的全自动化配置。

(4)每次模型迭代更新后,自动化部署更新模型,自动收集标注语料并注明是产生正向激励的语料还是负向激励的语料;模型的自动迭代、部署及语料数据的收集均由自动化程序自动完成,运行程序完成一系列操作。

进一步的,本发明提出了对话策略生成方法,可自动生成对话流程树并对模型进行自学习优化,具有如下有益效果:

1、自动生成对话流程树相比人工配置的方式更加自动化,解决了人工配置对话流程树流程复杂,部门之间反复沟通的痛点;同时生成的对话流程树是可编辑的,避免了模型生成的不可干预性,可拓展性也更强。

2、通过模型自动生成对话流程树,避免了各部门间沟通不当产生的误差,同时可维护性更强。

附图说明

图1是本发明的对话管理方法与系统示意图;

图2是强化学习工作机制流程图;

图3是示出的强化学习机制中参数更新流程示意图;

图4是模型达到收敛状态时损失函数值的曲线图;

图5是邮储通知流程的部分对话流程树示意图。

具体实施方式

下面结合附图和具体实施例来对本发明进行详细的说明。

本发明所涉及的技术特征、简写/缩写、符号等,以本领域技术人员的公知常识/通常理解为基础进行解释、定义/说明。

本发明涉及一种任务型对话管理方法与系统,如图1所示,包括语音识别模块、自然语言理解模块、对话状态追踪模块、对话策略生成模型、自然语言生成模块和语音合成模块。具体来说,通过电子设备获取用户语音输入,通过语音识别模块得到语音识别文本输入到自然语言理解模块,识别出用户意图;对话状态追踪模块根据用户意图和历史对话记录得到当前对话状态,通过对话策略生成模型生成对话流程树;对话流程树的每个节点对应的对话策略送入自然语言生成模块,生成对应的话术文本;话术文本传给语音合成模块,合成语音传给用户,完成交互。其中,相对于传统的人工配置对话流程树,本发明的对话策略生成模型通过基于强化学习的自学习机制,不断优化,最终使得对话策略生成模型生成的对话流程树在内容和规范上接近人工配置的对话流程树,实现对话流程树的自动化配置。

基于强化学习的对话策略生成模型,模型输入是对话状态,输出是对应的对话流程树,对话流程树的每一个节点代表一个对话策略,即系统相应的动作。通过基于强化学习的自学习机制,实现对话流程树的自动化配置,主要包括:

步骤S1,利用场景通话数据构建对话策略生成模型的初始模型Y=f(WX)。模型中的X标签是场景对话数据中的对话状态,包括识别文本,词槽填充状况(需要搜集的信息,比如,用户姓名、年龄、联系方式等),对话轮数等,Y标签是从对话数据中抽取出来的系统动作,主要指针对用户输入做出的回复动作。具体包括:

步骤S11:对通话数据文本进行统一预处理,实现文本的规范化。包括:全角转半角、特殊字符处理、字母统一转为小写、字符统一编码、文本去噪等。

步骤S12:对敏感数据进行脱敏。为了保护客户信息需要将通话数据文本中涉及客户私密的信息进行脱敏处理,比如:张三处理成NAME,数字用NUM代替,机构名用PRD代替等。

步骤S13:通过人工标注的形式提取出用户和系统(机器人)的历史对话状态和对应的动作,X={X1,X2,X3,…Xt}表示系统(机器人)/用户从1到t时刻的对话状态,Y={Y1,Y2,Y3,…Yt}表示系统(机器人)/用户在1到t时刻的动作。

在一具体实施例中,系统(机器人):请问是马子龙先生本人吗?用户:是的。对应的系统(机器人)对话状态是{文本:请问是马子龙先生本人吗,词槽:空,对话轮数:1,…},系统(机器人)动作是{action:询问是否是本人};用户对话状态是{文本:是的,词槽:空,对话轮数:1,…}。

步骤S14:将历史对话状态和动作组合起来就构成了用户数据集Dataset={X,Y}。

步骤S15:使用词向量模型将历史状态数据转换为词向量。常见的词向量模型有word2vect,topic-model及基于bert的词向量模型等,本发明使用包括但不限于上述词向量模型。

步骤S16:构建对话策略生成模型的初始模型。初始模型用Y=f(WX)来表示。其中X表示系统(机器人)/用户的对话状态,W是模型参数,Y是对话流程树中的动作。在优选实施例中,初始模型可采用神经网络模型,f为传递函数。本发明中不指定具体的算法,凡是深度学习或机器学习领域的网络结构均在专利保护范围内。

步骤S2:通过基于强化学习的自学习机制,训练对话策略生成模型的初始模型,使得对话策略生成模型生成的对话流程树在内容和规范上接近人工配置的对话流程树,实现对话流程树的自动化配置。

强化学习是机器学习的一个分支,强调如何基于环境的动作,取的最大化的预期利益。在强化学习中有智能体和环境两个主体,智能体根据当前状态确定一个动作,并执行该动作,之后它和环境进入下一个状态,同时系统给它一个反馈值,对动作进行奖励或惩罚,以迫使智能体执行期望的动作。

在本发明中,对话策略生成模型相当于智能体,生成的对话流程树的质量相当于环境。当有新的场景对话语料生成时,从中抽取出对话状态,送入对话策略生成模型,根据生成的对话流程树的质量形成反馈,进行模型参数的更新。图2是本发明强化学习流程示意图。

通过基于强化学习的自学习机制训练对话策略生成模型的初始模型的主要过程如图3所示,具体包括:

步骤S21:参数初始化。初始模型Y=f(WX)中,W是模型参数,整体构成参数空间。参数空间中各参数的初始值通过初始化函数随机确定,初始值优选在(-0.1,0.1)区间内。当对话策略模型训练完成后,上述参数的值唯一确定,不再变化,通过参数和输入值可以唯一确定输出Y。下文中奖励函数R初始值通过参数W和参数更新动作A的初始值计算,价值函数Q的初始值可以为零。

步骤S22:获取参数对应的参数更新动作,并得到更新后的参数。对第t轮训练时参数空间中的参数选择参数更新动作,得到参数更新动作空间子集并对参数进行更新,进而得到第t+1轮训练时参数空间的值。参数更新动作的选择可以有多种策略,包括但不限于UCB策略和∈-greedy策略等,本发明以∈-greedy策略为例进行说明。根据∈-greedy策略,第t轮训练时从参数空间W中任意选取一个参数Wt,以∈的概率随机选择一个更新动作,以1-∈的概率选取价值函数Q最大的值对应的动作At,作为参数Wt的更新动作,∈范围为{0.01,1}。∈在t=0时取1,t=1时为0.99∈,而后以∈=0.99∈的速度进行衰减,当∈=0.01时,停止衰减,保持0.01。

步骤S23:更新并执行奖励函数R(W,A)并得到奖励R。

奖励函数R(W,A)={R1,R2,R3,…,Rt}表示第1到t轮训练对应的奖励函数,

动作空间A={A1,A2,A3...,An}对应参数更新动作,An表示第n个参数的参数更新动作,

当An取1表示本轮训练更新第n个参数,当An取0表示本轮训练第n个参数保持不变,当An取-1时表示本轮训练删除第n个参数。

P(t)是第t轮训练时模型生成的对话流程树的准确率。max P(t-1)是前t-1轮训练模型生成对话流程树的最高准确率。当模型第t轮训练生成对话流程树的准确率高于前t-1轮训练的最高纪录时,以2倍的P(t)作为奖励值;反之,以前t-1轮的最高准确率的作为惩罚。具体实施例中,通过模型输出的对话流程树与标准对话流程树(人工标注的对话流程树)进行比对,当模型输出的对话流程树与标准对话流程树文本相比有85%准确率时,P(t)=85%。当模型第t轮训练生成对话流程树的准确率(P(t)=85%)高于前t-1轮训练的最大准确率时,Rt=2*85%;反之,Rt=-max P(t-1)。

步骤S24:更新价值函数:

Q(Wt+1,At+1)=Q(Wt,At)+α[Rt+γmax(R(Wt+1,At)-R(Wt,At))];

其中α为与策略生成模型相关参数,可在0.5至0.9中取值;γ表示模型误差,可在0.0005至0.005中取值。根据当前训练的价值函数和下一轮训练的参数,以获取下一轮训练参数所对应的候选更新动作。

步骤S25:重复执行步骤S22至S24,不断更新参数空间的值直到模型达到收敛状态,此时损失函数L在某个值附近小幅波动。

损失函数是衡量模型性能的重要指标,描述的是模型生成对话流程树和标准对话流程树之间的差异,取值在(0,1)之间。

其中N是对话流程树的节点数,y是节点的真实值,y_pred是模型生成的节点值。

模型收敛后的效果如图4所示,横坐标是训练次数,1k表示1000次,纵坐标是loss,即损失函数的值,衡量的是生成的对话流程树和标准对话流程树的差距,loss值越小,二者越相似,该示例图中,模型收敛后loss值在0.6附近波动。

最后,开发自动化部署程序,以点击按钮或运行脚本的形式,自动对产生的语料进行搜集并整理,通过脚本程序自动对更新后的模型进行上线部署。

通过基于强化学习的自学习机制训练对话策略生成模型,最终使得对话策略生成模型生成的对话流程树在内容和规范上接近人工配置的对话流程树,从刚开始生成需要较多的人为修正到最后完全由模型自动生成,实现对话流程树的自动化配置。以邮储通知流程为例,图5所示是生成的部分对话流程树,R表示系统/机器人节点,P表示用户节点,数字表示对话轮数和节点数,R1.1表示系统/机器人在第一轮对话第一个节点的动作是确认用户对话,P1.1表示用户在第一轮对话中的第一个节点的动作是确认是本人,节点之间的连线表示对话的前后及关联。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号