使用 vanilla Rasa NLU 将导致 Rasa 核心利用意图或实体值的最高概率的输出。换句话说,即使一个意图的概率很低,但它是所有选项中最高的,它仍然被 Rasa Core 视为用户正在传达的意图。如果 NLU 提供的最大概率意图的概率低于某个阈值,比如 5%,我该如何让 Rasa 核心执行默认操作?
user9748528
问问题
1955 次
3 回答
1
我们可以通过添加FallbackPolicy
策略文件来实现这一点。例如:
policies:
- name: "FallbackPolicy"
nlu_threshold: 0.1
core_threshold: 0.1
fallback_action_name: "fallback_action"
于 2019-01-29T05:54:40.783 回答
0
只需两步即可完成
步骤 1在domain.yml
文件中
actions:
- action_default_fallback
步骤 2在action.py
文件中
class ActionDefaultFallback(Action):
def name(self):
return "action_default_fallback"
def run(self, dispatcher, tracker, domain):
dispatcher.utter_message("Sorry, I couldn't understand.")
现在,只要意图分类置信度低于某个阈值,就会执行此默认操作。
资源:
于 2019-03-02T04:46:36.623 回答
0
此功能是最近添加的,称为Fallback Policy。
请参阅此处的文档:https ://core.rasa.com/patterns.html?highlight=fallback%20policy#fallback-default-actions
于 2018-07-01T04:52:39.227 回答