Im overriding the ActionDefaultAskAffirmation
action to provide buttons with intents above a certain confidence threshold (below the nlu threshold). If no intents have high enough confidence then it asks the user to rephrase their message.
if len(buttons) > 0:
dispatcher.utter_message(text="Did you mean: ", buttons=buttons)
dispatcher.utter_message(text="You can also try rephrasing your message.")
else:
dispatcher.utter_message(template="utter_ask_rephrase"
return []
So if the user chooses a button it works but if the user types something themselves then an empty response is returned. Im not sure if I need to add training stories or add some logic to the policy to handle if a user types something instead of choosing an intent provided.