Dear all,
I am working on something similar to emotion recognition. I am in a spot where I am trying to figure out how to handle multiple intents, and currently none of the material on that seems to answer the question I am posing. The main problem people run into with multiple intents, is a “Yes, what are the opening times?” kinda issue, for which there are many solutions present, which lead to your chatbot picking the best one.
My problem is that I want to evaluate a single message for 7 different intents. I am not looking to pick only the best one, I am trying to evaluate for all 7 separately if they are present in the single message.
For example, my input would look something like:
“I went to the dentist today, and he was late. I got very angry at him, and he apologized. Afterwards I felt bad because I had been too mean to him, and I was sad”.
The way I would want my output would then be something like:
Happy: 0.1 Sad: 0.9 Angry 0.9 Afraid: 0.2 etc.
I have considered the current approach of dealing with multiple intents, but it doesn’t seem feasible to me currently, because I would have to make separate stories for every possible combination of 7 intents, which I would then also have to provide with training data. That means I would have to provide 128 different stories, intents, and also populate these with training data.
Right now what I am doing is having the intents separately, which brings me a ranking, of probabilities, which adds up to 1. Something like:
Sad 0.4 Angry 0.4 Sad 0.1 Happy 0.1 etc.
The problem I have with this is that it assumes the different intents are mutually exclusives, which unfortunately from the example is clear that they are not.
As a TL;DR: How do I evaluate multiple non-mutually exclusive intents on a single message?
Thank you for your time!