Same input for multiple intents


When my users ask “how much is it?” they may refer either to the price of the product they’re enquiring about, or the price of the delivery, for example, if they have asked right before "how long does delivery take?"

I created two intents:

## intent:ask_shipping_costs
- what is the shipping cost?
- how much does shipping cost?
- how much is shipping? 
- how much is it?

## intent:ask_product_cost
- how much is this product?
- how much is it?
- how much does it cost?
- what's the cost?

My story goes:

## ask about shipping delays
* ask_shipping_delays
  - utter_shipping_delays
* ask_shipping_costs
  - utter_shipping_costs

## ask product cost
* ask_product_cost
  - utter_product_cost

I ask "what is the shipping delay" and RASA-Core replies. Then I asked"How much is it?", but then unfortunately Rasa-NLU predicts intent: ask_product_cost, sends it to RASA-Core which returns null, because it’s not part of the story.

How can I tell RASA-NLU to give a bigger probability to ask_shipping_costs considering it is the next expected action according to the story? Wouldn’t Core be supposed to trace the context of the conversation?

Thank you.

hi, were you able to find an answer to this, we are facing similar issue.

What is the problem? If NLU wrongly classifies the intent, you simply need more training data.

Hi, I am not sure what exactly your use case is, but try using slots may be? So you will have a single intent ask_cost to figure out that the user is trying to ask you about the cost but have a slot (say context) that tells you if the user was talking about shipping or a product. Train your stories to predict the right action based on what value does your slot have.

You will update the said slot manually sometime during your current or previous conversation to keep track of the context.

I can see that this issue is an year old, posting this reply in case someone else is facing the same issue and has landed here.