Slot Reset Causing issues with next action prediction in rasa chat bot

Please help me on the issue given below. Where Slot resetting is causing some weird problem.

My Slot Reset action look like below > class ActionRenew(Action):

    def name(self):
            return "action_renew"

    def run(self, dispatcher, tracker, domain):
            return [AllSlotsReset()]

My Stories looks like below

  • scarfFAQ{“issue”:“”, “key”:“”}
- utter_wait
- action_query_mongo
- action_renew

Rasa Logs are given below

core-rasa | 2019-11-27 06:11:18 DEBUG rasa.core.processor - Received user message ‘what is SCARF?’ with intent ‘{‘name’: ‘scarfFAQ’, ‘confidence’: 0.9831768274307251}’ and entities ‘[{‘start’: 8, ‘end’: 13, ‘value’: ‘SCARF’, ‘entity’: ‘issue’, ‘confidence’: 0.9412032215449633, ‘extractor’: ‘CRFEntityExtractor’, ‘processors’: [‘EntitySynonymMapper’]}]’

core-rasa | 2019-11-27 06:11:18 DEBUG rasa.core.processor - Current slot values:

core-rasa | disambiguation_message: None

core-rasa | issue: SCARF

core-rasa | key: None

core-rasa | 2019-11-27 06:11:18 DEBUG rasa.core.processor - Logged UserUtterance - tracker now has 10 events

core-rasa | 2019-11-27 06:11:18 DEBUG rasa.core.lock_store - Deleted lock for conversation ‘783a65a2-cf03-49fc-b659-43accf7054b3’.

core-rasa | 2019-11-27 06:11:18 DEBUG rasa.core.policies.fallback - NLU confidence threshold met, confidence of fallback action set to core threshold (0.3).

core-rasa | 2019-11-27 06:11:18 DEBUG rasa.core.policies.memoization - Current tracker state [{‘prev_action_listen’: 1.0}, {‘prev_utter_greet’: 1.0}, {‘intent_chitchat.greet’: 1.0, ‘prev_action_listen’: 1.0}, {‘prev_utter_greet’: 1.0, ‘intent_chitchat.greet’: 1.0}, {‘prev_action_listen’: 1.0, ‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘entity_issue’: 1.0}]

core-rasa | 2019-11-27 06:11:18 DEBUG rasa.core.policies.memoization - There is no memorised next action

core-rasa | 2019-11-27 06:11:18 DEBUG rasa.core.policies.ensemble - Predicted next action using policy_2_KerasPolicy

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.nlg.callback - Requesting NLG for utter_wait from http://x.x.x.x:8081/project/bf/nlg.

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.processor - Action ‘utter_wait’ ended with events ‘[‘BotUttered(text: One moment please…, data: {“elements”: null, “quick_replies”: null, “buttons”: null, “attachment”: null, “image”: null, “custom”: null}, metadata: {})’]’

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.lock_store - Deleted lock for conversation ‘783a65a2-cf03-49fc-b659-43accf7054b3’.

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.policies.fallback - NLU confidence threshold met, confidence of fallback action set to core threshold (0.3).

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.policies.memoization - Current tracker state [{‘prev_utter_greet’: 1.0}, {‘intent_chitchat.greet’: 1.0, ‘prev_action_listen’: 1.0}, {‘prev_utter_greet’: 1.0, ‘intent_chitchat.greet’: 1.0}, {‘prev_action_listen’: 1.0, ‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘entity_issue’: 1.0}, {‘prev_utter_wait’: 1.0, ‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘entity_issue’: 1.0}]

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.policies.memoization - There is no memorised next action

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.policies.ensemble - Predicted next action using policy_2_KerasPolicy

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.actions.action - Calling action endpoint to run action ‘action_query_mongo’.

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.processor - Action ‘action_query_mongo’ ended with events ‘[‘BotUttered(text: $MESSAGE$:SCARF (Application Reference Framework) drives InnerSourcing in the organization, data: {“elements”: null, “quick_replies”: null, “buttons”: null, “attachment”: null, “image”: null, “custom”: null}, metadata: {})’]’

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.processor - Current slot values:

core-rasa | disambiguation_message: None

core-rasa | issue: SCARF

core-rasa | key: None

core-rasa | 2019-11-27 06:11:19 DEBUG rasa.core.lock_store - Deleted lock for conversation ‘783a65a2-cf03-49fc-b659-43accf7054b3’.

core-rasa | 2019-11-27 06:11:20 DEBUG rasa.core.policies.fallback - NLU confidence threshold met, confidence of fallback action set to core threshold (0.3).

core-rasa | 2019-11-27 06:11:20 DEBUG rasa.core.policies.memoization - Current tracker state [{‘intent_chitchat.greet’: 1.0, ‘prev_action_listen’: 1.0}, {‘prev_utter_greet’: 1.0, ‘intent_chitchat.greet’: 1.0}, {‘prev_action_listen’: 1.0, ‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘entity_issue’: 1.0}, {‘prev_utter_wait’: 1.0, ‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘entity_issue’: 1.0}, {‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘prev_action_query_mongo’: 1.0, ‘entity_issue’: 1.0}]

core-rasa | 2019-11-27 06:11:20 DEBUG rasa.core.policies.memoization - There is no memorised next action

core-rasa | 2019-11-27 06:11:20 DEBUG rasa.core.policies.ensemble - Predicted next action using policy_2_KerasPolicy

core-rasa | 2019-11-27 06:11:20 DEBUG rasa.core.actions.action - Calling action endpoint to run action ‘action_renew’.

Here Action renew was called successfully.

core-rasa | 2019-11-27 06:11:20 DEBUG rasa.core.processor - Action ‘action_renew’ ended with events ‘[‘AllSlotsReset()’]’

core-rasa | 2019-11-27 06:11:20 DEBUG rasa.core.processor - Current slot values: core-rasa | disambiguation_message: None core-rasa | issue: None core-rasa | key: None

Slot reset happened successfully

core-rasa | 2019-11-27 06:11:20 DEBUG rasa.core.lock_store - Deleted lock for conversation ‘783a65a2-cf03-49fc-b659-43accf7054b3’.

**Heart of the problem is given below. Rasa got the new message and interpreted it correctly with the right intent (scarfFAQ) and entities (issue : SCARF, key : None). But it did not follow through with the right action prediction which in this case should have been action_query_mongo .

Would really help if somebody can help me understand this strange behaviour. Thanks in advance**

core-rasa | 2019-11-27 06:11:25 DEBUG rasa.core.processor - Received user message ‘what is SCARF?’ with intent ‘{‘name’: ‘scarfFAQ’, ‘confidence’: 0.9831768274307251}’ and entities ‘[{‘start’: 8, ‘end’: 13, ‘value’: ‘SCARF’, ‘entity’: ‘issue’, ‘confidence’: 0.9412032215449633, ‘extractor’: ‘CRFEntityExtractor’, ‘processors’: [‘EntitySynonymMapper’]}]’

core-rasa | 2019-11-27 06:11:25 DEBUG rasa.core.processor - Current slot values:

core-rasa | disambiguation_message: None

core-rasa | issue: SCARF

core-rasa | key: None

Above Slots were picked up correctly. but finally I don’t get any answer

core-rasa | 2019-11-27 06:11:25 DEBUG rasa.core.processor - Logged UserUtterance - tracker now has 18 events

core-rasa | 2019-11-27 06:11:25 DEBUG rasa.core.lock_store - Deleted lock for conversation ‘783a65a2-cf03-49fc-b659-43accf7054b3’.

core-rasa | 2019-11-27 06:11:25 DEBUG rasa.core.policies.fallback - NLU confidence threshold met, confidence of fallback action set to core threshold (0.3).

core-rasa | 2019-11-27 06:11:25 DEBUG rasa.core.policies.memoization - Current tracker state [{‘prev_utter_greet’: 1.0, ‘intent_chitchat.greet’: 1.0}, {‘prev_action_listen’: 1.0, ‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘entity_issue’: 1.0}, {‘prev_utter_wait’: 1.0, ‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘entity_issue’: 1.0}, {‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘prev_action_query_mongo’: 1.0, ‘entity_issue’: 1.0}, {‘slot_issue_0’: 1.0, ‘intent_scarfFAQ’: 1.0, ‘prev_action_renew’: 1.0, ‘entity_issue’: 1.0}]

core-rasa | 2019-11-27 06:11:25 DEBUG rasa.core.policies.memoization - There is no memorised next action

core-rasa | 2019-11-27 06:11:25 DEBUG rasa.core.policies.ensemble - Predicted next action using policy_2_KerasPolicy

core-rasa | 2019-11-27 06:11:26 DEBUG rasa.core.processor - Action ‘action_listen’ ended with events ‘

core-rasa | 2019-11-27 06:11:26 DEBUG rasa.core.lock_store - Deleted lock for conversation ‘783a65a2-cf03-49fc-b659-43accf7054b3’.

My Policies are

policies:

  • name: FallbackPolicy nlu_threshold: 0.4 core_threshold: 0.3 fallback_action_name: “utter_unclear”
  • name: MemoizationPolicy
  • name: KerasPolicy featurizer:
    • name: MaxHistoryTrackerFeaturizer max_history: 5 state_featurizer:
      • name: BinarySingleStateFeaturizer

Any help in this issue would be really appreciated.

It looks like you don’t have a training story with action_renew in there, so core doesn’t know what to predict next

1 Like

Thanks Ghostvv for the help, but I am still not clear, because If you see the story above/below I have included action_renew in my story. Can you please explain more in details, that would be really helpful.

  • scarfFAQ{“issue”:“”, “key”:“”}
  • utter_wait
  • action_query_mongo
  • action_renew

Thanks again.

you need to add reset_slots event in your training stories, since that’s what your custom action returns