Question: How do you inject emotions into chatbots, Andres?

Post signed by: ANDRES TOMÁS HOHENDAHL, NLP Researcher

Injecting emotions is a rather complicated task, so I started by using lots of heuristics, classifying the user inputs and the bot answers, trying to figure out emotional communication and frustration states, as the emotional state is a result of several ongoing acts, and somehow measures or emotional readouts of the result of those interactive acts.
In other words if the bot gets a question, and knows how to answer it, he gets happier, if the user denies or objects the answer, he gets a little frustrated, if the user says nonsenses (not understandable things) the bot gets curious and asks further, if the user employs harsh terms, he might go into a defensive-first and angry after state, all was based on the Plutchick’s emotional model, implemented with fuzzy logic. This not only helps to understand the behavior or a bot, but also allow to model a perception of the user’s mood, by having a similar lecture of user’s state (using the exact trans-located states) in this way the intelligent agent may be able to ” predict” the user’s emotional state and act according to this, preventing anger and trying to keep the user happy, if this might be the goal of the conversation.

In my believe this techniques are essential for any HCI specially in Support or a CRM based agent to keep the user informed and happy, unless he (the user) is or gets angry, in such case the agent should detect the fact, (infer) and try to calm him down, chill the things down and seek for satisfaction granting, by offering apologies, offering rebates or prompt failed product exchange, gifts or whatever might suffice.

All this is still very experimental because the emotional classification of conversational acts and the act-chain itself are very complicated, I have not found a proper corpus for training the classifiers, whether English not Spanish, so common sense and advanced heuristics are my only bet now!

1 comment for “Question: How do you inject emotions into chatbots, Andres?

  1. 9 December, 2011 at 10:57

    Dear Andres,

    I am not quite sure if I understand correctly what you mean.

    Motivation: Nobody doubts that “injecting” emotions in computer programs is important. And there are a lot of studies — I am a living example.

    Corpora: You are looking for corpora to train and to test your approach. I think the main problem why you don’t find something acceptable is that you are looking for a corpus tagged as emotional or even better with the title “Emotional corpus for learning and testing”. In this case, you’d really have problems with your search since it is really difficult to find a corpus that fits your requirements. However, if you abstract from this emotional seeing that is comprehensible for humans and accept that even product reviews can be considered as emotional (positive review means positive emotion; negative review means negative emotion) you would have less problems with corpora.

    Tagging: you analyze discrete emotions using the model of Plutchik. There are also models of Ekman or Izard. Why do you prefer Plutchik? And BTW are you sure that discrete models are good for analyzing cyberemotions? As you mentioned, you resolve arising problems with complexity of NLP texts using fuzzy logic, but in this case you use the probabilistic fuzzy classifier and reject using analytical classifiers as SVM.

    Tagging: Discrete models are comprehensible for humans, but you are talking about cyberemotions that must be comprehensible for computers. To analyze cyberemotions I would use continuous models that define emotions with numerical dimensions Evaluation/Activation. For example, joy would be an emotion with high evaluation and high activation.

    My suggestion: please go to my homepage and find a short description of EmoText with references to 5 corpora (with dialogues, with movie reviews, with weblogs etc) which you can use in your research. You can also consider the slides of my PhD thesis. Addressing cyberemotions, I would use the Sensitive Artificial Listener (SAL) corpus that is tagged with the FEELTRACE tool. AO

Leave a Reply

Your email address will not be published. Required fields are marked *