How to continue the conversation with the known user question? Invoke action_listen with known user question?

Assume the following case is real:

User: blabla...
Bot: Do you mean 1) A question, 2) B question, 2) C question?
User: The first question
Bot: Got it. You would like to ask "A"

What the conversation should do next is to continue the process as the user ask the ‘A’ question. But I have no idea how to call it in the action function.

class ResolveMention(Action):
	"""Reminds the user to call someone."""
	def name(self) -> Text:
			return "action_resolve_mention"

	async def run(
		self,
		dispatcher: CollectingDispatcher,
		tracker: Tracker,
		domain: Dict[Text, Any],
	) -> List[Dict[Text, Any]]:
		_mention = tracker.get_slot("mention")
		_ask_more = tracker.get_slot("ask_more")
		_m2n = {
			"first": 0,
			"second": 1,
			"third": 2,
		}
		if _mention:
			_m = _m2n[_mention]
			if _ask_more:
				_str = _ask_more[_m]["title"]
				dispatcher.utter_message("Got it!You would like to ask \"{}\"".format(_str))
				###### WHAT SHOULD I DO to invoke the action_listen and then send the user quest as 'A' #####
				###### WHAT SHOULD I DO to invoke the action_listen and then send the user quest as 'A' #####
		return [SlotSet("mention", None), SlotSet("ask_more", None)]

Hey @yiouyou. Have you looked into using a categorical slot for storing which open the user picked? In that case, the value of the slot could influence how the conversation goes next.

@Juste Categoical slot may not be suitable. I’m using any type, since the A/B/C are varaibles but not fixed categories. Is it possible to invoke action_listen with user’s question within a bot’s action?

I don’t think I understand why do you want to have action_listen here. Can you elaborate on why do you that’s an option you’d want to have?

My suggestion would be to explore two options:

  1. Using a categorical slot for setting a slot depending on which option the user picked. You can have a slot mapping that will set a slot based on what intent and entity are predicted.

  2. Rely on stories to enable your assistant to predict a correct custom action after the users pick an option. When the user says that they would like to ask about option 1they should communicate what exactly they are asking about meaning that your NLU model should be able to do correct intent classification. In your stories that intent simply has to be followed by specific custom actions that should be executed at that time.

The logic behind this issue is that, after the bot confirmed which question the user was going to ask, the bot would do what it needs to do as the user asked the question. The situation is very common in voice controled inferface, under which condition the “refrence” feature is more useful.

I noticed that it might not be possible to let the bot continue as the user asked certain question. So I bypassed the problem by cooperating with front-end ui. Once the bot figures out which question the user is going to ask, it gives feedback to front-end by saying something invisible, then let front-end ask the question to backend. Of cource the question is invisible to user as well.

Hope it makes sense to who is interested in this problem.