Should you train Duel intents with NLU data?

Should one be training duel intents with NLU or rely on the single intents soley?

I noticed some training data such as the below crept into my NLU files from an interactive session - but to me this seems a little contrived… but at the same time makes me wonder if I should be training all duel intents that I rely on or just stick with a my robust training data for the singular intents.

- intent: affirm+out_of_scope
  examples: |
    - i thought it was great. I was wondering if the owners had the relevant permits for the extensions they put on?
2 Likes

to clarify - I’m more concerned about training the duel intent specifically that then it doesn’t train itself by combining my singular intents.

@john.christian Heya!

Well your concern about duel or multi intents with NLU training data is right, many of us think about that, but I’d recommend you if it’s necessary or you have big data with common intents then only try this use case else stick with generic approach and even you should be very specific about your intent selection and training examples for the same. I hope it make sense.

For your understanding please see this example:

NLU training data

What does the training data look like for models using the TensorFlow pipeline? Not that different from the regular approach - the only addition is that we have to add examples of multi-intent inputs and assign them the corresponding multi-intent labels. Below I have a snippet of training data which I am going to use to train the NLU model (check the data/nlu_data.md file). As you can see, I have some regular examples with one intent per input as well as examples which have multiple intents assigned. For example, the input “Can you suggest any cool meetups in Berlin area?” has only one intention - the user asks for meetup recommendations, that’s why it has a single intent assigned to it. On the flipside, the input “Sounds good. Do you know how I could get there from home?” means two things - confirmation that a user wants to join the meetup and a query about the transport to get to the venue, and this is why such examples have a combined affirm+ask_transport intent.

## intent: meetup
- I am new to the area. What meetups I could join in Berlin? 
- I have just moved to Berlin. Can you suggest any cool meetups for me?

## intent: affirm+ask_transport
- Yes. How do I get there?
- Sounds good. Do you know how I could get there from home?

Reference link for more details : How to Handle Multiple Intents Using Rasa NLU TensorFlow Pipeline

I hope this will clear your concern and solve your issue. Good Luck!

2 Likes