本文继续围绕工业级业务对话平台和框架Rasa对如何处理业务对话系统中来自用户的unexpected intent的场景从架构以及源码的层面进行解析。
一、关于UnexpecTEDIntentPolicy介绍
在业务对话系统中,用户在办理具体业务时可以插入一些与当前业务topic无关的对话内容,从用户优先的角度来考虑,对话机器人需要对与当前对话上下文无关的用户意图进行处理,从机器学习的角度讲,通过处理这些看起“无关”的对话内容来向用户学习,调整对话使用的模型。
UnexpecTEDIntentPolicy可以帮助你review对话(包括训练和推理,训练时使用对话历史数据中的正样本和负样本,最大化正样本和最小化负样本,而推理时根据对话的turns形成对话上下文)和允许对话机器人对不是期望中的用户对话内容(用户意图)做出响应。UnexpecTEDIntentPolicy是一种辅助策略,需要和其它的policies结合使用,这种policy能够触发的唯一action是”action_unlikely_intent”。对于不符合当前对话上下文的用户intent,可以认为是一种异常而在对话流程上进行相应的处理。
当action_unlikely_intent被触发时,你可以通过配置来自定义对话机器人的处理行为,例如,在下面的配置里定义一个rule来触发从对话机器人转移到