L. Lü et al. / Physics Reports 519 (2012) 1–49 9
Fig. 4. Illustration of a recommender system consisted of five users and four books. The basic information contained by every recommender system is
the relations between users and objects that can be represented by a bipartite graph. This illustration also exhibits some additional information frequently
exploited in the design of recommendation algorithms, including user profiles, object attributes and object content.
z
max
(u) = 2k(u), while the minimal coordination number is z
min
(u) = 2n for n(n − 1) < k(u) ≤ n
2
and z
min
(u) = 2n + 1
for n
2
< k(u) ≤ n(n + 1), with n some integer. Obviously, a local tree structure leads to maximal coordination number,
while the maximum overlap corresponds to the minimal coordination number. Therefore, they define the hyperedge density
as [86]:
D
h
(u) =
z
max
(u) − z(u)
z
max
(u) − z
min
(u)
, 0 ≤ D
h
(u) ≤ 1. (7)
The definition of hyperedge density for resources and tags is similar. Empirical analysis indicates a high clustering behavior
under both metrics [82,86]. The study of hypergraph for the collaborative tagging networks has just been unfolding, and how
to properly quantify the clustering behavior, the correlations and similarities between nodes, and the community structure
is still an open problem.
(iv) average distance: defined as the average shortest path length between two random nodes in the whole network.
3.3. Recommender systems
A recommender system uses the input data to predict potential further likes and interests of its users. Users’ past
evaluations are typically an important part of the input data. Let M be the number of users and let N be the number of
all objects that can be evaluated and recommended. Note that object is simply as a generic term which can represent books,
movies, or any other kind of consumed content. To stay in line with standard terminology, we sometimes use item which has
the same meaning. To make the notation more clear, we restrict to Latin indices i and j when enumerating the users and to
Greek indices α and β when enumerating the objects. Evaluation/rating of object α by user i is denoted as r
iα
. This evaluation
is often numerical in an integer rating scale (think of Amazon’s five stars)—in this case we speak of explicit ratings. Note that
the common case of binary ratings (like/dislike or good/bad) also belongs to this category. When objects are only collected
(as in bookmark sharing systems) or simply consumed (as in online newspaper or magazine without rating systems) or
when ‘‘like’’ is the only possible expression (as on Facebook), we are left with unary ratings. In this case, r
iα
= 1 represents
a collected/consumed/liked object and r
iα
= 0 represents a non-existing evaluation (see Fig. 4). Inferring users’ confidence
levels of ratings is not a trivial task, especially from the binary or unary ratings. Accessorial information about users’ behavior
may be helpful, for example, the users’ confidence levels can be estimated by their watching time of television shows and
with the help of this information, the quality of recommendation can be improved [95]. Even if we have explicit ratings, it
does not mean we know how and why people vote with these ratings—do they have standards of numerical ratings or they
just use ratings to present orders? Recent evidence [96] to some extent supports the latter ansatz.
The goal of a recommender system is to deliver lists of personalized ‘‘recommended’’ objects to its users. To this end,
evaluations can be predicted or, alternatively, recommendation scores can be assigned to objects yet unknown to a given
user. Objects with the highest predicted ratings or the highest recommendation scores then constitute the recommendation
list that is presented to the target user. There is an extensive set of performance metrics that can be used to evaluate the
resulting recommendation lists (see Section 3.4). The usual classifications of recommender systems is as follows [15]:
1. Content-based recommendations: Recommended objects are those with content similar to the content of previously
preferred objects of a target user. We present them in Section 4.2.3.