Interrupt Form with intent and Continue

Hello, i worked now with rasa for round about a week, and i found a problem i am not able to solve. Here are my files in short form:

========================================================================== The files

Domain:

forms:
  user_form:
    firstname:
    - entity: firstname
      type: from_entity
    lastname:
    - entity: lastname
      type: from_entity
    age:
    - entity: number
      type: from_entity
    - entity: age
      type: from_entity
    product:
    - entity: product
      type: from_entity
    - intent: get_product
      type: from_text

NLU:

- intent: changes/product
  examples: |
    - i want to change my product to [bananas](product)
    - change my product to [apples](product)
    - change product to [pears](product)
- intent: changes/name
  examples: |
    - i want to change my name to [simon](firstname) [johnson](lastname)
    - i want to change my name to [alex](firstname)
    - change my name to [jim](firstname)
    - change my firstname to [Myriam](firstname)
    - edit my name to [klaus](firstname)
    - change name to [caroline](firstname) [mueller](lastname)
- intent: changes/age
  examples: |
    - i want to change my age to [12](age)
    - change my age to [12](age)
    - change age to [5](age)

rules:

- rule: change general in form
  condition:
  - active_loop: user_form
  steps:
  - intent: changes
  - action: utter_changes

- rule: change name in form
  condition:
  - active_loop: user_form
  steps:
  - intent: changes
    entities:
    - product: apple
  - slot_was_set:
    - product : apple
  - action: utter_changes

- rule: change general 
  steps:
  - intent: changes
  - action: utter_changes

=================================================================== The Problem:

I start a simple Form with an intent and have some slots to fill, this works fine. Now here is the problem. I want to cover the case of an typing error.

In this example i want to be able to change everywhere the slot “product” with an intent, triggered by an intent “changes” AND send after the change a action “utter_changes” - but this action only gets triggered if i am not in the form… If i am in the form and try to change the “product” with the “changes” intent, it changes the slot correctly, but doesnt trigger the “utter_changes” … Please help! :upside_down_face:

=========================================================================== Here is an Shell output as an example: (at the beginning i try to trigger the “changes” and this is working, i get the expected action utter_changes, than i start the form, give information and try the same - no utter_changes)

Your input ->  change my product to apple
2021-01-15 11:36:22 DEBUG    rasa.core.lock_store  - Issuing ticket for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:22 DEBUG    rasa.core.lock_store  - Acquiring lock for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:22 DEBUG    rasa.core.lock_store  - Acquired lock for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:22 DEBUG    rasa.core.tracker_store  - Could not find tracker for conversation ID '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:22 DEBUG    rasa.core.processor  - Starting a new session for conversation ID '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:22 DEBUG    rasa.core.processor  - Policy prediction ended with events '[]'.
2021-01-15 11:36:22 DEBUG    rasa.core.processor  - Action 'action_session_start' ended with events '[<rasa.shared.core.events.SessionStarted object at 0x000001C51DDCB7C8>, ActionExecuted(action: action_listen, policy: None, confidence: None)]'.
2021-01-15 11:36:22 DEBUG    rasa.core.processor  - Current slot values:
        product: None
        firstname: None
        lastname: None
        age: None
        requested_slot: None
2021-01-15 11:36:23 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: default
2021-01-15 11:36:23 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: changes
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Received user message 'change my product to apple' with intent '{'id': -8944533210930297836, 'name': 'changes', 'confidence': 0.9996584057807922}' and entities '[{'entity': 'product', 'start': 21, 'end': 26, 'confidence_entity': 0.9832375049591064, 'value': 'apple', 'extractor': 'DIETClassifier'}]'
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Current slot values:
        product: apple
        firstname: None
        lastname: None
        age: None
        requested_slot: None
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Logged UserUtterance - tracker now has 5 events.
2021-01-15 11:36:23 DEBUG    rasa.core.policies.memoization  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:23 DEBUG    rasa.core.policies.memoization  - Launch DeLorean...
2021-01-15 11:36:23 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'user': {'intent': 'changes', 'entities': ('product',)}, 'slots': {'product': (0.0, 0.0, 0.0, 1.0)}, 'prev_action': {'action_name': 'action_listen'}}]
2021-01-15 11:36:23 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-15 11:36:23 DEBUG    rasa.core.policies.rule_policy  - Current tracker state:
[state 1] user text: change my product to apple | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:23 DEBUG    rasa.core.policies.rule_policy  - There is no applicable rule.
2021-01-15 11:36:23 DEBUG    rasa.core.policies.rule_policy  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:23 DEBUG    rasa.core.policies.rule_policy  - There is a rule for the next action 'utter_changes'.
2021-01-15 11:36:23 DEBUG    rasa.core.policies.ensemble  - Made prediction using user intent.
2021-01-15 11:36:23 DEBUG    rasa.core.policies.ensemble  - Added `DefinePrevUserUtteredFeaturization(False)` event.
2021-01-15 11:36:23 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy.
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Predicted next action 'utter_changes' with confidence 1.00.
2021-01-15 11:36:23 DEBUG    rasa.core.actions.action  - Picking response from selector of type changes
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Policy prediction ended with events '[<rasa.shared.core.events.DefinePrevUserUtteredFeaturization object at 0x000001C51646E048>]'.
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Action 'utter_changes' ended with events '[BotUttered('Your product is now apple!', {"elements": null, "quick_replies": null, "buttons": null, "attachment": null, "image": null, "custom": null}, {"template_name": "utter_changes/product"}, 1610706983.2824817)]'.
2021-01-15 11:36:23 DEBUG    rasa.core.policies.memoization  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:23 DEBUG    rasa.core.policies.memoization  - Launch DeLorean...
2021-01-15 11:36:23 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'prev_action': {'action_name': 'utter_changes'}}]
2021-01-15 11:36:23 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-15 11:36:23 DEBUG    rasa.core.policies.rule_policy  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:23 DEBUG    rasa.core.policies.rule_policy  - There is a rule for the next action 'action_listen'.
2021-01-15 11:36:23 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy.
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Predicted next action 'action_listen' with confidence 1.00.
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Policy prediction ended with events '[]'.
2021-01-15 11:36:23 DEBUG    rasa.core.processor  - Action 'action_listen' ended with events '[]'.
2021-01-15 11:36:23 DEBUG    rasa.core.lock_store  - Deleted lock for conversation '5d6b89a8413840428438436558cfd844'.
Your product is now apple!
Your input ->  start form
2021-01-15 11:36:38 DEBUG    rasa.core.lock_store  - Issuing ticket for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:38 DEBUG    rasa.core.lock_store  - Acquiring lock for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:38 DEBUG    rasa.core.lock_store  - Acquired lock for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:38 DEBUG    rasa.core.tracker_store  - Recreating tracker for id '5d6b89a8413840428438436558cfd844'
2021-01-15 11:36:38 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: default
2021-01-15 11:36:38 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: changes
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Received user message 'start form' with intent '{'id': 9155689000755836002, 'name': 'run_form', 'confidence': 0.733325183391571}' and entities '[]'
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Logged UserUtterance - tracker now has 10 events.
2021-01-15 11:36:38 DEBUG    rasa.core.policies.memoization  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:38 DEBUG    rasa.core.policies.memoization  - Launch DeLorean...
2021-01-15 11:36:38 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'user': {'intent': 'run_form'}, 'prev_action': {'action_name': 'action_listen'}}]
2021-01-15 11:36:38 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-15 11:36:38 DEBUG    rasa.core.policies.rule_policy  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user text: start form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:38 DEBUG    rasa.core.policies.rule_policy  - There is no applicable rule.
2021-01-15 11:36:38 DEBUG    rasa.core.policies.rule_policy  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:38 DEBUG    rasa.core.policies.rule_policy  - There is a rule for the next action 'user_form'.
2021-01-15 11:36:38 DEBUG    rasa.core.policies.ensemble  - Made prediction using user intent.
2021-01-15 11:36:38 DEBUG    rasa.core.policies.ensemble  - Added `DefinePrevUserUtteredFeaturization(False)` event.
2021-01-15 11:36:38 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy.
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Predicted next action 'user_form' with confidence 1.00.
2021-01-15 11:36:38 DEBUG    rasa.core.actions.forms  - Activated the form 'user_form'.
2021-01-15 11:36:38 DEBUG    rasa.core.actions.forms  - Validating pre-filled required slots: {'product': 'apple'}
2021-01-15 11:36:38 DEBUG    rasa.core.actions.forms  - Validating extracted slots: {'product': 'apple'}
2021-01-15 11:36:38 DEBUG    rasa.core.actions.forms  - Validating user input 'UserUttered(text: start form, intent: run_form, use_text_for_featurization: False)'.
2021-01-15 11:36:38 DEBUG    rasa.core.actions.forms  - Validating extracted slots: {}
2021-01-15 11:36:38 DEBUG    rasa.core.actions.forms  - Request next slot 'firstname'
c:\users\rolf\anaconda3\envs\test\lib\site-packages\rasa\shared\utils\io.py:93: UserWarning: Action 'user_form' set a slot type 'product' which it never set during the training. This can throw off the prediction. Make sure to include training examples in your stories for the different types of slots this action can return. Remember: you need to set the slots manually in the stories by adding '- slot{"product": apple}' after the action.
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Policy prediction ended with events '[<rasa.shared.core.events.DefinePrevUserUtteredFeaturization object at 0x000001C51DDCBB08>]'.
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Action 'user_form' ended with events '[<rasa.shared.core.events.ActiveLoop object at 0x000001C51DCC3988>, <rasa.shared.core.events.SlotSet object at 0x000001C51DC26CC8>, <rasa.shared.core.events.SlotSet object at 0x000001C51DCC8208>, BotUttered('whats your firstname', {"elements": null, "quick_replies": null, "buttons": null, "attachment": null, "image": null, "custom": null}, {"template_name": "utter_ask_firstname"}, 1610706998.5203876)]'.
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Current slot values:
        product: apple
        firstname: None
        lastname: None
        age: None
        requested_slot: firstname
2021-01-15 11:36:38 DEBUG    rasa.core.policies.memoization  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 4] user intent: run_form | previous action name: user_form | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
2021-01-15 11:36:38 DEBUG    rasa.core.policies.memoization  - Launch DeLorean...
2021-01-15 11:36:38 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'slots': {'product': (0.0, 0.0, 0.0, 1.0)}, 'prev_action': {'action_name': 'user_form'}, 'active_loop': {'name': 'user_form'}}]
2021-01-15 11:36:38 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-15 11:36:38 DEBUG    rasa.core.policies.rule_policy  - Predicted 'action_listen' after loop 'user_form'.
2021-01-15 11:36:38 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy.
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Predicted next action 'action_listen' with confidence 1.00.
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Policy prediction ended with events '[]'.
2021-01-15 11:36:38 DEBUG    rasa.core.processor  - Action 'action_listen' ended with events '[]'.
2021-01-15 11:36:38 DEBUG    rasa.core.lock_store  - Deleted lock for conversation '5d6b89a8413840428438436558cfd844'.
whats your firstname
Your input ->  my firstname is lukas
2021-01-15 11:36:48 DEBUG    rasa.core.lock_store  - Issuing ticket for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:48 DEBUG    rasa.core.lock_store  - Acquiring lock for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:48 DEBUG    rasa.core.lock_store  - Acquired lock for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:48 DEBUG    rasa.core.tracker_store  - Recreating tracker for id '5d6b89a8413840428438436558cfd844'
2021-01-15 11:36:48 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: default
2021-01-15 11:36:48 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: changes
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Received user message 'my firstname is lukas' with intent '{'id': 2500103642700188135, 'name': 'greet', 'confidence': 0.961270272731781}' and entities '[{'entity': 'firstname', 'start': 16, 'end': 21, 'confidence_entity': 0.9978779554367065, 'value': 'lukas', 'extractor': 'DIETClassifier'}]'
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Current slot values:
        product: apple
        firstname: lukas
        lastname: None
        age: None
        requested_slot: firstname
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Logged UserUtterance - tracker now has 19 events.
2021-01-15 11:36:48 DEBUG    rasa.core.policies.memoization  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 4] user intent: run_form | previous action name: user_form | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 5] user intent: greet | user entities: ('firstname',) | previous action name: action_listen | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}
2021-01-15 11:36:48 DEBUG    rasa.core.policies.memoization  - Launch DeLorean...
2021-01-15 11:36:48 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'user': {'intent': 'greet', 'entities': ('firstname',)}, 'slots': {'firstname': (1.0,)}, 'prev_action': {'action_name': 'action_listen'}}]
2021-01-15 11:36:48 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-15 11:36:48 DEBUG    rasa.core.policies.rule_policy  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 4] user intent: run_form | previous action name: user_form | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 5] user text: my firstname is lukas | previous action name: action_listen | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}
2021-01-15 11:36:48 DEBUG    rasa.core.policies.rule_policy  - There is no applicable rule.
2021-01-15 11:36:48 DEBUG    rasa.core.policies.rule_policy  - Predicted loop 'user_form'.
2021-01-15 11:36:48 DEBUG    rasa.core.policies.ensemble  - Made prediction using user intent.
2021-01-15 11:36:48 DEBUG    rasa.core.policies.ensemble  - Added `DefinePrevUserUtteredFeaturization(False)` event.
2021-01-15 11:36:48 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy.
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Predicted next action 'user_form' with confidence 1.00.
2021-01-15 11:36:48 DEBUG    rasa.core.actions.forms  - Validating user input 'UserUttered(text: my firstname is lukas, intent: greet, entities: lukas (Type: firstname, Role: None, Group: None), use_text_for_featurization: False)'.
2021-01-15 11:36:48 DEBUG    rasa.core.actions.forms  - Trying to extract requested slot 'firstname' ...
2021-01-15 11:36:48 DEBUG    rasa.core.actions.forms  - Got mapping '{'entity': 'firstname', 'type': 'from_entity'}'
2021-01-15 11:36:48 DEBUG    rasa.core.actions.forms  - Successfully extracted 'lukas' for requested slot 'firstname'
2021-01-15 11:36:48 DEBUG    rasa.core.actions.forms  - Validating extracted slots: {'firstname': 'lukas'}
2021-01-15 11:36:48 DEBUG    rasa.core.actions.forms  - Request next slot 'lastname'
c:\users\rolf\anaconda3\envs\test\lib\site-packages\rasa\shared\utils\io.py:93: UserWarning: Action 'user_form' set a slot type 'firstname' which it never set during the training. This can throw off the prediction. Make sure to include training examples in your stories for the different types of slots this action can return. Remember: you need to set the slots manually in the stories by adding '- slot{"firstname": lukas}' after the action.
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Policy prediction ended with events '[<rasa.shared.core.events.DefinePrevUserUtteredFeaturization object at 0x000001C50F8BC3C8>]'.
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Action 'user_form' ended with events '[<rasa.shared.core.events.SlotSet object at 0x000001C510463DC8>, <rasa.shared.core.events.SlotSet object at 0x000001C510468908>, BotUttered('whats your lastname', {"elements": null, "quick_replies": null, "buttons": null, "attachment": null, "image": null, "custom": null}, {"template_name": "utter_ask_lastname"}, 1610707008.7005184)]'.
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Current slot values:
        product: apple
        firstname: lukas
        lastname: None
        age: None
        requested_slot: lastname
2021-01-15 11:36:48 DEBUG    rasa.core.policies.memoization  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 4] user intent: run_form | previous action name: user_form | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}
2021-01-15 11:36:48 DEBUG    rasa.core.policies.memoization  - Launch DeLorean...
2021-01-15 11:36:48 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'slots': {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}, 'prev_action': {'action_name': 'user_form'}, 'active_loop': {'name': 'user_form'}}]
2021-01-15 11:36:48 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-15 11:36:48 DEBUG    rasa.core.policies.rule_policy  - Predicted 'action_listen' after loop 'user_form'.
2021-01-15 11:36:48 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy.
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Predicted next action 'action_listen' with confidence 1.00.
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Policy prediction ended with events '[]'.
2021-01-15 11:36:48 DEBUG    rasa.core.processor  - Action 'action_listen' ended with events '[]'.
2021-01-15 11:36:48 DEBUG    rasa.core.lock_store  - Deleted lock for conversation '5d6b89a8413840428438436558cfd844'.
whats your lastname
Your input ->  change my product to banana
2021-01-15 11:36:56 DEBUG    rasa.core.lock_store  - Issuing ticket for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:56 DEBUG    rasa.core.lock_store  - Acquiring lock for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:56 DEBUG    rasa.core.lock_store  - Acquired lock for conversation '5d6b89a8413840428438436558cfd844'.
2021-01-15 11:36:56 DEBUG    rasa.core.tracker_store  - Recreating tracker for id '5d6b89a8413840428438436558cfd844'
2021-01-15 11:36:56 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: default
2021-01-15 11:36:56 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: changes
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Received user message 'change my product to banana' with intent '{'id': -8944533210930297836, 'name': 'changes', 'confidence': 0.9998570084571838}' and entities '[{'entity': 'product', 'start': 21, 'end': 27, 'confidence_entity': 0.9966502785682678, 'value': 'banana', 'extractor': 'DIETClassifier'}]'
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Current slot values:
        product: banana
        firstname: lukas
        lastname: None
        age: None
        requested_slot: lastname
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Logged UserUtterance - tracker now has 27 events.
2021-01-15 11:36:56 DEBUG    rasa.core.policies.memoization  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 4] user intent: run_form | previous action name: user_form | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}
[state 5] user intent: changes | user entities: ('product',) | previous action name: action_listen | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}
2021-01-15 11:36:56 DEBUG    rasa.core.policies.memoization  - Launch DeLorean...
2021-01-15 11:36:56 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'user': {'intent': 'changes', 'entities': ('product',)}, 'slots': {'product': (0.0, 0.0, 0.0, 1.0)}, 'prev_action': {'action_name': 'action_listen'}}]
2021-01-15 11:36:56 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-15 11:36:56 DEBUG    rasa.core.policies.rule_policy  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 4] user intent: run_form | previous action name: user_form | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}
[state 5] user text: change my product to banana | previous action name: action_listen | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}
2021-01-15 11:36:56 DEBUG    rasa.core.policies.rule_policy  - There is no applicable rule.
2021-01-15 11:36:56 DEBUG    rasa.core.policies.rule_policy  - Predicted loop 'user_form'.
2021-01-15 11:36:56 DEBUG    rasa.core.policies.ensemble  - Made prediction using user intent.
2021-01-15 11:36:56 DEBUG    rasa.core.policies.ensemble  - Added `DefinePrevUserUtteredFeaturization(False)` event.
2021-01-15 11:36:56 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy.
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Predicted next action 'user_form' with confidence 1.00.
2021-01-15 11:36:56 DEBUG    rasa.core.actions.forms  - Validating user input 'UserUttered(text: change my product to banana, intent: changes, entities: banana (Type: product, Role: None, Group: None), use_text_for_featurization: False)'.
2021-01-15 11:36:56 DEBUG    rasa.core.actions.forms  - Extracted 'banana' for extra slot 'product'.
2021-01-15 11:36:56 DEBUG    rasa.core.actions.forms  - Trying to extract requested slot 'lastname' ...
2021-01-15 11:36:56 DEBUG    rasa.core.actions.forms  - Got mapping '{'entity': 'lastname', 'type': 'from_entity'}'
2021-01-15 11:36:56 DEBUG    rasa.core.actions.forms  - Failed to extract requested slot 'lastname'
2021-01-15 11:36:56 DEBUG    rasa.core.actions.forms  - Validating extracted slots: {'product': 'banana'}
2021-01-15 11:36:56 DEBUG    rasa.core.actions.forms  - Request next slot 'lastname'
c:\users\rolf\anaconda3\envs\test\lib\site-packages\rasa\shared\utils\io.py:93: UserWarning: Action 'user_form' set a slot type 'product' which it never set during the training. This can throw off the prediction. Make sure to include training examples in your stories for the different types of slots this action can return. Remember: you need to set the slots manually in the stories by adding '- slot{"product": banana}' after the action.
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Policy prediction ended with events '[<rasa.shared.core.events.DefinePrevUserUtteredFeaturization object at 0x000001C51314CE08>]'.
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Action 'user_form' ended with events '[<rasa.shared.core.events.SlotSet object at 0x000001C51315D3C8>, <rasa.shared.core.events.SlotSet object at 0x000001C51315F048>, BotUttered('whats your lastname', {"elements": null, "quick_replies": null, "buttons": null, "attachment": null, "image": null, "custom": null}, {"template_name": "utter_ask_lastname"}, 1610707016.8833897)]'.
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Current slot values:
        product: banana
        firstname: lukas
        lastname: None
        age: None
        requested_slot: lastname
2021-01-15 11:36:56 DEBUG    rasa.core.policies.memoization  - Current tracker state:
[state 1] user intent: changes | user entities: ('product',) | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 2] user intent: changes | user entities: ('product',) | previous action name: utter_changes | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 3] user intent: run_form | previous action name: action_listen | slots: {'product': (0.0, 0.0, 0.0, 1.0)}
[state 4] user intent: run_form | previous action name: user_form | active loop: {'name': 'user_form'} | slots: {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}
2021-01-15 11:36:56 DEBUG    rasa.core.policies.memoization  - Launch DeLorean...
2021-01-15 11:36:56 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'slots': {'product': (0.0, 0.0, 0.0, 1.0), 'firstname': (1.0,)}, 'prev_action': {'action_name': 'user_form'}, 'active_loop': {'name': 'user_form'}}]
2021-01-15 11:36:56 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-15 11:36:56 DEBUG    rasa.core.policies.rule_policy  - Predicted 'action_listen' after loop 'user_form'.
2021-01-15 11:36:56 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy.
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Predicted next action 'action_listen' with confidence 1.00.
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Policy prediction ended with events '[]'.
2021-01-15 11:36:56 DEBUG    rasa.core.processor  - Action 'action_listen' ended with events '[]'.
2021-01-15 11:36:56 DEBUG    rasa.core.lock_store  - Deleted lock for conversation '5d6b89a8413840428438436558cfd844'.
whats your lastname

Hello @lukas1223, welcome to the Forum!

If I get this right, you want the user to be able to interrupt the form filling at any time, and have your assistant make a change. Then the assistant should tell the user what change it has made, and get back to the from, right?

One way of doing this is this:

  1. Always have a change intent interrupt the form (use not_intent for this)
  2. Add a rule that triggers when the form was deactivated with the change intent, and that executes some action_change
  3. To distinguish between the different things that the user might want to change, you could either use an entity with a categorical slot (name / age / product), or use multiple intents in the not_intent field and multiple rules to trigger different actions.
  4. Have the rule(s) that triggers the action_change also trigger the utter_changes action and reactivate the form afterwards, similar to here, but the rule would contain action_change and utter_changes instead of just utter_chitchat.
1 Like

Hey, thank you for your quick reply!

Yes, you understood my problem correctly.

Can you please write me an example or an idea for the rule that gets triggered when the form “user_form” gets deactivated by the intent “changes” ? i cant find the trigger event in the docs :confused:

and why i cant use directly something like that?:

rules:
- rule: Example of an unhappy path
  condition:
  # Condition that form is active.
  - active_loop: restaurant_form
  steps:
  # This unhappy path handles the case of an intent `chitchat`.
  - intent: chitchat
  - action: utter_chitchat
  # Return to form after handling the `chitchat` intent
  - action: restaurant_form
  - active_loop: restaurant_form

formed to something like this:

- rule: change name in form
  condition:
  - active_loop: user_form
  steps:
  - intent: changes
    entities:
    - product: apple
  - slot_was_set:
    - product : apple
  - action: utter_changes

for my understanding the only difference is that i have some entities (and slot mappings) in comparison to the unhappy path example. I would prefer a more general solution because i want to implement multiple forms and would like to make changes everywhere. so the best thing would be something like the bot challange example:

- rule: Say 'I am a bot' anytime the user challenges
  steps
  - intent: bot_challenge
  - action: utter_iamabot

because this works also while i am running a form

2 Likes

have you found the solution? where u able to interrupt slot filling atleast once and get back to slot filling?