Как установить действие по умолчанию в Rasa

Использование ванильного Rasa NLU заставит ядро ​​Rasa использовать выходы с наивысшей вероятностью значения намерения или сущности. Другими словами, даже если вероятность намерения низкая, но все же самая высокая из всех вариантов, ядро ​​Rasa все равно принимает его как намерение, которое передает пользователь. Как сделать так, чтобы ядро ​​Rasa выполняло действие по умолчанию, если вероятность намерения максимальной вероятности, обеспечиваемого NLU, ниже определенного порога, скажем, 5%?


person Community    schedule 03.06.2018    source источник


Ответы (3)


Этого можно добиться, добавив FallbackPolicy в файл политик. Например:

policies:
  - name: "FallbackPolicy"
    nlu_threshold: 0.1
    core_threshold: 0.1
    fallback_action_name: "fallback_action"
person ceekay    schedule 29.01.2019

Эта функция была добавлена ​​недавно и называется Резервная политика.

См. Документацию здесь: https://core.rasa.com/patterns.html?highlight=fallback%20policy#fallback-default-actions.

person ghostdogpr    schedule 01.07.2018

Просто вы можете сделать это за два шага

Шаг 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.")

Теперь, когда уверенность в классификации намерений будет ниже определенного порога, будет выполняться это действие по умолчанию.

Ресурс:

person shivampip    schedule 02.03.2019