Rasa Core - 理解故事

Rasa Core - Understanding Stories

我很难理解 rasa core 如何解释故事。假设我有以下内容:

Slot:
 name:
  type: text
 animal:
  type: categorical
  values:
  - dog
  - cat

我该如何写我的故事来处理分类槽的悲伤路径?

*greet
 - utter_greet
 - utter_please_give_name
*inform{"Name":"Name"}
 - utter_hello
 - utter_ask_animal
*inform{"Animal": "Dog"}
 - utter_hello_fido
 - action_restart

*greet
 - utter_greet
 - utter_please_give_name
*inform{"Name":"Name"}
 - utter_hello
 - utter_ask_animal
*inform{"Animal": "Cat"}
 - utter_hello_kitty
 - action_restart

*greet
 - utter_greet
 - utter_please_give_name
*inform{"Name": null}
  -utter_please_give_name

*greet 
 - utter_greet
 - utter_please_give_name
*inform{"Name": "Name"}
  -utter_ask_animal
*inform{"Animal": **"?????"**}
 - utter_please_tell_animal

另外,如果我在stories.md中给出部分故事,如下所示,rasa如何连接后面的图表以知道下一步该做什么?它是否将每个故事作为一个独立的流程来阅读?

*greet
 - utter_greet
 - utter_please_give_name
*inform{"Name": null}
  -utter_please_give_name

谢谢,如有任何建议,我们将不胜感激。

要处理悲伤路径,只需省略插槽注释,例如:

## sad path
*greet
 - utter_greet
 - utter_please_give_name
*inform
  -utter_please_give_name

根据您是否使用 augmentation 在训练过程中将单个故事粘在一起以提供更多训练数据。

如果您想简单地处理所有动物名称,您可以添加更多类别或进行自定义操作以获取一些 api 来调用动物名称或其他名称,Rasa 正在通过示例学习任何未输入的内容数据或域将充当奇怪的文本。