为 Rasa nlu 返回 Null 的意图

Intent returning Null for Rasa nlu

我目前 运行 遇到一个问题,如果用户输入一个没有在 nlu 文件中训练过的单词,nlu 将 return 这个:

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

在其他场景下,效果很好!有没有办法捕获这些错误并让 rasa return 成为默认错误消息?请告诉我。谢谢!

不清楚您如何使用此 nlu 响应。

  1. 如果您在 rasa_core 中使用它,您可以在自定义操作 Class 中预先捕获和处理任何此类意图。 例如
def run(self, dispatcher, tracker, domain):
        intent  = tracker.latest_message.intent["name"]
  1. 如果你想在 rasa_nlu 级别自己进行,请转到 rasa_nlu 安装目录(通常它在 "Python install folder"\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": []}

但请谨慎使用第二个。升级 rasa_nlu python 软件包时可能需要小心。