在上个章节进行了训练入口和NLU模块的解读,参考:
水中的鱼:多轮对话框架Rasa代码解读--训练过程1zhuanlan.zhihu.com这里进行Core 对话管理模块的解读。
一。对话管理的基本概念
对话管理(Dialog Management, DM)控制着人机对话的过程,DM 根据对话历史信息,决定此刻对用户的反应。最常见的应用还是任务驱动的多轮对话,用户带着明确的目的如订餐、订票等,用户需求比较复杂,有很多限制条件,可能需要分多轮进行陈述,一方面,用户在对话过程中可以不断修改或完善自己的需求,另一方面,当用户的陈述的需求不够具体或明确的时候,机器也可以通过询问、澄清或确认来帮助用户找到满意的结果。
对话管理的任务:
- 对话状态维护(dialog state tracking, DST)
维护 & 更新对话状态
t+1 时刻的对话状态,依赖于之前时刻 t 的状态,和之前时刻 t 的系统行为,以及当前时刻 t+1 对应的用户行为。可以写成 - 生成系统决策(dialog