如何在Rasa中设置默认操作

时间:2018-06-03 14:49:03

标签: default chatbot rasa-nlu rasa-core

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

3 个答案:

答案 0 :(得分:0)

此功能是最近添加的,称为回退策略

在此处查看文档:{​​{3}}

答案 1 :(得分:0)

我们可以通过在策略文件中添加FallbackPolicy来实现。例如:

policies:
  - name: "FallbackPolicy"
    nlu_threshold: 0.1
    core_threshold: 0.1
    fallback_action_name: "fallback_action"

答案 2 :(得分: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.")

现在,只要意图分类置信度低于某个阈值,就会执行此默认操作。

资源: