Incorrect entity and intent recognition for numeric values

I have two intents in my RASA NLU as follows:

intent:account_balance

  • Account balance for account number 73728833
  • Tell me the balance in my bank account number 1000000

intent:loan

In my Rasa Core domain file, I have defined the slots as follows:

slots:

account_number: max_value: 99999999 min_value: 10000000 type: float

loan_amount: max_value: 999999999 min_value: 1 type: float

However, when I train and run the bot, the two slots keep on getting mixed up.

When I invoke the account balance intent, the bot asks me to provide an account number. When I enter an eight digit number, the bot identified it as loan_amount with loan intent.

Similarly, sometime for loan intent, when I try to enter an eight digit number for loan amount, it gets mixed up for account number.

Appreciate any help to resolve this.

I am using “tensorflow_embedding” pipeline

Thanks, A

Hi there @anurag, if you have the same entity value (1000000) annotated as multiple entity types (account number, loan amount), unfortunately you’ll need a lot more examples in your nlu data for the pipeline to learn the difference, as it then only has the context of the sentence and none of the entity itself to learn off of.

Thanks @erohmensing. I will try this out and let you know. :slight_smile:

Hi again. We tried adding more training examples in nlu but the result is still the same. We now have about 150 training examples for each intent. Is this a good number or we need more. How many do you think will help?

@erohmensing, I tried again with 1000 examples this time but the result is still the same.

@anurag can we see your data.json used for the nlu training :slight_smile: (if its too big, a few sample)

@isgaal, Thanks for replying. Attached please find the nlu.md file. nlu.md (31.4 KB)