How many stories per path?

Let’s say I decide that my bot will only handle 2 type of conversation flows which are these stories:

## happy path
* greet
  - utter_greet
* mood_great
  - utter_happy

## sad path
* greet
  - utter_greet
* mood_unhappy
  - utter_cheer_up
  - utter_did_that_help
* affirm
  - utter_happy

Is having just these two stories in sufficient to train an accurate Core model for my specific use case? I don’t know what it means to get more stories if I already decide that my bot will only handle these 2 specific sequence of intents and actions. Do I just copy and paste these two stories many times?

There are several things you need to consider for accuracy.

The more data or examples you have for your intents, the more accuracy you can get when you ask a question from given intents. Accuracy is proportional to the amount of examples you give. So having more examples in intents is good.

Secondly there are more paths can have for a single story. A story can go either positive path or negative path. This is not applicable for accuracy, but this is applicable for more possible conversation flows.

1 Like

@hsm207 If you really want these two stories, and only these two stories to work, then you can train Rasa Core with Memoization policy on those two stories and you are done. However, it is very unlikely that an actual story will go in that way. Users do not always behave in the way you’d expect. For example, they might start the conversation with mood_great instead of greet. This is why you should create more stories, so Rasa Core can learn how to behave if the user does something unexpected. You can collect more stories by writing them yourself, by using interactive learning, or by publishing your bot.

You should not copy-paste any stories. In addition, you should avoid inconsistencies in bot actions throughout the set of all stories. For example, you should have no story that goes like greet -> utter_happy, as this would be in conflict with greet -> utter_greet and Core would not know which one to learn. In fact, we are currently developing a tool that helps with detecting such inconsistencies.