The inform intent will be the death of me

I’m building a lot of stories that have a flow and ask questions (instead of forms). I collect the answers with the inform intent and more times than not my answers seem to jump / activate another story.

Is there something I can look at and hopefully prevent this? A story looks like this -

  - story: General Support
    steps:
      - intent: general_support
      - action: utter_general_ask_username
      - intent: inform
      - slot_was_set:
          - general_username: jwheat
      - action: utter_general_ask_command_location
      - intent: inform
      - slot_was_set:
          - general_command_location: Mechanicsburg
      - action: utter_general_ask_problem_description
      - intent: inform
      - slot_was_set:
          - general_problem_description: cannot connect
      - action: utter_general_ask_sps_customer
      - intent: affirm
      - action: utter_general_ask_tell_sps_response

All of the slots mentioned in slot_was_set are influence_conversation: false and type: text - so I think they should just collect the text typed, right?

All my slots have a matching entity FWIW - maybe this is the actual issue?

In this example it made it to the problem description. I entered “I can’t connect to WiFi” and it jumped over to another story that also is a “problem solving” scenario - but asks a different set of questions.

[state 6] user intent: inform | previous action name: utter_general_ask_problem_description
2021-06-28 15:28:51 DEBUG    rasa.core.policies.rule_policy  - There is no applicable rule.
2021-06-28 15:28:51 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_1_TEDPolicy.
2021-06-28 15:28:51 DEBUG    rasa.core.processor  - Predicted next action 'action_listen' with confidence 1.00.
2021-06-28 15:28:51 DEBUG    rasa.core.processor  - Policy prediction ended with events '[]'.
2021-06-28 15:28:51 DEBUG    rasa.core.processor  - Action 'action_listen' ended with events '[]'.
2021-06-28 15:28:51 DEBUG    rasa.core.lock_store  - Deleted lock for conversation '82ef826f9ab645b09b0a896978d447e0'.

description of problem/issue
Your input ->  I can't connect to WiFi

2021-06-28 15:28:59 DEBUG    rasa.core.lock_store  - Issuing ticket for conversation '82ef826f9ab645b09b0a896978d447e0'.
2021-06-28 15:28:59 DEBUG    rasa.core.lock_store  - Acquiring lock for conversation '82ef826f9ab645b09b0a896978d447e0'.
2021-06-28 15:28:59 DEBUG    rasa.core.lock_store  - Acquired lock for conversation '82ef826f9ab645b09b0a896978d447e0'.
2021-06-28 15:28:59 DEBUG    rasa.core.tracker_store  - Recreating tracker for id '82ef826f9ab645b09b0a896978d447e0'
2021-06-28 15:28:59 DEBUG    rasa.nlu.classifiers.diet_classifier  - There is no trained model for 'ResponseSelector': The component is either not trained or didn't receive enough training data.
2021-06-28 15:28:59 DEBUG    rasa.nlu.selectors.response_selector  - Adding following selector key to message property: default
2021-06-28 15:28:59 DEBUG    rasa.core.processor  - Received user message 'I can't connect to WiFi' with intent '{'id': 6297271802497334284, 'name': 'triage_submit_incident_request', 'confidence': 0.8841760754585266}' and entities '[]'

Looking at the NLU data for the story that was triggered; triage_submit_incident_request there isn’t anything about WiFi, but I do have “I can’t” in there.

  - intent: triage_submit_incident_request
    examples: |
      - I want to submit an incident report
      - I need to create a ticket
      - Can you submit an incident report for me?
      - open an incident
      - help me reset my password
      - I need to reset my password
      - I'm having an issue with email
      - can you help with a email problem I'm having
      - "[Outlook](the_system) keeps crashing"
      - "[IE](the_system) won't open"
      - "[Internet explorer](the_system) won't work"
      - I can't log into [Office 365](the_system)
      - "Work [email](the_system) isn't opening"
      - "[Report objects](the_system) is displaying an error"

Curious if anyone else has hit this issue, or if there’s a better way (other than a form) to accomplish this.

My rationale for stories over forms is that they’re more flexible. The irony of this situation isn’t lost on me, because this flexibility is a problem until I work out what I’m doing wrong.

I’m going to go through a series of experiments testing each of my questions above to work out if it is the matching entities, nlu data, slot definitions, or even the ngram length if it is indeed triggering on “I can’t”.

I’ll post back - but if anyone read this and things “You moron, you need to…” Please be as rude as you need to be and set me straight LOL.

Hi @jonathanpwheat

So the issue here is that the message was classified as triage_submit_incident_request rather than inform, causing it to jump to a different story?

The NLU part of Rasa that classifies the intent from the message is separate from the dialog part (policies) that determines how the conversation progresses. So the fact that you were mid-way through one story won’t affect what intent the user message is classified as. The intent classification only looks at the message, not the conversation history.

(Note, with the experiemental e2e this gap is being bridged)