Some notes on Clark Elliott and the Affective Reasoner, Jan. 1997 (a) who I am (b) what the Affective Reasoner is (summary of capabilities) ============================================================ Dr. Clark Elliott Assistant Professor (since 1992) Institute for Applied Artificial Intelligence School of Computer Science DePaul University, Chicago PhD from: The Institute for the Learning Sciences, Northwestern University, 1992 Developed the Affective Reasoner at ILS as a graduate student, and Visiting Scholar, and at DePaul University as faculty. =================================================================== Summary of Affective Reasoner (AR) information. =================================================================== A collection of Artificial Intelligence programs that reason about human emotion, and are embodied in multimedia computer agents. Agents are each comprised of 30K lines of LISP (computer) code. Originally based on the theoretical work of Andrew Ortony, et al. Agents have two-part personalities: a disposition which controls how they construe the world, which in turn leads to different emotion responses to situations that arise; and a temperament which controls how they express the emotions that they have. BREADTH of EMOTION: Agents are able capable of "having" twenty-four different categories of emotion, such as love, hope, fear, gloating, reproach, joy, gratification, etc.; in each category there are many different qualities and intensity of emotion. For example, the category ANGER includes emotions associated with the words annoyed, displeased, peeved, angry, mad, enraged, furious, apoplexic, and so forth. Situations arise in their world (e.g., a user says something to them). The agents' dispostions control how they construe these situations. Variables in the situation are bound to values according to these construals. These bindings determine which emotions arise, and at which strength. Agents can have multiple, even conflicting, emotions at the same time. INTENSITY: Each emotion category has some subset of 22 different intensity variables associated with it. Variables such as degree of importance to the agent, surprisingness of the action, importance of the principle, temporal proximity, and so forth, affect the intensity of each emotion the agent "has." TEMPERAMENT: Once an emotion arises, agents have approximately 440 channels through which they can express these emotions: each emotion has approximately 20 of the channels. For example, anger might be expressed somatically as "turning red" at one end of the spectrum (not intentional), or by "invoking a plan to get even" at the other end of the spectrum (highly intentional). In between we might find "verbal expression" (e.g., say something), "emotion repression" (deny that anything is wrong), and so forth. Channels are activated according to the temperament of the agent. NOTE: these expression channels are not highly developed at this point! MULTIMEDIA COMMUNCATION WITH USERS: The agents are responsive in real time (e.g., when you talk with them, they respond immediately; if you don't say anything, they might get impatient). Agents have approximately 70 different facial expressions at their disposal. Their mouths move, and they control the speed with which they morph from one expression to another (also size and color of the face). Agents speak using text-to-speech technology. They can speek any sentence generated, in real time. Agents have limited ability to listen to spoken English, using speech recognition software. Agents have access to a, theoretically, almost unlimited amount of music to use to express emotions. They can retrieve and play any music selection in less than a second, and the music can be indexed down to 1/1000th of a second. Agents select their own music to express their emotions, from pre-coded categories. Of special note is that we use a "minimalist" approach: the agents can run on a standard multimedia PC, and are effecient enough to be run over the Web through a standard modem (Web versions are only in very early stages of development). NOT MENTIONED: agents can reason about the emotions that others are having about situations that arise; agents have relationships; agents have moods; agents keep models of how others see the world; etc. Details here get somewhat complex. WHAT THE AR DOES DO: The Affective Reasoner allows some forms of intelligent reasoning about human emotion. It allows us to represent the beginnings of a shallow personality for computer agents. The AR has representations for the dynamic use of hundreds of emotions, and hundreds of expressions of emotions. AR agents can be quite surprising in what at first pass seems to be intuition about emotional life (but which can always be traced back to a commonsense understanding of simple reasoning about what is important to people). The multimedia interface has been clinically shown to be quite effective at communicating social information about situations through channels otherwise not utilized between humans and computers. The AR allows us to study a wide range of topics from story representation, to computer interfaces for children, to theoretical models of human emotion. WHAT THE AR DOES NOT DO: The Affective Reasoner does NOT understand ANYTHING about the world except emotions. If a computer agent is sorry for me that my mother died, it really is saying that it is sorry for me because I seem to care that my framistat conyixded, or that my 123 ABCed. The AR does NOT do any sophisticated form of natural language understanding (NLU): such work can be plugged into the AR, but we have not done so. The AR does NOT do any planning (so while it might be sophisticated in its knowledge about when to invoke a plan to get even, the plan itself will be trivial). Speech recognition, NLU, planning, and general reasoning about the world are all hard AI problems that others are working on. WHY THIS WORK IS IMPORTANT: (1) Humans are vastly more intelligent than any machines we will be building for a long long time; hence to build smart machines we study human intelligence. Emotion is an integral part of what humans think about, and how they operate. There is every likelihood that emotion is an integral part of true intelligence, and it certainly is important to building machines that can operate in society. (2) To understand natural langage we have to understand the world we speak about. Human emotion is a vital part of what people think about, write about, and communicate with, and hence is important in understanding language. (3) The ability to test models of emotion and personality on the computer may help us to understand humans, and help them to lead happier, more effective, lives. (4) Tutoring systems, especially children, may well be more natural and fun to use with a more social approach to instruction (5) Last, but not least, "user modeling" (the ability to reason about what computer users are thinking) has long been considered an important element in the construction of effective computer tutoring systems. Little progress has been made in this difficult area. A much smaller problem is to perform what I call "affective user modeling" wherein rather than reason about what people are thinking we reason only about what they are feeling. Because the AR agents already are beginning to maintain models of each other, and of the humans they interact with, and because they understand a great deal about emotion, there is every reason to believe that they will be able to effectively model the emotion states of users, and respond appropriately. (Note also that users seem motivated to let the machine know how they are feeling when it "gets it" even in its simple-minded way.) Think about this: next time you get frustrated with your machine, would it be so bad to be able to say, "I'm so frustrated right now. I hate you!" and have it respond, "Ohhh. Rats. I'm sorry. It IS frustrating sometimes isn't it? I am only a stupid computer, but in my own small way I care that you are not happy with me. Perhaps I should switch to verbose mode for the help files for a while, or perhaps we should send a message to the user group asking for assistance?"