and v. The value of the rating r for user u and item i is
computed as an aggregate of the ratings of some other
users for the same item i. The cosine-based approach
(Breese et al., 1998), (Sarwar et al., 2001), uses two
vectors in n-dimensional space to represent the users
u and v, and n will be |I|. The cosine of the angle
between two vectors can be computing to measure the
similarity between them:
similarity(u, v) = cos(
−→
u ,
−→
v ) =
−→
u ·
−→
v
|
−→
u |
2
× |
−→
v |
2
=
∑
iεI
r
u,i
r
v,i
q
∑
iεI
r
2
u,i
q
∑
iεI
r
2
u,i
where
−→
u ·
−→
v indicates the dot-product between
the vectors
−→
u and
−→
v .
Content-based recommenders provide recommen-
dations by comparing representations of content that
interests the user to representations of content de-
scribing an item. Recommended items have associ-
ated textual content, such as books, web pages, and
movies. The web pages should be associated to con-
tents like descriptions and user reviews. Information
retrieval (IR) technics address this problem, where the
content associated can be handled as a query, and the
unrated documents marked with a similarity value to
this query (Balabanovi´c and Shoham, 1997). Other-
wise, the documents can be converted into word vec-
tors, and then averaged to obtain a prototype vector of
each category for a user, as showed in (Lang, 1995).
Collaborative and content-based approaches use
the same cosine measure from information retrieval.
But, in content-based recommendation systems mea-
sures the similarity between vectors of weights,
whereas, in collaborative systems measures the sim-
ilarity between vectors of the actual ratings specified
of the users. Other approaches to the recommendation
consist in handling of the problem as a classification
task. Each pattern represents the content of an item,
and a user’s past ratings are used as labels for these
patterns. For example, text from fields such as title,
author, synopses, reviews, and subject terms are used
by (Mooney and Roy, 2000) to recommend books.
Several classification algorithms have been used to
content-based recommend: decision trees, k-nearest
neighbor, and neural networks (Pazzani and Billsus,
1997).
In this paper, a self organizingalgorithm for build-
ing a peer to peer recommendation system, is pro-
posed. The algorithm is able to distribute and cleverly
organize the “descriptor of resources” in order to im-
prove discovery operations. In peer to peer systems,
bit vectors or keys, are often exploited to describe the
resources and with different meanings. The presence
or absence of a given topic can be represented thor-
ough a bit (Crespo and Garcia-Molina, 2002)(Platzer
and Dustdar, 2005). With resource like documents,
it is particularly appropriate, because it is possible
to recognize the topics. An hash function was em-
ployed to map the resources with strings of bits in
(Cai et al., 2004) (Oppenheimer et al., 2005). With an
hash function locality preserving, similar describers
are assigned to similar resources and then placed in
the same region of the network. Thus, it is very prob-
able find similar and appreciated describers close to
the target describer (recommendations). In the rest
of the paper a preliminary version of the algorithm
is introduced in section 2 and an initial experimental
analysis is showed in section 3.
2 SELF ORGANIZING
RECOMMENDATION SYSTEM
In this section a distributed self-organizing algorithm
for building a recommendation system, is introduced.
The aim of the algorithm is to logically reorganize
the describers that describe the available and recom-
mendable resources to allow recommendation opera-
tions faster. The algorithm cleverly disseminates the
describers on the network with the aim of spatially
sort them. Thanks to this spatial reorganization, sim-
ilar describers, representing similar resources, will be
placed in neighbor hosts. A set of similar describers
representing similar resources can be detected in the
neighborhood of the target resource and suggested to
the user. The sorting process is progressivelyand con-
tinuously realized by each peer achieving simple and
local operations. Probability functions steer the op-
erations of sending and depositing of the describers.
These simple operations are performed in local and a
sort of global intelligence emerges from work of un-
aware peers. Two probability functions, P
send
to eval-
uate the probability to send the describers, and P
deposit
to evaluate the probability to deposit the describers,
are employed. The probability functions derive from
the formulas exploited by biological systems for self-
organizing their behavior (Lumer and Faieta, 1994).
In this systems, unaware entities independently and
locally work in order to produce a global intelligent
behavior.
Each peer evaluates the probability function P
send
for each stored describer, so as to decide whether or
not to gather describers and send them to a neighbor
peer; the probability function P
deposit
is evaluated by a
peer when a set of describers arrives from a neighbor
peer. Peer’ decisions, i.e. probability functions, are
based on a similarity function that measures the aver-
age similarity of a describer des with all the describers
located in the local region. All the hosts reachable
SelfRecommendationinPeertoPeerSystems
333