Rasa Core version: 0.8.5
Python version: 2.7
Operating system (windows, osx, ...): Ubuntu 17.10
Issue:
How can we change these attributes. as default epochs: 100 , max_history is 3 and batch size is 20.
what are the basic guidelines we should keep in mind to handle these things because these 3 attributes gives clear impact on dialogue.
Can someone explain the logic behind these 3 in reference to our core and dialogue stories.
These are parameters for training the RNN. Epochs basically refer to how long you should train the model for. Max history refers to how many previous events that happen in your stories the bot should pay attention to when predicting the next action. And batch size is how many training examples the network gets trained on at a time.
All these parameters kind of depend on how complex your training data is. The standard batch size of 20 is usually fine. Epochs you can adjust based on when your training accuracy stops increasing. And max_history depends on how complex your stories are
I'll close this for now, please let us know if you have any further questions.
@akelad thank you, that is a very helpful description. I have a question about max_history.
Max history refers to how many previous events that happen in your stories the bot should pay attention to when predicting the next action
Would each line in a story be considered an event with the way you are using that word here? That would include intents, slots, actions, and utterances. For instance, I have a story for gathering info from a new user which looks like:
## Generated Story 8611820418658521096
* greet
- utter_greet
- utter_commands
- utter_signup_favor_offer
* add_favor_offer{"favor_name": "grilled cheese"}
- slot{"favor_name": "grilled cheese"}
- slot{"favor_offer": "grilled cheese"}
- action_add_favor_offer
- utter_signup_favor_request
* add_favor_request{"favor_name": "fresh herbs"}
- slot{"favor_name": "fresh herbs"}
- slot{"favor_request: "fresh herbs"}
- action_add_favor_request
- utter_signup_time_slot
* add_time_slot{"time_slot": "Monday afternoon"}
- slot{"time_slot": "Monday afternoon"}
- action_add_time_slot
- utter_signup_meetup_place
* add_meetup_place{"place_name": "a grocery store"}
- slot{"place_name": "a grocery store"}
- action_add_meetup_place
- utter_signup_user_address
* update_user_address{"address": "Phoenix, AZ"}
- slot{"address": "Phoenix, AZ"}
- slot{"user_address": "Phoenix, AZ"}
- action_update_user_address
- utter_signup_complete
- action_queue_introduction
- action_queue_invitation
- export
That's 29 unique lines: 6 intents, 8 utterances, 8 slots, 7 actions. If I want that series of events to be rigidly followed as a signup process for new users, should I be considering max_history=29?
the history is the number of previous actions (and the states leading to them) that get taken into account. So it's not quite 29! But for your purposes a FormAction might be a good fit https://github.com/RasaHQ/rasa_core/pull/261
if set max_history longer than story length, what is the max_history value?
Most helpful comment
These are parameters for training the RNN. Epochs basically refer to how long you should train the model for. Max history refers to how many previous events that happen in your stories the bot should pay attention to when predicting the next action. And batch size is how many training examples the network gets trained on at a time.
All these parameters kind of depend on how complex your training data is. The standard batch size of 20 is usually fine. Epochs you can adjust based on when your training accuracy stops increasing. And max_history depends on how complex your stories are