意图为Rasa nlu返回Null

时间:2019-01-08 19:00:27

标签: rasa-nlu

我当前遇到一个问题,如果用户在nlu文件中键入未经训练的单词,则nlu将返回以下内容:

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

在其他情况下,效果很好!有没有办法捕获这些错误并使rasa返回默认错误消息?请告诉我。谢谢!

1 个答案:

答案 0 :(得分:3)

目前还不清楚您如何使用此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": []}

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