<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Alleviating the Sparsity Problem in Recommender Systems by Exploring Underlying User Communities</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>alinebessa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>laender</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>adrianov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>nivio}@dcc.ufmg.br</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Departamento de Ciˆencia da Computa ̧c ̃ao Universidade Federal de Minas Gerais Belo Horizonte</institution>
          ,
          <country country="BR">Brazil</country>
        </aff>
      </contrib-group>
      <fpage>35</fpage>
      <lpage>47</lpage>
      <abstract>
        <p>Collaborative Filtering, one of the main Recommender Systems' approach, has been successfully employed to identify users and items that can be characterized as similar in large datasets. However, its application is limited due to the sparsity problem, which refers to a situation where information to infer similar users and predict items is missing. In this work, we address this by (i) detecting underlying user communities that aggregate similar tastes and (ii) predicting new relations within communities. As a consequence, we alleviate some of the major consequences of this problem. As shown by our experiments, our method is promising. When compared to a user-based Collaborative Filtering method, it provided gains of 20.2% in terms of sparsity decay, for instance, while improving RMSE values in only 2.8%.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Recommender systems have been a popular topic of research since it became
clear that people of widely varying backgrounds would be able to query the same
underlying data [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Variations of recommender algorithms have been applied
to (i) provide an automatic and intelligent mechanism to filter out the excess
of information available to users and (ii) make personalized recommendations
for information, products, and services during a live interaction. One of the
most successful approaches to build recommender systems is called Collaborative
Filtering (CF). It uses the known preferences of a group of users to predict
unknown preferences for other users. Some of these predictions are then used for
recommending items.
      </p>
      <p>In a typical CF scenario, there is a bipartite network U × I where nodes are
comprised by users U and items I. A link between a user u and an item i exists
if and only if u rated i, and the weight of this link is the rating itself. From U × I
one can infer a network U × U , where nodes are users U and a link between two
nodes u and v exists if and only if they co-rated at least one of the items in I.
The weight of such link is given by the similarity between u and v’s co-ratings,
using a metric such as cosine or Pearson correlation. Traditional CF systems
predict ratings for users, with respect to items they did not rate yet, according
to a scheme defined by the following equation:</p>
      <p>X</p>
      <p>rv,i × simu,v
rˆu,i =
v∈Ni(u)</p>
      <p>X
where rˆu,i is the predicted rating user u will give to item i, Ni(u) is the set of
all neighbors of u in U × U that rated item i, simu,v is the similarity between
u and its neighbors v in U × U (link weights), and rv,i is the actual rating each
one of these neighbors gave to i (i.e., can be found in U × I).</p>
      <p>Given that even very active users rate just a few of the total number of
available items and, respectively, even very popular items are rated by only a
few of the total number of users, U × I and U × U are very sparse. High sparsity
levels pose a big challenge to the quality of predictions, as well as to the number
of predictions that a recommender system can actually compute. Because of
sparsity, the confidence of predicted ratings may be questionable, since they are
based on a rather little amount of evidence.</p>
      <p>
        Other important structural problems related to data sparsity are reduced
coverage and neighbor transitivity [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The former occurs when the system gets
unable to generate recommendations for many items, as a consequence of the
small ratio between users’ ratings and the total number of items. The latter
happens when users with similar taste are not identified as such because the
available data is not enough to infer that.
      </p>
      <p>
        Many approaches have been proposed to alleviate the data sparsity
problem. Dimensionality reduction techniques, such as SVD and PCA, create a more
dense representation of U × I [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3–5</xref>
        ]. However, when certain users or items are
discarded, useful information related to them may get lost, which is not ideal
and can degrade predictions’ quality. Hybrid algorithms, exploring other user
information, such as user profiles, were also studied [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Ziegler, Lausen and
Schmidt-Thieme [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] generated profiles based on the taxonomic classification of
products that costumers have chosen, and then used them for alleviating sparsity.
Schein et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proposed a latent model for dealing with cold start
recommendations, which combined both content and collaborative evidence. Nonetheless,
hybrid solutions depend on the existence of content-based information, which is
not always possible.
      </p>
      <p>
        Other option – the one we explore in this work – involves making either U ×U
or U × I more dense via link prediction. Huang, Cheng and Zeng [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] tackle the
problem via an associative retrieval framework and spreading activation
algorithms to explore transitive associations among users. Papagelis, Plexousakis
and Kutsuras [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] also explore transitive relations associating source and target
users connected by paths with length bigger than 1. Yildirim and
Krishnamoorthy [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] infer new relations via an item-oriented random walk algorithm, infering
transition probabilities among items and modeling random walks on the item
space to compute predictions.
      </p>
      <p>
        Most link prediction methods are based on a 2-hop transitivity in U × U –
i.e., if user u is connected with user v, and user v is connected with user w, then
a link might be predicted between u and w. The intuition behind it is that users
u and w are likely to have similar preferences. Links between nodes connected
by a path with length bigger than 2 (3-hop, 4-hop etc.) are not considered by
most methods. The reason is that, empirically, it is known that preferences are
not so transitive [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        U × I and U × U present a significant Small-World effect [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In particular,
it means that virtually every two users in U × U are connected by short paths,
despite of their taste differences. Quite distinct items and users in U × I are also
connected by very short paths. As we will see later, predicting transitive links
in the Small-World U × U , without considering the inherent taste differences
between users, leads to poor recommendations.
      </p>
      <p>
        Our proposed method to tackle this problem involves two major steps (steps
2 and 3 in Fig. 1): (i) a community detection algorithm is applied for aggregating
users with similar tastes in communities; (ii) only links between users within a
same community are determined using different link predictors and weighted
using a simple transitive schema. To the best of our knowledge, this is the first link
prediction method for data sparsity that makes use of communities, in a
divideand-conquer fashion, ignoring either demographical data or explicit social ties.
Sahebi and Cohen [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] proposed a community-based method for
recommendations, but in a rather different scenario: they explore links of a social network,
where users explicitly decide to connect with each other. In our case, users are
linked if they co-rated items, without any knowledge about the specific taste of
other users. It is worth pointing out that these differences configure networks
with different semantics and properties.
      </p>
      <p>The present work is structured as follows. Sections 2 and 3 detail each step
of our method. Section 4 presents experiments and results. Finally, Section 5
discusses our conclusions and points out some future work lines.</p>
      <p>
        Detecting Communities in the Users Network U × U
The first step of our method involves detecting communities of users in U × U .
The detected communities must represent users with similar tastes. By
construction, high link weights in U × U indicate taste similarity between users.
Therefore, to detect similar taste communities, we should employ an algorithm
that not only aggregates densely connected nodes, but guarantees that the
connections among them are as high weighted as possible. The method proposed
in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] matches these prerequisites. For the sake of simplicity, this method,
proposed by Blondel, Guillaume, Lambiotte and Lefbvere, will be hereafter refered
to as BGLL.
      </p>
      <p>
        Besides dealing with link weights in the desired way, BGLL scales very well
with the number of nodes in the network, which is particularly interesting from
a recommender systems’ viewpoint. BGLL also works hierarchically, providing
some clustering options with more or less granularity. There is at least one
work in the field of recommender systems that already applies this algorithm,
intending to find user communities for group recommendation [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Nevertheless,
this work is not related with the data sparsity problem.
      </p>
      <p>BGLL detects communities via modularity optimization. Modularity, a well
known function in the complex networks field, is normally used to measure the
quality of a partition. Basically, it searches for a network partition C that
maximizes the Q value defined by:</p>
      <p>Q =
1
2m</p>
      <p>
        X[Ai,j − kikj ]δ(Ci, Cj )
i,j 2m
(2)
where Ai,j represents the weight of the link between i and j, ki = X Ai,j is
j
the sum of the weights of the links attached to vertex i, Ci is the community to
which vertex i is assigned, the δ function δ(u, v) is 1 if u = v and 0 otherwise
and m = 12 X Ai,j . Finally, Q ∈ [
        <xref ref-type="bibr" rid="ref1">−1, 1</xref>
        ].
      </p>
      <p>i,j</p>
      <p>BGLL is based in two steps that are repeated iteratively. Initially, all nodes
belong to their own community (N nodes and N communities). One looks
through all nodes, from 1 to N , in an ordered way. Each node looks among
its neighbors is observed, the node in question does not change of community.
This step is performed iteratively until a local maximum of modularity is reached
(each node may be considered several times). Once a local maximum has been
attained, a new network, whose nodes are the detected communities, is built.
The weight of the links between communities is the total weight of the links
between the nodes of these communities.</p>
      <p>The two steps are repeated iteratively, thereby leading to a hierarchical
decomposition of the network. In this work, we will only take into account the
communities corresponding to the last determined level of the hierarchy - i.e.,
the least granular ones. We explain this decision further in Section 4.</p>
      <p>
        Predicting Links in the Users Network U × U
There are several techniques for predicting links in a network. Liben-Nowell and
Kleinberg [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] have proposed an interesting taxonomy for them, separating the
techniques into two main categories: (i) based on node neighborhoods; (ii) based
on the ensemble of all paths.
      </p>
      <p>In this work, we will not explore the second category, given that it generates
links between nodes not so close. As mentioned previously, it is empirically known
that preferences are not that transitive - e.g., if node u is similar to node v, node
v is similar to node w and node w is similar to node y, one cannot state that u
and y are also similar.</p>
      <p>
        The techniques considered for this work are Common neighbors, Jaccard’s
coefficient, Adamic/Adar, and Preferential attachment [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. All of them assign
a connection score(x, y) to pairs of non-connected nodes hx, yi. All computed
scores can then be ordered, generating a prediction list Lp. Below, we present
the definitions adopted in this work for each predictor. For this, let Γ (i) denote
the set of neighbors of a node i.
      </p>
      <p>Common neighbors This predictor determines the number of common neighbors
between two nodes. Then:
(3)
(4)
Jaccard’s coefficient This predictor measures how likely a neighbor of node x is
to be a neighbor of y and vice-versa. Then:
score(x, y) = |Γ (x) ∩ Γ (y)|
Adamic/Adar This predictor assigns high weight to common neighbors z of x
and y which themselves have few neighbors Γ (z). Then:
(7)
score(x, y) = |Γ (x)| × |Γ (y)|
4</p>
    </sec>
    <sec id="sec-2">
      <title>Experimental Results</title>
      <p>In this work we applied our method to a dataset sampled from the movies’
recommender site MovieLens1. It comprises 819 users and 1,180 items. The relations
between these two entity types are ratings varying from 1 to 5. In this dataset,
there are 7,851 rating relations between users and items, generating a bipartite
graph U × I: one partition corresponds to users (U ) and the other corresponds to
items (I). A second network U ×U is induced from U ×I following the traditional
user-based CF approach outlined in Section 1.</p>
      <p>
        We computed the similarity between users in U × U applying Pearson
correlation [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] to their normalized co-ratings. Normalizing ratings is important to
remove the noise created by the way each user rates – in other words, when it
comes to assigning a rating to an item, each user has its own personal scale, and
normalizing these scales leads to fairer Pearson correlations [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Since we are
using normalized ratings for computing Pearson correlations, we also adapted
the way we compute predictions for consistency. Thus, instead of using the
traditional Equation 1, we adopted the following:
rˆu,i = r¯u +
      </p>
      <p>X</p>
      <p>After setting U × U up, we applied a C++ BGLL implementation for
detecting user communities in it2. BGLL generated a hierarchy of four levels. The
lower level (level 0) had 819 communities, one corresponding to each node. The
higher one (level 3) had 627 communities. In this work, we only explored the
communities reported in level 3, because the ones in levels 0, 1 and 2 were too
fine-grained.</p>
      <p>From 627 communities, only 11 were associated to more than one node. In
addition, only 187 out of 819 users belonged to communities with more than one
node. Analysing the users assigned to one-node communities, we discovered that
1 MovieLens data, http://www.grouplens.org/.
2 http://sites.google.com/site/findcommunities
all their links in U × U have 0.0 weight. This is the reason why BGLL never
changes their communities, associating them with relevant neighbors: all their
neighbors are equally relevant, given that all their links have the same weight.</p>
      <p>In a certain sense, this reinforces the idea that there is a challenging long tail
behind recommender systems: while few people have more regular preferences,
being easy to aggregate, most users have very hard-to-describe tastes, limitating
their allocation within communities. On the other hand, we believe that although
the network topology does not help these users much, perhaps other clustering
approaches can help finding good communities for at least a part of them. One
possibility involves comparing attributes from their rated items and some of their
own profile attributes.</p>
      <p>For the purpose of this work, we only take into account the 11 communities
with more than one user. These communities will be referred to as relevant
communities.</p>
      <p>
        Table 4 lists some of the most important movies rated in each community.
Although some movies are assigned to multiple communities, such as “Contact”,
it seems they do reflect different user tastes. In a general sense, Table 4 indicates
a certain degree of homophily among users3 [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
3 In the context of this work, homophily (i.e., ”love of the same”) means the
bias/tendency of individuals, indirectly associated via recommendations, to bond
with similar others.
      </p>
      <p>Inside every relevant community, we generated lists of new links Lp using
all different predictors presented in Section 3. The weight of a predicted edge is
given by:
sim(u, v) =
1</p>
      <p>[ X sim(u, y) ×
|Nu,v| y∈Nu,v</p>
      <p>
        X sim(y, v)]
y∈Nu,v
(8)
where Nu,v is the set of common neighbors of u and v. Given that we weight
actual links in U × U using Pearson correlation, all similarities will range from
-1.0 to 1.0. As a consequence, a multiplication between average similarities will
always be, at most, equal to the highest similarity in question. This property
is desirable in our scenario because we expect predicted similarities – which are
transitive – to be lighter than actual similarities – which are naturally induced
from U × I. There are some other ways of estimating the weight of an edge in
U × U [
        <xref ref-type="bibr" rid="ref1 ref18 ref9">1, 9, 18</xref>
        ], and we intend to explore them in the future.
      </p>
      <p>After predicting and weighting links, we added the 10%, 20%, 30%, 40%,
and 50% best – i.e., those with higher similarities – to U × U . For the sake of
completion, we also analysed the recommender system generated when we add
100% of the predicted links (Full Lp).</p>
      <p>
        We compared our results with two baselines: the traditional user-based CF
system discussed in Section 1 [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and a user-based CF system that explores
all U × U original relations plus all U × U 2-hop relations [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. As we outlined
previously, there are many works that explore these relations, even though they
apply very different strategies for link prediction. For the sake of simplicity, we
will abbreviate the traditional user-based system as TUB, and the
transitivebased system will be abbreviated as {1,2}-hopub. Notice that {1,2}-hopub is
different from Full Lp, given that their links were predicted within the entire
network, instead of only between nodes within a same community.
      </p>
      <p>To assess the quality of our proposed solution, we do not measure neither
the detected communities nor the predicted links quality directly. Alternatively,
given that data sparsity challenges Recommender Systems’ effectivity, we will
evaluate our method through typical metrics of this field. Besides being more
relevant with respect to the posed problem, using typical metrics eases the task
of comparing our solution with chosen baselines.</p>
      <p>
        The selected metrics are Root mean-square-error (RMSE), Coverage, Sparsity
Decay (SD), Recall, and Precision [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Below, we present the adopted definitions
for these metrics.
      </p>
      <p>RMSE Given a test set T of user-item pairs hu, ii, RMSE measures the
divergence between real ratings ru,i and predicted ratings rˆu,i. The real ratings are
known from offline experiments that do not interfere in rˆu,i computations.</p>
      <p>RMSE = uuv 1
t |T |</p>
      <p>X (rˆu,i − ru,i)2
hu,ii∈T
(9)
Sparsity Decay (SD) It measures the improvement the system does with respect
to relations between users and items. Let O be the set of original ratings in U ×I,
and P be the set of predicted ratings between users and items. Then:</p>
      <p>Comparing two recommender systems A and B working over a fixed dataset,
the one that presents the lowest SD is making more predictions. If both systems
present very similar RMSEs, then the one that makes more predictions should
be preferred, given that it increases the system’s capacity of making different
recommendations.</p>
      <p>Given a test set T of user-item pairs hu, ii, let TP be the number of user-item
relations (ratings) that actually exist in T and that were predicted by the system;
let F P be the number of user-item relations (ratings) that were predicted by the
system although they do not exist in T ; and let FN be the number of of
useritem relations (ratings) that actually exist in T but were not predicted by the
system. Then:</p>
      <p>Coverage =
|R(I)|</p>
      <p>|I|
SD =</p>
      <p>|O|
(|O| + |P |)</p>
      <p>Recall =
P recision =</p>
      <p>|TP |
|TP | + |FN |</p>
      <p>|TP |
|TP | + |FN |
Coverage In our context, coverage is the percentage of items for which the system
is able to generate a recommendation. Let |I| be the total of considered items
and |R(I)| be the number of items that are recommended at least once. Then:
(10)
(11)
(12)
(13)
1.082
0.863
0.192
0.285
0.004</p>
      <p>Results in bold correspond to the best and worst values found for each metric
in each experimental scenario. It is worth pointing out that, when compared
against TUB, none of the proposed solutions - Common neighbors, Jaccard’s
coefficient, Adamic/Adar, Preferential attachment, and Full Lp - improved global
coverage. This means that our method did not generate predictions for any item
that was not already being covered by TUB. Even though, we generated many
more predictions for already covered items, as indicated by SD - i.e., although
the items are the same, there are predictions relating them to many more users,
which is a highly desirable feature in a recommender system. One can state
that {1,2}-hopub outperforms all other competitors in terms of global Coverage
and low SD, but the quality tradeoff is not acceptable: all RMSE values are
consistently higher when compared against TUB.</p>
      <p>Concretely, the most important metric is RMSE. If the error is not low,
increasing the number of predictions is not worth it: one could always recommend
random items if quality (low error) does not matter. Of course, this is not the
case and that is why we are particularly interested in the results obtained with
Jaccard’s coefficient. This predictor presents an interesting tradeoff between SD
and RMSE. For practical purposes, using the 20% best links in the Lp related
with Jaccard’s coefficient improves the number of predictions significantly (SD
goes from TUB’s 0.297 to 0.237) without adding much noise in quality (RMSE
goes from TUB’s 1.010 to 1.039).</p>
      <p>As expected, RMSE increases when we add more links – perhaps, it could
be alleviated if the weight of predicted links were computed in a different
fashion, but we do not believe that it would solve this issue completely. Also, for all
studied scenarios, adding more links consistently improved the number of
predictions, generating lower SDs. Finally, as expected, higher RMSE values are highly
correlated with lower SD values – in other words, generating more predictions
necessarily decreased quality.</p>
      <p>
        Another analysed metrics were precision and recall. It is easy to observe
that all precision values are consistently smaller than recall values. It indicates
that, even if a significant fraction of the predicted user-item relations actually
exist (recall), most real relations are missing (precision). There is not a balance
between these two aspects, which may mean that the analysed recommenders are
not fitting user tastes very well, but it would take further investigations to assert
it. Despite this behavior, we want a solution that minimizes the difference with
respect to original TUB’s precision and recall. Once again, Jaccard’s coefficient
is a good option. For the sake of comparison, there is at least one work that
analyses precision and recall in link prediction based recommender systems, also
presenting quite low values for both metrics [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Future Work</title>
      <p>In this work, we proposed a method for alleviating the sparsity problem in CF
recommender systems, keeping a commitment with good quality predictions.
Concretely, we analysed the impact of using community detection before
predicting links in the CF Recommender Systems scenario. To the best of our
knowledge, this is the first attempt in this direction. The results indicate that
predicting links only within users belonging to the same community helps
lowering prediction errors, when compared with a fully-transitive baseline,
{1,2}hopub.</p>
      <p>The proposed method is also positive in terms of alleviating some of the
drawbacks related to the sparsity problem: via communities, we delimitate users
with similar taste and, when we link them, we are presenting a solution to
the neighbor transitivity problem. Although our method did not increase global
coverage, when compared with original TUB system, it improved the number
of predictions for already covered items, which is highly desirable. Finally, with
more links connecting users in U × U , we increase the amount of information
used by the system for making predictions, increasing its confidence.</p>
      <p>
        The proposed method, nonetheless, does not present a solution to the cold
start problem [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In particular, users that never rated an item do not connect
with any other user. Therefore, they do not belong to any relevant community,
and links involving them will never be predicted. If there were more available
information for grouping users, such as demographical data, cold start users
would not be isolated. It is likely that additional information would also be
useful for grouping long-tail users - those that did not fit in any community due
to their very particular movie taste.
      </p>
      <p>In the future, we intend to (i) explore different methods for detecting
communities and predicting links, (ii) compare different link weighting schemes, (iii)
apply the proposed solution to bigger networks, (iv) compare our method with
more robust baselines, (v) consider the usage of social/demographical data, and
(vi) predict links on demand only for users who suffer from sparsity.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgements</title>
      <p>This work was partially sponsored the Brazilian National Institute of Science and
Technology for the Web (grant MCT/CNPq 573871/2008-6), and by the authors’
individual grants and scholarships from CAPES, CNPq and FAPEMIG.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Papagelis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plexousakis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutsuras</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Alleviating the sparsity problem of collaborative filtering using trust inferences</article-title>
          .
          <source>In: Proceedings of the Third International Conference on Trust Management</source>
          . (
          <year>2005</year>
          )
          <fpage>224</fpage>
          -
          <lpage>239</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khoshgoftaar</surname>
            ,
            <given-names>T.M.:</given-names>
          </string-name>
          <article-title>A survey of collaborative filtering techniques</article-title>
          .
          <source>Advances in Artificial Intelligence</source>
          <year>2009</year>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Billsus</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pazzani</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          :
          <article-title>Learning collaborative information filters</article-title>
          .
          <source>In: Proceedings of the 15th International Conference Machine Learning</source>
          . (
          <year>1998</year>
          )
          <fpage>46</fpage>
          -
          <lpage>54</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Landauer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Littman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Research</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          :
          <article-title>Computerized cross-language document retrieval using latent semantic indexing (1994) US patent no</article-title>
          .
          <volume>5301109</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Goldberg</surname>
            ,
            <given-names>K.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roeder</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perkins</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Eigentaste: A constant time collaborative filtering algorithm</article-title>
          .
          <source>Journal Information Retrieval</source>
          <volume>4</volume>
          (
          <issue>2</issue>
          ) (
          <year>2001</year>
          )
          <fpage>133</fpage>
          -
          <lpage>151</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Melville</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mooney</surname>
            ,
            <given-names>R.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nagarajan</surname>
          </string-name>
          , R.:
          <article-title>Content-boosted collaborative filtering for improved recommendations</article-title>
          .
          <source>In: Proceedings of the 18th National Conference on Artificial Intelligence</source>
          . (
          <year>2002</year>
          )
          <fpage>187</fpage>
          -
          <lpage>192</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Ziegler</surname>
            ,
            <given-names>C.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lausen</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt-Thieme</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Taxonomy-driven computation of product recommendations</article-title>
          .
          <source>In: Proceedings of the 13th ACM Conference on Information and Knowledge Management</source>
          . (
          <year>2004</year>
          )
          <fpage>406</fpage>
          -
          <lpage>415</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Schein</surname>
            ,
            <given-names>A.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popescul</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ungar</surname>
            ,
            <given-names>L.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pennock</surname>
            ,
            <given-names>D.M.</given-names>
          </string-name>
          :
          <article-title>Methods and metrics for cold-start recommendations</article-title>
          .
          <source>In: Proceedings of the 25th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval</source>
          . (
          <year>2002</year>
          )
          <fpage>253</fpage>
          -
          <lpage>260</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Applying associative retrieval techniques to alleviate the sparsity problem in collaborative filtering</article-title>
          .
          <source>ACM Transactions on Information Systems</source>
          <volume>22</volume>
          (
          <issue>1</issue>
          ) (
          <year>2004</year>
          )
          <fpage>116</fpage>
          -
          <lpage>142</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Yildirim</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krishnamoorthy</surname>
            ,
            <given-names>M.S.:</given-names>
          </string-name>
          <article-title>A random walk method for alleviating the sparsity problem in collaborative filtering</article-title>
          .
          <source>In: Proceedings of the 2nd ACM International Conference on Recommender Systems</source>
          . (
          <year>2008</year>
          )
          <fpage>131</fpage>
          -
          <lpage>138</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Barabasi</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          :
          <article-title>Linked: How Everything is Connected to Everything Else and What it Means for Business, Science</article-title>
          and
          <string-name>
            <given-names>Everyday</given-names>
            <surname>Life</surname>
          </string-name>
          .
          <source>Plume</source>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Sahebi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Community-based recommendations: a solution to the cold start problem</article-title>
          .
          <source>In: Proceedings of the Workshop on Recommender Systems and the Social</source>
          .
          <article-title>(</article-title>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Blondel</surname>
            ,
            <given-names>V.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guillaume</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lambiotte</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lefebvre</surname>
          </string-name>
          , E.:
          <article-title>Fast unfolding of communities in large networks</article-title>
          .
          <source>Journal of Statistical Mechanics</source>
          <year>2008</year>
          (
          <volume>10</volume>
          ) (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Boratto</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chessa</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Agelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clemente</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          :
          <article-title>Group recommendation with automatic identification of users communities</article-title>
          .
          <source>In: Proceedings of the 3rd International Workshop on Distributed Agent-Based Retrieval Tools</source>
          . (
          <year>2009</year>
          )
          <fpage>547</fpage>
          -
          <lpage>550</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Liben-Nowell</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleinberg</surname>
            ,
            <given-names>J.M.:</given-names>
          </string-name>
          <article-title>The link-prediction problem for social networks</article-title>
          .
          <source>Journal of the American Society for Information Science and Technology</source>
          <volume>58</volume>
          (
          <issue>7</issue>
          ) (
          <year>2007</year>
          )
          <fpage>1019</fpage>
          -
          <lpage>1031</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Ricci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rokach</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shapira</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kantor</surname>
          </string-name>
          , P.B., eds.
          <source>: Recommender Systems Handbook</source>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>McPherson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith-Lovin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cook</surname>
            ,
            <given-names>J.M.:</given-names>
          </string-name>
          <article-title>Birds of a feather: Homophily in social networks</article-title>
          .
          <source>Annual Review of Sociology</source>
          <volume>27</volume>
          (
          <issue>1</issue>
          ) (
          <year>2001</year>
          )
          <fpage>415</fpage>
          -
          <lpage>444</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Aggarwal</surname>
            ,
            <given-names>C.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>lung Wu</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>P.S.:</given-names>
          </string-name>
          <article-title>Horting hatches an egg: A new graph-theoretic approach to collaborative filtering</article-title>
          .
          <source>In: Proceedings of the 5th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>
          . (
          <year>1999</year>
          )
          <fpage>201</fpage>
          -
          <lpage>212</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Adomavicius</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tuzhilin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>17</volume>
          (
          <issue>6</issue>
          ) (
          <year>2005</year>
          )
          <fpage>734</fpage>
          -
          <lpage>749</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
          </string-name>
          , H.:
          <article-title>Link prediction approach to collaborative filtering</article-title>
          .
          <source>In: Proceedings of the ACM/IEEE Joint Conference on Digital Libraries</source>
          . (
          <year>2005</year>
          )
          <fpage>141</fpage>
          -
          <lpage>142</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>