Introducing Affective Agents in Recommendation Systems Based on Relational Data Clustering

15
Introducing Affective Agents in Recommendation Systems based on Relational Data Clustering Jo˜ ao C. Xavier-Junior 1 , Alberto Signoretti 2 Anne M. P. Canuto 3 , Andre M. Campos 3 , Luiz M. G. Gon¸calves 1 , and Sergio V. Fialho 1 1 Computing and Automation Engineering Department, UFRN, Natal, Brazil [email protected] , {lmarcos,fialho}@dca.ufrn.br 2 Computer Science Department, UERN, Natal, Brazil [email protected] 3 Informatics and Applied Mathematics Department, UFRN, Natal, Brazil {anne,andre}@dimap.ufrn.br Abstract. This paper proposes the use of a multi-agent system (MAS) with affective agents in a recommendation system based on relational data clustering. This MAS works as a mediator between the user and the data stored in the system. In the proposed system, after logging in, each user will have an affective agent, called Interface agent, for interac- tion purposes. This agent models the user’s data requests according to the user’s profile (through a relational clustering algorithm) and its af- fective status, sending it to the Recommender agent, which recommends a set of map points to be visualized. The system analyzes the user’s feedback in order to verify whether the recommended information was satisfactory. This feedback is analyzed through the monitoring of the interaction interface (interaction of a user with the system). Keywords: Agents, Affective agents, Recommendation Systems, Data clustering 1 Introduction Recommendation systems are becoming popular in applications and as a research field due to recent advances on Internet technologies [15]. Usually, people have their own preferences when choosing what is important for their use. In this sense, recommendation systems can play an important role on providing relevant recommendations for costumers who are choosing data items or links to access. Recommendation systems can use computational intelligence techniques to be trained, for instance, to find patterns among different users and subjects [1]. Currently, a reasonable number of recommendation systems use data mining techniques to make recommendations after learning information from previous actions and attributes of users [23]. In this sense, these systems are often based on the development of user profiles that can be persistent (history data), ephemeral

Transcript of Introducing Affective Agents in Recommendation Systems Based on Relational Data Clustering

Introducing Affective Agents inRecommendation Systems based on Relational

Data Clustering

Joao C. Xavier-Junior1, Alberto Signoretti2 Anne M. P. Canuto3, Andre M.Campos3, Luiz M. G. Goncalves1, and Sergio V. Fialho1

1 Computing and Automation Engineering Department, UFRN, Natal, [email protected] , {lmarcos,fialho}@dca.ufrn.br

2 Computer Science Department, UERN, Natal, [email protected]

3 Informatics and Applied Mathematics Department, UFRN, Natal, Brazil{anne,andre}@dimap.ufrn.br

Abstract. This paper proposes the use of a multi-agent system (MAS)with affective agents in a recommendation system based on relationaldata clustering. This MAS works as a mediator between the user andthe data stored in the system. In the proposed system, after logging in,each user will have an affective agent, called Interface agent, for interac-tion purposes. This agent models the user’s data requests according tothe user’s profile (through a relational clustering algorithm) and its af-fective status, sending it to the Recommender agent, which recommendsa set of map points to be visualized. The system analyzes the user’sfeedback in order to verify whether the recommended information wassatisfactory. This feedback is analyzed through the monitoring of theinteraction interface (interaction of a user with the system).

Keywords: Agents, Affective agents, Recommendation Systems, Dataclustering

1 Introduction

Recommendation systems are becoming popular in applications and as a researchfield due to recent advances on Internet technologies [15]. Usually, people havetheir own preferences when choosing what is important for their use. In thissense, recommendation systems can play an important role on providing relevantrecommendations for costumers who are choosing data items or links to access.Recommendation systems can use computational intelligence techniques to betrained, for instance, to find patterns among different users and subjects [1].

Currently, a reasonable number of recommendation systems use data miningtechniques to make recommendations after learning information from previousactions and attributes of users [23]. In this sense, these systems are often based onthe development of user profiles that can be persistent (history data), ephemeral

2

(actions during the current session), or both. Clustering is one of the data min-ing techniques used in recommendation systems and they can be used to identifygroups of users who appear to have similar preferences. In this case, the recom-mendations can be based on previous actions of users with similar preferences.

Considering Damasio’s work[6], emotions are an important part of the humandecision making process. Therefore, computers that can interpret these emotionsor affective states of the user may be more effective in providing assistance. More-over, computers that use an affective model as a part of their reasoning processare probably more efficient [21]. This proposal uses the concept of affective agentsin both ways, either regarding human assistance, in our case a guidance, as wellas regarding the improvement of the efficacy of the agent’s reasoning process bydefining an attention focus.

The main motivation of introducing affective agents in recommendation sys-tems based on relational data clustering was originated in the positive resultsobtained from two existing projects developed in our research group. One ofthem uses an attention focus conducted by the agent’s affective status to guidethe perception process of goal oriented agents. The aim is to improve the effi-ciency of the agent’s reasoning processes [27]. The other one uses the relationalstructure of the database and the searches log file carried out by the users in or-der to create data clusters [12]. The aim of this work is to join the positive pointsof these two previous works to improve the effectiveness of a recommendationsystem. In addition, it is possible to find research works using recommendationsystems with data clustering as well as the use of affective agents in multi-agentsystems. Nevertheless, to the best of our knowledge, there are not any worksusing affective agents in recommendation systems.

In this proposed system, the user can enjoy the best possible experience inobtaining the information he seeks. The environment is a multi-agent system thatuses a number of affective agents. They use three types of information to providean accurate guidance for data search: the information stored in data clusters,the searcher’s log files and the attention focus based on the user’s preferences.

This paper is divided into six sections and structured as follows. Section 2analyses the works related to this paper. Section 3 presents an overview of aGeographical Information System (GIS) named NatalGIS where the proposedmechanism was introduced. Section 4 discusses the implementation aspects ofthe system. Section 5 presents the prototype interface. Finally, Section 6 reportsthe conclusions of the authors.

2 Related Works

For convenience, the review of related works are grouped in two areas: Recom-mendation Systems with Data Clustering and Affective agents.

2.1 Recommendation Systems with Data Clustering

Recommendation systems can use different techniques in their decision-makingprocess, such as: rule-based filtering, content-filtering or collaborative filtering.

3

Some recent works in collaborative filtering have used data mining techniquesto build recommendation models from large data sets. One of the data miningtechniques most used in Collaborative filtering is data clustering, as found in [5][26] [25]. Clustering is a technique used to group data instances (records) basedon their location and connectivity within an n-dimensional space. The principleof clustering is to maximize the similarity inside an object group and to minimizethe similarity among the object groups.

In [25], for instance, the authors used the k-means clustering algorithm, whichis the most popular algorithm, where the user specifies the number of clusters (k).The clustering method automatically creates several data files (links) to be con-sidered in Adaptive and intelligent web-based educational systems (AIWBES).In addition, in [5], a clustering approach based on a semi-supervised learningprocess was proposed to construct a recommendation system for movies. In thementioned work, a constrained k-means was used to create a highly accuraterecommending system.

2.2 Affective Agents

Computational models representing emotion, personality and humor have beenwidely used to simulate human behaviour. Several different architectures havealready been proposed with this aim, like ALMA (A Layred Model of Afect) [9],BASIC (Believable Adaptable Socially Intelligent Character for Social Presence)[24], SIMPLEX (Simulation of Personal Emotion Experience) [14] and the pro-posal of Kasap at all [13]. All these architectures use models based on emotionand personality as a way of creating agents (avatar) that are capable of emu-lating a human conversation. These agents can show surprise or fear and a setof other emotions, including a mood driven behaviour initialized by the agent’spersonality[19][18].

Gartch and Marsella [16], for instance, introduced a computational modelcalled EMA (EMotion and Adaptation) that models the dynamics of emotions.However, differently from the other models, EMA implements a focus of attentionbased on appraised frames where the coping action is determined by the mostrecently accessed frame, and with the highest mood-adjusted intensity.

The present work uses emotions and personality based models in the agentarchitecture. In this respect, this work is similar to the aforementioned works.Nonetheless, this work does not attempt to represent human behaviour as real-istic as possible. Our goal is to use the human behaviour model as an inspirationfor providing an efficient focusing process for the agent decision-making pro-cess in order to create a list of recommended information and to implement anempathic interface for the user.

3 System Overview

The recommendation mechanism was implemented as part of Geographical In-formation System named NatalGIS. This is a multi-agent system which pro-vides geographic information for a group of researchers (biologists, geologists

4

and oceanographers), environmental managers and tourists. This system is re-sponsible for the environmental management of an area of coral reefs located inthe state of Rio Grande do Norte, Brazil [10].

The original system architecture is composed by three types of agents (Con-troller, Interface and Recommender). The configuration and interactions areshown in Figure 1. In NatalGIS, each user will interact with the system throughan Interface agent (IA), which captures the user’s profile (explicitly through theuser’s interaction or being implicitly inferred) and monitors the user’s feelingsand intentions through the interface events. After collecting this information, arecommendation request is prepared and sent to the Recommender agent (RA),which accesses the clusters database (clusters DB view repository) in order tomine the necessary information for building the data recommendation requestedby the Interface agent.

The process of requesting and receiving this recommendation is called asearch cycle. In addition, this recommendation is a list of geospatial map points(or simply map points), which might be interesting for the user. Finally, theController agent (CA) is responsible for activating the Interface agents for eachuser’s login request and for maintaining an overall control of the system.

In this work, it was decided to define the Interface agent as an affective agentsince each user will have his own Interface agent. Also, the decision-makingprocess will take into consideration the emotion, personality and attention focusof each user.

Fig. 1. The NatalGIS architecture where IA means Interface agent, RA means Recom-mender agent and CA means Controller agent

3.1 Interface agent

The Interface agents are software facilitators (wizards) that run in the back-ground, analyzing the users actions in order to assist them or perform actions

5

in their place. Each user logged in the system has a particular Interface agent.Figure 2 shows the Interface agent schematically.

Fig. 2. The Interface agent Architecture

As already mentioned, in the NatalGIS system, the Interface agent (IA) is anaffective agent which is responsible for tracking down the intentions and feelingsof the user in order to create a search process which is related to the needs ofthe user. The tracking process is implemented through the analysis of the eventstriggered by the user (event trigger analyser module in Figure 2) in conjunctionwith previously gathered information about the user (the user profile database).This database contains important information about the user, such as the user’stype and preferences, as well as an initial focus of attention. The latter is usedin order to concentrate the recommendations on the most relevant informationto the user.

– The user type defines to which group the user belongs (researcher, manageror tourist)

– The preferences is a set of information that shows how the user prefers toreceive and manipulate search results such as: type of search (for instance,general and shallow or focused and detailed), type of graphics and colour ofthe result presentation, presentation of combined or individual data, and soon.

– The initial focus of attention is defined by a previously filled form or by adefault focus (depending on the wish of the user to fill the form or not)

Initially, the user profile database contains only information provided by theuser. In addition, the clustering and recommendation processes are basically builtusing the type of user. When the user gains access to the system, his/her profile isupdated and those processes will also use access information of the user. In otherwords, the initial recommendation process is made using generic informationabout the users (for example, the user type) and the more a user accesses thesystems, the more detailed and accurate the recommendation process becomes(using more specific information about this user).

6

The evaluation of the triggered events can cause reactions that change thestate of the affective module. These changes are used to define the operation tobe performed on the attention focus and to adapt the agent’s behavior, aimingto fulfil the needs of the user.

In order to guide the user, the IA uses its affective module and the inter-action with the user to establish the best attention focus. Then, a request ofservice is sent to the Recommender agent (RA), which will be responsible forcreating a ranking list of map points (recommendation object - RO) based onthe information sent by the IA (affective state and the user profile).

Finally, after receiving the map points list the IA presents the most importantpoints, according to the ranking list of size L. The value of the L parameter isa function of the agent’s affective state (defined as a pseudo Gaussian functionwhere the X axis is the affective state and Y is the L parameter [27]). These mostimportant points are then presented to the user and the form of presentationis based on the preferences of the user. After this last step, a new search cyclebegins and the IA initiates the evaluation of the events that were triggered bythe user.

3.2 Recommender agent

The Recommender agent (RA) is a service provider for the Interface agents, asshown in Figure 1. It is important to emphasize that each Interface agent willinteract with one Recommender agent. However, each Recommender agent willprovide service to, at most, N Interface agents simultaneously. In this sense, thesize of the pool is dynamic and controlled by the Controller agent (CA) whichdefines this size based on the quantity of activated IAs.

This agent is responsible for applying a ranking function in order to generatean ordered list of map points based on the users’ relevance criteria defined bythe IA. The ranking function uses the attention focus, user profile information,the access history of the user and the history of access of other users with sim-ilar profiles as arguments. After completing the service task, the RA sends theordered map points list to the requesting IA.

3.3 Controller agent

The Controller agent (CA) is responsible for managing all the connections re-quested by the users. For each requested connection, an Interface agent (IA)is activated and a Recommender agent (RA) is associated to this IA. For theRAs, the pool is initially defined with a proportion of at most five IAs for eachRA (N = 5). This proportion is dynamically adjusted depending on the timeresponse of the pool of RAs (the value of N can increase or decrease).

When the session is terminated (by the user or by expiration time), theCA is responsible for deactivating the corresponding IA and the associationrecommender/interface is finished.

This agent is responsible for clustering the relational data related to the userswhen accessing the NatalGIS system. In addition, users are constantly changing

7

their needs and desires. This behaviour impacts the system proposed herein,so that the clustering process is dynamically built. In other words, a user canchange groups during the use of system. Also, the overall clustering process isperformed periodically (daily, weekly or monthly). Then, the list of suggestionsis constantly updated, based on the users actions. The CA is responsible fordeciding when running the clustering process.

4 Implementational Aspects

All the agents have been implemented as a generic architecture of agents withattention focus [27] and developed using the JASON framework [2]. The sys-tem runs over a network using the communication infrastructure provided byJADE framework [7]. The customization procedures implemented over the JA-SON framework were coded in Java Language. By using JADE, messages strictlyadhere to the ACL (Agent Communication Language) standard which allowsseveral possibilities for the encoding of the actual content.

4.1 The Affective Module

The affective module is composed of information about emotions, humor andpersonality of the agents. In this sense, the selection of the models for imple-mentation was carried out considering recognized computational implementa-tions [3][9][13][24]. As a result, the following models were selected: the BigFivemodel for personality [17], the PAD model for humor (mood) [19] and the OCCappraisal model for emotions [20].

Although there is no universally accepted theory of personality, the BigFiveor OCEAN model is the most widely used theory for simulating virtual agent’spersonality. According to this model, it is possible to characterize a person ac-cording to five personality traits named as Openness, Conscientiousness, Extro-version, Agreeableness, and Neuroticism. In our model, each agent has thus abig-five personality profile providing value for each trait in the range [0; 1].

The PAD model is also largely used in computational models for representinghumor or mood[3][9][13][24]. According to this model, mood can be expressedin terms of Pleasure, Arousal and Dominance [19]. The PAD model can berepresented in a 3D space by using axes with the variation range of [-1,1] foreach dimension. Mood is then described as a classification of each of the threemood space axis: +P and -P for pleasant and unpleasant, +A and -A for arousedand unaroused, and +D and -D for dominant and submissive.

Finally, the OCC model [20] is used to implement the emotions elicitation. Itis a cognitive model based essentially on the concepts of appraisal and intensity.The individual makes a cognitive appraisal of the events that are occurring in theworld. The emotions are defined as valenced reactions to these events. It meansthat an appraised emotion has an attached value that indicates if the perceptionis good or bad and also its intensity.

8

It is important to emphasize that the time variable is very significant for thehuman temperament emergence [16]. Beyond the temperament emergence thereis a temporal relationship among emotions, humor and personality. Emotion hasa transitory duration, that is, it is a short-term expression. In its turn, humoris a medium-term expression and, finally, personality is a long-term expression[9][13][14]. The latter is normally considered static during adulthood. Then, theupdate process of emotions and humor occurs of four stages, in a similar way asdescribed in [13].

1. the events of the environment are perceived by the agent’s perception pro-cess, and according to OCC’s rules, appraisal defines the elicited emotionsand their intensities. The vector Eta containing the intensity of all elicitedemotions is created. Eta = {eta1(t), eta2(t), · · · , etan(t)}, where etai(t) ∈[0, 1].

2. the vector representing the agent’s emotional state Emt is updated usingthe updating filter function fe(Eta(t),mcur(t)), where mcur(t) is the agent’scurrent mood.

3. the updated emotional state vector is used to update the agent’s mood stateusing the updating mood function.

4. the agent’s emotional state and current mood are updated by the decayfunctions.

In our approach, the decay function distinguishes positive from negative emo-tions since negative emotions tend to stay longer than positive ones [13]. Thedecay update function was defined as (where N refers to the Neuroticism traitof the OCEAN model):

Et+1mt =

{Etmt.e

−t(N+1)/1,5 for positive emotionsEtmt.e

−1,5t/(N+1) for negative emotions(1)

Model implementation The affective architecture [27] is abstract and gen-eral enough to be implemented on most of the agents’ development platforms.However, for testing purposes the Jason platform was chosen. Jason [2] is aninterpreter for an extended version of AgentSpeak, a BDI agent-oriented logicprogramming language [22]. It implements the operational semantics of thatlanguage and provides a platform for the development of multi-agent systems.In this platform, the agents are built using a set of beliefs and plans. The setof beliefs is implemented in the agent’s beliefs base, which defines the generalknowledge of the agent and the specific knowledge about the agent itself andthe environment where it is located. The set of plans defines the agent’s desiresand intentions. The objectives to be achieved are represented by the desires,and the actions chosen to be executed are represented by the intentions. Theplans are activated by specific events and define the agent’s behavior. In orderto implement the affective model, the Jason’s standard reasoning cycle was mod-ified through the customization of the belief revision function (BRF) and beliefupdate function (BUF)[27].

9

4.2 Attention Focus

The attention Focus works as a virtual membrane in order to produce a fil-tered subset of geographical information for the ranking map points process.This process of calculating the attention focus is based on the affective moduleof the architecture. This link with the affective module is useful for reducing orincreasing the amount of geographical information according to the IA’s emo-tional state, as well as for defining what is more or less important for the IA ina particular state. The agent’s attention focus is structured as:

– Spatial focus: it is related to the contents the IA (user) is interested in.– Temporal focus: it is related to the quantity of elements that the IA (user)

is able to evaluate.

Spatial Focus The spatial focus is responsible for establishing the level ofimportance (LoI) of the geographical information available in the data base. Itis characterized according to a set of attributes called aspects (the secondarytables of the relational database). The interest related to each aspect of thedatabase is represented by values defined by the IA in conjunction with theuser. These values are mapped in a range [0, 1] ∈ R by a sigmoid function. Theyare updated during the use of the system following the feedback sent by the userin relation to the recommended information. Based on the LoI, the RA createsa priority order over the map points (ROs) available in the data base.

Temporal Focus Once the map points are defined and prioritized by the RA,it is important to reduce this set to a limited number of elements. Thus, thetemporal focus is responsible for setting the amount of map points that willbe available for the IA. This is done by cutting the ordered list according to aspecific L parameter as illustrated in Figure 3.

Fig. 3. The ordered list of maps points

As already mentioned, L is not a fixed value and it varies according to theagent’s affective state and, as a result, assumes different values when, for in-stance, the agent is relaxed or stressed. This approach is used by Janis andMann [11] apud [28] when they describe the relationship between the effective-ness of individuals and their state of stress through an inverted ”U” curve. The

10

assumptions used in this work are: 1) the quantity of map points considered forthe user presentation is directly related to the effectiveness of the user inter-pretation and decision, and 2) the agent’s emotional state is directly related tothe agent’s stress level. As a result, the L function was empirically defined as apseudo Gaussian distribution, defined as follows.

L(x) = e−δ(x−µ)2 (2)

The parameters δ and µ are adjusted during the system configuration andcorrespond to the degree of an inverted ”U” curve and its max value respec-tively. The value x is derived from the agent’s state of humor. This derivation isimplemented using an average value among the distance of the point represent-ing the current agent’s state of humor in PAD-3D space [19], and the positionsrepresenting the extreme relaxed mood (+P-A+D = +1-1+1) and the extremeanxious mood (-P+A-D = -1+1-1) (explained in 4.1). These extreme points inthe PAD-3D space were selected because of their similarity with the stress levelconcept used by Janis and Mann [11]apud [28].

4.3 The Relational Clustering Module

This module uses a Data Mining technique (Clustering) to identify differentgroups of users in NatalGIS according to their history data (access logs). Theclustering processing is made by the Controller agent and it uses the history ofthe users’ accesses to group the users. In order to generate different clusters,we used the Hierarchical Agglomerative algorithm (average link method) [8] andalso modelled the relational database (access logs) in a hierarchical structure,aiming to improve the effectiveness of the clustering algorithm [12].

For the clustering algorithm two parameters were considered: the numberof clusters (k) and the linkage type. Previous experiments have shown that theAverage linkage type, on average, can provide better results than the completeand single linkage types [12].

For this reason, we used only the average linkage type in the clustering algo-rithm. The Average linkage uses the average distance between all pairs of objectsin any two clusters and can be obtained as follows:

d(r, s) =1

nrns

nr∑i=1

ns∑j=1

dist(xri, xsj) (3)

When clustering relational data, in many cases, the data is composed ofnumeric and categorical attributes. In this sense, distance metric needs to copewith both types of attributes. In our clustering module, we used a distance metricproposed in [29], which is described as follows:

dist(xij , xik) =p∑r=1

|xrij − xrik|+N∑

r=p+1

δ(xrij , xrik) (4)

11

The result of the clustering procedure is then stored in a database calledClusters Database (see Figure 1). Aiming to ease the access of the RAs to thesedata, we generated a view which consists of the clusters created in the clusteringprocess. As mentioned in a previous section, the CA is responsible for periodicallyrunning this process, according to the system’s monitoring aspects (number ofnew users’ accesses and value of clustering measures).

4.4 The Creation of the Map Points List

The creation of the map points list is based on a process of association user-cluster(s). This process is made in two different ways, for first time users andfor users with previous access to the system. In the former case, only the usertype is taken into consideration in the association process. In this sense, thesystems will make its recommendation based on previous accesses of the usersof the same type of the first time user. For users with previous accesses, theassociation process takes into consideration the previous accesses to define thecluster(s) to which the user belongs.

Once the association user-cluster is defined, the list of map points is created.As already mentioned, the L value is defined by the temporal attention focus.The level of importance (LoI) is a parameter used to rank all the aspects in thespatial attention focus (the aspects with high levels of importance will have highpriorities). For the highest priority aspect, look at the associated cluster(s) tofind instances (map points) with the same aspect. The criterion used to selectthe instances is the distance to the centroid of the cluster(s). Selected instancesare put in the map list and the amount of instances in the map list is defined bythe level of importance of the corresponding aspect. Then, the next aspects arechosen and the selection of the map points is completed.

5 The Proposed Prototype

Aiming to evaluate the NatalGIS multi-agent architecture and the clusteringmodule, a prototype has been developed. This prototype has been used by asmall number of researchers, managers and tourists. The user view of the IA isshown in Figure 4.

Regarding affective agents, this prototype uses a fixed temporal and dynamicspatial focus. The latter is based on elicited emotions from triggered events bythe user. In this sense, we evaluate the best set of interface events for correct IA’semotion elicitation. Moreover, the handling of the prototype by different usershelps to consolidate the set of implemented emotions. Although the OCC modelclassifies 22 types of emotions, we implemented only 4 types in our prototype:joy, distress, disappointment and satisfaction. For the next phase of develop-ment, the affective architecture will include the PAD and OCEAN models. Thisenhancement will allow the temporal focus to acquire a dynamic behavior.

Regarding the clustering module, the usage of the prototype will be helpful toevaluate the accuracy and the relevance of the recommended information. Thisevaluation can indicate whether the clustering parameters need adjustments.

12

Fig. 4. The Prototype Interface

The Interface agent (IA) was not implemented with a visual representation.The main idea is to create a user’s empathy with the system instead of with thevisual representation of the agent. According to Chatterjee and Adali, the use ofanthropomorphic agents might deceive and confuse users because it leads themto overestimate the agent’s capability [4].

6 Final Remarks

In this paper, we presented a manner of combining the use of affective agentswith data clustering as a way of providing more accurate mechanisms for rec-ommending geographic information to the users of the NatalGIS system.

A prototype was developed and tested by a small group of alpha-users. Theirfeedback has been used to guide the development of the whole system. Moreaccurate tests must be carried out in order to evaluate the relevance of specificcomponents of the proposal. For instance, the influence of the modelled elementson the level of user satisfaction concerning the received recommendations. Never-theless, it is worth to emphasize that we have been producing interesting resultsin both areas of this paper (affective agents and data clustering).

In the work of Signoretti [27], for instance, the results show that the affectiveattention focus provides substantial information for improving the efficiency ofthe agent’s reasoning process. Moreover, the results in the work of Xavier-Junior[12] show that the clusters generated by the clustering module are compact andseparated, which indicates good clustering partitions.

13

Finally, the fact of using an affective attention focus in a recommendation sys-tem based on data clustering is a new approach and seems to decisively contributefor recommending accurate and relevant information. Moreover, this approachallows a dynamic system customization during running time.

Acknowledgements

This work has the financial support of CAPES and CNPq (Brazilian ResearchCouncils), under processes numbers BEX 2481/09-0, 550810/2007-2 (140013/2008-3), 140239/2011-1 and 479629/2008-0.

References

1. Adomavicius, G., Tuzhilin, A.: Toward the next generation of recommender sys-tems: A survey of the state-of-the-art and possible extensions. In: IEEE Transac-tions on Knowledge and Data Engineering, vol. 17, pp. 734–749. IEEE (2005)

2. Bordini, R.H., Hubner, J.F., Wooldridge, M.: Programming Multi-Agent Systemsin AgentSpeak using Jason. John Wiley Sons Ltd, West Sussex - England (2007)

3. Burkitt, M., Romano, D.M.: The mood and memory of believable adaptable sociallyintelligent characters. In: Proceedings of Intelligent Virtual Agents, 8th Interna-tional Conference, IVA 2008. Springer, Tokyo - Japan (Sep 2008)

4. Chatterjee, M., Adali, S.: The role of a search agent for disenfranchised users.In: Proceedings of the 2003 annual national conference on Digital government re-search. pp. 1–4. dg.o ’03, Digital Government Society of North America (2003),http://portal.acm.org/citation.cfm?id=1123196.1123304

5. Christakou, C., Lefakis, L., Vrettos, S., Stafylopatis, A.: A movie recom-mender system based on semi-supervised clustering. In: Proceedings of theInternational Conference on Computational Intelligence for Modelling, Con-trol and Automation and International Conference on Intelligent Agents, WebTechnologies and Internet Commerce Vol-2 (CIMCA-IAWTIC’06) - Volume02. pp. 897–903. IEEE Computer Society, Washington, DC, USA (2005),http://portal.acm.org/citation.cfm?id=1134824.1135435

6. Damasio, A.R.: Descartes Error - Emotion, Reason and the Human Brain. HarperPerennial, New York, NY (1995)

7. Fabio Luigi Bellifemine, Giovanni Caire, D.G.: Developing Multi-Agent Systemswith JADE. Wiley Series in Agent Technology, John Wiley & Sons, Ltd. (2007)

8. G. Guojun, M.C., Jianhong, W.: Data Clustering: Theory, Algorithms, and Ap-plications. ASA-SIAM Series on Statistics and Applied Probability, CambridgeUniversity Press (2007)

9. Gebhard, P.: Alma - a layered model of affect. In: Proceedings of The fourth inter-national joint conference on Autonomous agents and multiagent systems. pp. 29 –36. ACM, Utrecht - the Netherlands (Jul 2005)

10. I. Cabral, L.G., Xavier-Junior, J.: Web gis by ajax for analysis and control ofenvironmental dat. In: Proceedings of 17th International Conference in CentralEurope on Computer Graphics, Visualization and Computer Vision. pp. 25–32.Plzen, Czech Republic (February 2009)

11. Janis, I.L., Mann, L.: Decision making : a psychological analysis of conflict, choice,and commitment. Free Press, New York - USA (1977)

14

12. J.C. Xavier-Jr, A.A. Freitas, A.C., Goncalves, L.: Web log data clustering for amulti-agent recommendation system. In: IEEE Proceedings of the InternationalConference on Machine Learning and Cybernetics (ICMLC 2010). pp. 471–476.Qingdao, China (July 2010)

13. Kasap, Z., Moussa, M.B., Chaudhuri, P., Thalmann, N.M.: Making them remem-ber: Emotional virtual characters with memory. IEEE Computer Graphics andApplications 29(2), 20–29 (Mar 2009)

14. Kessler, H., Festini, A., Traue, H.C., Filipic, S., Weber, M., Hoffmann, H.: Affec-tive Computing: Focus on Emotion Expression, Synthesis and Recognition, chap.SIMPLEX: Simulation of Personal Emotion Experience, pp. 255–270. InTech Ed-ucation and Publishing, Vienna - Austria (2008)

15. L. Schmidt-Thieme, A.F., Friedrich, G.: Guest editor introduction: Recommendersystem. IEEE Intelligent Systems 22(3), 18–21 (May/June 2007)

16. Marsella, S.C., Gratch, J.: Ema: A process model of appraisal dynamics. Journalof Cognitive Systems Research 10(1), 70–90 (2009)

17. McRae, R.R., Costa, P.T.: The five-factor model of personality: Theoretical per-spectives, chap. Toward a new generation of personality theories: Theoretical con-texts for the five-factor model, pp. 51 – 87. The Guilford Press, New York (1996)

18. Mehrabian, A.: Analysis of the big-five personality factors in terms of the padtemperament model. Australian Journal of Psychology 48(2), 86–92 (1996)

19. Mehrabian, A.: Pleasure-arousal-dominance: A general framework for describingand measuring individual differences in temperament. Current Psychology 14(4),261–292 (1996)

20. Ortony, A., Clore, G., Collins, A.: The Cognitive Structure of Emotions. CambrigeUniversity Press, New York, EUA (1998)

21. Picard, R.: Affective computing. Technical report, M.I.T Me-dia Laboratory Perceptual Computing Section (November 1995),http://vismod.media.mit.edu/techreports/TR-321.pdf

22. Rao, A.S.: Agentspeak(l): Bdi agents speak out in a logical computable language.In: de Velde, W.V., Perram, J.W. (eds.) MAAMAW ’96 Proceedings of the 7thEuropean workshop on Modelling autonomous agents in a multi-agent world. pp.42–55. New York - USA (Jan 1996)

23. Resnick, P., Varian, H.R.: Recommender systems. Communications of the ACM40(3), 56–58 (March 1997), http://doi.acm.org/10.1145/245108.245121

24. Romano, D.M., Sheppard, G., Hall, J., Miller, A., Ma, Z.: Basic: A believable adapt-able socially intelligent character for social presence. In: Proceedings of The 8thAnnual International Workshop on Presence (PRESENCE’05). Springer, London- UK (Sep 2005)

25. Romero, C., Ventura, S., Delgado, J., De Bra, P.: Personalized links recommenda-tion based on data mining in adaptive educational hypermedia systems. In: Duval,E., Klamma, R., Wolpers, M. (eds.) Creating New Learning Experiences on aGlobal Scale, Lecture Notes in Computer Science, vol. 4753, pp. 292–306. SpringerBerlin / Heidelberg (2007)

26. Schafer, J.B.: The application of data-mining to recommender systems. In: Ency-clopedia of Data Warehousing and Mining, pp. 44–48 (2005)

27. Signoretti, A., Feitosa, A., Campos, A.M., Canuto, A.M., Fialho, S.V.: Increasingthe eficiency of npcs using a focus of attention based on emotions and personality.In: SBC - Proceedings of SBGames 2010. Florianopolis - Brasil (Nov 2010)

28. Silverman, B.G., Johns, M., Cornwell, J., O’Brien, K.: Human behavior models foragents in simulators and games: part i: enabling science with pmfserv. Presence:Teleoperators and Virtual Environments 15(2), 139–162 (2006)

15

29. Y. Gao, D. Liu, C.S., Liu, H.: A two-stage clustering algorithm for multi-typerelational data. In: In Proceedings of the 9th ACIS International Conference onSoftware Engineering, Artificial Intelligence, Networking, and Parallel/DistributedComputing. Phuket, Thailand (August 2008)