会话式AI:自然语言处理与人机交互
上QQ阅读APP看书,第一时间看更新

1.3.4 对话管理

对话管理模块主要由状态追踪模块和动作生成模块两部分构成。

1.状态追踪模块

状态追踪模块主要获取当前用户同系统交互处于任务设定的状态。由自然语言理解模块解析结果可知用户当前所处领域场景、其具体意图,以及用户当前阶段所收集到的相关参数内容。相关信息交由该模块统一收集,最终判断出当前对话的状态。这里主要有两种状态追踪机制,第一种是基于框架的对话管理,即槽位填充机制。该方法假设当任务所需槽位全部收集完成后便可执行相关任务查询服务操作,在槽位未收集完全前,记录槽位收集情况以作为当前对话状态记录。第二种是基于有限状态机的对话管理方法。这种方法把对话的流程预定义成一个有限状态自动机,在任意时刻,系统总是处于状态转移图中的某个状态,系统所处的状态代表了系统将会提出的问题,用户的回答相当于状态转移图中的弧,决定了状态之间的转移。预定义好的有限状态自动机决定了所有合法的对话,用户与系统的对话过程实际上就是状态转移图中的一条状态转移路径。

2.动作生成模块

动作生成模块是在分析状态追踪模块结果后,机器判断在当前状态下应做出何种响应,并生成对应动作的模块。该模块技术实现方案主要分为两种,第一种是基于动作制定分类,即将相关动作预先定义好,根据交互训练样本逐条训练其动作类型,最终学习机器人的动作生成。第二种则是基于强化学习的动作生成,运用强化学习的“动作–反馈–奖励”机制完成建模,目标是在任意时刻选择一个系统动作,使得整体奖励分数最高。无论是分类方案还是强化学习方案,都依赖于对大量人机交互数据系统动作的标注进行学习,这将提高构建任务驱动人机交互系统的成本。