Two ideas:
- Do you have the
MappingPolicy
at the beginning of yourpolicies
in config.yml? Without it, the mapped triggers won’t work (and as far as I understand, this policy must be at the beginning of yourp policies) - In the slot_mapping, you can also explicitely ignore some intents.
self.from_text(not_intent=["reset"])
for example. That can also be achieved with stories I believe but it’s much more annoying to do.
On a side note regarding your numbers problem. We had a similar issue with number of bedrooms and number of bathrooms that could be specified in the same sentence. What I ended up doing was to create two entities bedrooms_count
and bathrooms_count
and added some training samples:
## intent:chose_apartment
- I need a [1](bedrooms_count) bed [2](bathrooms_count) bath apt
- Looking for a [one](bedrooms_count) bedroom flat
- ...
No idea if it’s best practice but that worked quite well with enough training samples as the CRFEntityExtractor
would recognize that the number is followed by a specific word. Then, in our validation functions, we matched the number extracted by Duckling and the one extracted by the bedrooms_count
/bathrooms_count
entities.
Hope that helps!