Misbehave in conversation in RASA FrameWork

When i am following the flow of conversation flow than its work good. But when I have followed the middle of conversation of flow then it does not give a proper answer. I made * Story File (Mentioned in Intent, Utter and Slots) * Intent File (Only User questions with the entity) * Domain File (slots, entities, intents, templates(responses), actions) Can you Help Me @MetcalfeTom @erohmensing

Can you clarify what you mean by But when I have followed the middle of conversation of flow then it does not give a proper answer?

Hey Thanks For Reply, Actually i create around 150 story with different different scenarios but when i am ask to bot between the scenarios then BOT didn’t give proper reply.

So you’re trying to switch in the middle of one scenario to another scenario?

no, i just want to start my conversation from middle of conversation(already created conversation).

like Fixed Scnerio is greet-> utter_greet->help… etc ok but when i am start my chat with bot to Help then it is not giving proper answer

i used diff diff scenarios okay but when i am start chat with bot to used scnarios line of middle then its not given proper answer thats my issue

Ah, you shouldn’t be able to start the conversation in the middle of your conversation, because what the bot does should be dependent on the context of the conversation. If you want to allow the user to start a conversation with help, then simply create a story that starts there and continues.

Okay Thanks… I want to skip Greet, and few category… and start conversation from upcoming scenarios then also not response according to intent category.

i want to know one thing also Can i use in my model Language Translator ? If Yes then Hows Whats the Perfect Approach For That. ? Help and Guide Me

Instead of using a language translator, I would recommend using the supervised_embeddings pipeline or a different spacy model. This is assuming you only want to use one language – having one bot handle multiple languages isn’t really supported.

Hi Thanks for reply . But i am stuck in different situation. ----- i have affirm(Yes) and Confirmation (yes). affirm and confirmation is 2 different intent but same entity Yes. i manage 2 different slots also for both but Model pick only one category all time [Model did not pick YES according to stories]. How to manage YES perfectly for this situation in according to stories. @erohmensing

Hi @er.aks31, not sure why you want to have ‘yes’ as an entity. It doesn’t really make sense to have two separate intents for affirm and confirmation since they will have very similar data. I recommend you change the structure of your training data.

Hello @erohmensing I am using 2 different intents because of training data. I mean If confirm_Intent called then the upcoming utter_response is different and when affirm Intent called then upcoming utter_response is different. that’s why @erohmensing I am using different that’s the situation. And Affirm and Confirm Intent have similar data but the upcoming category is different. and I want to slot in confirmation intent because I have saved the confirmation in DB based upon the “YES” response.

And @erohmensing in this situation hows I manage?

How are they different? Can you explain how the data and stories branch?

@erohmensing Okay i will explain you.

  1. when user doing the chat and say Yes for Registration then means YES(calling for Confirmation) and this YES slot I saved into the DB.
  2. when user wants to know about registration process then he/she also say “YES” for general purpose but that time (Affirm calling) and this YES slot I did not save. So this is actually I want and this YES (means Confirm & Affirm Confusion). I have lots of variations(user query words)in both but YES word is usually and generally sat by people and modal is also confusing between (Confirm & Affirm Intent). this is all explanation by my side. I hope you understand the situation and confusion and reply to me. thanks @erohmensing

Right, but this should be handled by your stories rather than the NLU. E.g.

  - utter_ask_register
* affirm
  - action_register_user
  - slot{"registered": "True"}

vs

  - utter_offer_more_info
* affirm
  - utter_more_info

or somehting of the sort. Does that make sense?

@erohmensing But i have 2 slots and in the 2 different slot same value YES and many other also. But same is YES only. So see example :

  • utter_ask_confirmation *confirm{“confirm”:“yes”} // now here book it/confirmation is also using as value but this is working perfect except YES -slot{“confirm”:“yes”}
  • utter_any_thing_else This confirm slot value YES is saved in to database as slot value VS -utter_registration_done *affirm{“affirm”:“YES”} -{“affirm”:“YES”}
  • utter_new_step So this is the biggest issue in my case when i am putting yes than model automatically choose only one. So how to maintain perfectly and workable. while slots are different, intent name are different, only one entity(YES) is same. and upcoming category of both cases is also different. Thanks @erohmensing

@erohmensing

 - utter_ask_confirmation
* confirm{“confirm”: “yes”}
 - slot{“confirm”: “yes”}
 - utter_any_thing_else

vs

 - utter_registration_done
* affirm{“affirm”:“YES”}
 -slot{“affirm”:“YES”}
 - utter_new_step

this is the biggest issue in my case when i am putting yes than model automatically choose only one. So how to maintain perfectly and workable. while slots are different, intent name are different, only one entity(YES) is same. and upcoming category of both cases is also different. Thanks @erohmensing

@er.aks31 it is impossible for NLU to distinguish between your affirm and confirm intents since they are the same thing. The only possible solution is the one suggested by @erohmensing to create custom action that would return SlotSet event