It is essential to understand, that not all software needs to recognize emotional tone and then act differently. The need for artificial empathy, for example, would be of little benefit when scheduling a meeting or looking up a recipe. There are, however, sensitive areas such as software dealing with health issues, where handling emotions appropriately is of far greater importance.
Evgeny Sorokin, Head of Research & Development at Devexperts, explains the challenge of achieving artificial empathy for a chatbot from a technical perspective.
The rule of thumb is that it is better to have a neutral response than to have one that is inappropriately happy or sad. For those who would like to take the user experience to the next level, studies have shown that when you achieve matching the mood and style of the conversation, users report that they liked the virtual assistant more. This positively influences key retention metrics in many instances.
So, how can a machine learn to recognize patterns that are associated with a particular emotion and respond accordingly?
With a sufficient volume of labeled data you can indeed classify the conversational style of the user.
Quality training techniques improve the pattern recognition substantially.
And here comes the complexity: while working with the training set, the developer should carefully divide it into multiple subsets. Not only does this make the process more labor-consuming, in each subset the number of utterances become fewer, which in turn can give worse intent recognition and makes all of the effort irrelevant.
Another challenge is the difficulty of making sense of the emotions of each individual person, because not everybody expresses emotions or interprets them in a uniformed manner. The best strategy here is again to have as many labeled examples as is reasonably practical in order to tune the machine learning models.
Having completed this part, you can teach your bot to respond differently, depending on the type of user’s emotion you wish to emanate.
Below are a list of practical suggestions on how to achieve artificial empathy:
- Use as much context as possible: remember past user’s actions, idleness, time and location the user is in.
- Compose numerous strong responses for each intent and ensure that the machine does not repeat itself time after time.
- Record entities used in the dialog, match the pronouns to those entities, use relevant synonyms.
Following this formula, raises the conversation to an entirely new level and creates the illusion of awareness, even without the use of hard computer linguistics.