2 stagefallback action for smalltalk

Hi, Has anyone encountered 2 stage fallback for smalltalk/chitchat intent? For other intents, I am using intent payload like /booking and /out_of_scope for 2 stage fallback confirmation. payload doesn’t seem to be working for smalltalk.
Any suggestion or thought on this how to make it work?

Hi Nandhini,

It sounds like you have utterances that you expect to hit your chitchat intent but the resulting confidence score is below the fallback level, is that right?

Our sara demo bot has a working example of a two stage fallback policy and associated actions. In our actions.py code you’ll find the example action_default_ask_affirmation and action_default_ask_affirmation classes.


Hi stephens, Thanks for your reply. I checked that demo actions.py file. I also used something similar for our bot. But that works for non chitchat intent. Intent Ranking will list all the possible intents and ranking for non chitchat intent. For intents that uses response selector, NLU parse data will not give intent ranking for chitchat. It comes under response dictionary in parse data.

Like this :

{‘intent’: {‘name’: ‘smalltalk’, ‘confidence’: 0.9864653944969177}, ‘entities’: [], ‘intent_ranking’: [ {‘name’: ‘smalltalk’, ‘confidence’: 0.9864653944969177}, {‘name’: ‘bye’, ‘confidence’: 0.0017168710473924875}, {‘name’: ‘yes’, ‘confidence’: 0.0006450102664530277}, {‘name’: ‘career’, ‘confidence’: 0.0006154129514470696}, ‘response_selector’: {‘default’: {‘response’: {‘name’: ‘Wow indeed!’, ‘confidence’: 0.917921245098114}, ‘ranking’: [ {‘name’: ‘Wow indeed!’, ‘confidence’: 0.917921245098114}, {‘name’: ‘Glad I can make you laugh.’, ‘confidence’: 0.014544213190674782}, {‘name’: “You’re so polite!”, ‘confidence’: 0.013445228338241577}, {‘name’: “Oh, don’t give up on me just yet. I know I’ve still got a lot to learn.”, ‘confidence’: 0.007022411562502384},]}}, ‘text’: ‘wow’}

If you see the above parse data, intent ranking will list all the intents and confidence. If 2 stage fallback happens, custom action will use the intent as payload to confirm. But for citchat/smalltalk ( response selector ) how do I use smalltalk payload in 2 stage fallback.

Like this : button : , payload : /smalltalk/exclamation

I believe payload works through interpreter.py code but doesn’t go through NLU.

Do I make sense ? Do I convey the message correctly?

Hi Nandhini,

There is an issue being worked on to allow use of the Response Selector with Two Stage Fallback. Unfortunately, I’m unable to find it but will come back and add it here later.


Thanks @stephens for your reply. Let me know whenever you find about that issue. In the meantime I put a fix such that Rasa will respond with highest confidence response from parse_data for smalltalk 2 stage fallback.

This was issue #4826 and it looks like it was fixed in 1.9.1 which was just released.