Mapping Policy not included in policy ensemble. But is defined in the config.yml

Getting a INFO warning when running training and shell;

rasa.core.policies.ensemble  - MappingPolicy not included in policy ensemble. 
Default intents 'restart and back will not trigger actions 'action_restart' and 'action_back'.

even though my config.yml looks like:

language: en
pipeline: supervised_embeddings
- name: MappingPolicy
- name: KerasPolicy 

Any ideas about why the MappingPolicy is not registered for the rasa.core.policies.ensemble ? Annoying not being able to restart a conversation within the shell.

@Narogus did you retrain your bot after having added MappingPolicy?

Yes. The warning comes up both during training, and when running the shell.

I have been trying to run Rasa with docker. The Rasa version in the docker container is Rasa 1.3.0a2, found by running:

docker run -v $(pwd):/app rasa/rasa --version

In another local version (Rasa 1.2.7), not running in docker, I’m not experiencing this issue.

Hm, that’s strange, we’ll look into it. However i’d stick to the most recent published version (1.2.7) and not the alpha release, as they can be touchy.

Do you get the same issue is you run 1.2.7 in docker?

Ok, thanks!

No, I haven’t. I’ll try that, and get back to you!

Version 1.2.7 works!

Awesome. Will keep an eye on this when 1.3 gets released! If you experience it again, let us know.

1 Like

The issue is related to the 1.3 release, it started when I updated to it.

Okay, yes I believe this is a bug and I know how to fix it. @ice2tricky could you create a github issue for this please?


Thanks :raised_hands:t2:

@erohmensing did you fix the bug ?

@noman yes, it was released with 1.3.3

1 Like

Great Thanks

Just want to know one more thing related to Mapping policy. Which is; what are the benefits of Mapping policy and when should we use it?

An example would be really helpful in case of form actions.

Like if the form action is activated and requested slot is “XYZ” but user asked for the time that is mapped to an action ‘action_get_time’ after performing the action and event UtteranceReverted(), how can a bot re-ask the user for the ‘XYZ’ slot?

Mhm so if you add the intent that maps to the action to the not_intent of the slot mappings, it should let the other policies (e.g. mapping) handle the input. then on the next turn the form policy will jump back in again.

@erohmensing it was a bouncer :smiley: i didnt get your comment. Can you please simplify for my understanding please. Thanks

Take a look at the form documentation here, it will help you understand my comment Forms

ok i get your comment, but the problem is still there, when the form policy jumps back again, it simply goes into to the action_listen but i want to prompt the user for the slot that he had missed out previously by asking the bot for another intent that was mapped to some other action.