<!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>Tag Sources for Recommendation in Collaborative Tagging Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marek Lipczak</string-name>
          <email>lipczak@cs.dal.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yeming Hu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yael Kollet</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Evangelos Milios</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Computer Science, Dalhousie University</institution>
          ,
          <addr-line>Halifax</addr-line>
          ,
          <country country="CA">Canada</country>
          ,
          <addr-line>B3H 1W5</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Collaborative tagging systems are social data repositories, in which users manage resources using descriptive keywords (tags). An important element of collaborative tagging systems is the tag recommender, which proposes a set of tags to each newly posted resource. In this paper we discuss the potential role of three tag sources: resource content as well as resource and user profiles in the tag recommendation system. Our system compiles a set of resource specific tags, which includes tags related to the title and tags previously used to describe the same resource (resource profile). These tags are checked against user profile tags - a rich, but imprecise source of information about user interests. The result is a set of tags related both to the resource and user. Depending on the character of processed posts this set can be an extension of the common tag recommendation sources, namely resource title and resource profile. The system was submitted to ECML PKDD Discovery Challenge 2009 for “content-based” and “graph-based” recommendation tasks, in which it took the first and third place respectively.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The emergence of social data repositories made a fundamental change in the
way information is created, stored and perceived. Instead of a rigid hierarchy
of folders, collaborative tagging systems (e.g., BibSonomy1, del.icio.us2, Flickr3,
Technorati4) use a flexible folksonomy of tags. The folksonomy is created
collaboratively by system users. While adding a resource to the system, users are
asked to define a set of tags – keywords which describe it and relate it to other
resources gathered in the system. To ease this process, some folksonomy services
recommend a set of potentially appropriate tags. Proposing a tag
recommendation system was a task of ECML PKDD Discovery Challenge 20095. This paper
presents a tag recommendation system submitted to the challenge.
1 http://bibsonomy.org/help/about/
2 http://del.icio.us/about/
3 http://flickr.com/about/
4 http://technorati.com/about/
5 http://www.kde.cs.uni-kassel.de/ws/dc09/
1.1
Collaborative tagging systems allow users (ui ∈ U ) to store resources (rj ∈ R)
in the form of posts (pij ∈ P ). A post is a triple pij = (ui, rj , Tij ), where
Tij = {tk} is a set of tags assigned by the user to the resource. The data structure
constructed by the collaborative tagging system (referred to as folksonomy [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ])
is simply a set of posts. However, relations between three basic elements of the
post allow us to represent the folksonomy as a tripartite graph of resources, users
and tags. Each post can be then understood as a set of edges that form triangles
connecting resource, user and tag. Projections of this tripartite graph can be
used to examine the relations between folksonomy elements (e.g., two tags can
be considered as similar when they are both linked to a large number of common
resources, two users are similar when they are linked to the same tags).
      </p>
      <p>Tag recommendation s is a pair (t, l), where t is a tag and l is a
recommendation score, which is supposed to reflect the likelihood of the tag t being chosen
by a user as a proper tag. A tag recommendation system returns a set of tag
recommendations S. In this paper we use the term tag recommendation set (or
simply recommendation) not only to refer to the final set of tags returned to the
user, but also to denote the results of intermediate tag recommendation steps.
In section 5 we define a set of operations on tag recommendation sets, which are
used by our tag recommendation system.</p>
      <p>
        User profile is a set of tags used by the user prior to the post that is being
currently added to the system, Pu = {tk : ui = u, rj ∈ R, pij ∈ P, tk ∈ Tij }.
The user profile is usually referred to as personomy [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. We use a more general
term, because it does not imply that the profile is personal. By analogy we
can define a resource profile, which contains all tags that were attached to the
resource (e.g., a scientific publication) by all users prior to the current post,
Pr = {tk : ui ∈ U, rj = r, pij ∈ P, tk ∈ Tij }. Both user and resource profiles
can serve as a simple tag recommendation set. For example, resource profile
recommendation SPr is a set of tags from resource profile of r. Their score is the
ratio of posts in which the tag was used to all posts of the resource (Eq. 1). The
intuition behind this formula is that tags frequently used to describe a resource
are likely to be used again, hence they are good recommendations.
l(tk, r) = |{pij : ui ∈ U, rj = r, tk ∈ Tij }|
|{pij : ui ∈ U, rj = r}|
(1)
1.2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Tag recommendation tasks</title>
      <p>The off-line evaluation of a tag recommendation system for challenge purposes is
a complex task. Tags added to the resource are highly dependent on the state of
the system and previous decisions of the user. It is not possible to create a large,
realistic test dataset of posts, hiding at the same time the tags used in these
posts. A test dataset which is large enough to objectively measure the quality of
a recommendation system must cover a long period of time. If the tags in test
data are hidden we lose access to the information about the state of the system,
especially newly joined users, which make the dataset not representative. To ease
this problem, the organizers of ECML PKDD Discovery Challenge 2009 divided
the recommendation task into two subtasks which simulate two complementary
recommendation approaches.</p>
      <p>
        The first task “content-based recommendation” focuses on the content of
a resource that is tagged. In this task we assume that information about the
resource and user profile is in most cases not available in the folksonomy. A
recommender based on resource content is especially important for new users,
which are in the early stage of building their profile. Although, as shown in
Section 3.1, the need of creating the recommendation based only on the content
is rare, the content based recommender can be a valuable starting point for
more complex recommenders that use information gathered in the folksonomy.
Such more complex recommenders are evaluated in the second task –
“graphbased recommendation”. The test set in this task contains only users, resources
and tags that were present at least twice in the training data. To obtain this
set the organizers extracted k-core of order 2 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] of tripartite graph of users,
resources and tags created from training data. The test set contained only posts
for which user, resource and all tags can be found in the k-core. It is important
to notice that the second task neglects the disproportion between the number
of unique resources and users. It also greatly simplifies the recommendation
task by removing posts with unique tags which are hardest to recommend in
real systems. To improve the results for this task the system must follow some
unrealistic assumptions. Although this paper describes an entry to the challenge,
we aimed to present a general system which can be applied to a real folksonomy
based repository of bookmarks or scientific publications. Each modification that
was made to match the specific constraints created by the dataset and the second
task of the challenge is clearly stated.
2
      </p>
      <sec id="sec-2-1">
        <title>Related work</title>
        <p>
          Most of the tag recommendation systems presented in the literature are
graphbased methods. It is a natural choice for folksonomies in which textual content
is hard to access. For example, a system by Sigurbj¨ornsson and van Zwol [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
uses co-occurrence of tags to propose tags that complement user-defined tags of
photographs in Flickr. Ja¨schke et al. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] proposed a graph-based
recommendation system for social bookmarking services. The method is based on FolkRank,
a modification of PageRank, which is suited for folksonomies. The evaluation
on a dense core of folksonomy showed that the FolkRank based recommender
outperforms PageRank and collaborative filtering methods.
        </p>
        <p>
          Even if a tag recommendation system extracts tags from the resource content,
usually it also uses the graph information. An example of a content-based
recommender is presented by Lee and Chun [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The system recommends tags retrieved
from the content of a blog, using an artificial neural network. The network is
trained based on statistical information about word frequencies and lexical
information about word semantics extracted from WordNet. Another system
designed to recommend tags for blog posts is TagAssist [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. The recommendation
is built on tags previously attached to similar resources. Meaning disambiguation
is performed based on co-occurrence of tags in the complete repository.
        </p>
        <p>
          Finally, we would like to mention two somewhat similar systems which took
the first and second place in the ECML PKDD Discovery Challenge 2008. The
winning system was proposed by Tatu et al. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], while the second place was
taken by our submission [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Both systems utilize information from resource
content and the folksonomy graph. The graph is used to create a set of tags
related to the resource and a set of tags related to the user who is adding the
resource to the system. The winning system bases these sets on tags gathered
in the profile of resource or user. Natural language processing techniques are
later used to extend the set of tags related to resource or user (i.e., WordNet
based search for words that represent the same concept). Our system bases the
resource related tags on the resource title, the set is extended by finding tags
that co-occur with the base tags in the system. The user related tags are simply
the tags from the user profile. The intersection of both sets creates a set of tags
that are related to both resource and user. Our system tries to extend this set by
finding more related tags in user profile. Finally, both systems extract tags from
resource content and join the content tags with the resource and user related
tags to create the final recommendation.
3
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>BibSonomy dataset</title>
        <p>
          All presented experiments and the evaluation of proposed tag recommendation
system were performed on a snapshot of BibSonomy [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], a collaborative tagging
system, which is a repository of website bookmarks and scientific publications
(represented by BibTeX entries). The training dataset contained posts entered
to the system before January 1, 2009. The test data contained posts entered
between January 1, 2009 and June 30, 2009. The snapshot was provided by
the organizers of the ECML PKDD Discovery Challenge 2009. The
preprocessing steps, applied prior to the release of the dataset, included removing useless
tags (e.g., system:unfiled ), changing all letters to lower case and removing
nonalphabetical and non-numerical characters from tags. We decided to clean the
dataset further by removing sets of posts that were imported from an external
source. This preprocessing step involved posts for which one set of tags, defined
by user or system, was assigned to a large number of imported resources. An
example of such a set consists of 9, 183 posts tagged with tag indexforum by
one user. Leaving that tag in the system would result in a biased profile of its
author. Unfortunately, this cleaning step could not detect another type of
imported posts, for which the system automatically defines tags and timestamps
based on the information from an external source. An example of such posts is
a set of bookmarks imported from a web browser, for which the collaborative
tagging system can use the names of bookmark folders to automatically define
tags. The second preprocessing step applied to the released data was separation
of bookmark and BibTeX posts. We observed that the vocabulary used for both
types of resources is different, even for individual users. Some of the tags (e.g.,
free) have different meaning when tagging websites or scientific publications.
Finally, content based recommendation can be based on different metadata fields
in both resource types.
3.1
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>General characteristics</title>
      <p>According to the statistical information about the dataset presented on the
Discovery Challenge website6 the BibSonomy snapshot matches the usual
characteristics of folksonomies, including large disproportion between the number of
unique resources and users (Table 1). Among the posts in the BibSonomy
snapshot 90% contained unique resources. These resources cannot be found in any
other post, hence it is not possible to deduce tag recommendation based on
resource profile. At the same time 0.8% of the posts, corresponding to 3,167 posts,
were entered by users with no previous posts in the system. Except those posts,
every time a post is added, the system is able to use the user profile to
recommend tags. Similar proportions can be observed for the CiteULike7 dataset.</p>
      <p>BibSonomy CiteULike
number of tags 1,401,104 4,927,383
number of unique tags 93,756 (7% of tags) 206,911 (4% of tags)
number of bookmark posts 263,004 N/A
number of unique bookmarks 235,328 (89% of posts) N/A
number of BibTeX posts 158,924 1,610,011
number of unique BibTeX entries 143,050 (90% of posts) 1,390,747 (86% of posts)
number of users 3,617 (1% of posts) 42,452 (3% of posts)</p>
      <p>The disproportion between unique resources and users is ignored in the test
data of “graph-based recommendation” task. All users and resources present in
the dataset can be found in the training data at least twice. Despite this fact
the differences in statistical characteristics of resource and user profiles should
be taken into consideration while proposing a recommendation system for this
task. The cumulative frequency distribution of resources shows that both for
bookmark and BibTeX entries, even if we remove elements that occurred twice
or less, most of the remaining elements still have a very small profile (Fig. 1).
Looking at the same statistic for users we see that a significant fraction of them
have over 100 posts in their profiles. Hence user profiles are likely to contain more
6 http://www.kde.cs.uni-kassel.de/ws/dc09/dataset
7 http://www.citeulike.org/
1
10
s 100000
e
tsen recnu 10000
lem cco
rfeenubom trrehkoom
i
w
1000
100
10
1
ino 0.6
s
i
c
reP 0.4
0.2
0
0
0.2
0.4
0.6
0.8</p>
      <p>1
Recall
0
0.2
0.4
0.6
0.8</p>
      <p>1
Recall
potentially useful tags. To confirm this hypothesis we ran another experiment
in which we simulated the test data of “graph-based recommendation” task and
checked what is the precision and recall of basic recommenders that propose tags
from resource/user profile sorted by frequency against real tags. To obtain a test
set we divided the training data into training posts (entered before September
1, 2008) and test posts (entered later). We pruned them to be sure that all
resources, users and tags occurred in the remaining part of the training set at
least twice. Although this setting favours resource profiles, their overall recall
is still lower than recall of the user profiles (Fig. 2). The fact that resource
profiles are smaller makes them, however, a more precise source of tags. High
recall of user profiles was observed by us repeatedly in many experiments. This
is the reason why in our work we focused on user profiles, trying to increase the
precision of this source of tags, while preserving reasonably high recall.</p>
      <sec id="sec-3-1">
        <title>Tag recommendation sources</title>
        <p>
          The presented recommendation system is the evolution of the work on the
system [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] submitted to the ECML PKDD Discovery Challenge 20088. In this
section we summarize the results of experiments conducted during the work on the
previous version of the system. Their main objective was to evaluate the quality
of three basic sources of tags – words from resource title, tags assigned to the
resource by other users (resource profile) and tags in user profile.
Resource title We tested most of the metadata fields looking for potential
tags. Among them the resource title appears to be the most robust source of tag
recommendations. The title is a natural summarization of web page or scientific
publication, which means it plays a similar role as tags. In addition, the title is
present on the resource posting page, which means it can possibly suggest tags
to the user. It is easy to notice the evidence for this observation in the example
posts of User B and User C shown in Table 2. Both of them used the tags
prediction and social for “Social tag prediction” paper, which became the only
occurrence of these tags in their profiles, unlike tag recommender which was used
by them around fifty times, probably to describe the general area of interests.
The number of words in the title is comparable to the number of tags, hence no
additional cleaning steps are needed the achieve fairly high precision comparing
to other examined tag sources (around 0.1). The drawback of this source is low
recall (around 0.2), which makes the title inappropriate as a stand-alone tag
recommender. For bookmark posts the web page URL appears to be another
valuable source of tags. Although URL tags are less precise than title tags, their
union can increase the recall of recommendation.
        </p>
        <sec id="sec-3-1-1">
          <title>Posts: Social tag prediction</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>Towards the Semantic Web: Collaborative Tag Suggestions User A Heymann 08 tag recommendation Xu 06 tag recommendation User B prediction tag recommender social tagging tag recommender tagging</title>
          <p>
            User C folksonomy prediction recommender social folksonomy recommender
tag tagging toread summerschool tagging
Resource profile Tags assigned to the resource by other folksonomy users are
not a good source of tag recommendations. One of the reasons is the sparsity of
8 http://www.kde.cs.uni-kassel.de/ws/rsdc08/
data; 90% of resources were added to the system only once. This fact significantly
limits the possible recall of this source of tags. The other issue is the personal
character of posts and tags, which hurts the precision of retrieved tags. Given
the example of two resources about the same concept, we see that users
cannot agree on tags describing it: tag recommendation, tag recommender, tagging
recommender (Table 2). The variety of tags attached by users creates, however,
another application of resource tag sets. Mining relations between tags attached
to the same resource can result in a graph of relations between tags. Using a
relationship graph the system can identify tags which are also potential
recomendations. The graph consists of general relations between tags and can be used
independently of the resources, which reduces the negative impact of data
sparsity. In our work we use two types of graphs. TagToTag graph is a directed graph
which captures the co-occurence of tags. The weight of an edge is analogous to the
confidence score (Eq. 2) in association rule mining [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ], where support({t1 ∩t2}) is
the number of co-occurrences of tags t1 and t2 and support({t1}) is the number
of occurrences of tag t1. The second graph (TitleToTag ) is created specifically
for the resource title as the base of the recommendation. Using the same model
it captures the relations between words from resource title and its tags.
conf idence(t1, t2) =
support({t1 ∩ t2})
support({t1})
(2)
User profile For cognitive simplicity and effcient retrieval, a typical user
employs the same limited set of tags to describe resources of the same topic
(Table 2). This pattern is the reason for high recall of user tags. On the other hand
the user profile is a combination of tags related to many user interests and
activities, which makes it a very imprecise source of tags. The most frequent tags
from the user profile are likely to be related to the most central interests of the
user. In our system we try to utilize the potential of user profile tags to extract
user’s tags that are related to the interests specific to the posted resource.
5
          </p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Tag recommendation system</title>
        <p>
          Our tag recommendation system is a composition of six basic tag recommenders
(Fig. 3). The result of each recommender is a tag recommendation set with scores
in the range [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ]. The recommender makes a decision based on the resource
content, resource related tags and user profile tags. However, its design makes
it applicable to all posts even if the resource or user profile cannot be found in
the system database. In such cases, the corresponding basic recommenders are
not active. The following sections and Algorithm 1 give the detailed description
of each basic recommender and the data flow in the system.
5.1
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Recommendation based on resource content</title>
      <p>The process starts with the extraction of potential tags from the content of
resource. For BibTeX posts the title of publication is used, for bookmarks the
Algorithm 1: Tag recommendation system</p>
      <p>Data: a resource r and user u
Result: a tag recommendation set Sfinal
begin
/*Step 1 – Extraction of content based tags*/
W ordstitle ←− extractT itleW ords(r)
Stitle ←− ∅
foreach w ∈ W ordstitle do</p>
      <p>Stitle add makeT ag(w, getP riorU sef ullness(w))
removeLowQualityT ags(Stitle, 0.05)
if isBookmark(r) then</p>
      <p>W ordsURL ←− extractU rlW ords(r)
SURL ←− ∅
foreach w ∈ W ordsURL do</p>
      <p>SURL add makeT ag(w, getP riorU sef ullness(w))
removeLowQualityT ags(SURL, 0.05)
rescoreLeadingP recision(Stitle, 0.2)
rescoreLeadingP recision(SURL, 0.1)
Scontent ←− mergeSumP rob(Stitle, SURL)
/*Step 2 – Retrieval of resource related tags*/
ST itleT oT ag ←− ∅// related tags from TitleToTag graph
ST agT oT ag ←− ∅// related tags from TagToTag graph
SPr ←− getP rof ileRecommendationBasic(Pr)
foreach sk ∈ Stitle do</p>
      <p>Ssk,T itleT oT ag ←− ∅
foreach t ∈ getRelated(gT itleT oT ag, sk) do</p>
      <p>Ssk,T itleT oT ag add makeT ag(t, sk.l ∗ conf idenceT itleT oT ag(sk.t, t))
foreach sk ∈ Scontent do</p>
      <p>Ssk,T agT oT ag ←− ∅
foreach t ∈ getRelated(gT agT oT ag, sk) do</p>
      <p>Ssk,T agT oT ag add makeT ag(t, sk.l ∗ conf idenceT agT oT ag(sk.t, t))</p>
      <p>ST itleT oT ag ←− unionP rob(Ts1,T itleT oT ag, . . . , Tsn,T itleT oT ag)
ST agT oT ag ←− unionP rob(Ts1,T agT oT ag, . . . , Tsn,T agT oT ag)
Sr Related ←− unionP rob(ST itleT oT ag, ST agT oT ag, SPr )
/*Step 3 – Retrieval of resource and user related tags*/
SPu ←− getP rof ileRecommendationByDay(Pu)
Sr,u Related ←− indersectionP rob(Sr Related, SPu )
/*Final recommendation*/
rescoreLeadingP recision(Stitle, 0.3)
rescoreLeadingP recision(SPr , 0.3)
rescoreLeadingP recision(Sr,u Related, 0.45)
Sfinal ←− unionP rob(Stitle, SPr , Sr,u Related)
title recommendation is combined with tags extracted from the resource URL.
Each word extracted from the title (or URL) is scored based on the usage of this
word in previous posts. The score is the ratio of the number of times the word
was used in the title (or URL) and as a tag to the total number of occurrences of
the word in the title (or URL). Low-frequency words (i.e., words that were used
in the title less than 50 times) are assigned an arbitrary score 0.1 which is the
estimated probability of using a low-frequency word as a tag. To improve
precision, content based recommender tags with score lower than 0.05 are removed
from the recommendation set. This step serves also as a language independent
stop-words remover. Preliminary experiments indicated that the bookmark title
is more precise source of tag recommendation than its URL. This observation
should be reflected in the way both tag recommendation sets are merged for
bookmark posts. We tested a few rescoring functions, the best results were
observed for the leading precision rescorer (Eq. 3), which sets the average precision
(based on training data) as the score of first tag l1 and modifies the scores of
following tags li to preserve the proportion between all tag scores. Based on the
tests on training data, the average precision of the title tag with the highest
score is 0.2, while for URL it is 0.1.</p>
      <p>li0 =
avgP recisionAt1 ∗ li
l1
(3)
The result of title recommender is later used to propose title related tags in
TitleToTag recommender. The related tags are extracted for each title word
independently. The relation score, multiplied by the score of the word from the
title recommender, becomes the score of the tag. This process produces a set of
related tags for each title word. These sets are later merged, the scores of tags
that can be found in more than one set are summed as they were probabilities of
independent probabilistic events (Eq. 4). TagToTag recommender processes
tags analogously, however, the input of this recommender is a complete content
based tag recommendation set (title and URL for bookmarks). The aim of these
recommenders is to produce a large, but likely not precise set of tags related to
the resource. The third recommender that is able to produce a similar set is the
resource recommender, which returns a set of tags from resource profile. The
score of resource tag is the number of its occurrences divided by the number
of occurrences of the resource. Although for most real posts this recommender
would not return any tags, it plays a significant role in the “graph-based
recommendation” task, where the resource of each tested post can be found in the
system database at least twice. The scores of the results of three recommenders
are summed in a probabilistic way (Eq. 4). This union of tags represents all the
tags that are somehow related to the resource, and we refer to them as resource
related tags.</p>
      <p>lmerged = 1 −</p>
      <p>Y
i:ti=tmerged
(1 − li)
(4)
5.3</p>
    </sec>
    <sec id="sec-5">
      <title>Recommendation based on user profile</title>
      <p>The user recommender produces a set of tags that were used by the user
prior to the current post. Issues related to the construction of user profiles (i.e.,
import of posts, possible change of user interests) make a simple frequency value
not a good score for user profile based recommendation. Tags most likely to be
reused are the ones that were steadily assigned to posts while the user profile was
built. To capture these tags we counted the number of separate days in which
a tag was used by the user. To obtain the tag score we divided the number of
days the tag was used by the total number of days in which the user was adding
posts to the system. This approach allows a decrease in the importance of tags
that were assigned by the user in a short period of time only; however, it only
partially solves the problem of imported posts. For some of imported posts the
system automatically produces low-quality tags and assigns time stamps copied
from an external repository (e.g., importing web browser bookmarks, the system
copies the time they were created). The combination of artificial tags and real
time-stamps makes these posts very hard to detect. Removing such artificial
posts is likely to improve the accuracy of the user profile recommender in a
real recommendation system; however, it can have undesired consequences when
applied to the challenge datasets. If the user imported posts before both training
and test data were collected, it is possible that some of them can be found in both
datasets. Hence we should train the system for tags from these posts, because
it is possible that they can be found in test data as well. Even if we modify
the frequency score the representation of user profile still contains tags related
to various user interests. Checking the tags extracted from user profile against
resource related tags allows us to extract tags that are particularly important for
the processed posts. The intersection of both sets of tags produces tags related
both to user as well as resource. The score of a tag is the product of scores from
both source sets.</p>
      <p>Finally the results of title recommender, resource recommender and the
intersection of resource related tags and user profile are merged. As all three sets
are results of independent recommenders, tags must be rescored to ensure that
tags from more accurate recommenders will have higher score in the final tag
recommendation set. Again the leading precision rescorer was used for the three
input tag recommendation sets. The top ten tags of this set create the final
recommendation set. The challenge organizers proposed to limit the
recommendation set size to five tags, which seems to be a good number to be presented to
a user, however, for evaluation purposes it is interesting to observe more tags.
6</p>
      <sec id="sec-5-1">
        <title>Evaluation</title>
        <p>
          This section presents the results of the off-line system evaluation based on the
available BibSonomy snapshot. The evaluation approach assumed that all and
only relevant tags were given by the user. Although this method simplifies the
problem, it is robust and objective. The quality metrics were precision and recall,
commonly used in recommender system evaluations [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
6.1
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Methodology</title>
      <p>To keep the list of correct tags secret during the contest the organizers kept strict
division between training and test set. The test data contained posts entered to
to BibSonomy between January 1, 2009 and June 30, 2009. Each post of which
user, resource and all tags could be found in k-core of order 2 of training data was
used as test post for the “graph-based recommendation” task. The remaining
posts were used for the “content-based recommendation” task. Comparison of
training and test data for both tasks is presented in Table 3.</p>
      <p>As we decided to separate the processing of BibTeX and bookmark posts
we present the results for two post types separately. The final recommendation
is presented together with the intermediate steps of the system: tags extracted
from the resource title (and URL), the most frequent tags from resource profile
and user profile and the combination of resource related tags and user profile
tags. As each tag from the tag recommendation set can be ranked by its score
it is straightforward to present any selected number of recommended tags. The
plots (Fig. 6.1) present consecutive results for the top n tags, where 1 ≤ n ≤ 10.
For the “graph-based recommendation” task the tags that could not be found in
training test - Task 1 test - Task 2
BibTex 158,924 26,104 (98.7% of test total) 347 (1.3% of test total)
bookmark 263,004 16,898 (97.5% of test total) 431 (2.5% of test total)
posts total 421,928 43,002 (98.2% of test total) 778 (1.8% of test total)
the k-core of training data were removed from each recommendation set before
calculating precision and recall.</p>
      <p>title
resource profile (frequency)
user profile (day based frequency)
user profile X resource related
final recommendation
title and URL
resource profile (frequency)
user profile (day based frequency)
user profile X resource related</p>
      <p>final recommendation</p>
      <p>Fig. 4. Precision and recall of proposed tag recommendation system and
intermediate steps. Test data was divided into BibTeX and bookmark part.
As expected, precision and recall of the recommendation results in the
“contentbased recommendation” task are mostly driven by the content tags. Low score
of user profile recommenders for BibTeX data is likely caused by a large number
of posts by users who started to use the system after the training set was built.
According to the rules set by the organizers the precision score was averaged
over all posts in the test set, even if a recommender returned no tags for some
of them. Whenever a user profile was available the user based recommender
obtained significantly better results than content based recommender only.</p>
      <p>The results for the “graph-based recommendation” task show surprisingly
high accuracy of resource profile tags (which was not observed to such a degree
on training data). For the test dataset in this task the intersection of resource
related tags and user profile has lower precision than resource profile tags. This
is an unexpected result, comparing to the previous results on training dataset,
where the intersection of resource related tags and user profile had comparable or
higher precision and recall to resource profile. Despite this unexpected behaviour
the tags from the user profile are able to increase the f1 score by 0.02 for tag
recommendation set of size 5. The open question is how representative the results
of this dataset are, considering the fact that less than 2% of test posts matched
the conditions of this task.</p>
      <p>For both tasks there is a noticeable difference between the results for both
types of data. However, it is not clear if it is caused by some fundamental
differences between BibTeX and bookmark posts, or the differences between the
two particular test datasets used. It is important to notice that the high number
of tested posts has no impact on the statistical validity of results. The way the
test data was prepared makes it very dependent on the behavior of users in the
period of time the data was collected.</p>
      <p>Finally we present the results of the final recommendation for combined
BibTeX and bookmark posts, which were submitted to the challenge (Table 4). The
systems were ranked based on the f1 score (Eq. 5) for the tag recommendation
set of size 5. Based on that criterion the presented tag recommendation system
took the first place in the “content-based recommendation” task (out of 21
participants) and the third place in the “graph-based recommendation” task (again,
out of 21 participants).</p>
      <sec id="sec-6-1">
        <title>Conclusions and future work</title>
        <p>In creating the presented tag recommendation system we considered the title
of a resource as a natural starting point of the recommendation process. We
tried to extend the set by tags related to the title as well as tags present in
the profiles of resource and user. Our main aim was to extract valuable tags
from user profile which is a very rich but imprecise source of tags. Designing the
system we mostly focused on the precision of the recommended tags. To avoid
the risk of recommending tags less precise than tags extracted from the title we
decided to leave it as the only recommendation whenever the user profile was
unavailable. This was a frequent case in “content-based recommendation” task,
which gives us hope that the system will be able to achieve even better results
for the final “on-line recommendation” task. The system is now connected to
BibSonomy and recommends tags to each newly added post in real time. This
evaluation setting will give a realistic assessment of system quality.</p>
        <p>In our future work on this project we plan to focus on tagging patterns of
individual users which would allow us to tune the recommendation for each
specific user. Discovering strong patterns, like user who uses author name and
year of publication for each BibTeX post, can greatly increase the accuracy of
recommender for this specific user. Another interesting issue is handling of
multiword concepts (e.g., is a user going to use two tags “information” “retrieval” or
one “information.retrieval”?). Finally, we hope that evaluation settings like
“online recommendation” task would allow us to investigate short temporal patterns
when a user adds a sequence of posts related to the same problem.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Rakesh</given-names>
            <surname>Agrawal</surname>
          </string-name>
          , Tomasz Imielin´ski, and Arun Swami.
          <article-title>Mining association rules between sets of items in large databases</article-title>
          .
          <source>SIGMOD Rec</source>
          .,
          <volume>22</volume>
          (
          <issue>2</issue>
          ):
          <fpage>207</fpage>
          -
          <lpage>216</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>V.</given-names>
            <surname>Batagelj</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Zaverˇsnik</surname>
          </string-name>
          . Generalized cores,
          <year>2002</year>
          . cite arxiv:cs.
          <source>DS/0202039.</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Jonathan L. Herlocker</surname>
          </string-name>
          , Joseph A.
          <string-name>
            <surname>Konstan</surname>
          </string-name>
          , Loren G. Terveen, and John T. Riedl.
          <article-title>Evaluating collaborative filtering recommender systems</article-title>
          .
          <source>ACM Trans. Inf</source>
          . Syst.,
          <volume>22</volume>
          (
          <issue>1</issue>
          ):
          <fpage>5</fpage>
          -
          <lpage>53</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Hotho</surname>
          </string-name>
          ,
          <string-name>
            <surname>Robert</surname>
            <given-names>J</given-names>
          </string-name>
          ¨aschke, Christoph Schmitz, and Gerd Stumme.
          <article-title>BibSonomy: A social bookmark and publication sharing system</article-title>
          .
          <source>In Proc. the First Conceptual Structures Tool Interoperability Workshop at the 14th Int. Conf. on Conceptual Structures</source>
          , pages
          <fpage>87</fpage>
          -
          <lpage>102</lpage>
          , Aalborg,
          <year>2006</year>
          . Aalborg Universitetsforlag.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Hotho</surname>
          </string-name>
          ,
          <string-name>
            <surname>Robert</surname>
            <given-names>J</given-names>
          </string-name>
          ¨aschke, Christoph Schmitz, and
          <string-name>
            <given-names>Gerd</given-names>
            <surname>Stumme</surname>
          </string-name>
          .
          <article-title>Trend detection in folksonomies</article-title>
          .
          <source>In Proc. First International Conference on Semantics And Digital Media Technology (SAMT)</source>
          , volume
          <volume>4306</volume>
          <source>of LNCS</source>
          , pages
          <fpage>56</fpage>
          -
          <lpage>70</lpage>
          , Heidelberg, dec
          <year>2006</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Robert</surname>
            <given-names>J</given-names>
          </string-name>
          ¨aschke, Leandro Balby Marinho, Andreas Hotho, Lars Schmidt-Thieme, and
          <string-name>
            <given-names>Gerd</given-names>
            <surname>Stumme</surname>
          </string-name>
          .
          <article-title>Tag recommendations in folksonomies</article-title>
          .
          <source>In Knowledge Discovery in Databases: PKDD</source>
          <year>2007</year>
          ,
          <source>11th European Conference on Principles and Practice of Knowledge Discovery in Databases</source>
          , Warsaw, Poland,
          <source>September 17-21</source>
          ,
          <year>2007</year>
          , Proceedings, volume
          <volume>4702</volume>
          <source>of LNCS</source>
          , pages
          <fpage>506</fpage>
          -
          <lpage>514</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Sigma</given-names>
            <surname>On</surname>
          </string-name>
          <article-title>Kee Lee and Andy Hon Wai Chun</article-title>
          .
          <article-title>Automatic tag recommendation for the web 2.0 blogosphere using collaborative tagging and hybrid ANN semantic structures</article-title>
          .
          <source>In ACOS'07: Proc. the 6th Conf. on WSEAS Int. Conf. on Applied Computer Science</source>
          , pages
          <fpage>88</fpage>
          -
          <lpage>93</lpage>
          ,
          <string-name>
            <surname>Stevens</surname>
            <given-names>Point</given-names>
          </string-name>
          , Wisconsin, USA,
          <year>2007</year>
          . WSEAS.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Marek</given-names>
            <surname>Lipczak</surname>
          </string-name>
          .
          <article-title>Tag recommendation for folksonomies oriented towards individual users</article-title>
          .
          <source>In Proceedings of the ECML/PKDD 2008 Discovery Challenge Workshop, part of the European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. B¨
          <article-title>orkur Sigurbj¨ornsson and Roelof van Zwol</article-title>
          .
          <article-title>Flickr tag recommendation based on collective knowledge</article-title>
          .
          <source>In WWW '08: Proc. the 17th international conference on World Wide Web</source>
          , pages
          <fpage>327</fpage>
          -
          <lpage>336</lpage>
          , New York, NY, USA,
          <year>2008</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>S.C.</given-names>
            <surname>Sood</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.J.</given-names>
            <surname>Hammond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.H.</given-names>
            <surname>Owsley</surname>
          </string-name>
          , and
          <string-name>
            <surname>L. Birnbaum.</surname>
          </string-name>
          <article-title>TagAssist: Automatic tag suggestion for blog posts</article-title>
          .
          <source>In Proc. the International Conference on Weblogs and Social Media (ICWSM</source>
          <year>2007</year>
          ),
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Marta</surname>
            <given-names>Tatu</given-names>
          </string-name>
          , Munirathnam Srikanth, and Thomas DSilva. RSDC08:
          <article-title>Tag recommendations using bookmark content</article-title>
          .
          <source>In Proceedings of the ECML/PKDD 2008 Discovery Challenge Workshop, part of the European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>