Ask for missing entity

Hi Rasa folks,

I have an issue that I do not know how to implement it using Rasa. Here is a chart that explains my issue:

Basically, I am not sure how to write the story because in my case there are multiple intents that linked to the same entity. For example, I have 2 intents (search_restaurant and search_weather) and both of them need the location entity.

I read the Rasa docs and posts from other users in the forum. And all that I found is a unique mapping between intent and entity (single intent linked to a single entity). Is there anything missed me?

Looking forward for your replies.

Thanks

1 Like

Hi Varun,

It seems like what you want are Rasa Forms. There is an excellent tutorial here which explains them in depth.

Note that in Rasa NLU, you don’t have to define any connection between entities and intents, entities are extracted independently of the predicted intent.

1 Like

Thanks @amn41 for your reply and sharing the tutorial with me.

The bot that we are implementing is closer to Q&A bot more than a reservation bot. Let me describe the case in more details:

We have 4 entities that are shared by a number of intents (more than 15 intents), but no intent requires more than one entity. Currently, we are only using slots and a story for each intent. And, we would like to use forms, but we are facing some problems.

Mainly, I don’t know how the story will develop since the user might keep asking questions as much as s/he wants and the bot mostly does not change the flow of the chat. Therefore, it is hard to start and end with the correct forms in the stories. Finally, I am not sure if we should have one form for each entity or one form for all of them.

Hope that the description of what I need is clear now :slight_smile:

Thanks

So basically in between a form if a user changes his mind asks a different question, you want to jump to that and get that input first? this by stopping the current form? I think it can be done by FollowupAction as discussed in this topic. I’ll let you know if I find a solution.How to call a form action from another form action. this post doesn’t provide solution but i’ll suggest try to use Followup action

Thanks @Akshit for your reply.

I am not sure if the FollowupAction can solve the issue in case the user changes his mind or miss an entity in the query. BTW, did you figure out how to implement the FollowupAction?

I hope @amn41 and @akelad recommend us a solution.

I’m not sure you’d need a follow up action. The user changing their mind should really be handled with stories, not within the form.

Thanks @akelad for your reply.

I am not sure how the stories would look like? Because my bot is Q&A bot. The bot has more than 15 intents (can answer 15 questions) and each question is in a separate story. So, what do you suggest me to do?

In that case, interactive training is your best bet. That will generate great stories for you.

1 Like

can we configure rasa, if a person types Hi name, @name, Hello name rasa should not respond.