本文继续围绕工业级业务对话平台和框架Rasa的Fallback Classifier处理对话失败情况的方式以及相关代码进行解析。为了让对话机器人能够更优雅地处理失败情况,你应该处理已知的out-of-scope消息,并且添加一个fallback行为的form。你也可以额外添加转人工处理或者作为你的fallback设置的最后一个步骤。
一、关于Rasa Fallback and Human Handoff解析
- Out-of-scope消息的处理
用户在对话中可能会输入让对话机器人无法理解的意图,这是因为你还没有实现这样的功能,这就是out-of-scope的情况。为了处理这种情况,需要完成以下步骤:
a) 为每一个out-of-scope intent添加训练样例到你的NLU数据里,你应该从真实的对话中提取训练样例数据。
b) 定义out-of-scope的response或者action
你需要在domain.yml文件里定义一个response,使用utterance “utter_out_of_scope”(命名规则为utter_ + intent)作为默认的response:
c)为每一个out-of-scope intent定义rules:
d) 在config.yml文件里添加RulePolicy