公开/公告号CN106558309A
专利类型发明专利
公开/公告日2017-04-05
原文格式PDF
申请/专利权人 中国科学院声学研究所;北京中科信利技术有限公司;
申请/专利号CN201510629197.X
申请日2015-09-28
分类号G10L15/20(20060101);G10L15/26(20060101);G10L15/06(20130101);G10L15/16(20060101);G10L21/10(20130101);
代理机构北京方安思达知识产权代理有限公司;
代理人王宇杨;杨青
地址 100190 北京市海淀区北四环西路21号
入库时间 2023-06-19 01:55:21
法律状态公告日
法律状态信息
法律状态
2019-07-09
授权
授权
2017-05-03
实质审查的生效 IPC(主分类):G10L15/20 申请日:20150928
实质审查的生效
2017-04-05
公开
公开
技术领域
本发明涉及口语交互领域,具体涉及一种口语对话策略生成方法及口语对话方法。
背景技术
随着移动互联网和智能终端的迅速普及,口语对话系统得到了更加广泛和深入的应用。口语交互是最自然、方便的人机交互方式之一,被广泛应用于移动设备上的语音助手、自动客服、自动信息查询等系统中。相比较键盘鼠标等传统输入方式,口语对话系统的使用门槛更低,目标用户群更广,并且更加适用于车载、可穿戴等特殊使用环境下的人机交互。口语对话管理是口语对话系统的中心模块,主要功能是接收来自口语理解模块的语义信息,输出系统对话动作,之后通过语言生成模块转化为自然语言文本,最后通过语音合成模块转化为语音返回给用户。
实际系统中语音识别和口语理解的结果输出中不可避免地存在着一定噪声,且在噪音较大的使用环境中尤为严重,这就使得对话系统必须要考虑到错误的存在,需要结合对话历史对真实的对话状态做出推断,根据当前的状态适时地主动与用户进行信息确认。在对话管理模块的构建中面临的最主要挑战是如何准确地跟踪对话状态,以及根据当前对话状态选择最合适的对话动作。目前商用系统中主要由领域专家手工构建维护对话策略,该方法较为繁琐。而在研究领域中多采用基于强化学习的模型和方法对策略进行自动优化,该方法具有更佳的鲁棒性;但是训练好的策略为数值模型,很难进行手工调整和验证,所以目前很少应用于商业环境。
发明内容
本发明的目的在于克服目前口语对话系统中生成口语对话策略存在的上述缺陷,基于遗传算法提出了一种口语对话策略的生成方法,该方法融入了大量领域专家经验知识,采用数据驱动方式自动学习策略,具有较强的噪声鲁棒性。
为了实现上述目的,本发明提供了一种口语对话策略生成方法,所述方法包括:
步骤S1)使用人替代机器方式收集真实的人机对话数据样本;
步骤S2)基于Agenda模拟用户模型,根据对话数据样本构建一个虚拟用户,用于模拟真实用户行为;
步骤S3)为虚拟用户的语义信息添加噪声,构建噪声信道;
步骤S4)根据虚拟用户的语义信息构建对话策略模板;
步骤S5)提取对话策略模板中所有条件语句包含的自由参数构成参数向量,输入遗传算法中进行优化得到最优解;
步骤S6)将最优解赋予对话策略模板得到对话策略。
上述技术方案中,所述步骤S3)的具体过程为:
根据仿真的实际识别和理解系统的性能情况设定噪声参数;噪声信道接收正确的语义信息,输出含有错误信息的语义信息,在仿真时随机改变语义中的语义槽填充信息以及对话动作,模拟真实的理解或识别错误。
上述技术方案中,所述步骤S4)的具体过程为:
对话策略模板指定了对话策略的基本结构,由若干个“条件-动作”语句对话策略进行表示,其中条件部分用于表达对当前对话状态的一定约束,若满足一定条件,则输出对应动作,条件部分含有一定的阈值参数;形式如下:
if(condition(θ1))then(action1)
else if(condition(θ2))then(action2)
…
else then(actionn)
其中,θ=(θ1…θn)为待求的自由参数,将一组完整的自由参数赋予策略模板即可得到完整的对话策略;
对话策略定义了一个对话管理器基本行为,在参数训练的过程中,对话管理器通过所述步骤S3)中的噪声信道与步骤S2)中构建的模拟用户进行交互;模板中各个条件-动作语句的先后顺序对应一定的优先级关系,即优先选择最先匹配到的条件语句。
上述技术方案中,所述步骤S5)具体包括:
步骤S5-1)制定适应度函数;
制定适应度函数需要考虑的因素包括:对话成功率外、对话长度和请求用户重复的次数;将各个因素根据其对用户体验度的影响程度进行加权平均,得到描述综合用户体验的适应度函数;
步骤S5-2)选定一组参数向量作为初始解,使用步骤S5-1)制定的适应度函数进行遗传算法训练,直至迭代次数达到一定限制或者最优解的性能达到优化目标,输出最优解。
基于上述口语对话策略生成方法生成的对话策略实现,本发明还提供了一种口语对话方法,该方法包括:
步骤T1)用户的语音输入经过语音识别后转化为识别文本;
步骤T2)将识别文本转化为结构化的语义信息;
步骤T3)根据语义信息对当前对话状态进行更新;
步骤T4)根据所述对话策略对当前对话状态进行判断,输出对应的对话动作;
步骤T5)将输出的对话动作转化为文本形式,然后转化为语音,输出给用户。
本发明的优点在于:
1、本发明的口语策略生成方法与现有的纯手工制定的对话策略相比具有更好的噪声鲁棒性;
2、在本发明的方法中,定义策略的语言易于人工编辑和维护,更适合对系统行为有严格要求的商业环境;
3、本发明的口语策略生成方法易于加入领域专家知识,可直接从基于规则的对话策略进行迁移和升级。
附图说明
图1为本发明的口语对话策略生成方法的流程图;
图2为遗传算法的示意图;
图3为本发明的口语对话方法的示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示,一种口语对话策略生成方法,所述方法包括:
步骤S1)使用人替代机器(Wizard-of-oz)的方式收集真实的人机对话数据样本;
步骤S2)基于Agenda的模拟用户模型,根据对话数据样本构建一个虚拟用户,用于模拟真实用户行为;
在对话开始时,根据随机生成的用户意图初始化栈,压入初始对话动作;然后在每一回合的对话交互中,模拟虚拟用户根据接收到的系统动作生成一定的用户动作压入栈中,之后自栈顶弹出存储的用户动作作为本回合的用户回复;
语义信息的形式为:对话动作+语义槽填充;例如,“我想查询‘中关村’附近‘便宜’的餐馆”可表示为inform(location=中关村,price=便宜)。在对话开始时根据语义信息随机生成对话目标,例如对话目标为“查询‘中关村’附近‘便宜’的‘川菜馆’”,即在本轮对话中需填充‘地点’、‘价位’、‘口味’三个语义槽。
步骤S3)为虚拟用户的语义信息添加噪声,构建信道噪声;
噪声信道对真实语义信息会产生随机的删除和修改操作,生成N-best列表和各项对应的置信分数;上述举例的信息经过噪声信道后可被转换为{semantics=[inform(location=中关村,price=便宜)],score=0.7}或{semantics=[inform(location=国贸)],score=0.2}。
在噪声信道方面,应根据仿真的实际识别和理解系统的性能情况设定噪声参数;噪声信道接收正确的语义信息,输出以Nbest形式表示的含有错误信息的语义信息,在仿真时随机改变语义中的语义槽填充信息以及对话动作,模拟真实的理解或识别错误。
步骤S4)根据虚拟用户的语义信息构建对话策略模板;
对话策略模板指定了对话策略的基本结构,由若干个“条件-动作”语句对话策略进行表示,其中条件部分用于表达对当前对话状态的一定约束,若满足一定条件,则输出对应动作,条件部分含有一定的阈值参数;形式如下:
if(condition(θ1))then(action1)
elseif(condition(θ2))then(action2)
…
else then(actionn)
其中,θ=(θ1…θn)为待求的自由参数,将一组完整的自由参数赋予策略模板即可得到完整的对话策略。对话策略定义了一个对话管理器基本行为,在参数训练的过程中,对话管理器通过步骤S3)中的噪声信道与步骤S2)中构建的模拟用户进行交互。
该模板易于表述领域专家的经验知识,可通过基于规则表示的对话策略改写而来。一条典型的条件-动作语句为:“若输入的最优结果的语义置信度分数低于θ1,则向用户发出‘请重复’的系统动作”;模板中各个条件-动作语句的先后顺序对应一定的优先级关系,即优先选择最先匹配到的条件语句。
步骤S5)提取对话策略模板中所有条件语句包含的自由参数构成参数向量,输入遗传算法中进行优化得到最优解;
如图2所示,遗传算法是迭代式的优化算法,在每一次迭代中,由所有的候选解组成一代“总体”,选择其中优秀的个体通过“变异”,“交叉”等“繁殖”方式生成构成下一代总体的个体,这样性能较好的个体会有更大的几率将其特性遗传到下一代,而且每一代总体的性能一般要优于其父代。这两种繁殖方法如下图所示,其中变异的方式是对某一个父代个体,对其进行随机扰动生成一个新个体。而交叉的方式是对两个父代个体,从中随机选出互补的两部分进行拼凑,生成新的个体。
所述步骤S5)具体包括:
步骤S5-1)制定适应度函数,
适应度函数用于评价遗传算法优化过程中每一代个体的效果好坏;决定对话策略好坏的最主要的因素是对话成功率,在常见的任务驱动的对话中,当对话系统完成用户指定操作、正确给出用户请求的信息,则认为是一次成功的对话,否则认为是失败。
制定适应度函数需要考虑的因素包括:对话成功率外、对话长度和请求用户重复的次数;将各个因素根据其对用户体验度的影响程度进行加权平均,得到描述综合用户体验的适应度函数;
步骤S5-2)选定一组参数向量作为初始解,使用步骤S5-1)制定的适应度函数进行遗传算法训练,直至迭代次数达到一定限制或者最优解的性能达到优化目标,输出最优解;
在每一次迭代中,使用“变异”,“交叉”两种繁殖方式生成下一代,在选择参与繁殖操作的父代个体时应优先选择适应度较高的个体,以确保能把父代的优良特性遗传给子代,提高子代的总体性能。
对于待评估的参数向量θ,将其赋值到策略模板中得到一个具体的对话策略,将该对话策略置于仿真环境中与虚拟用户进行N轮交互,若其中NSUC轮对话成功则对话成功率可表示为:
F=N/NSUC
步骤S6)将最优解赋予对话策略模板得到对话策略。
基于上述口语对话策略生成方法对话策略,本发明还提供了一种口语对话方法;
如图3所示,所述方法具体包括:
步骤T1)用户的语音输入经过语音识别后转化为识别文本;
步骤T2)将识别文本转化为结构化的语义信息;
步骤T3)根据语义信息对当前对话状态进行更新;
步骤T4)根据所述对话策略对当前对话状态进行判断,输出对应的对话动作;
步骤T5)将输出的对话动作转化为文本形式,然后转化为语音,输出给用户。
机译: 口语对话系统,口语对话方法和适应口语对话系统的方法
机译: 口语对话系统,口语对话方法和适应口语对话系统的方法
机译: 口语对话系统,口语对话方法和适应口语对话系统的方法