有一些资料把这部分称为Policy Optimization/Policy Learning。
1. 什么是DPL
DPL模块的输入是DST模块输出的当前对话状态,通过预设的对话策略,选择系统动作作为输出。
对话策略模块可以认为是根据对话历史状态进行决策的一个部件,当然历史上DPL本身有很多发展过程,例如通过人工设计有限状态自动机方法
、用部分可观察马尔科夫随机过程
的方式建模(POMDP),当然现代研究主要都转向了使用神经网络直接有监督训练
和基于强化学习
的训练。
2. 案例一:询问天气
以有限状态自动机
的方法进行规则的设计,有两种不同的方案:一种以点表示数据,以边表示操作;另一种以点表示操作,以边表示数据,这两种方案各有优点,在具体实现时可以根据实际情况进行选择。
方案一:以点表示数据(槽位状态)
,以边表示操作(系统动作)
如下图
在这种情况下,有限状态自动机中每一个对话状态表示槽位的填充情况,例如槽位均为空时,状态为NULL,表示为(0, 0);仅时间(Time)槽位被填充时,状态表示为(0, 1)。本示例共有两个槽位,分别是时间和地点(Location),因此共有4种不同的状态。
状态转移是由系统动作
引起的,例如仅时间槽位被填充时,下一步系统动作为“询问地点”(Ask Location),以获取完整的槽位填充。为起始状态,为终止状态,三种状态的作用是对槽位填充进行确认。如果成功填充,则跳转到下一个状态继续;如果没有成功,则再一次询问进行槽位填充(Ask Again)。
这种方式弊端非常明显
:随着槽位数量的增加,对话状态的数量也会急剧增加。具体来说,在上述方案中,对话状态的总数由槽位的个数决定,如果槽位有个,那么对话状态的数量为个。尝试进行这一弊端研究有很多,如等人提出的隐藏信息状态模型(Hidden Information State , HIS)和等人提出的基于贝叶斯更新的对话状态管理模型(Bayesian Update of Dialogue State, BUDS)等。
方案二:以点表示操作(系统动作)
,以边表示数据(槽位状态)
如下图
在这种情况下,有限状态自动机中每一个对话状态表示一种系统动作,本例中系统动作共有3中,分别是两种问询动作:“询问时间”(Ask Date)和“询问地点”(Ask Location),以及最后的系统回复“回答天气”(Answer)动作。有限状态自动机中状态的迁移则是由槽位状态变化,即“用户动作”
引起的。
对比上述两种方案可以发现,第二种有限状态自动机以系统动作作为核心,设计方式更简洁,并且易于工程实现,更适合人工设计的方式。第一种有限状态自动机以槽位状态为核心,枚举所有槽位情况的做法过于复杂,更适合数据驱动的机器学习方式。
系统动作的定义通常由问询、确认和回答3中。问询
的目的是了解必要槽位缺失的信息;确认
是为了解决容错性问题,填槽之前向用户再次确认;回答
则是最终回复,意味着任务和有限状态自动机工作的结束。
采取问询的方式获得缺失的槽位信息,在一些情况下是不合适的,以“询问天气”任务为例,向用户问询槽位缺失的信息会大幅降低用户对系统的满意度。在真实的业务环境下,系统往往会直接采取默认值槽位
的方式,或者结合以往的对话历史数据
,自动填补个性化的结果。例如,用户以往问的都是广州的天气,那么“地点”槽位就会被个性化地填充为“广州”。
这就引出了面向任务对话系统的质量评估方法
。对面向任务的对话系统而言,完成用户指定任务所需的对话轮数越少越好
。在实际应用中,诸如“询问天气”这样的任务,通常都尽可能地在一次对话中完成,而有些任务则必须要进行多轮对话,例如订餐、购票等任务
。
接下来,我们以“订餐需求”为例,说明多轮对话的必要性,以及对话轮数的取舍问题。
案例二:订餐
在典型的订餐领域的对话系统中,根据生活经验,我们知道需要为系统定义以下几个槽位。
1. slot1:用户地址(Address)。
2. slot2:用户手机号码(Phone)。
3. slot3:订餐餐厅名称(Res_name)。
4. slot4:食物名称(Food_item)。
5. slot5:食物类型(Food_type)。
6. slot6:价格范围(Price_range)。
其中前4项为必要槽位,对订餐任务来说是必须提供的参数
,最后两项为非必要槽位
,可有可无,有的话可以提高餐厅任务的精确度。参考案例一的处理过程,首先对此任务设计相应的有限状态自动机,如下图
可以发现,在该任务下的有限状态自动机设计中,我们只加入了必要槽位的问询操作,没有对Food_type和Price_range进行强制的系统询问。两个非必要槽位能够对“Ask Food_item”,即询问具体食物名称起到辅助作用。当用户没有明确需求时,系统可以给出具体食物推荐,这样的设定可以有效地减少非必要的对话,减少对话轮数
。
参考文献
- 自然语言处理与实践
- Young S, Keizer S, Mairesse F, et al. The Hidden Information Statemodel: A practical framework for
POMDP-based spoken dialogue management. Computer Speech & Language, 2010, 24(2):150-174. - Thomson B, Schatzmann J, Young S. Bayesian update of dialogue state for robust dialogue systems, IEEE International Conference on Acoustics, Speech and Signal Processing, 2008:4937-4940.