Emotions in FAtiMA are based on the OCC theory of emotions:
Cognitive theory of emotions : Emotions develop as a consequence of certain cognitions and interpretations
Emotions represent valenced (good or bad) reactions to events/perceptions of the world
- OCC defines a set of appraisal variables:
- Main variables used to determine the type and intensity of
emotions generated such as
- Main variables used to determine the type and intensity of
Appraisal Process – What does an agent feel about an event?
In FAtiMA the appraisal process is defined by two main steps, the Appraisal Derivation and the Affect Derivation.
The first, Appraisal Derivation, determines what appraisal variables are affected by the event and their value.
The second, Affect Derivation, computes what emotions are being triggered by those variables, their intensity and the resulting mood which in turn will affect the agent’s emotional state.
In FAtiMA the author is in control of the first process, the Appraisal Derivation, by defining Appraisal Rules. The second process, the Affect Derivation, is internally computed by the framework.
Appraisal rules determine how an agent subjectively evaluates events. This is done by defining event templates, that associate events with the OCC variables.
- “Receiving candy is desirable”
- “EventTemplate”: “Event(Action-End, *, Offer(Candy), SELF)”,
- “Desirability” = 5
- “Being insulted is undesirable and blameworthy”
- “EventTemplate”: “Event(Action-End, *, Insult , SELF)”,
- “Desirability” = -5,
- “Praiseworthiness” = -3
Let’s take a look at how this works in the Authoring Tool. Charlie feels happier every time someone gives him money:
Appraisal rules may also have conditions. In the gif above I defined that whenever the Charlie agent perceives an event of the type GivesMoney([x]), if variable [x] is bigger than 0 then he would appraise the event with desirability of 5.
An even better to have done it would be to set the desirability to have the same value as [x], this way the desirability of the event would change according to the amount of money received:
- “Receiving money is desirable according to the amount received”
Another appraisal rule example, this time with conditions:
- “Receiving something I like is desirable”
Note: “SELF” is a special reserved word that is substituted by the agent’s real name when being evaluated.
In FAtiMA there are 5 different appraisal variables:
- Desirability: Are the consequences of an event desirable for me?
- Desirability for others : Are the consequences of an event desirable for other(s)?
- Praiseworthiness : Is the action praiseworthy?
- Goal Success Probability : How far is the agent from a particular goal?
- Like : Is the action/object appealing?
Authors can use any of them in an Appraisal Rule. The picture shown in the beginning of the page captures how each emotion is generated. Here is another description, taken from the article: “The OCC Model Revisited“.
|Joy||(pleased about) a desirable event|
|Distress||(displeased about) an undesirable event|
|Happy-for||(pleased about) an event presumed to be desirable for someone else|
|Pity||(displeased about) an event presumed to be undesirable for someone else|
|Gloating||(pleased about) an event presumed to be undesirable for someone else|
|Resentment||(displeased about) an event presumed to be desirable for someone else|
|Hope||(pleased about) the prospect of a desirable event|
|Fear||(displeased about) the prospect of an undesirable event|
|Satisfaction||(pleased about) the confirmation of the prospect of a desirable event|
|Fears-confirmed||(displeased about) the confirmation of the prospect of an undesirable event|
|Relief||(pleased about) the disconfirmation of the prospect of an undesirable event|
|Disappointment||(displeased about) the disconfirmation of the prospect of a desirable event|
|Pride||(approving of) one’s own praiseworthy action|
|Shame||(disapproving of) one’s own blameworthy action|
|Admiration||(approving of) someone else’s praiseworthy action|
|Reproach||(disapproving of) someone else’s blameworthy action|
|Gratification||(approving of) one’s own praiseworthy action and (being pleased about) the related desirable event|
|Remorse||(disapproving of) one’s own blameworthy action and (being displeased|
|Gratitude||(approving of) someone else’s praiseworthy action and (being pleased about) the related desirable event|
|Anger||(disapproving of) someone else’s blameworthy action and
(being displeased about) the related undesirable event
|Love||(liking) an appealing object|
|Hate||(disliking) an unappealing object|
In FAtiMA Toolkit we are able to generate all emotions mentions above. In the following figure we describe which variables authors should use to capture each emotional groups:
The main difference between the emotions attributed to the Praiseworthiness Appraisal Variable concerns who the actor of the action is. If the agent him/herself is responsible for the action that is being appraised then it generates either “Pride or Shame”. If the action was performed by someone else then it can lead to either “Admiration or Reproach”. The same process is also applied to the “Well-Being/ Attribution compounds” emotions.
Goals and Goal Success Probability
While FAtiMA’s emotional appraisal is based on the OCC Model, the current version deviates a bit regarding the “Goals” component.
Goals are defined by:
- Name : The ID of the goal
- Significance : How important the goal is to the agent, from 0-10
- Likelihood : The starting probability of the goal, it can go from 0 to 1.
Once the goal is added it is possible to add an appraisal variable related to it when defining an appraisal rule.
Which results in the figure below:
If the rule is matched then the likelihood of the goal is updated to the value we’ve just defined in the Appraisal Rule. In this case, the likelihood of the goal “Like” would be updated to 0. And, as a consequence generate “Disappointment”.
The differences between FAtiMA and the OCC model, start in the two assumptions we make. First of we consider that all goals are something the agent wants to attain, and, as such they should all be “positive”. For instance, the goal that “the agent does not want to die” should be be “the agent wants to live/survive”.
The other assumption that we make is that the extremes, aka, 0 and 1, are confirmed status. If the likelihood of a goal is 0 then it has failed. If the likelihood of a goal is 1 the it has been achieved.
So how do we generate the goal based emotions? Let’s take a closer look at the prospect based emotions:
At the moment we consider that a goal has been confirmed it case it has reached its goal or it has failed. In our case its likelihood has reached one of the extremes, either 0 or 1. Now, another factor comes into account, the likelihood of the goal before a certain event.
We consider that emotions of relief and disappointment happen when there is a major shift in the prospect of a goal. When the agent expects something to happen but its probability drastically changes. For example, if an event such as “Live” had a low likelihood and, all of the sudden, its probability increases a lot then the agent feels Relief.
So now we have two factors, current and previous likelihood and the expectation/result:
|Previous Likelihood||New Likelihood||Emotion|
The differences from Hope and Fear to Disappointment and Relief comes from what the agent was expecting to happen and if the event drastically changed those prospects. Another important note is that Disappointment and Relief will also be generated in the extremes. If the agent was expecting a goal to be achieved and it fails it will generate the “Disappointment” with more intensity than “Fears-Confirmed”.
These assumptions and adaptations are aligned with our interpretation of the OCC Model and as always might be subject to changes in the future.
Next let’s take a look at the Emotional Decision Making module.