<!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>STRec: An Improved Graph-based Tag Recommender</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Modou Gueye</string-name>
          <email>gmodou@ucad.sn</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Talel Abdessalem</string-name>
          <email>Talel.Abdessalem@enst.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hubert Naacke</string-name>
          <email>Hubert.Naacke@lip6.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institut Telecom - Telecom, ParisTech</institution>
          ,
          <addr-line>Paris</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LIP6, UPMC Sorbonne</institution>
          ,
          <addr-line>Universités - Paris 6, Paris</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Université Cheikh Anta Diop</institution>
          ,
          <addr-line>Dakar</addr-line>
          ,
          <country country="SN">Sénégal</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Tag recommendation is a major aspect of collaborative tagging systems. It aims to recommend tags to a user for a given item. In this paper we propose an adaptation of the search algorithms proposed in [14, 1] to the tag recommendation problem. Our algorithm, called STRec, provides networkaware recommendations based on proximity measures computed on-the-fly in the network. STRec uses a bounded search to find good neighbors. On top of STRec, we apply a re-ranking scheme that improves the quality of the recommendations. We update the ranking according to the degree of association between the higher ranked tags and the lower ranked ones. This technique leads to better recommendations as we show in this paper and could be applicable on top of many recommender systems. The experiments we did on several datasets demonstrated the efficiency of our approach.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Graph-Based Tag Recommendations</kwd>
        <kwd>Social Network</kwd>
        <kwd>Collaborative Filtering</kwd>
        <kwd>Association Rules Mining</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Social (i.e. collaborative ) tagging is the practice of
allowing users to annotate content. The users can organize, and
search content with annotations called tags. The growth of
popularity of social media sites has made the area of
recommender systems for social tagging systems an active and
growing topic of research [
        <xref ref-type="bibr" rid="ref12 ref17 ref9">12, 17, 9</xref>
        ].
      </p>
      <p>
        Tag recommendation aims to infer the most suited tags to a
user for tagging a given item. It is a salient part of the Web
2.0 where applications are user-centered. We present, in
this paper, an efficient tag recommender algorithm named
STRec. Our algorithm adapts the search algorithms
proposed in [
        <xref ref-type="bibr" rid="ref1 ref14 ref24">14, 1, 24</xref>
        ] to the tag recommendation problem,
and extends them by a re-ordering step that improves the
quality of the recommendations. The basic idea of STRec is
to merge two recommendation components: a social network
based component, together with a network-independent one.
The first component relies on social networks to provide
recommendations to a user. It analyses the tags existing in the
user’s neighborhood; we say that it computes the social
frequencies of tags. Then, it retrieves the most frequent tags
within the user’s neighborhood. The contribution of each
neighbors’s tag to the final recommendation, is weighted by
the proximity of that neighbor (i.e. tagging similarity in our
case) with the user. The second component takes into
account the global (i.e. network-independent) frequencies of
tags. The global frequency represents the popularity of a
tag for tagging a given item, whatever the user is. Then, we
aggregate these two frequencies in our STRec model, and
compute a sorted list of tags to recommend. Finally,
relatively to the first tag of the list, the rest of the recommended
tags is reordered using association rules, in order to bring
more accuracy to the final recommendation. Our
experimental results, in Section 4, show that the first tag of the
list has indeed a significant benefit on the quality of the
recommendation. They also confirm the efficiency of STRec.
The remainder of this paper is organized as follows. In
Section 2 we present some preliminaries. Section 3 details the
STRec algorithm. In Section 4, we present experimentations
of our proposal. Section 5 summarizes the related work, and
Section 6 concludes the paper.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. PRELIMINARIES</title>
      <p>A folksonomy is a system of classification that allows users to
annotate and categorize content by the way of creating and
managing tags. It is related to the event of social tagging
systems1 and can be defined as a collection of: a set of users
U , a set of tags T , a set of items I, and a ternary relation
between them S ⊆ U × I × T .</p>
      <p>A tagging triple (u; i; t) ∈ S means that user u has tagged
an item i with the tag t. A user can tag an item with one
1http://en.wikipedia.org/wiki/Social bookmarking
or more distinct tags from T . We denote by T (u; i) the set
of all distinct tags used by a user u to tag an item i</p>
      <p>T (u; i) = {t ∈ T |∃(u; i; t) ∈ S}
On top of this folksonomy, we consider an undirected weighted
graph of users G = (U; E; ) called the social network. In G,
the nodes represent the users and is a function that
associates to each edge e = (u; v) ∈ E a value, (u; v) ∈ [0; 1],
called the proximity (or social) score between u and v.
We assume that a user can tag an item with a given tag at
most once. The interest of a tag t for a given user u and
an item i can be estimated by a score function score(t|u; i).
The score function depends on the recommender’s model.
Then the ”Top-K” highest scoring tags are recommended by
T op(u; i; K) = argKmax score(t|u; i)</p>
      <p>t∈T</p>
    </sec>
    <sec id="sec-3">
      <title>3. STREC: A GRAPH-BASED TAG RECOM</title>
    </sec>
    <sec id="sec-4">
      <title>MENDER</title>
      <p>
        We first present the score function and the extended
proximity we use in our algorithm, as they were defined in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
then we present the STRec algorithm.
(1)
(2)
      </p>
    </sec>
    <sec id="sec-5">
      <title>3.1 Definition of the score function</title>
      <p>They model for a user, an item, and a tag triple (u; i; t), the
score score(t|u; i) of tag t for the given user u and item i by
score(t|u; i) = h(f r(t|u; i))
where f r(t|u; i) is the overall tag’s frequency of tag t for
user u and item i, and h is a positive monotone function.
The overall tag’s frequency function f r(t|u; i) is defined as
a combination of a network-dependent component and an
item-dependent one, as follows:
f r(t|u; i) =
× tf (t; i) + (1 − ) × sf (t|u; i)
(3)
The first component, tf (t; i), is the tag’s frequency of t for i,
i.e., the number of times i was tagged with t. The sf
component stands for social frequency, an important measure
that depends on the neighborhood of user u. In Equation 3,
the parameter allows to tune the relative importance of
the social component with respect to tag’s frequency. When
is valued 1, the score becomes network-independent.
Reversely, when is valued 0 the score depends exclusively
on the social network. Let us notice that we use, as a
social network, a similarity network (weighted graph) inferred
from the tagging behaviour of the users. The weight
associated to each edge is a value between 0 and 1 representing
the degree of similarity between two users.</p>
      <p>Considering that each user brings her own weight
(proximity) to the score of a tag, the measure of tag’s social
frequency is defined as follows:
sf (t|u; i) =</p>
      <p>∑
v∈{U|(v;i;t)∈S}
(u; v)
(4)
In this formula, v stands for a neighbor of user u who tagged
item i with tag t, and (u; v) is the proximity (edge weight)
between u and v.</p>
      <p>
        Extended proximity. The above scoring model takes into
account only the neighborhood of a given user (the users
directly connected to her). But, this can be extended to deal
also with users that are indirectly connected to this user,
following a natural interpretation that user links (e.g.,
similarity) are, at least to some extent, transitive. An extended
proximity + can be deduced from for any pair of users
connected by a path in the network. Then, + can replace
in the definition of social frequency considered before
(Equation 4), yielding an overall tag scoring scheme that depends
on the entire network instead of only the directly connected
neighbors. In the rest of the paper, we consider this
extended proximity and denote by user’s proximity vector, the
list of all her neighbors v (of course we consider (u; v) &gt; 0)
ordered in descending order of their proximity values.
The STRec algorithm, as the TOPKS algorithm proposed in
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], computes on-the-fly the proximity values with respect
to a given user u. The issue is to facilitate the retrieval of
the most relevant unseen user v in the network (i.e. v is
not a direct neighbor of u), along with her proximity value
+(u; v). The user v will have the potential to contribute
the most to the partial scores of tags that are still candidates
for the most relevant result.
      </p>
      <p>
        Inspired by studies in the area of trust propagation for belief
statements, the weights on a given path p = (u1; :::; un)
between u1 and un is aggregated by multiplying them [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
+(p) = ∏
      </p>
      <p>(ui; ui+1)
i
The multiplication function is monotonically decreasing over
any path it is applied to, when draws values from the
interval [0; 1]. Thus given a social network G and a path p =
(u1; :::; un) ∈ G, we have +(u1; :::; un−1) ≥ +(u1; :::; un).
We can define + for any pair of connected users (u; v) in
the network by taking the maximal weight over all their
connecting paths. More formally, +(u; v) is defined as
+(u; v) = max { +(p)|u →p v}</p>
      <p>
        p∈G
A greedy approach is applicable to allow browsing the
network of users on the fly, at recommendation time, visiting
them in the order of their proximity with respect to a given
user (for whom we want to make recommendations). More
precisely, by generalizing Dijkstra’s algorithm [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], a
maxpriority queue (denoted H) is maintained, whose top element
top(H) will be at any moment the most relevant unvisited
user. A user is visited when her tags are taken into account
for the top-k result, which can occur at most once.
At each step advancing in the network, the top of the queue
is extracted (visited) and its unvisited neighbours (adjacent
nodes) are added to the queue (if not already present) and
are relaxed. Relaxation updates the best proximity score of
these nodes, as described in Algorithm 1. It can be shown
by straightforward induction that this greedy approach
allows to visit the nodes of the network in decreasing order
of their proximity with respect to a given user. For more
details on the scoring model described above, we refer the
reader to [
        <xref ref-type="bibr" rid="ref1 ref14">14, 1</xref>
        ]. The following sections describe how this
(5)
(6)
      </p>
      <p>Algorithm 1: Relaxation
1 if ( +(u; x) × (x; v)) &gt; +(u; v) then
2 +(u; v) ← ( +(u; x) × (x; v))
3 end
greedy procedure for iterating over the network is used in
our recommendation algorithm.</p>
    </sec>
    <sec id="sec-6">
      <title>3.2 The STRec algorithm</title>
      <p>As already introduced in previous sections, the
networkdependent component is an important part of the STRec
algorithm.We mostly focus on the computation of the social
frequency, sf (t|u; i), as it is a key parameter in the scoring
function of tags.</p>
      <p>First, a list D of top-k candidate tags is kept and sorted in
descending order of their minimal possible scores (we define
shortly). A tag becomes candidate when it is met for the
first time in a tagged triple.</p>
      <p>The algorithm 2 presents the computation of the STRec
network-dependent component for a given user u for whom
we want to recommend tags for an item i. For each of her
(direct or indirect) neighbors v on the social network we
retrieve the list of tags this neighbor employed for the item i.
Then for each of these tags t , we update its social frequencie
sf (t|u; i) and we add it in D, as candidate tags if it is not
already in the top-k candidates list (lines 1 to 8).
We assume that, for item i, we have an inverted list IL(i)
of the tags t used to tag i, along with the corresponding tag
frequencies tf (t; i) in a descending order of these
frequencies. Starting from the top most frequent tag, this list will
be consumed one tag at a time, whenever the current tag
becomes candidate for the top-k result (lines 9 to 17).
By CIL(i) we denote the tags already consumed in IL(i) (as
known candidates), by top tag(i) we denote the tag present
at the current (unconsumed) position of IL(i), and we use
top tf (i) as a short notation for the tag’s frequency
associated with this tag.</p>
      <p>By unseen users(t; i) we denote the maximum number of
yet unvisited users who may have tagged item i with t . This
is initially set to the maximum possible tag’s frequency of i
over all tags (a value that is available at the current position
of the inverted list of IL(i), as top tf (i)).</p>
      <p>Each time we visit a user v who tagged item i with t, we (i)
update sf (t|u; i) (initially set to 0) by adding to it +(u; v),
and (ii) decrement unseen users(t; i). We obtain the
final social frequency value sf (t|u; i) when unseen users(t; i)
reaches 0.</p>
      <p>Lines 18 to 19 are an important part of the algorithm. We
avoid expensive and hardly updatable pre-computations of
the proximity values by the relaxation (see Section 3.1).
Thus the proximity computation in the social network is
computed on-the-fly.</p>
      <p>In the rest of this section, we detail the STRec algorithm</p>
      <sec id="sec-6-1">
        <title>Algorithm 2: Social Process</title>
        <p>Data: (u; i) ∈ U × I, the user u whom we want
recommend tags for the item i; v ∈ U , current
(direct or indirect) neighbor while scanning the
social network
1 forall the tags t ∈ T (v; i) do
2 sf (t|u; i) ← sf (t|u; i) + +(u; v)
3 if t ∈= D then
4 add t to D
5 unseen users(t; i) ← top tf (i) /*initialization*/
6 end
7 unseen users(t; i) ← unseen users(t; i) − 1
8 end
9 while IL(i) ̸= ∅ AND (t ← top tag(i)) ∈ D do
10 tf (t; i) ← toptf (i) /*t’s frequency in i is now known*/
11 advance IL(i) one position
12 ∆ ← tf (t; i) − top tf (i)
13 forall the tags t′ ∈ D=CIL(i) do
14 unseen users(t′; i) ← unseen users(t′; i) − ∆
15 end
16 add t to CIL(i)
17 end
18 forall the users v′ s:t: (v; v′) ∈ E do
19 RELAX(u; v′)
20 end
(Algorithm 3). First, let us remind that we maintain a
maxpriority queue H whose top element top(H) will be at any
moment the most relevant unvisited user on the network. At
each step in the network, the top of the queue is extracted
(visited) and its unvisited neighbors (adjacent nodes) are
added to the queue (if not already present) and then relaxed
(Algorithm 1). However, at any time of the running of the
algorithm, an optimistic overall score M axScore(t|u; i) of
any tag t that has already been seen in D is estimated as:
(1 − ) × (top(H) × unseen users(t; i) + sf (t|u; i)) +
max(tf (t; i); top tf (i))
×
Symmetrically, we estimate M inScore(t|u; i), a pessimistic
overall score, as:
(1 − ) × sf (t|u; i) +</p>
        <p>× max(tf (t; i); partial tf (t))
where partial tf represents the count of visited users who
tagged i with t, which is used as a lower-bound for tf (t; i)
when it is not yet known. The list of candidate tags D is
sorted in descending order by this lowest possible score.
An upper-bound score, M axScoreU nseen, for the unseen
tags is also estimated using the following value as overall
frequency for each tag t:</p>
        <p>
          × top tf (i) + (1 − ) × top(H) × top tf (i)
The running of the algorithm terminates when this
upperbound score and the maximal optimistic score of tags, that
are already in D but not in its top-k, are less than the
pessimistic score of the last element in the current top-k of D
(i.e., D[k]). This is because we have the guarantee that the
top-k can will no longer change as it is explained in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
Furthermore at each iteration, the algorithm can alternate
(by calling the CHOOSEBRAN CH() method we describe
below) between two possible execution branches: the social
branch (Algorithm 2) and the textual branch, which is a
direct adaptation of the Non Random Access (NRA)
algorithm [
          <xref ref-type="bibr" rid="ref14 ref24">14, 24</xref>
          ].
        </p>
      </sec>
      <sec id="sec-6-2">
        <title>Algorithm 3: STRec algorithm</title>
        <p>Data: u ∈ U , i ∈ I: the user u whom we want recommend
tags for the item i
+(u; v)),
1 forall the (v; i; t) ∈ S do
2 +(u; v) ← −∞
3 sf (t|u; i) ← 0
4 set IL(i) position on first entry; CIL(i) ← ∅
5 end
6 +(u; u) ← 0; D ← ∅ /*candidate tags*/
7 H ← max-priority queue of nodes u (sorted by
initialized with u
8 while H ̸= ∅ do
9 CHOOSEBRANCH()
10 if social branch then
11 v ← EXT RACT M AX(H)
12 SOCIAL P ROCESS(u; i; v)
13 else
14 if IL(i) ̸= ∅ then
15 t ← top tag(i)
16 if t ∈= D then
17 add t to D and CIL(i)
18 end
19 tf (t; i) ← top tf (i)
20 advance IL(i) one position
21 else
22 break
23 end
24
25
end
if M inScore(D[k]|u; i) &gt; maxl&gt;k(M axScore(D[l]|u; i))
AND M inScore(D[k]|u; i) &gt; M axScoreU nseen then
break
The CHOOSEBRAN CH() method considers the tag t′,
which has the highest potential score, and we choose the
branch that is the most likely to refine the score of t′.</p>
        <p>
          t′ = D[argmaxl&gt;k(M axScore(D[l]|u; i)]
We set M axT extual to × top tf (i) if the tag’s frequency
tf (t′; i) is not yet known, and to 0 otherwise. For the
social part of the score, we set M axSocial = (1 − ) ×
unseen users(t′; i) × top(H). Then, we follow the social
branch if M axSocial is greater than M axT extual.
The result re-ordering step
STRec returns a list D of candidate tags sorted in
descending order of their scores. The k first tags of this list (D[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]; : : : ;
D[k]) are intended to be recommended to the user. In
order to improve the quality of the recommendation, we add
a re-ordering step that recomputes the scores of the tags
in D according to degree their association degree with the
best ranked tag in D. The intuition is that the first tags in
the top-k result are the most relevant ones, so the scores of
the lower ranked tags have to be updated according to their
degree of association with the higher ranked ones. This
recovery step improves the consistency and the accuracy of
the result.
        </p>
        <p>
          Fixing the first tag t = D[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], we compute the confidence
scores (with regard to D[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]) conf (t → t′) of all the lower
ranked tags t′ in D. Then, we sort D again with obtained
new score values (1 + conf (t → t′)) × score(t′|u; i). Thus,
we model to some extent the interest to put in the result
a tag t′ in addition to the first one D[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. The confidence
score is computed by analysing the association degree
between t and t′, i.e. the number of shared items (i.e. items
tagged by t and t′) and the number of shared users (i.e.
users who used both tags t and t′). An in depth description
of the re-ordering technique and its interest is given in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
In the following experiments, we denote by STRec++ the
approach consisting in running the STRec algorithm with a
re-ordering phase. This can improve noticeably the quality
of recommendation as shown below.
        </p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>4. EXPERIMENTATIONS</title>
    </sec>
    <sec id="sec-8">
      <title>4.1 Datasets</title>
      <p>We chose five datasets from four online systems: del.icio.us2,
Movielens3, Last.fm4, and BibSonomy5.</p>
      <p>
        We take the ones of del.icio.us, movielens, and last.fm from
HetRec 2011 [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and the two other ones from Bibsonomy: a
post-core at level 5 and a one at level 2 [
        <xref ref-type="bibr" rid="ref12 ref3">3, 12</xref>
        ]. We call them
respectively Bibson5 and dc09).
dc09 is the one of the task 2 of ECML PKDD Discovery
Challenge 20096. This task was especially intended for
methods relying on a graph structure of the training data only.
The user, item, and tags of each post in the test data are all
contained in the training data’s, a post-core at level 2.Let
us remaind that a post-core at level p is a subset of a
folksonomy with the property, that each user, tag and item
has/occurs in at least p times.Table 1 presents the
caracteristics of these datasets.
      </p>
    </sec>
    <sec id="sec-9">
      <title>4.2 Evaluation Measures and Methodology</title>
      <p>
        To evaluate STRec, we used a variant of the leave-one-out
hold-out estimation called LeavePostOut [
        <xref ref-type="bibr" rid="ref12 ref16">12, 16</xref>
        ]. In all
datasets except dc09, we picked randomly, for each user u,
one item i, which she had tagged before. Thus we create a
test set and a training one. The task of our recommender
was then to predict the tags the user will assign to i. We
denote them Tˆ(u; i).
2http://www.delicious.com
3http://www.grouplens.org
4http://www.lastfm.com
5http://www.bibsonomy.org
6http://www.kde.cs.uni-kassel.de/ws/dc09/
Moreover we generate, for each training set, three social
networks by computing respectively the Dice coefficient of
common users’ tagged items (tagged by any two users), the one
of common users’ tags (similar vocabulary), and the one of
common users’ tuples of (tag, item). We notice that we
fixed the parameter to 0.05 for all the experimentations,
which is of course not necessarily optimal for all of them. We
kept this value after a calibration we made on the dataset
dc09. It may be seem rather small but it is comprehensible
when we compare the two components of STRec. Indeed,
the weights of the edges (i.e. proximity measures) between
the users are in the interval [
        <xref ref-type="bibr" rid="ref1">1, 0</xref>
        ] and exceed rarely 0.5. For
the performance evaluation, we use the F1-measure which
is a reference in such scenarios [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ]. Thus for each post
(u; i) in the test set, we compute the precision and recall of
the top-5 recommendations as follows
precision(u; i) =
recall(u; i) =
      </p>
      <p>T (u; i) ∩ Tˆ(u; i)</p>
      <p>Tˆ(u; i)
T (u; i) ∩ Tˆ(u; i)</p>
      <p>|T (u; i)|
precision =
recall =
1</p>
      <p>∑ precision(u; i)
|(u; i)| (u;i)
1</p>
      <p>∑ recall(u; i)
|(u; i)| (u;i)
For each dataset, we average these values over all (u; i) in
the test set:
and compute the F1-measure value as follows</p>
      <p>F 1 =
2 × precision × recall</p>
      <p>precision + recall
This process was repeated ten times for each dataset (except
dc09), each time with another item and the same user, to
further minimize the variance. In the sequel, the listed
F1measure values are thus always the averages over all ten
runs.</p>
    </sec>
    <sec id="sec-10">
      <title>4.3 Results</title>
      <p>4.3.1 Comparison with the results of the Task 2 of</p>
      <p>
        ECML PKDD Discovery Challenge 2009
The Task 2 of the ECML PKDD Discovery Challenge 2009
was especially intended for the methods relying on the graph
structure of the training data. The user, item, and tags of
each post in the test data are all contained in the training
data’s post-core at level 2. There were 21 participants to this
(7)
(8)
(9)
(10)
(11)
task. Table 2 shows the scores of our approach in this task,
compared to the scores of the other participants. STRec
reaches the eleventh place with a score of 0.30566. When we
apply the re-ranking step (STRec++), with adaptive
recommendations length as the others in the challenge, we improve
noticeably our score up to be at the fourth place in the final
result. This corresponds of an improvement of 5.53%, which
confirms the efficiency of STRec++. The next experiment
shows the benefits we gained on the five datasets.
4.3.2 Benefit of sorting candidate tags relatively to
the first of them
As we mentioned in Section 3.2, STRec returns a list of tags
sorted by their lowest possible scores M inScore(t|u; i). The
top-k of this list is the recommendation result that is given
to the user. STRec++ adds a re-ranking step that ensures
some consistency of the vocabulary (i.e. tags’ co-occurence).
Table 3 shows the improvements brought by STRec++ on
all the datasets we used.
We see that the re-ordering phase improves up to 5.6% the
F1-measure of STRec for the datasets dc09 and del:icio:us.
The average benefit is 3.17%. But as one can notice, the
importance of the gain obtained by STRec++ varies from one
dataset to another. This is due to the fact that the
confidence scores we compute in the re-ordering phase depend on
the number of co-occurrences of the tags (co-occurrence with
the highest ranked tag). Therefore, when the users have in
average a small number of posts, they share a few number of
common tagged items which leads to low confidence scores.
Table 4 below confirms this analysis. It shows that for the
datasets where the user’s average number of posts is greater
than 50 (i.e. del:icio:us and dc09), the gain obtained by
STRec++ exceeds 5%. But, this gain remains slight when
the user’s average number of posts is small (e.g., less than
40).
4.3.3 Contribution of the bounded search on the
computation time
In Section 3.2, we talked about the estimation of an
optimistic overall score M axScore(t|u; i) of a tag t that has
already been seen in D and its pessimistic score M inScore(t|u; i).
We also introduced an upper-bound score, M axScoreU nseen,
on the yet unseen tags. This upper-bound score allows us
to determine if an unseen tag may be in the top-k. Our
algorithm terminates when this upper-bound score and the
maximal optimistic score of tags that are already in D, but
not in its top-k, are less than the pessimistic score of the last
element in the current top-k of D (i.e., D[k]). Thus, we are
guaranteed that the top-k can no longer change as exposed
in [
        <xref ref-type="bibr" rid="ref14 ref6">14, 6</xref>
        ].
      </p>
      <p>
        We measured the contribution of this optimisation which
allows us to limit the search space. For this, we executed
STRec without it. In other words, we search and compute
the score of all the tags then we make the top-k. We call
this variant STRec unbounded. Table 5 lists the gains in
terms of execution time obtained by the bounded search on
different datasets. As one can see, the gain is significant.
For instance, it reaches 35 minutes on the dataset lastf m,
where the unbounded search takes 1 hour and 50 minutes.
4.3.4 A weakness of STRec: the non consideration
of user’s tag frequency
As Table 5 shows, the STRec algorithm, as the initial search
algorithms of [
        <xref ref-type="bibr" rid="ref1 ref14">14, 1</xref>
        ] we adapted to tag recommendation, is
very efficient in terms of computation time. However, it does
not consider the tagging behaviour of the user herself (to
whom the recommendations are intended). In other words,
it takes into account the tag frequency of her neighborhood
but not her own tag frequency.
      </p>
      <p>To evaluate the importance of user’s tag frequency, we
compared STRec with three baseline tag recommenders. Our
first baseline recommender, userPT, computes all user’s tag
frequencies then recommends the most frequent tags. The
second one, itemPT, uses item’s tag frequencies instead of
user’s tag frequencies. Finally the last baseline recommender,
userItemPT, computes a linear no-weighted combination of
the two previous frequencies.</p>
      <p>On Table 6, we can see that STRec outperforms the two
first baselines. The network-dependant component of STRec
clearly brings some advantages comparing to itemPT which
is limited to item’s tag frequency. But, we see that STRec
fails to obtain better results than the combined frequencies
userItemPT, except on the dc09 dataset. So, we can
conclude that user’s tag frequency play a role in this difference.
4.3.5 Importance of the network similarity measure
In the previous experiments, the social network is based on
a similarity measure between the users. In the following, we
try to analyse the impact of the network type (kind of
similarity we consider) on the quality of the recommendations.
Thus, we used for each training set three different social
networks (SNitem; SNtag; SN(item;tag)), based respectively on
(i) the Dice coefficient of common items (same item tagged
by two users), (ii) common tags (similar vocabulary between
two users), and (iii) common couple (tag, item) between the
users.
Except the case of del:icio:us dataset, the networks built on
users’ common tagged items give the best results. In
contrast, the networks relying on common tags give the worst
results due to probably the fact that the users do not share
enough vocabularies (i.e. tags).</p>
    </sec>
    <sec id="sec-11">
      <title>5. RELATED WORK</title>
      <p>
        Many researchers have investigated graph-based tag
recommenders which rely on links between user, items, and/or
tags, to make recommendations [
        <xref ref-type="bibr" rid="ref18 ref19 ref20 ref22 ref25 ref8">20, 8, 18, 22, 25, 19</xref>
        ].
We can cite the approach of Si et al. [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] which combines two
already existing methods, the ”most popular tags” method
and FolkRank. The ”most popular tags” is the simplest
collaborative-filtering based technique, it recommends the
most popular tags used by other users. FolkRank uses a
user-item-tag tripartite hypergraph, which was first
proposed as tag suggestion method in [
        <xref ref-type="bibr" rid="ref10 ref11">11, 10</xref>
        ]. Although our
”tag’s frequency” enables determining the most popular tags,
STRec uses a simple user-graph of similarities.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], Zhang et al. also combine the FolkRank algorithm
with a collaborative filtering technique which considers, like
us, users’ similarities computed using a Pearson
correlationoriented method. Mrosek et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] combine three weighted
recommenders (”Tag by Source”, ”Tag by User”, and ”Tag by
User Similarity”). The first one, ”Tag by Source”, generates
tags based on the item information. It computes and uses
the frequency of association of each tag to the resource. The
second algorithm recommends and scores the tags used by
the user. The last algorithm focuses on tags which have been
used by similar users. The similarity between two users is
defined over the number of same item posted by them. Note
that, unlike all the cited approaches, STRec takes into
account the similarity between users whether they are directly
or indirectly connected (extended proximity, section 3). This
allows a broader consideration of the user’s neighbourhood
in the social network.
      </p>
      <p>
        Association rules mining can be used to extract from the
folksonomy useful knowledge on the way users assign tags to
items [
        <xref ref-type="bibr" rid="ref2 ref21">21, 2</xref>
        ], and recommendations can be done based on the
extracted knowledge. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], Lipczak focuses on
contentbased tag recommenders. Hi extracts basic tags from the
content of the items (e.g. the item title). Then, he extends
the set of potential recommendations by related tags,
proposed by a lexicon based on the co-occurrences of tags within
item’s posts. He determines these co-occurrences using an
association rules mining technique. On their side, Wang et
al. first apply the TF-IDF algorithm on the description of
the item content, in order to extract from it a list of
keywords [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. Based on these keywords they use association
rules to determine the most probable tags to recommend.
In addition, if the item has been tagged before by other
users, or if the user has tagged other items before, the
history records is also exploited to detrmine the most
appropriate recommendations. These algorithms are content-based,
which is not the case of STRec++ where the mining step
(re-ordering of the tags) is only based on the primary list
of candidate tags. The association rules we use in this step
take into account the association degree between the best
ranked tag and its successors.
      </p>
    </sec>
    <sec id="sec-12">
      <title>6. CONCLUSION</title>
      <p>
        In this paper, we presented STRec an algorithm for tag
recommendation, and an optimized variant of the algorithm
STRec++ that improves the quality of the
recommendations. STRec transposes the search algorithm proposed in
[
        <xref ref-type="bibr" rid="ref1 ref14">14, 1</xref>
        ] to tag recommendation. One of the benefits of this
algorithm is its ability to browse on-the-fly the social
network of a user, which enables us to take into account the
tagging behavior of the neighbourhood (direct or indirect links)
of the user in the recommendation process. STRec++
improves the recommendations by applying a mining step on
top of STRec that refines the final ranking of the
recommended tags. This step leads to significant improvement
of the quality of the recommendations as we show in the
experiments.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.</given-names>
            <surname>Abdessalem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Cautis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Maniu</surname>
          </string-name>
          .
          <article-title>Algorithme top-k pour la recherche dinformation dans les r´eseaux sociaux</article-title>
          .
          <source>In 27-emes journees Bases de Donnees Avancees (BDA'11)</source>
          , Rabat, Maroc, Oct.
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Bel</surname>
          </string-name>
          ´em,
          <string-name>
            <given-names>E. F.</given-names>
            <surname>Martins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Almeida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Gonc</surname>
          </string-name>
          <article-title>¸alves, and</article-title>
          <string-name>
            <given-names>G. L.</given-names>
            <surname>Pappa</surname>
          </string-name>
          .
          <article-title>Exploiting co-occurrence and information quality metrics to recommend tags in web 2.0 applications</article-title>
          .
          <source>In Proceedings of the 19th ACM international conference on Information and knowledge management</source>
          ,
          <source>CIKM '10</source>
          , pages
          <fpage>1793</fpage>
          -
          <lpage>1796</lpage>
          , New York, NY, USA,
          <year>2010</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Benz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          , R. Ja¨schke,
          <string-name>
            <given-names>B.</given-names>
            <surname>Krause</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mitzlaff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schmitz</surname>
          </string-name>
          , and
          <string-name>
            <surname>G. Stumme.</surname>
          </string-name>
          <article-title>The social bookmark and publication management system BibSonomy</article-title>
          .
          <source>The VLDB Journal</source>
          ,
          <volume>19</volume>
          (
          <issue>6</issue>
          ):
          <fpage>849</fpage>
          -
          <lpage>875</lpage>
          , Dec.
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>I.</given-names>
            <surname>Cantador</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Brusilovsky</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Kuflik</surname>
          </string-name>
          . 2nd workshop
          <article-title>on information heterogeneity and fusion in recommender systems (hetrec 2011)</article-title>
          .
          <source>In Proceedings of the 5th ACM conference on Recommender systems, RecSys</source>
          <year>2011</year>
          , New York, NY, USA,
          <year>2011</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E. W.</given-names>
            <surname>Dijkstra</surname>
          </string-name>
          .
          <article-title>A Note on Two Problems in Connection with Graphs</article-title>
          .
          <source>Numerical Mathematics</source>
          ,
          <volume>1</volume>
          :
          <fpage>269</fpage>
          -
          <lpage>271</lpage>
          ,
          <year>1959</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lotem</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Naor</surname>
          </string-name>
          .
          <article-title>Optimal aggregation algorithms for middleware</article-title>
          .
          <source>In Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems</source>
          ,
          <source>PODS '01</source>
          , pages
          <fpage>102</fpage>
          -
          <lpage>113</lpage>
          , New York, NY, USA,
          <year>2001</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gueye</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Abdessalem</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Naacke</surname>
          </string-name>
          .
          <article-title>Foldcons: A simple way to improve tag recommendation</article-title>
          .
          <source>In Proceedings of the 5th ACM RecSys workshop on Recommender systems and the social web</source>
          ,
          <source>RSWeb '13</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yin</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Han.</surname>
          </string-name>
          <article-title>Survey on social tagging techniques</article-title>
          .
          <source>SIGKDD Explor</source>
          . Newsl.,
          <volume>12</volume>
          (
          <issue>1</issue>
          ):
          <fpage>58</fpage>
          -
          <lpage>72</lpage>
          , Nov.
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hamouda</surname>
          </string-name>
          and
          <string-name>
            <given-names>N. M.</given-names>
            <surname>Wanas</surname>
          </string-name>
          .
          <article-title>Put-tag: personalized user-centric tag recommendation for social bookmarking systems</article-title>
          .
          <source>Social network analysis and mining</source>
          ,
          <volume>1</volume>
          (
          <issue>4</issue>
          ):
          <fpage>377</fpage>
          -
          <lpage>385</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          , R. Ja¨schke, C. Schmitz, and
          <string-name>
            <given-names>G.</given-names>
            <surname>Stumme. Folkrank</surname>
          </string-name>
          :
          <article-title>A ranking algorithm for folksonomies</article-title>
          .
          <source>In Proc. FGIR</source>
          <year>2006</year>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ja</surname>
          </string-name>
          ¨schke, L.
          <string-name>
            <surname>Marinho</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Hotho</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Schmidt-Thieme</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Stumme</surname>
          </string-name>
          .
          <article-title>Tag recommendations in folksonomies</article-title>
          .
          <source>In Proceedings of the 11th European conference on Principles and Practice of Knowledge Discovery in Databases, PKDD 2007</source>
          , pages
          <fpage>506</fpage>
          -
          <lpage>514</lpage>
          , Berlin, Heidelberg,
          <year>2007</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ja</surname>
          </string-name>
          ¨schke, L.
          <string-name>
            <surname>Marinho</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Hotho</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Schmidt-Thieme</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Stumme</surname>
          </string-name>
          .
          <article-title>Tag recommendations in social bookmarking systems</article-title>
          .
          <source>AI Commun</source>
          .,
          <volume>21</volume>
          (
          <issue>4</issue>
          ):
          <fpage>231</fpage>
          -
          <lpage>247</lpage>
          , Dec.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lipczak</surname>
          </string-name>
          .
          <article-title>Tag recommendation for folksonomies oriented towards individual users</article-title>
          .
          <source>ECML PKDD discovery challenge</source>
          ,
          <volume>84</volume>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Maniu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Cautis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Abdessalem</surname>
          </string-name>
          .
          <article-title>Efficient top-k retrieval in online social tagging networks</article-title>
          .
          <source>CoRR, abs/1104.1605</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L. B.</given-names>
            <surname>Marinho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nanopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Schmidt-Thieme</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ja</surname>
          </string-name>
          <article-title>¨schke, A</article-title>
          . Hotho, G. Stumme, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Symeonidis</surname>
          </string-name>
          .
          <article-title>Social tagging recommender systems</article-title>
          . In Ricci et al. [
          <volume>20</volume>
          ], pages
          <fpage>615</fpage>
          -
          <lpage>644</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L. B.</given-names>
            <surname>Marinho</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Schmidt-Thieme</surname>
          </string-name>
          .
          <article-title>Collaborative tag recommendations</article-title>
          . In C. Preisach,
          <string-name>
            <given-names>H.</given-names>
            <surname>Burkhardt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Schmidt-Thieme</surname>
          </string-name>
          , and R. Decker, editors, GfKl, Studies in Classification,
          <source>Data Analysis, and Knowledge Organization</source>
          , pages
          <fpage>533</fpage>
          -
          <lpage>540</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>A. K. Milicevic</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Nanopoulos</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Ivanovic</surname>
          </string-name>
          .
          <article-title>Social tagging in recommender systems: a survey of the state-of-the-art and possible extensions</article-title>
          .
          <source>Artif. Intell. Rev.</source>
          ,
          <volume>33</volume>
          (
          <issue>3</issue>
          ):
          <fpage>187</fpage>
          -
          <lpage>209</lpage>
          , Mar.
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>E.</given-names>
            <surname>Milios</surname>
          </string-name>
          .
          <article-title>Corpus-based term relatedness graphs in tag recommendation</article-title>
          .
          <source>In Proceedings of the 23rd Canadian conference on Advances in Arti cial Intelligence</source>
          ,
          <source>AI</source>
          '
          <volume>10</volume>
          , pages
          <fpage>3</fpage>
          -
          <lpage>3</lpage>
          , Berlin, Heidelberg,
          <year>2010</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Mrosek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bussmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Albers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Posdziech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hengefeld</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Opperman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Robert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Spira</surname>
          </string-name>
          .
          <article-title>Content- and graph-based tag recommendation: Two variations</article-title>
          . In F. Eisterlehner,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          , and R. Ja¨schke, editors,
          <source>ECML PKDD Discovery Challenge 2009 (DC09)</source>
          , volume
          <volume>497</volume>
          , pages
          <fpage>189</fpage>
          -
          <lpage>199</lpage>
          , Bled, Slovenia,
          <year>September 2009</year>
          . CEUR Workshop Proceedings.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rokach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Shapira</surname>
          </string-name>
          , and P. B. Kantor, editors.
          <source>Recommender Systems Handbook</source>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>C.</given-names>
            <surname>Schmitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          , R. Ja¨schke, and
          <string-name>
            <given-names>G.</given-names>
            <surname>Stumme</surname>
          </string-name>
          .
          <article-title>Mining association rules in folksonomies</article-title>
          . pages
          <fpage>261</fpage>
          -
          <lpage>270</lpage>
          .
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>X.</given-names>
            <surname>Si</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Jiang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sun</surname>
          </string-name>
          .
          <article-title>Content-based and graph-based tag suggestion</article-title>
          . In F. Eisterlehner,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          , and R. Ja¨schke, editors,
          <source>ECML PKDD Discovery Challenge 2009 (DC09)</source>
          , volume
          <volume>497</volume>
          , pages
          <fpage>243</fpage>
          -
          <lpage>260</lpage>
          , Bled, Slovenia,
          <year>September 2009</year>
          . CEUR Workshop Proceedings.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hong</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B. D.</given-names>
            <surname>Davison</surname>
          </string-name>
          . Rsdc '
          <volume>09</volume>
          :
          <article-title>Tag recommendation using keywords and association rules</article-title>
          . In F. Eisterlehner,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          , and R. Ja¨schke, editors,
          <source>ECML PKDD Discovery Challenge 2009 (DC09)</source>
          , volume
          <volume>497</volume>
          , pages
          <fpage>261</fpage>
          -
          <lpage>274</lpage>
          , Bled, Slovenia,
          <year>September 2009</year>
          . CEUR Workshop Proceedings.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Yahia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Benedikt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. V. S.</given-names>
            <surname>Lakshmanan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Stoyanovich</surname>
          </string-name>
          .
          <article-title>Efficient network aware search in collaborative tagging sites</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>710</fpage>
          -
          <lpage>721</lpage>
          , Aug.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Tang</surname>
          </string-name>
          .
          <article-title>A collaborative filtering tag recommendation system based on graph</article-title>
          . In F. Eisterlehner,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          , and R. Ja¨schke, editors,
          <source>ECML PKDD Discovery Challenge 2009 (DC09)</source>
          , volume
          <volume>497</volume>
          , pages
          <fpage>297</fpage>
          -
          <lpage>306</lpage>
          , Bled, Slovenia,
          <year>September 2009</year>
          . CEUR Workshop Proceedings.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>