<!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>A Tag Recommender System Exploiting User and Community Behavior</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Cataldo Musto</string-name>
          <email>cataldomusto@di.uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fedelucio Narducci</string-name>
          <email>narducci@di.uniba.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco De Gemmis</string-name>
          <email>degemmis@di.uniba.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pasquale Lops</string-name>
          <email>lops@di.uniba.it</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giovanni Semeraro</string-name>
          <email>semeraro@di.uniba.it</email>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Computer Science, University of Bari 'Aldo Moro'</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. of Computer Science, University of Bari 'Aldo Moro'</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Dept. of Computer Science, University of Bari 'Aldo Moro'</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Dept. of Computer Science, University of Bari 'Aldo Moro'</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Dept. of Computer Science, University of Bari 'Aldo Moro'</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays Web sites tend to be more and more social: users can upload any kind of information on collaborative platforms and can express their opinions about the content they enjoyed through textual feedbacks or reviews. These platforms allow users to annotate resources they like through freely chosen keywords (called tags). The main advantage of these tools is that they perfectly fit user needs, since the use of tags allows organizing the information in a way that closely follows the user mental model, making retrieval of information easier. However, the heterogeneity characterizing the communities causes some problems in the activity of social tagging: someone annotates resources with very specific tags, other people with generic ones, and so on. These drawbacks reduce the exploitation of collaborative tagging systems for retrieval and filtering tasks. Therefore, systems that assist the user in the task of tagging are required. The goal of these systems, called tag recommenders, is to suggest a set of relevant keywords for the resources to be annotated. This paper presents a tag recommender system called STaR (Social Tag Recommender system). Our system is based on two assumptions: 1) the more two or more resources are similar, the more they share common tags 2) a tag recommender should be able to exploit tags the user already used in order to extract useful keywords to label new resources. We also present an experimental evaluation carried out using a large dataset gathered from Bibsonomy.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Categories and Subject Descriptors</title>
      <p>H.3.1 [Information Storage and Retrieval]: Content
Analysis and Indexing: Indexing methods; H.3.3 [Information
Storage and Retrieval]: Information Search and Retrieval:
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.</p>
      <p>Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$10.00.</p>
      <sec id="sec-1-1">
        <title>Information filtering</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>General Terms</title>
      <p>1.</p>
    </sec>
    <sec id="sec-3">
      <title>INTRODUCTION</title>
      <p>
        We are assisting to a transformation of the Web towards
a more user-centric vision called Web 2.0. By using Web 2.0
applications users are able to publish auto-produced
contents such as photos, videos, political opinions, reviews, hence
they are identified as Web prosumers: producers + consumers
of knowledge. Recently the research community has
thoroughly analyzed the dynamics of tagging, which is the act
of annotating resources with free labels, called tags. Many
argue that, thanks to the expressive power of folksonomies
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], collaborative tagging systems are very helpful to users
in organizing, browsing and searching resources. This
happens because, in contrast to systems where information about
resources is only provided by a small set of experts, the
model of collaborative tagging systems takes into account
the way individuals conceive the information contained in a
resource [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], so they perfectly fit user needs and user mental
model. Nowadays almost all Web 2.0 platforms embed
tagging: we can cite Flickr1, YouTube2, Del.icio.us3, Last.fm4,
Bibsonomy5 and so on. These systems provide
heterogeneous contents (photos, videos, musical habits, etc.), but
they all share a common core: they let users to post new
resources and to annotate them with tags. Besides the simple
act of annotation, the tagging of resources has also a key
social aspect; the connection between users, resources and tags
generates a tripartite graph that can be easily exploited to
1http://www.flickr.com
2http://www.youtube.com
3http://delicious.com/
4http://www.last.fm/
5http://www.bibsonomy.org/
analyze the dynamics of collaborative tagging systems. For
example, users that label the same resource by using the
same tags might have similar tastes and items labeled with
the same tags might share common characteristics.
      </p>
      <p>
        Undoubtedly the power of tagging lies in the ability for
people to freely determine the appropriate tags for a
resource [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Since folksonomies do not rely on a predefined
lexicon or hierarchy they have the main advantage to be
fully free, but at the same time they generate a very noisy
tag space, really hardly to exploit for retrieval or
recommendation tasks without performing any form of processing.
Golder et. al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] identified three major problems of
collaborative tagging systems: polysemy, synonymy, and level
variation. Polysemy refers to situations where tags can have
multiple meanings: for example a resource tagged with the
term bat could indicate a news taken from an online sport
newspaper or a Wikipedia article about nature. We refer to
synonymy when multiple tags share a single meaning: for
example we can have simple morphological variations (such
as ’AI’,’artificial intelligence’ and so on to identify a
scientific publication about Artificial Intelligence) but also lexical
relations (like resources tagged with ‘arts’ versus ‘cultural
heritage’). At last, the phenomenon of tagging at different
levels of abstraction is defined as level-variation. This
happens when people annotate the same web page, containing
for example a recipe for roast turkey with the tag
‘roastturkey’ but also with a simple ‘recipe’.
      </p>
      <p>
        Since these problems are of hindrance to completely
exploit the expressive power of folksonomies, in the last years
many tools have been developed to assist the user in the
task of tagging and to aid at the same time the tag
convergence [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]: we refer to them as tag recommenders. These
systems work in a very simple way:
1. a user posts a resource;
2. depending on the approach, the tag recommender
analyzes some information related to the resource (usually
metadata or a subset of the relations in the
aforementioned tripartite graph);
3. the tag recommender processes this information and
produces a list of recommended tags;
4. the user freely chooses the most appropriate tags to
annotate the resource.
      </p>
      <p>Clearly, the more these recommended tags match the user
needs and her mental model, the more she will use them to
annotate the resource. In this way we can rapidly speed up
the tag convergence aiding at the same time in filtering the
noise of the complete tag space.</p>
      <p>This paper presents the tag recommender STaR. When
developing the model, we tried to point out two concepts:
• resources with similar content should be annotated
with similar tags;
• a tag recommender needs to take into account the
previous tagging activity of users, increasing the weight
of the tags already used to annotate similar resources.</p>
      <p>In this work, we identify two main aspects in the tag
recommendation task: first, each user has a typical manner
to label resources; second, similar resources usually share
common tags.</p>
      <p>The paper is organized as follows. Section 2 analyzes
related work. Section 3 explains the architecture of the system
and how the recommendation approach is implemented. The
experimental evaluation carried out is described in Section
4, while conclusions and future work are drawn in the last
section.
2.</p>
    </sec>
    <sec id="sec-4">
      <title>RELATED WORK</title>
      <p>Usually the works in the tag recommendation area are
broadly divided into three classes: content-based,
collaborative and graph-based approaches.</p>
      <p>
        In the content-based approach, exploiting some
Information Retrieval-related techniques, a system is able to
extract relevant unigrams or bigrams from the text. Brooks et.
al [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], for example, develop a tag recommender system that
exploits TF/IDF scoring [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] in order to automatically
suggests tags for a blog post. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is presented a novel method
for key term extraction from text documents. Firstly,
every document is modeled as a graph which nodes are terms
and edges represent semantic relationship between them.
These graphs are then partitioned using communities
detection techniques and weighted exploiting information
extracted from Wikipedia. The tags composing the most
relevant communities (a set of terms related with the topic of
the resource) are then suggested to the user.
      </p>
      <p>
        AutoTag [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is one of the most important systems
implementing the collaborative approach for tag recommendation.
It presents some analogies with collaborative filtering
methods: as in the collaborative recommender systems the
recommendations are generated based on the ratings provided
by similar users (called neighbors), in AutoTag the system
suggests tags based on the other tags associated with
similar posts. Firstly, the tool exploits some IR techniques in
order to find similar posts and extracts the tags they are
annotated with. All the tags are then merged, building a
folksonomy that is filtered and re-ranked. The top-ranked
tags are finally suggested to the user, who selects the most
appropriate ones to attach to the post.
      </p>
      <p>
        TagAssist [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] extends the AutoTags’ approach
introducing some preprocessing step (specifically, a lossless
compression over existing data) in order to improve the quality of
the recommendations. The core of this approach is
represented by a a Tag Suggestion Engine (TSE) which leverages
previously tagged posts providing appropriate suggestions
for new content.
      </p>
      <p>
        Marinho [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] investigates the user-based collaborative
approach for tag recommendation. The main outcome of this
work shows that users with a similar tag vocabulary tend to
tag alike, since the method seems to produce good results
when applied on the user-tag matrix.
      </p>
      <p>
        The problem of tag recommendation through graph-based
approaches has been firstly addressed by Ja¨schke et al. in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
The key idea behind their FolkRank algorithm is that a
resource which is tagged by important tags from important
users becomes important itself. So, they build a graph
whose nodes mutually reinforces themselves by spreading
their weights. They compared some recommendation
techniques including collaborative filtering, PageRank and FolkRank,
showing that the FolkRank algorithm outperforms other
approaches. Furthermore, Schmitz et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] proposed
association rule mining as a technique that might be useful in the
tag recommendation process.
      </p>
      <p>In literature we can find also other methods (called
hybrid ), which try to integrate two of more sources of
knowledge (mainly, content and collaborative ones) in order to
improve the quality of recommended tags.</p>
      <p>
        Heymann et. al [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] present a tag recommender that
exploits at the same time social knowledge and textual sources.
They produce recommendations exploiting both the HTML
source code (extracting anchor texts and page texts) and the
annotations of the community. The effectiveness of this
approach is also confirmed by the use of a large dataset crawled
from del.icio.us for the experimental evaluation.
      </p>
      <p>
        Lipczak in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proposes a similar hybrid approach. Firstly,
the system extracts tags from the title of the resource.
Afterwards, it performs an analysis of co-occurrences, in
order to expand the sets of candidate tags with the tags that
usually co-occur with terms in the title. Finally, tags are
filtered and re-ranked exploiting the informations stored in
a so-called ”personomy”, the set of the tags previously used
by the user.
      </p>
      <p>
        Finally, in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] the authors proposed a model based on
both textual contents and tags associated with the resource.
They introduce the concept of conflated tags to indicate a set
of related tags (like blog, blogs, ecc.) used to annotate a
resource. Modeling in this way the existing tag space they are
able to suggest various tags for a given bookmark exploiting
both user and document models.
      </p>
    </sec>
    <sec id="sec-5">
      <title>STAR: A SOCIAL TAG RECOMMENDER</title>
    </sec>
    <sec id="sec-6">
      <title>SYSTEM</title>
      <p>
        Following the definition introduced in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], a folksonomy
can be described as a triple (U, R, T ) where:
• U is a set of users;
• R is a set of resources;
• T is a set of tags.
      </p>
      <p>We can also define a tag assignment function tas: U ×
R → T .</p>
      <p>So, a collaborative tagging system is a platform composed
of users, resources and tags that allows users to freely assign
tags to resources, while the tag recommendation task for a
given user u ∈ U and a resource r ∈ R can be described as
the generation of a set of tags tas(u, r) ⊆ T according to
some relevance model. In our approach these tags are
generated from a ranked set of candidate tags from which the
top n elements are suggested to the user.</p>
      <p>
        STaR (Social Tag Recommender) is a content-based tag
recommender system, developed at the University of Bari. The
inceptive idea behind STaR is to improve the model
implemented in systems like TagAssist [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] or AutoTag [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>Although we agree that similar resources usually share
similar tags, in our opinion Mishne’s approach presents two
important drawbacks:
1. the tag re-ranking formula simply performs a sum of
the occurrences of each tag among all the folksonomies,
without considering the similarity with the resource to
be tagged. In this way tags often used to annotate
resources with a low similarity level could be ranked
first;
2. the proposed model does not take into account the
previous tagging activity performed by users. If two
users bookmarked the same resource, they will receive
the same suggestions since the folksonomies built from
similar resources are the same.</p>
      <p>We will try to overcome these drawbacks, by proposing an
approach firstly based on the analysis of similar resources
capable also of leveraging the tags already selected by the user
during her previous tagging activity, by putting them on the
top of the tag rank. Figure 1 shows the general architecture
of STaR. The recommendation process is performed in four
steps, each of which is handled by a separate component.
3.1</p>
    </sec>
    <sec id="sec-7">
      <title>Indexing of Resources</title>
      <p>Given a collection of resources (corpus) with some textual
metadata (such as the title of the resource, the authors, the
description, etc.), STaR firstly invokes the Indexer module
in order to perform a preprocessing step on these data by
exploiting Apache Lucene6. Obviously, the kind of metadata
to be indexed is strictly dependant on the nature of the
resources. For example, supposing to recommend tags for
bookmarks, we could index the title of the web page and the
extended description provided by users, while for BibteX
entries, we could index the title of the publication and the
abstract. Let U be the set of users and N the cardinality
of this set, the indexing procedure is repeated N + 1 times:
we build an index for each user (Personal Index ) storing the
information on the resources she previously tagged and an
index for the whole community (Social Index ) storing the
information about all the tagged resources by merging the
singles Personal Indexes.</p>
      <p>Following the definitions presented above, given a user
u ∈ U we define P ersonalIndex(u) as:</p>
      <p>P ersonalIndex(u) = {r ∈ R|∃t ∈ T : tas(u, r) = t}
(1)
where tas is the tag assignment function tas: U × R → T
which assigns tags to a resource annotated by a given user.
SocialIndex represents the union of all the user personal
indexes:</p>
      <p>N
SocialIndex = [ P ersonalIndex(ui)
i=1
(2)
3.2</p>
    </sec>
    <sec id="sec-8">
      <title>Retrieval of Similar Resources</title>
      <p>Next, STaR can take into account users requests in
order to produce personalized tag recommendations for each
resource. First, every user has to provide some information
about the resource to be tagged, such as the title of the Web
page or its URL, in order to crawl the textual metadata
associated on it.</p>
      <p>Next, if the system can identify the user since she has
already posted other resources, it exploits data about her
(language, the tags she uses more, the number of tags she
usually uses to annotate resources, etc.) in order to refine
the query to be submitted against both the Social and
Personal indexes stored in Lucene. We used as query the title
of the web page (for bookmarks) or the title of the
publication (for BibTeX entries). Obviously before submitting the
query we processed it by deleting not useful characters and
punctuation.</p>
      <p>In order to improve the performances of the Lucene
Querying Engine we replaced the original Lucene Scoring function</p>
      <sec id="sec-8-1">
        <title>6http://lucene.apache.org</title>
        <p>
          with an Okapi BM25 implementation7. BM25 is nowadays
considered as one of the state-of-the art retrieval models by
the IR community [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>Let D be a corpus of documents, d ∈ D, BM25 returns
the top-k resources with the highest similarity value given
a resource r (tokenized as a set of terms t1 . . . tm), and is
defined as follows:
sim(r, d) =
r
nti</p>
        <p>Pim=1 k1((1−b)+b∗l)+ntri ∗ idf (ti)
where ntri represents the occurrences of the term ti in the
document d, l is the ratio between the length of the resource
and the average length of resources in the corpus. Finally, k1
and b are two parameters typically set to 2.0 and 0.75
respectively, and idf (ti) represents the inverse document frequency
of the term ti defined as follows:
idf (ti) = log</p>
        <p>N + df (ti) + 0.5</p>
        <p>df (ti) + 0.5
where N is the number of resources in the collection and
df (ti) is the number of resources in which the term ti occurs.</p>
        <p>Given user u ∈ U and a resource r, Lucene returns the
resources whose similarity with r is greater or equal than
a threshold β. To perform this task Lucene uses both the
PersonalIndex of the user u and the SocialIndex. More
formally:
P Res(u, q) = {r ∈ P ersonalIndex(u)|sim(q, r) ≥ β}</p>
        <p>S Res(q) = {r ∈ SocialIndex|sim(q, r) ≥ β}</p>
        <p>Figure 2 depicts an example of the retrieving step. In
this case the target resource is represented by Gazzetta.it,
one of the most famous Italian sport newspaper. Lucene
queries the SocialIndex and returns as the most similar
resources an online newspaper (Corrieredellosport.it) and the
official web site of an Italian Football Club (Inter.it). The</p>
      </sec>
      <sec id="sec-8-2">
        <title>7http://nlp.uned.es/ jperezi/Lucene-BM25/</title>
        <p>The role of the Tag Extractor is to produce as output
the list of the so-called ”candidate tags” (namely, the tags
considered as ’relevant’ by the tag recommender). In this
step the system gets the most similar resources returned
by the Apache Lucene engine and builds their folksonomies
(namely, the tags they have been annotated with). Next, it
produces the list of candidate tags by computing for each
tag from the folksonomy a score obtained by weighting the
similarity score returned by Lucene with the normalized
occurrence of the tag. If the Tag Extractor also gets the list of
the most similar resources from the user PersonalIndex, it
will produce two partial folksonomies that are merged,
assigning a weight to each folksonomy in order to boost the
tags previously used by the user.</p>
        <p>Formally, for each query q (namely, the resource to be
tagged), we can define a set of tags to recommend by
building two sets: candT agsp and candT agss. These sets are
defined as follows:
candT agsp(u, q) = {t ∈ T |t = T AS(u, r) ∧ r ∈ P Res(u, q)}
candT agss(q) = {t ∈ T |t = T AS(u, r) ∧ r ∈ S Res(q) ∧ u ∈ U }</p>
        <p>In the same way we can compute the relevance of each tag
with respect to the query q as:
(5)
(6)
relp(t, u, q) =
rels(t, q) =</p>
        <p>Pr∈P Res(u,q) ntr ∗ sim(r, q)</p>
        <p>nt
Pr∈S Res(q) ntr ∗ sim(r, q)
nt
where ntr is the number of occurrences of the tag t in the
annotation for resource r and nt is the sum of the occurrences
of tag t among all similar resources.</p>
        <p>Finally, the set of Candidate Tags can be defined as:
candT ags(u, q) = candT agsp(u, q) ∪ candT agss(q)
(7)
where for each tag t the global relevance can be defined as:
rel(t, q) = α ∗ relp(t, q) + (1 − α) ∗ rels(t, q)
(8)
where α (PersonalTagWeight) and (1−α) (SocialTagWeight)
are the weights of the personal and social tags respectively.</p>
        <p>Figure 3 depicts the procedure performed by the Tag
Extractor : in this case we have a set of 4 Social Tags
(Newspaper, Online, Football and Inter) and 3 Personal Tags (Sport,
Newspaper and Tuttosport). These sets are then merged,
building the set of Candidate Tags. This set contains 6 tags
since the tag newspaper appears both in social and personal
tags. The system associates a score to each tag that
indicates its effectiveness for the target resource. Besides, the
scores for the Candidate Tags are weighted again according
to SocialTagWeight (α) and PersonalTagWeight (1 − α)
values (in the example, 0.3 and 0.7 respectively), in order to
boost the tags already used by the user in the final tag rank.
Indeed, we can point out that the social tag ‘football’ gets
the same score of the personal tag ‘tuttosport’, although its
original weight was twice.
3.4</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>Tag Recommendation</title>
      <p>Finally, the last step of the recommendation process is
performed by the Filter. It removes from the list of
candidate tags the ones not matching specific conditions, such
as a threshold for the relevance score computed by the Tag
Extractor. Obviously, the value for the threshold and the
maximum number of tags to be recommend is strictly
dependent from the training data.</p>
      <p>Formally, given a user u ∈ U , a query q and a
threshold value γ, the goal of the filtering component is to build
rec(u, q) defined as follows:
rec(u, q) = {t ∈ candT ags(u, q)|rel(t, q) &gt; γ}</p>
    </sec>
    <sec id="sec-10">
      <title>EXPERIMENTAL EVALUATION</title>
      <p>We designed two different experimental sessions to
evaluate the performance of the tag recommender. In the first
session we performed a comparison between the original scoring
function of Lucene and a novel BM25 implementation, while
the second was carried out to tune the system parameters.
4.1</p>
    </sec>
    <sec id="sec-11">
      <title>Description of the dataset</title>
      <p>We designed the experimental evaluation by exploiting a
dataset gathered from Bibsonomy. It contains 263,004
bookmark posts and 158,924 BibTeX entries submitted by 3,617
different users. For each of the 235,328 different URLs and
the 143,050 different BibTeX entries were also provided some
textual metadata (such as the title of the resource, the
description, the abstract and so on).</p>
      <p>We evaluated STaR by comparing the real tags (namely,
the tags a user adopts to annotate an unseen resource) with
the suggested ones. The accuracy was finally computed
using classical IR metrics, such as Precision, Recall and
F1Measure. Precision (Pr) is defined as the number of relevant
recommended tags divided by the number of recommended
tags. Recall (Re) is defined as the number of relevant
recommended tags divided by the total number of relevant tags
available. The F1-measure is computed by the following
formula:</p>
      <p>F 1 =
(2 ∗ P r ∗ Re)</p>
      <p>P r + Re
(9)
4.2</p>
    </sec>
    <sec id="sec-12">
      <title>Experimental Session 1</title>
      <p>Firstly, we tried to evaluate the predictive accuracy of
STaR comparing difference scoring function (namely, the
Lucene original one and the aforementioned BM25
implementation). We performed the same steps previously
described, retrieving the most similar items using the two
mentioned similarity functions and comparing the tags suggested
by the system in both cases. Results are presented in Table
1.</p>
      <p>In general, there is an improvement by adopting BM25
with respect to the Lucene original similarity function. We
can note that BM25 improved the both the recall (+ 6,95%
for bookmarks, +1,46% for BibTeXs entries) and the F1
measure (+ 2,86% for bookmarks, +0,17% for BibTeXs
entries).</p>
    </sec>
    <sec id="sec-13">
      <title>Experimental Session 2</title>
      <p>Next we designed a second experimental evaluation in
order to compare the predictive accuracy of STaR with
different combinations of system parameters. Namely:
• the maximum number of similar documents retrieved
by Lucene;
• the value of α for the PersonalTagWeight and
Social</p>
      <p>TagWeight parameters;
• the threshold γ to establish whether a tag is relevant;
• which fields of the target resource use to compose the
query;
• the best scoring function between Lucene standard one
and Okapi BM25.</p>
      <p>First, tuning the number of similar documents to retrieve
from the PersonalIndex and SocialIndex is very important,
since a value too high can introduce noise in the retrieval
process, while a value too low can exclude documents
containing relevant tags. By analyzing the results returned by
some test queries, we decided to set this value between 5
and 10, depending on the training data.</p>
      <p>Next, we tried to estimate the values for
PersonalTagWeight (PTW) and the SocialTagWeight (STW). An higher
weight for the Personal Tags means that in the
recommendation process the systems will weigh more the tags previously
used by the target user, while an higher value for the
Social Tags will give more importance to the tags used by the
community (namely, the whole folksonomy) on the target
resource. These parameters are biased by the user practice:
if tags often used by the user are very different from those
used from the community, the PTW should be higher than
STW. We performed an empirical study since it is difficult to
define the user behavior at run time. We tested the system
setting the parameters with several combinations of values:
i) PTW = 0.7 STW = 0.3;
ii) PTW = 0.5 STW = 0.5;
iii) PTW = 0.3 STW = 0.7.</p>
      <p>Another parameter that can influence the system
performance is the set of fields to use to compose the query. For
each resource in the dataset there are many textual fields,
such as title, abstract, description, extended description, etc.
In this case we used as query the title of the webpage (for
bookmarks) and the title of the publication (for BibTeX
entries).</p>
      <p>The last parameter we need to tune is the threshold to
deem a tag as relevant (γ).We performed some tests
suggesting both 4 and 5 tags and we decided to recommend
only 4 tags since the fifth was usually noisy. We also fixed
the threshold value between 0.20 and 0.25.</p>
      <p>In order to carry out this experimental session we used the
aforementioned dataset both as training and test set. We
executed the test over 50, 000 bookmarks and 50, 000 BibTeXs.
For each resource randomly chosen from the dataset and for
each combination of parameters, we executed the following
steps:
• query preparation;
• Lucene retrieval function invocation;
• building of the set of Candidate Tags;
• comparing the recommended tags with the real tags
associated by the user;
• computing of Precision, Recall, and F1-measure.</p>
      <sec id="sec-13-1">
        <title>Results are presented in Table 2 and Table 3.</title>
        <p>Analyzing the results (see Figure ??), it emerges that the
approach we called user-based outperformed the other ones.
In this configuration we set PTW to 1.0 and STW to 0, so
we suggest only the tags already used by the user in tagging
similar resources. No query was submitted against the
SocialIndex. The first remark we can make is that each user
has her own mental model and her own vocabulary: she
usually prefers to tag resources with labels she already used.
Instead, getting tags from the SocialIndex only (as proved
by the results of the community-based approach) often
introduces some noise in the recommendation process. The
hybrid approaches outperformed the community-based one,
but their predictive accuracy is still worse when compared
with the user-based approach. Finally, all the approaches
outperformed the F1-measure of the baseline. We computed
the baseline recommending for each resource only its most
popular tags. Obviously, for resources never tagged we could
not suggest anything.</p>
        <p>
          This analysis substantially confirms the results we
obtained from other studies performed in the area of the
tagbased recommendation [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-14">
      <title>CONCLUSIONS AND FUTURE WORK</title>
      <p>Collaborative Tagging Systems are powerful tools, since
they let users to organize the information in a way that
perfectly fits their mental model. However, typical drawbacks of
collaborative tagging systems represent an hindrance, since
the complete tag space is too noisy to be exploited for
retrieval and filtering task. So, systems that assist users in the
task of tagging speeding up the tag convergence are more
and more required. In this paper we presented STaR, a
social tag recommender system. The idea behind our work
was to discover similarity among resources in order to
exploit communities and user tagging behavior. In this way
our recommender system was able to suggest tags for users
and items still not stored in the training set. The
experimental sessions showed that users tend to reuse their own
tags to annotate similar resources, so this kind of
recommendation model could benefit from the use of the user personal
tags before extracting the social tags of the community (we
called this approach user-based). Next, we showed that the
integration of a more effective scoring function (BM25) could
also improve the overall accuracy of the system.</p>
      <p>This approach has a main drawback, since it cannot
suggest any tags when the set of similar items returned by
Lucene is empty. So, we plan to extend the system in
order to extract significant keywords from the textual content
associated to a resource (title, description, etc.) that has
not similar items, maybe exploiting structured data or
domain ontologies. Furthermore, since tags usually suffer of
typical Information Retrieval problem (namely, polysemy,
synonymy, etc.) we will try to establish if the integration
of Word Sense Disambiguation tools or a semantic
representation of documents could improve the performance of
recommender. Another issue to analyze is the application
of our methodology in different domains such as multimedia
environment. In this field discovering similarity among items
just on the ground of textual content could be not sufficient.
Finally, we will perform also some studies in the area of
tag-based recommendation, investigating the integration of
tag recommenders for recommendations tasks, since
reaching more quickly the tag convergence could help to build
better folksonomies and to produce more accurate
recommendations.
6.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Basile</surname>
          </string-name>
          , M. de Gemmis, P. Lops, G. Semeraro,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Musto</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Narducci</surname>
          </string-name>
          .
          <article-title>FIRSt: a Content-based Recommender System Integrating Tags for Cultural Heritage Personalization</article-title>
          . In P. Nesi,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ng</surname>
          </string-name>
          , and J. Delgado, editors,
          <source>Proceedings of the 4th International Conference on Automated Solutions for Cross Media Content and Multi-channel Distribution (AXMEDIS</source>
          <year>2008</year>
          )
          <article-title>- Workshop Panels</article-title>
          and Industrial Applications, Florence, Italy, Firenze University Press, pages
          <fpage>103</fpage>
          -
          <lpage>106</lpage>
          , November 17-
          <issue>19</issue>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Brooks</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Montanez</surname>
          </string-name>
          .
          <article-title>Improved annotation of the blogosphere via autotagging and hierarchical clustering</article-title>
          .
          <source>In WWW '06: Proceedings of the 15th international conference on World Wide Web</source>
          , pages
          <fpage>625</fpage>
          -
          <lpage>632</lpage>
          , New York, NY, USA,
          <year>2006</year>
          . ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Cattuto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schmitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Baldassarri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. D. P.</given-names>
            <surname>Servedio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Loreto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Grahl</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Stumme</surname>
          </string-name>
          .
          <article-title>Network properties of folksonomies</article-title>
          .
          <source>AI Communications</source>
          ,
          <volume>20</volume>
          (
          <issue>4</issue>
          ):
          <fpage>245</fpage>
          -
          <lpage>262</lpage>
          ,
          <year>December 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Golder</surname>
          </string-name>
          and
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Huberman</surname>
          </string-name>
          .
          <article-title>The Structure of Collaborative Tagging Systems</article-title>
          .
          <source>Journal of Information Science</source>
          ,
          <volume>32</volume>
          (
          <issue>2</issue>
          ):
          <fpage>198</fpage>
          -
          <lpage>208</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Maria</given-names>
            <surname>Grineva</surname>
          </string-name>
          , Maxim Grinev, and
          <string-name>
            <given-names>Dmitry</given-names>
            <surname>Lizorkin</surname>
          </string-name>
          .
          <article-title>Extracting key terms from noisy and multi-theme documents</article-title>
          .
          <source>In 18th International World Wide Web Conference</source>
          , pages
          <fpage>651</fpage>
          -
          <lpage>661</lpage>
          ,
          <year>April 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Heymann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ramage</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Garcia-Molina</surname>
          </string-name>
          .
          <article-title>Social tag prediction</article-title>
          .
          <source>In SIGIR '08: Proceedings of the 31st annual international ACM SIGIR conference on Research and development in information retrieval</source>
          , pages
          <fpage>531</fpage>
          -
          <lpage>538</lpage>
          , New York, NY, USA,
          <year>2008</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <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>
          . In Alexander Hinneburg, editor,
          <source>Workshop Proceedings of Lernen - Wissensentdeckung - Adaptivit?t (LWA</source>
          <year>2007</year>
          ), pages
          <fpage>13</fpage>
          -
          <lpage>20</lpage>
          ,
          <year>September 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <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>In Proceedings of ECML PKDD Discovery Challenge (RSDC08)</source>
          , pages
          <fpage>84</fpage>
          -
          <lpage>95</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <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>
          . pages
          <fpage>533</fpage>
          -
          <lpage>540</lpage>
          .
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mathes</surname>
          </string-name>
          .
          <article-title>Folksonomies - cooperative classification and communication through shared metadata</article-title>
          . Website,
          <year>December 2004</year>
          . http://www.adammathes. com/academic/computer-mediated-communication/ folksonomies.html.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>G.</given-names>
            <surname>Mishne.</surname>
          </string-name>
          <article-title>Autotag: a collaborative approach to automated tag assignment for weblog posts</article-title>
          .
          <source>In WWW '06: Proceedings of the 15th international conference on World Wide Web</source>
          , pages
          <fpage>953</fpage>
          -
          <lpage>954</lpage>
          , New York, NY, USA,
          <year>2006</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S. E.</given-names>
            <surname>Robertson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Walker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Beaulieu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gull</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lau</surname>
          </string-name>
          .
          <article-title>Okapi at trec</article-title>
          .
          <source>In Text REtrieval Conference</source>
          , pages
          <fpage>21</fpage>
          -
          <lpage>30</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>G.</given-names>
            <surname>Salton</surname>
          </string-name>
          .
          <source>Automatic Text Processing. Addison-Wesley</source>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <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>
          . In V. Batagelj, H.
          <string-name>
            <surname>-H. Bock</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Ferligoj</surname>
          </string-name>
          , and A. O˝ iberna, editors,
          <source>Data Science and Classification (Proc. IFCS 2006 Conference)</source>
          ,
          <source>Studies in Classification, Data Analysis, and Knowledge Organization</source>
          , pages
          <fpage>261</fpage>
          -
          <lpage>270</lpage>
          , Berlin/Heidelberg, July 2006. Springer. Ljubljana.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sood</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Owsley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Hammond</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 Proceedings of the International Conference on Weblogs and Social Media (ICWSM</source>
          <year>2007</year>
          ),
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Tatu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Srikanth</surname>
          </string-name>
          , and
          <string-name>
            <surname>T. D'Silva</surname>
          </string-name>
          . Rsdc'
          <volume>08</volume>
          :
          <article-title>Tag recommendations using bookmark content</article-title>
          .
          <source>In Proceedings of ECML PKDD Discovery Challenge (RSDC08)</source>
          , pages
          <fpage>96</fpage>
          -
          <lpage>107</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>T. Vander</given-names>
            <surname>Wal</surname>
          </string-name>
          .
          <article-title>Folksonomy coinage and definition</article-title>
          . Website,
          <year>Februar 2007</year>
          . http://vanderwal.net/folksonomy.html.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>H.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zubair</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Maly</surname>
          </string-name>
          .
          <article-title>Harvesting social knowledge from folksonomies</article-title>
          .
          <source>In HYPERTEXT '06: Proceedings of the seventeenth conference on Hypertext and hypermedia</source>
          , pages
          <fpage>111</fpage>
          -
          <lpage>114</lpage>
          , New York, NY, USA,
          <year>2006</year>
          . ACM Press.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>