0

使用 vanilla Rasa NLU 将导致 Rasa 核心利用意图或实体值的最高概率的输出。换句话说,即使一个意图的概率很低,但它是所有选项中最高的,它仍然被 Rasa Core 视为用户正在传达的意图。如果 NLU 提供的最大概率意图的概率低于某个阈值,比如 5%,我该如何让 Rasa 核心执行默认操作?

4

3 回答 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

只需两步即可完成

步骤 1domain.yml文件中

actions:
  - action_default_fallback

步骤 2action.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 回答