Намерение вернуть ноль для Раса нлу - PullRequest
0 голосов
/ 08 января 2019

В настоящее время я сталкиваюсь с проблемой, когда, если пользователь вводит слово, которое не было обучено в файле nlu, nlu вернет следующее:

"intent": {
   "name": null,
   "confidence": 0.0
}

С другими сценариями это прекрасно работает! Есть ли способ перехватить эти ошибки и заставить rasa вернуть сообщение об ошибке по умолчанию? Пожалуйста, дайте мне знать. Спасибо!

1 Ответ

0 голосов
/ 09 января 2019

Неясно, как вы используете этот ответ nlu.

  1. Если вы используете его в rasa_core, вы можете заранее захватить и обработать любое такое намерение в своем классе пользовательских действий. например
def run(self, dispatcher, tracker, domain):
        intent  = tracker.latest_message.intent["name"]
  1. Если вы хотите сделать это на самом уровне rasa_nlu, перейдите в установочную директорию rasa_nlu (обычно она находится в "папке установки Python" \ Lib \ site-packages \ rasa_nlu \ и внесите следующие изменения в model.py
def default_output_attributes():
        return {"intent": {"name": None, "confidence": 0.0}, "entities": []}

до

 def default_output_attributes():
        return {"intent": {"name": "YOUR_CUSTOM_NAME", "confidence": 0.0}, "entities": []}

Но, пожалуйста, будьте осторожны при использовании второго. Возможно, вам придется позаботиться об обновлении пакета python rasa_nlu.

...