Ignore all intents for slot filling

Hi, I have a bot where one of the forms will have the user fill in a blank text box. This can be a string of any length and include any mixture of letters number etc. Hence it makes no sence to fill the slot from an intent. Is it possible to use:

forms:
  from_name:
  - type: from_text
    intent: null

Or should I set it to intent to fallback, however this will fail if the bot predicts an intent and does not go to fallback.

Alternatively (if possible) I would not like to fill a slot at all. Would it be possible to create an action that would use utter_message(text="Some question?"), have the user reply and then use message=tracker.latest_message.get('text') to gather that reply, or something similar.

Thanks, Paul

That’s how to do it. I recommend adding not_intent in case the user wants to stop the form.

forms:
  form_name:
    form_slot:
    - intent_name: None
      not_intent: stop
      type: from_text
1 Like

@ChrisRahme Hi, I tried your code above and the bot still looks for an intent.

I´ve tried a few variations of the code above and I still can´t get it to work.

Paul

That’s weird… from_text is supposed to take the whole text no matter the intent.

What happens when the bot asks for the slot?

Nothing, until that point it works correctly. However, when I write my text (fill the slot) the nlu predicts an incorrect intent from that user input.

Oh, don’t worry about the intent. It’s fine if it does an incorrect prediction since it doesn’t matter.

The slot should be filled with the text no matter what the predicted intent is.

Ok it would be nice if I could deactivate intent detection for that input. What would happen if an intent that triggers another action is detected?

Sorry, I have no idea if that’s possible, but I don’t think it (easily) is

If it ain´t broke dont fix it. :rofl:

1 Like

Lmao true, but I hope there’s a way to do what you want to achieve

1 Like