Insight into current tracker state

Hello all,

I am hoping to gain some insight as to how the current tracker state operates or functions. I am running an end to end test with a single story to see how Rasa operates. I am basically training this one story in a vacuum, I only have the specific intents trained and I have the exact story path trained.

Below is the story I am training:

Story 1

  • journeys.new_member: /journeys.new_member
    • utter_ask_application_started
  • ask_how_to_apply: No I haven’t yet. Is it available online?
  • in_progress: I found it. I will start now
    • utter_great_assistance_upon_request

When I do an e2e test I get the following tracker state’s:

[ None, {}, {‘prev_action_listen’: 1.0, ‘intent_journeys.new_member’: 1.0} ]

[ {}, {‘prev_action_listen’: 1.0, ‘intent_journeys.new_member’: 1.0}, {‘prev_utter_ask_application_started’: 1.0, ‘intent_journeys.new_member’: 1.0} ]

[ {‘prev_action_listen’: 1.0, ‘intent_journeys.new_member’: 1.0}, {‘prev_utter_ask_application_started’: 1.0, ‘intent_journeys.new_member’: 1.0}, {‘intent_ask_how_to_apply’: 1.0, ‘prev_action_listen’: 1.0} ]

[ {‘prev_utter_ask_application_started’: 1.0, ‘intent_journeys.new_member’: 1.0}, {‘intent_ask_how_to_apply’: 1.0, ‘prev_action_listen’: 1.0}, {‘prev_action_listen’: 1.0, ‘intent_in_progress’: 1.0} ]

[ {‘intent_ask_how_to_apply’: 1.0, ‘prev_action_listen’: 1.0}, {‘prev_action_listen’: 1.0, ‘intent_in_progress’: 1.0}, {‘prev_utter_great_assistance_upon_request’: 1.0, ‘intent_in_progress’: 1.0} ]

Your Story 1 looks like an e2e test, not a story. Can you provide the story you’ve created?

Also, your e2e test has back to back intents. After the ask_how_to_apply intent, there should be a user utterance, not another intent.

Have you considered the Rasa X interactive training feature to help with this?

Hi Greg,

Here is another story, a more basic one. My main question is how does Rasa convert a story into the current tracker state. Im trying to learn how Rasa works so when I have more complex stories, I can try to trouble shoot why they may be failing.

## Story 1
* in_progress
  - utter_great_assistance_upon_request

Current tracker state [{}, {'intent_in_progress': 1.0, 'prev_action_listen': 1.0}, {'intent_in_progress': 1.0, 'prev_utter_great_assistance_upon_request': 1.0}]

@stephens,

I reviewed the architecture tab of the Rasa user guide but its vague as to how the interpreter converts the text of a message into the tracker. Is this something I should know for the future of debugging failed messages or am I barking up the wrong tree?

Hi Chris,

The tracker maintains the state of the user dialogue of a running bot. Whereas the stories are training data for Rasa Core that are used to predict the next step in the dialogue.

The tracker holds a list of the events that have occurred in the dialogue between the user and the bot. The list of events are documented here. Some of the key events:

Greg

@stephens I think I have one final question about the tracker. I am including the json format of the story and the tracker state.

Current tracker state “messages”: [ { “model”: “intents”, “q”: “/journeys.apply” }, { “model”: “utterances”, “q”: “Hi Stephanie, have you already started an application?” }, { “model”: “intents”, “q”: “Yes” } ] }

[{‘prev_action_listen’: 1.0, ‘intent_journeys.apply’: 1.0}, {‘prev_utter_ask_application_started’: 1.0, ‘intent_journeys.apply’: 1.0}, {‘intent_affirm’: 1.0, ‘prev_action_listen’: 1.0}]

Our bot is initiated when the user clicks on a button, so I understand the first part of the tracker being prev_action_listen and then the button intent_journeys_apply. What I don’t understand or know if it makes a difference is the second part, {‘prev_utter_ask_application_started’: 1.0, ‘intent_journeys.apply’: 1.0}, why is does the correct utterance have the prefix prev_? Am i’m sorry for my ignorance but I’m assuming prev stands for previous?

Chris,

I recommend you start reviewing the source code. Here’s the location that answers the prev_ question.

Greg