What is the best way to extract and map two totally different numerical entities

I am building a credit card bot, which takes the name, city, and 4 digits of the card and stores them in a slot. My bot can do the authentication process using these three slots and then provide the credit card details fetched from the database. I am using Space entity extractor for these entities and with the help of Forms and slot mapping I was able to do the authentication task successfully.

I was using cardDigits intent to recognize card number

- intent: cardDigits
  examples: |
    - The last four numbers are [1234](digits)
    - [9699](digits)
    - My card number is [1234](digits)
    - Last digits of my card are [4554](digits)
    - The digits are [1234](digits)

Now I want to add a feature in which the bot can increase the limits of credit cards. And the problem I am facing is that my new intent “newLimit” should be able to recognize numbers as the amount of money, but it is not able to do so and Bot recognizes the amount of money as digits. The following are the training examples I used :

- intent: newLimit
  examples: |
    - I hope [6000](amount-of-money) is enough
    - I think [45000](amount-of-money) suits me
    - maybe [20000 euros](amount-of-money)
    - Maximum to [10.000€](amount-of-money)
    - I would like to raise my limit to [5455euros](amount-of-money)
    - [9000€](amount-of-money) is enough
    - [10000€](amount-of-money)

I want to recognize these two different entities “Digits” and “amount of money” and keep them in slots so that I can use them in custom actions for different operations. How do I resolve this issue without using Duckling (its installation process is quite complicated for my small specs machine)?

I would use duckling for numbers. There’s a good blog post on entity extraction here

Duckling is the best option but if you want to avoid duckling then another option would be using regex and include the RegexEntityExtractor in your pipeline. This may work depending on your regex expression.

For the moment I am testing with the “roles” and apparently it is working in identifying entities. I still have to check if it works in every use case or not.

I am using the following type of examples to train the intents.

- intent: cardDigits
  examples: |
    - [8412](digits)
    - The last four digits are [8412]{"entity": "number", "role": "digits"}
- intent: limit.statusCard.yes.newLimit
  examples: |
    - maybe [20000]{"entity": "number", "role": "newLimit"}[euros](currency)

Thanks for the suggestion, I might test it as well.