say i have three intents named intent_one, intent_two and intent_three. An user message can have any of these three intents or any possible combination of them. So to handle messages with multiple intent i do the recommended method ie., intent_one+intent_two. But for three intents i have 4 possible multi-intents ->
- intent_one+intent_two
- intent_one+intent_three
- intent_two+intent_three
- intent_one+intent_two+intent_three
so in my nlu.md now i have to add data for total 7 category( 3 atomic intents and 4 multi-intents). But the number of multi-intent grows exponentially as we add more and more atomic intents. After then the amount of data needed also increase exponentially. For eg, in the above example if i add one more intent named intent_four, then their are many more multi-intents now, each previous multi-intent will now make a combination with intent_four resulting in many more multi_intents. And in my use case i have around 7 atomic intents and an user message can be of any combination of those intents so i have to add data for each possible multi-intent which become very tedious as this results in a large number of multi-intents combination. And if in future i want to add one more feature to my bot and hence adding new intents for them then adding more new multi-intent will become practically impossible.
I want to know is their any way to deal this problem.
I think if we already taught are bot that this is intent_one and this is intent_two, then why for multi_intent: intent_one+intent_two we have to design new data. Why not are bot identify from the user message that this message contain both intent_one and intent_two.
for eg -> i have two intents called show_authors and send_link. And i trained them using their individual data. So if a user message is requesting for both authors and link then why not are bot is able to identify that this message contains both intents, why we have to explicitly mention a multi-intent in domain.yml and it’s corresponding data in nlu.md.
help me out this problem please