Hi @arkaprabha-majumdar this sounds like it could be a good use for the DucklingHTTPExtractor component in your pipeline. Duckling helps extract numbers, currency amounts, distances, times etc. that are in your user messages. Duckling will extract number entities regardless of whether they are strings or numeric values so that you don’t have to write synonyms for each one.
You can find details for add Duckling to your Rasa pipeline here:
but why are the intents classifying wrong? Because the intent is getting classified randomly, doing any other work on it only gives more errors.
Say I said “I want to order”
and then I say “please give me one green salad”, it can classify that as deny, payment, whatever with 0.5 - 0.6 confidence
If you have a limited number of menu items that you want to extract I would look into using a Lookup Table. Using a lookup for food_item can help simplify your NLU training data for your intent.
I would also make sure your training data is diverse to cover situations where a user places an order with and without specifying a food_item. From the training data you have provided all the examples have a food_item specified. Adding some training examples like “can I place an order” or “I want to place an order” can help the model generalize to instances where no food_item is provided.