Social Based Recommendations to Groups

Social Based Recommendations to Groups
Lara Quijano-Sánchez, Juan A. Recio-García, and Belén Díaz-Agudo
Department of Software Engineering and Artificial Intelligence,
Universidad Complutense de Madrid, Spain
[email protected], [email protected], [email protected]
Abstract. In this paper we describe some new ideas to improve
recommendations to groups. We use distributed CBR systems, where each node
collaborates, arguments and counterarguments its local results with other nodes
to improve the performance of the system's global response. We have
performed a case of study based on the movie recommendation domain with
heterogeneous groups according to the group personality composition and a
group topology based on a social network.
Keywords: Group Recommendation, Personality, Group Topology, Social
Network.
1
Introduction
Within in the CBR community there have been a number of sophisticated techniques
for the elicitation of good queries from the user and efficiently assessing similarity
between the current query and the available cases. It is straightforward to establish a
correspondence between retrieval in CBR systems and the process of obtaining goals
and preferences of a user in order to rank products, services or information sources in
recommender systems. Actually, CBR has played a key role in the development of
several classes of recommender system [1,2].
Although most of the most popular recommender systems are focused on
recommending items for individual users, the need of systems capable of performing
recommendations for groups of people is getting more interest as there are many
activities that are carried out in groups, e.g., going to the cinema with friends,
watching TV at home or listening music in the car. Existing works on group
recommender systems [3] are typically based on the aggregation of the preferences of
the members of the group where every person in the group is considered as equal to
the others.
A group recommender usually manages several subsets of preferences -one per
person- that have to be managed independently and combined to create a global
recommendation suitable for everyone in the group. According to this, it is natural to
think in a distributed architecture where the preferences of every user are managed
independently by an autonomous agent. This agent represents the user inside the
global recommender system and is in charge of promoting his preferences when
2
Lara Quijano-Sánchez, Juan A. Recio-García, and Belén Díaz-Agudo
making a recommendation process for the whole group. To allow this kind of
distributed CBR systems, we have developed a set of extensions for the jCOLIBRI
CBR framework. These extensions (ALADIN, SALADIN and D2ISCO[18]) enable
the development of distributed CBR systems that includes the deliberative process
required to build recommenders for groups.
Our recent work [4] involves the improvement of current group recommendation
techniques by introducing a novel factor: the personality of every individual.
Intuitively, when a group of 2 or more friends choose a movie there are some
members that are only happy if they impose their opinion, whereas other individuals
don't care letting other people decide. Therefore, we have used a personality test to
obtain different profiles that interact in different ways when joining a decision making
process.
Besides personality, there are other factors to consider regarding the structure of
the group. In this paper we describe a preliminary work about making
recommendations for groups of people connected through social network structures.
We propose a distributed CBR architecture where each person in the group is
represented by an agent and the final recommendation is influenced by the personality
of each member of the group and the way they are interconnected through their social
relations, basically friendship, defined in the social network. Therefore our method
proposes making recommendations to groups using existing techniques of
collaborative filtering [5], taking into account the group personality composition [4]
and the social connections between the individuals of the group. We are testing our
method in the movie recommendation domain.
The paper runs as follows: Section 2 describes existing techniques to obtain
recommendations for groups and gives some details of our “personality aware”
recommendation process. Section 3 outlines our extension for building distributed
CBR systems in jCOLIBRI, whereas Section 4 describes our proposal for including
social network's topologies in the decision process. Section 5 depicts our preliminary
results and Section 6 concludes and presents the main lines of future work.
2
Recommendations to Groups
Recommender systems have traditionally recommended items to individual users, but
there has recently been a body of work about recommenders that extend their
recommendations to groups of users [3]. When moving from individuals to groups
many new issues arises. For example, acquiring the preferences of the group, helping
the group to decide the more convenient option, or explaining the recommendation to
the group. Depending on the size and homogeneity of the group the recommender
system has to choose the option that satisfies the biggest number of people taking into
account the individual user preferences. As stated in [3] the main approaches to
generate a preference aggregation based on the individual user preferences are (a)
merging the recommendations made for individuals, (b) aggregation of ratings for
individuals and (c) constructing a group preference model.
Error! Use the Home tab to apply title to the text that you want to appear here.
3
Fig. 1. TKI personality modes
The most common employed approaches in group recommenders are (b) and (c).
They are used in many different fields like selecting the background music of a fitness
center [6] recommendation of video clip sequences [7], movies [8] among others.
The work described in [8] recommends movies for groups based on the inferred
ratings by MovieLens and using the “least misery” strategy to generate the preference
aggregation. This strategy supposes that a small group of people will be as happy as
its least happy member. The work in [9] criticizes the aggregation strategies like the
one employed in PolyLens because they claim that this strategies combine the ratings
always in the same way without considering how the members in the group interact
with each other. To alleviate this issue, they propose the use of genetic algorithms to
learn about the interactions among the users that make up a group from the known
group ratings. Although the results seem to be significant, they suppose that the
groups are fixed and they have previously rated some items in group.
Most of the previous works in group recommendation consider the preferences of
every member of the group with the same degree of importance and try to satisfy the
preferences of every group member. However, groups of people can have very
different characteristics like size and can be made of people with similar or
antagonistic personal preferences. It is a fact that when we face a situation in which
the concerns of people appear to be incompatible conflict arises. The existing
recommender systems for groups typically solve the conflict trying to maximize the
preferences of the biggest number of group members. However, the general
satisfaction of the group is not always the aggregation of the satisfaction of its
members as different people have different expectations and behaviour in conflict
situations that should be taken into account. In [4] we have presented a method for
recommendation to groups where we distinguish between different types of
individuals in a group. Our research characterizes people using the Thomas-Kilmann
Conflict Mode Instrument (TKI) [17] that describes a person behavior in conflict
situations along two basic dimensions: assertiveness and cooperativeness. These two
4
Lara Quijano-Sánchez, Juan A. Recio-García, and Belén Díaz-Agudo
dimensions of behavior can be used to define five personality modes of dealing with
conflicts: competing, collaborating, avoiding, accommodating and compromising (see
Figure 1). Our method named Personality Aware Recommendation to Groups [4]
takes into account these five personality modes. We study how the group personality
composition influences the recommendation accuracy for the group, and how it is
improved for certain types of groups compared with different simple group
recommendation algorithms. We have experimentally evaluated the behavior of this
method using the MovieLens data set with groups of users of different sizes and
degrees of homogeneity. The novelty of our approach lies in the use of the member
personalities to choose the most interesting movie that would better satisfy the whole
group, using the type of personality trait of dealing with conflicts of each member to
weight the influence of his/her ratings during the recommendation process.
Our current work described in this paper proposes the use of real social networks
topologies to reflect the real interactions of the users. Our proposal relates also with
other works that have employed more social issues in order to include the group
member interactions to perform the recommendations. For example, the work
described in [7] uses individual satisfaction and the transmission of emotions in order
to recommend a sequence of video clips for a group. They consider that a member
changes the selection of her best clip according to the clip selected during the
previous selection step. This change can be reflected in the recommendation
algorithm as an individual satisfaction function that computes the individual affective
state. This state influences on the affective state of the other members, getting carried
by others emotional state should be taken into account during the group
recommendation. Other interesting results from this work are that the most common
strategies employed by individuals in real group recommendation are non-dominant
strategies such as the average, least misery and average without misery. Additionally,
they point out the existence of a tendency where the social status influences on the
selection.
3
Distributed CBR Systems in jCOLIBRI
jCOLIBRI is currently a reference platform in the CBR community for building CBR
systems that includes facilities to design different types of CBR applications
[10,11,12].
However its underlying architecture has taken the conventional so called single
agent, single case base problem solving approach where one, usually wellmaintained, case base functions as the central knowledge resource. Research efforts in
the area of distributed CBR concentrate on the distribution of resources within CBR
architectures and study how it is beneficial in a variety of application contexts. In
contrast to single-agent CBR systems, multi-agent systems distribute the case base
itself and/or some aspects of the reasoning among several agents. In [13] the research
efforts in the area of distributed CBR are categorized using two criteria: (1) how
knowledge is organized/managed within the system (i.e. single vs. multiple case
Error! Use the Home tab to apply title to the text that you want to appear here.
5
bases), and (2) how knowledge is processed by the system (i.e. single vs. multiple
processing agents).
Much of the work in distributed CBR assumes multi-case base architectures
involving multiple processing agents that differ in their problem solving experiences
[14]. One key point in distributed CBR systems is the “ensemble effect” described in
[15] they state that a collection of agents with uncorrelated case bases improves the
accuracy of any individual. With this idea we have extended jCOLIBRI to support
distributed CBR applications, as it will improve the performance of standard (singleagent, single-case base) CBR applications.
The extension to support distributed CBR applications in jCOLIBRI is called
ALADIN (Abstract Layer for Distributed Infrastructures). This layer defines the main
components of every distributed CBR system: agents, directory, messages, etc. and
could be implemented using different alternatives: JADE 1, sockets, shared memory, ...
It was defined after reviewing the existing literature on distributed CBR and tries to
fit the IEEE FIPA standards for multiagent systems. Because ALADIN is only
composed of interfaces that define the behavior of the system, we have developed an
implementation of this abstract layer using standard network sockets. This extension
in called SALADIN (Sockets implementation of ALADIN) and provides a fully
functional muli-agent environment for building distributed CBR systems. Both
extensions are available in the jCOLIBRI contributions web page2.
Once the building blocks were defined, in [18] we have presented our work for
including deliberative capabilities in the distributed CBR systems. This approach named D2ISCO3 is based on the AMAL protocol that is proposed in [15] as a casebased approach to groups of agents that coordinate, collaborate, and communicate in
order to improve their collective and individual decisions by learning from
communication and by the argumentation over debated outcomes [16]. This protocol
consists on a series of rounds. In the initial round, each agent states which is its
individual local solution for the problem. Then, at each round an agent can try to rebut
the solution or prediction made by any of the other agents giving a counterexample.
When an agent receives a counterargument or counterexample, it informs the other
agents if it accepts the counterargument (and changes its solution) or not. Moreover,
agents have also the opportunity to answer to counterarguments by trying to generate
a counterargument to the counterargument.
The work presented in this paper tries to reuse the collaborative and deliberative
capabilities of D2ISCO by including two novel factors: the personality of every
individual (detailed in following section) and their interconnections (explained in
Section 5).
1
JADE is a framework for building multi-agent systems following the FIPA specifications. It is
available at: http://jade.tilab.com/
2 jCOLIBRI contributions: http://gaia.fdi.ucm.es/projects/jcolibri/jcolibri2/contributions.html
3 Deliberative, DIStributed and COlaborative extension for jCOLIBRI
6
Lara Quijano-Sánchez, Juan A. Recio-García, and Belén Díaz-Agudo
4
Including Social Networks in the Recommendation Process
The novelty of our approach is to include the social network connections into our
recommendation model. So our main goal of our ongoing work described in this
paper is to improve the recommendations by to taking into account both, the network
topology and the group personality composition. In order to achieve this, we are using
the SALADIN platform for organizing the multi-agent system with a social network
topology, where each agent represents a member of the group. Every agent will
discuss his best interest with the other agents he is connected to, and the final
recommendation will be, as we have been explaining, depending on the personality,
this means that the preferences of each individual will have different weights
depending on the way in which that particular member of the group would react in a
conflict situation.
To carry out this project we would like to improve the techniques that have been
typically used when recommending items to groups [3]. One of the main approaches
to generate a recommendation is based on aggregation of ratings for individuals.
However, as we have explained in Section 2, this aggregation strategy has been
criticized by some authors because the ratings are combined always in the same way,
without considering how the members in the group interact with each other. We will
like to fix that by including the group member interactions, that is, to perform the
recommendation using personal information about the conflict mode behavior of
every group member and how they will interact with each other.
In this way we consider the recommendation process in a group taking into account
a network topology based on a social network. Social networks have been one of the
most important topics in the last few years, with nets like Facebook4, Twitter5,
MySpace6...etc, and they represent a more realistic form of the structure and relations
between group members. Therefore we think that these recommendations, that we
obtain with this new method are more accurate and realistic than the ones we would
get if we'd applied the topology "all connected", which is the default topology used in
typical group recommendation approaches. Figure 2 shows the difference between the
two different types of network topologies mentioned, where we can see how the
agents are connected.
In our particular case of study we are trying to imitate the real process of
recommendations to groups when deciding which movie they will be watching. We
will test how the group personality and its structure influence the recommendation
accuracy for the group. That is, taking into account the closeness of each individual
member of the group, who will listen to who, who is the center of the discussion,
among others questions. And also considering their own personality, the way they're
going to react if there is a proposal different than the one they wanted, if they are
open minded and would not complain when a movie they're less keen on is the chosen
one, and so on.
4
http://www.facebook.com/
http://www.twitter.com/
6 http://www.myspace.com/
5
Error! Use the Home tab to apply title to the text that you want to appear here.
7
Fig. 2. Comparison between "all connected" networks (left) and social networks (right)
topologies
These users interchange recommendations with other users that have a social link
with them. To do this for groups is kind of a natural thing because people tend to do
this kind of activities with their friends and family, i.e, following social links. Besides
they usually go together in the same group.
The reason why this new organization of the structure of the group will affect and
improve the result of the recommendation is mainly because with the social network
topology we give a more realistic structure and organization of the agents, which is
closer to how the argumentations would take place in a real group when they argue on
which movie to watch. For a given a group of friends, we draw a network where each
node represents a person, and each connection represents that that particular person
has a relation with the one he is connected to. Each node discusses his/her opinions
with all her neighbors in the network. When two nodes are not connected, it means
that the people they are representing don't know each other or that they're not close,
this structure is reflecting a face to face discussion where they would have never
argue or have to come to a solution between each other. For example if someone
brings along his/her boy/girlfriend and the rest of the group doesn't know him, this
new member will never start arguing or try convincing someone he has never met
before, therefore when we represent this relations we only connect him with the ones
that do know him. On the other hand in the all connected network topology every
agent will debate with all the rest, no matter if the person he represents knows the
other one or not.
For the process of argumentation we are using a multiagent system, so each agent
will represent one member of the group, and will argue for his best interest. For the
implementation, we will use D2ISCO [18] and jCOLIBRI [3,19], in this way we use
the structure of the collaborative nodes for the CBR system that D2ISCO uses, the
network topology will be the social network type. The reasoning protocol will begin
with an agent issuing a query to the agents that is linked to. Each agent will provide
its individual local solution for the problem. At each round an agent can try to rebut
the solution or the prediction made by any other of his neighbour agents. This
different counterexamples will have different weights depending on the personality of
the person that is being represented by that particular agent.
8
Lara Quijano-Sánchez, Juan A. Recio-García, and Belén Díaz-Agudo
Fig. 3. Users organization in a real social network
Next we summarize our approach:
1.
Given: a set of users U={u1,u2,..., ui,...,un} (where uq is the user that launches
the query), the set of relationships of an user rel(ui), and the personality
weight per(ui).
2.
Split U into several subsets S={S1,S2,...,Sj,...Sm} where Sj ⊆ U.
3.
For every Sj ∈ S
compute Ij = obtainSubRecommendation(Sj, rel(ui ∈ Sj), per(ui ∈ Sj))
4.
Being I={I1,I2,...,Ij,...Im} the set of items recommended by each subset,
For every Ij ∊ I
wj = ∑rel(ui ∈ Sj) · r + ∑per(ui ∈ Sj) · p
5.
Return the item Ij with the maximum weight wj
Error! Use the Home tab to apply title to the text that you want to appear here.
9
Note that this algorithm implies several processes that must be carefully
addressed. Firstly we found the process of splitting the users according to the
topology of the social network. In our preliminary experiments we are identifying the
k users with more relationships as the “group leaders” and then assigning every
remaining user to one of these leaders. Moreover, there is a second way to organize
the users: some social networks allow to group users according to the different groups
they have joined or by common interests. For example, Figure 3 shows the
representation of a real social network in Facebook 7. This social network allows to
classify the users into groups (represented using different areas in the figure, that we
have intentionally highlighted). This feature enables us to split the U set into subsets
Sj that reflect the relationships of the users in a very realistic manner. Furthermore,
Figure 3 serves to confirm our premise that real interactions between users do not
follow an all-with-all topology as was illustrated in Figure 1.
After splitting the users, our algorithm applies the method in charge of obtaining
the recommendation from every subset Sj. This method is based in the D2ISCO
argumentation protocol (detailed in Section 3) that uses arguments and
counterarguments in the deliberation process. Finally the global process that combines
the partial results (step 4), takes into account the number of relationships inside every
subset Sj (rel(ui ∈ Sj)) and their accumulated personality weight per(ui ∈ Sj). The
number of relationships is directly obtained from the social network. However, the
personality weight is much more difficult to measure. To obtain it, we are using the
TKI tests detailed in Section 2. We are summarizing the 5 different modes in just one
value. This value is high if the person has a competing and collaborative profile and is
low if the person has an avoiding or accommodating personality. Informally, we are
giving more importance to the subset that contains more related users and has the
highest personality. Parameters r and p are weights for both factors (related users and
personality). Parameter r defines how the number of relations of every subset
determines the final recommendation. In addition, parameter p weights the impact of
the accumulated personality in the recommendation. Both parameters will be
measured in an experimental way. Although initial results cannot lead us to any
conclusion, one of the goals of our experiments is to measure how their influence will
affect the recommendations.
Next section describes some preliminary results.
5
Preliminary Results
From our ongoing work we have already obtained some preliminary results that we
summarize in this section. However detailed results from a complete experimentation
process will be performed as future work.
The social network topology gives a more realistic structure and organization of
the agents, which is closer to how the argumentations would take place in a real group
7
This figure has been obtained using the touch graph application in Facebook.
http://apps.facebook.com/touchgraph/
10
Lara Quijano-Sánchez, Juan A. Recio-García, and Belén Díaz-Agudo
when they all argue on which movie to watch. We have informally tested our
approach in the movie recommendation case of study and we have seen that our
premises and new ideas are effective and produce better results than the Personality
Aware Recommendation to Groups method using the all-connected network structure.
We have informally question our users and obtained slightly better satisfaction results
in the group (around 10% improvement).
Besides known groups of people we also plan to make me tests using anonymous
data from different users through an application for Facebook called MyPersonality8.
It consists on personality self-ratings and friend ratings from users around the world.
This includes demographic information such as age and the country they live in,
personal information such as favorite films and also a list of their friends which
provides an opportunity unique to social networks to examine and model network
effects.
6
Conclusions and Future Work
In this paper we have introduced a novel method of making recommendations for
groups based on existing techniques of collaborative filtering and taking into account
the group personality composition and the structure of the group. Once shown that
personality profiles can improve a recommendation for a group of people [4], we are
going to extend this approach by reflecting in a more realistic way the relationships
between the users involved in the recommendation.
To achieve this goal we are using the existing extensions of jCOLIBRI2 for
building distributed and deliberative CBR systems. The SALADIN extension
provides the infrastructure required to build the distributed system, whereas D2ISCO
[18] offers deliberation capabilities through a modified version of the AMAL
protocol.
This ongoing work poses many open issues to be addressed:
1. Test the real improvement of this method using real data from social
networks.
2. Study other types of personality and compare them with the TKI conflict
modes. We have already done some tests studying how people's affective
reactions to the cultural media (favorite songs, movies and classic art) may
be an indicator of their own personality [20].
3. Explore techniques for grouping the users into the subsets involved in the
proposed recommendation process.
4. Explore different methods to combine the items proposed by every subset of
users taking into account the relationships and personality factors.
We think that creating a system with memory of the previous recommendations is
a necessary step when providing a whole set of recommendations. We have been
focusing on the situation in which a recommender will make recommendations to a
8
http://mypersonality.org/research/interested-in-collaborating/
Error! Use the Home tab to apply title to the text that you want to appear here.
11
group just once. But often the group will expect the system to make a larger set of
decisions. We could treat each decision separately, however to avoid future group
dissatisfaction, ensuring fairness could be taken into account. For example, there
might be a situation when a given recommendation is very attractive for the group as
a whole but one group member was especially dissatisfied. It would be desirable that
the future recommendations favor that particular group member, so that he/she
reaches an appropriate level of satisfaction. We are studying how we could take into
account the history of the results that have been obtained. This means that it would be
possible to create a system with memory of the previous recommendations for the
group, so that if one member had to accept a proposal he wasn't very interested in,
now he will have some kind of preference for the next recommendation, meaning that
the weight of his opinion will be higher this time. These weights would also be
adapted depending on the personality of each member.
7
References
1. D. Bridge, M. H. Göker, L. McGinty, and B.Smyth. Case-based Recommender
systems. Knowledge Engineering Review, 20(3):315–320, 2006.
2. Smyth, B.: Case-base recommendation. In Brusilovsky, P., Kobsa, A., Nejdl, W.,
eds.: The Adaptive Web: Methods and Strategies of Web Personalization.
Lecture Notes in Computer Science, Vol. 4321, Berlin Heidelberg New York,
Springer-Verlag (2007) this volume.
3. A. Jameson and B. Smyth. Recommendation to groups. In P. Brusilovsky,
A.Kobsa, and W. Nejdl, editors, The Adaptive Web, volume 4321 of Lecture Notes
in Computer Science, pages 596-627. Springer, 2007.
4. Juan A. Recio-García, Guillermo Jiménez-Díaz, Antonio A.Sánchez-Ruiz and
Belén Díaz-Agudo, Personality Aware Recommendations to Groups, in: 3rd ACM
Conference on Recommender Systems, New York, USA, ACM Press, 2009
5. J. A. Recio-García, B. Díaz-Agudo, and P. A.González-Calero. Prototyping
Recommender Systems in jCOLIBRI. In RecSys '08: Proceedings of the 2008
ACM conference on Recommender systems, pages243-250, New York, NY, USA,
2008. ACM.
6. McCarthy, Joseph F. and Anagnost, Theodore D. MusicFX: an arbiter of group
preferences for computer supported collaborative workouts, CSCW '98:
Proceedings of the 1998 ACM conference on Computer supported cooperative
work, pages 363-372. NY, USA, 1998.ACM.
7. Masthoff, Judith and Gatt, Albert. In pursuit of satisfaction and the prevention of
embarrassment: affective state in group recommender systems. User Modeling
and User-Adapted Interaction, volume 16, pages 281-319, number 3-4. Hingham,
MA, USA, 2006.
8. O'Connor, Mark and Cosley,Dan and Konstan, Joseph A. and Riedl,John.
PolyLens: a recommender system for groups of users. ECSCW'01: Proceedings of
12
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Lara Quijano-Sánchez, Juan A. Recio-García, and Belén Díaz-Agudo
the seventh conference on European Conference on
Computer
Supported
Cooperative Work, pages 199-218. Norwell, MA, USA, 2001. Kluwer Academic
Publishers.
Y.-L. Chen, L.-C. Cheng, and C.-N. Chuang. A group recommendation system
with consideration of interactions among group members. Expert Syst.Appl.,
34(3):2082-2090, 2008.
Juan A. Recio-García, Belén Díaz-Agudo, Marco A. Gómez-Martín and Nirmalie
Wiratunga, Extending jCOLIBRI for textual CBR, in: Proceedings of Case-Based
Reasoning Research and Development, 6th International Conference on CaseBased Reasoning, ICCBR 2005, Springer, 2005.
Belén Díaz-Agudo, Pedro A. González-Calero, Juan A. Recio-García and Antonio
A. Sánchez-Ruiz, Building CBR systems with jCOLIBRI (2007), in: Special Issue
on Experimental Software and Toolkits of the Journal Science of Computer
Programming, 69:1-3
Juan A. Recio-García, Belén Díaz-Agudo, Pedro A. González-Calero and Antonio
A. Sánchez-Ruiz, Ontology based CBR with jCOLIBRI, in: Applications and
Innovations in Intelligent Systems XIV. Proceedings of AI-2006, the Twenty-sixth
SGAI International Conference on Innovative Techniques and Applications of
Artificial Intelligence, Springer, 2006
Enric Plaza and Lorraine McGinty. Distributed case-based reasoning. Knowledge
Eng. Review, volume 20, number 3, pages 261-265,2005.
McGinty, L., Smyth, B.: Collaborative case-based reasoning: Applications in
personalised route planning. In: Procs. ICCBR 2001, Springer LNAI. (2001) 362376.
Ontanon, S., Plaza, E.: Arguments and counterexamples in case-based joint
deliberation. In: Argumentation in Multi-Agent Systems, ArgMAS 2006, Selected
and Invited Papers. Volume 4766 of LNCS., Springer (2006) 36-53.
Ontanon, S., Plaza, E.: An Argumentation-based Framework for Deliberation in
Multi-Agent Systems. Argumentation in Multi-Agent Systems. LNCS, volume
4946, pages 178-196, 2008.
K. Thomas and R. Kilmann. Thomas-Kilmann Conflict Mode Instrument. Tuxedo,
N.Y., 1974.
Sergio González-Sanz, Juan A. Recio-García and Belén Díaz-Agudo, DISCO:
Distributed Deliberative CBR Systems with jColibri, in: 1st International
Conference on Computational Collective Intelligence, Louisiana, USA, 2009
J. Recio-Garcia. jCOLIBRI: A multi-level platform for building and generating
CBR systems. Phd Thesis,Universidad Complutense de Madrid, Spain, 2008.
Michael A.Faber and John D.Mayer, Resonance to archetypes in media: There's
some accounting for taste. Journal of Research in Personality, Volume 43, Issue 3,
June 2009, Pages 307-322.