本文继续围绕工业级业务对话平台和框架Rasa对Rule-based Policies架构设计与源码进行解析。
一、关于Rule-based Policies架构设计与源码解析
- Rule Policy内部机制解析
Rasa 2.0 引入了用于配置对话管理的Rule Policy,从而可以清晰地区分使用预定义逻辑来选择一个固定的response的policies和其它通过训练数据学习来预测对话机器人的next action的policies。通过Rule Policy机制可以移除在选择一个policy配置方面的猜测和使它更容易强化业务逻辑。
Rule Policy替换了原先出现在1.x 版本中的几种policies:
-Mapping Policy:如果一个具体的intent被探测到,那么会预测对应的action
-Fallback Policy:如果NLU的confidence值低于设定的threshold,那么会预测fallback response action
-Form Policy:如果一个form是active状态且form中所有的slots还没有被填充完整,那么会预测form action来请求下一个需要填充的slot
Rules定义了某个条件被满足后需要采取的actions,适用于选择固定的response的对话场景,另外rules也可以被用于处理更复杂的场景,譬如在对话开始时运用rules,也可以在当一个slot被设置了特定值的时候运用rules,fallback和forms也可以通过rules来定义&#