I am using RASA 2.8.14 and have some strange behaviour, where RASA is unable to extract entities from training data because it has parenthesis bracket in entity values.
My training data looks like this
- intent: app_cdpr_filter_details
examples: |
- For [HSQ](cdpr_card_model) I am not able to see [HSQ](cdpr_card_model) in CP
- For [IMM12(5)](cdpr_card_model) I am not able to see [7750 SR-12](cdpr_device_model) in CP
- For [IMM12(Up)](cdpr_card_model) I am not able to see [Core Rt](cdpr_device_type) in CP
- For [IMM2](cdpr_card_model) I am not able to see [EEA](cdpr_device_usage) in CP
For me IIM12(5) is being extracted as IIM12 and IIM12(Up) as IIM12
@nik202 thank you so much for the suggestions, for my use case what should be the regex, so it can consider parenthesis bracket as part of entity value.
There is no good way to use regex here. I don’t have a solution, but definitely not a Regex that will match anything you give. Imagine every word in your sentence will be extracted as the entity!
When writing Regex, you should not only consider what it matches (otherwise .* will match anything that doesn’t have more than one line!), but importantly what it doesn’t match!
If the cdpr_card_model entity has a finite number of values, even if one million, I would use a Lookup Table for it.
By looking at the attached screenshots of regex, it’s matching all of my entities value from training data, but still unable to get the exact entity value.