<!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>Personalization in Skipforward, an Ontology-Based Distributed Annotation System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Malte Kiesel</string-name>
          <email>malte.kiesel@dfki.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Florian Mittag</string-name>
          <email>florian.mittag@uni-tuebingen.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DFKI GmbH</institution>
          ,
          <addr-line>Kaiserslautern</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Tubingen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>90</fpage>
      <lpage>97</lpage>
      <abstract>
        <p>Skipforward is a distributed annotation system allowing users to enter and browse statements about items and their features. Items can be things such as movies or books; item features are the genre of a movie or the storytelling pace of a book. Whenever multiple users annotate the same item with a statement about the same feature, these individual statements get aggregated by the system. For aggregation, individual user statements are weighted according to a competence metric based on the constrained Pearson correlation, adapted for Skipforward data: A user gets assigned high competence with regard to the feature in question if, for other items and the same feature type, he had a similar opinion to the current user. Since the competence metric is dependent on the user currently viewing the data, the user's view of the data is completely personalized. In this paper, the personalization aspect as well as the item and expert recommender are presented.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Rating and recommendation web platforms have become important and
ubiquitous nowadays. Typically, these platforms support collaborative ltering; users
can rate items and are recommended items that people who liked the same items
gave a high rating as well. This works ne for many cases and many domains;
drawbacks are that in-depth explanations of recommendations cannot be given,
and that the user has little control over the actual recommendation process.
On the other hand, there is content-based ltering, which recommends items
based on the features the user presumably likes. E.g., \We recommend song X
since that song features prominent drums that you seem to like". Pandora.com
is an example for such a system. This approach does not have the
shortcomings of collaborative ltering outlined above; however, getting the content-based
annotations needed for the recommendation process is costly, as this typically
requires trusted experts.</p>
      <p>
        Skipforward [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] pursues a hybrid approach|in terms of [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], it is a semantic
recommender system pursuing an active item-based approach. Every
ontologybased statement or feature (instance) Skipforward uses consists of a link to the
item it refers to, a feature type3, applicability value (+1: The feature applies to
3 Technically, every user statement is an RDF instance of a subclass of the Skipforward
Feature class.
the item, -1: The feature does not apply to the item), con dence value (0..1),
and a plain text comment. The applicability value, in traditional recommender
terms, corresponds to a user rating with regard to an item and a feature type.
In the following, we avoid the term \rating" since this term implies item liking
which does not quite t in our case.
      </p>
      <p>Skipforward's simple basic data model allows quite thorough annotation of
items and provides rich metadata for recommender and other functionality.
Conicting annotations do not break the system; a competence metric is used for
weighting individual statements for aggregated views on the system's data. The
competence metric is the foundation for much of Skipforward's recommendation
functionality, which not only includes an item recommender that nds similar
items or items tting some user-chosen feature pro le, but also an expert
recommender, and annotation recommenders (functionality that helps annotating
items).
2</p>
    </sec>
    <sec id="sec-2">
      <title>Components of Interest</title>
      <p>
        For an overview of most Skipforward components, also see [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and the
Skipforward website4 which also includes a screencast and online demo. In the following,
we will describe the building blocks of the system: its top-level ontology, domain
ontologies, the user interface, and recommender functionality.
2.1
      </p>
      <sec id="sec-2-1">
        <title>Ontologies used in Skipforward</title>
        <p>We have a number of requirements the top level ontology (coined Skipinions )
shall be able to handle.</p>
        <p>The ontology should be able to represent user opinions of items such as books,
movies, etc. { we solve this by providing an Item and a Feature class. For
example, book features could be \Thriller (Genre)" or \Fast-paced writing style".
Every Item can be associated to a Feature by using the Item's hasFeature
property.</p>
        <p>The facts databases of multiple users should be easy to merge. Fact databases
can be just copied together using this approach. Smushing of items and features
is done using the owl:sameAs predicate.</p>
        <p>Provenance of statements needs to be tracked. We solve this by assigning an
individual namespace to every user. Then, the URI of every instance created by
this user has to use this namespace. This also ts nicely with Linked Open Data
principles.</p>
        <p>Plain text comments should be supported. Internationalized plain text comments
can be added to Features.</p>
        <p>It should be possible to explicitly dissent with an opinion of another user. This is
implemented by the applicability property on every Feature. Applicability
1 means \this feature does not apply to this item", applicability +1 means</p>
        <sec id="sec-2-1-1">
          <title>4 http://skipforward.opendfki.de/</title>
          <p>\this feature applies to this item", implementing the Open World Assumption.
Additionally, any Feature can point to another Feature instance, implementing
discussion threading.</p>
          <p>Marking an opinion as uncertain should be possible. This is implemented by the
confidence property on every Feature. Together with applicability, this
forms a Dempster-Shafer-like approach.</p>
          <p>The amount of noise seen by users should be kept minimal. The feature hierarchy
as presented by the system is created by the owner of the respective namespace
so arbitrary changes of the feature hierarchy are not possible. This is both a
limitation and a feature of the system. It is limitating insofar as users cannot
create new feature classes on the y. On the other hand, systems that implement
this (i.e., most normal tagging systems) show that a lot of entropy enters the
system otherwise. We try to keep this noise limited to the feature instance level
where it can be handled in a coherent manner.</p>
          <p>The basic top level ontology structure can be seen in Figure 1.
Domain ontologies that subclass the Item and Feature classes as well as the
hasFeature property are used for annotating actual items.</p>
          <p>
            Currently, within Skipforward multiple domains are covered. Apart from
ontologies that model features of board games and a corresponding set of instances,
we mainly use DBTropes [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. DBTropes.org is a wrapper of TVTropes.org, a wiki
describing works of ction by associating features|known as \Tropes"|to these
works. The focus of TV Tropes is providing content-based annotations (as
opposed to more technical information as, for example, supplied by IMDb.com),
with a de nite emphasis on fun and entertainment aspects. DBTropes extracts
the information contained in the TV Tropes wiki, and publishes it as Linked
Data. The implicit data model used in the TV Tropes wiki matches the data
model used in Skipforward quite well. DBTropes uses Skipforward ontologies as
its output format, and the main Skipforward application can consume this data
directly. We use this data mainly as a source for feature types and the
hierarchy within feature types. As of September 2011, the complete DBTropes data
consists of about 10.000.000 RDF statements describing 22.000 items, 22.000
feature types, and 1.750.000 feature instances.
The Skipforward system is implemented as a web application. This allows
running it easily in the background and in remote scenarios. Currently, we
experiment with two frontends that serve slightly di erent purposes: A Dojo5-based
Ajax UI, mainly used for annotating items, and a standard HTML
templatedriven UI that was built for better scalability and easier extensibility. The
template HTML interface is mainly used for browsing and viewing additional
information from the item and expert recommender components. In Figure 2, a small
part of the data made available by DBTropes is shown, as visualized by the
Skipforward UI implemented using the Dojo framework6. The left pane lists items
(here, the movie Batman is selected); the upper right pane displays available
feature types (here, the type Battle Butler is selected); the lower right pane shows
instances of the selected feature type (i.e., users expressing opinions about one
item with regard to one feature type). The uppermost (red) circle in the lower
right pane shows the weighted average of applicability of the feature type with
user opinions weighted according to their trust value. Here, three (threaded) user
opinions for the feature Battle Butler in the movie Batman are available in the
system. TV Tropes users stated that the feature is present for Batman (green
circle: feature present) while the current user and the user Durham disagreed
(red circle: feature not present). Note that the aggregated circle is deep red and
not just a normal average of the individual user opinions (which would result in a
light red or neutral tone). This leads us to the competence metric and weighting
of user opinions.
          </p>
        </sec>
        <sec id="sec-2-1-2">
          <title>5 http://dojotoolkit.org/</title>
          <p>6 Note that the screenshot has been shortened for clarity.
2.3</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Competence metric</title>
        <p>
          The competence metric in Skipforward is based on user similarity with regard to
feature types. This is di erent from traditional content-based ltering as it takes
into account opinions of di erent users; it also di ers from standard collaborative
ltering which does not support multiple opinions concerning di erent feature
types per item. It is calculated with a modi ed variant of the constrained Pearson
correlation [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] shown in Formula 1. Here, ux denotes user x, rx;i denotes the
applicability value user x assigned to item i for feature type t, Ixy is the set of
co-rated items of users x and y, and wxy;i denotes the combined con dence of
the statements concerning feature type f of users x and y and item i. Note that
these calculations need to be repeated for each Skipforward feature type.
simt(ux; uy) = r P
        </p>
        <p>P
i2Ixy</p>
        <p>wxy;irx;iry;i
i2Ixy
wx;i(rx;i)2 P
i2Ixy
wy;i(ry;i)2
(1)
For e cient calculation, an incremental algorithm has been implemented, only
recalculating similarity values on changes, and only locally. simt(ux; uy) is used
for weighting user statements for aggregated features. Aggregated features
represent all user statements concerning one feature type and one item. They are
used in the user interface and in recommenders. To compute the competence
metric, the following algorithm is used.</p>
        <p>Algorithm 2.1: CalculateAllCorrelations()
for each i 2 I
copyF eaturesT oCache(i)
for each u 2 U</p>
        <p>doInf erencing(u; i)
for each tf 2 Tf
calculateM ean(localuser; tf )
for each u 2 U
calculateM ean(u; tf )
calculateCorrelation(localuser; u; tf )</p>
        <p>To compute aggregated features per item and feature type according to the
competence metric, another algorithm is used: For all feature types an item is
annotated with, the aggregated feature for a speci c feature type is represented
by a weighted sum of the individual features' applicability for this feature type.
Applicability weight is the respective user's competence regarding the feature
type.</p>
        <p>In e ect, this means that for the aggregated feature, statements made by
people who have been assigned a low competence value in uence the outcome
less than statements made by people with a high competence value.
2.4</p>
      </sec>
      <sec id="sec-2-3">
        <title>Item recommender</title>
        <p>The item recommender shows items similar to the current item (Figure 3). It is
based on a similarity metric comparing aggregated features assigned to the two
items in question. For the standard item recommender user interface shown on
each item page, this is a straightforward distance metric comparing feature
applicability. Additionally, there is also an advanced recommender which lets users
freely select and weight individual feature types, implementing recommendation
channels.
The annotation recommender is a utility for annotating items quickly. It shows
a list of feature types that the current item has not yet been annotated with.
Internally, for generating this list of feature types, item recommender output is
reused. The annotations present for recommended items are compared with the
annotations present for the current item. Any feature types for that a statement
exists for the recommended item but not for the current item is presented to
the user for quick annotation (Figure 4, right side). Therefore, annotating using
the annotation recommender quickly improves the quality of results given by the
item recommender.</p>
        <p>Algorithm 2.2: GetRecFeatureTypes(curItem; recItems)
for each i 2 recItems
recF eatureT ypes:add(getF eatureT ypes(i)ngetF eatureT ypes(curItem))
2.6</p>
      </sec>
      <sec id="sec-2-4">
        <title>Expert recommender</title>
        <p>
          In Figure 4 (left side), the HTML interface representing the expert recommender
is shown. The expert recommender works on a per-feature type basis,
recommending users who expressed similar opinions concerning a selected Skipforward
feature type compared with the current user (simt(ux; uy) in Formula 1). Since
the current user agreed with the user Durham and disagreed with TV Tropes
(cf. Figure 2), TV Tropes was assigned a smaller weight for aggregation of the
feature type Battle Butler than Durham.
Skipforward is a unique amalgam of di erent technologies. Part of its
functionality can be found in other systems; for example, Revyu.com [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] allows users
to submit reviews which can be tagged with keywords. Absolute ratings can
be given to items. Metadata is available as RDF/Linked Data; however, the
tagging-based approach gives relatively shallow metadata only. In contrast to
Skipforward, (formalized) discussions about annotations are not supported, and
there is no personalization.
        </p>
        <p>
          DBin [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] is similar to Skipforward but more generic and heavyweight. For
example, it comes with its own messaging API, a plug-in architecture for its
user interface, and needs dedicated metadata servers and a Java client whereas
in Skipforward no server component is needed.
        </p>
        <p>
          In terms of recommendation functionality, Skipforward implements a
semantic hybrid ltering model. Similar approaches are discussed in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] (the
recommendation channels of Skipforward are similar to the Collaboration via content
approach outlined in that paper) and [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] (clustering users based on domain
concepts they are interested in|possible but not implemented in Skipforward yet).
Most tasks we want to pursue in the future are concerned with improving
annotations and providing better recommendations. According to [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], recommender
approaches similar to those used in Skipforward in general cope well with
annotation sparsity. However, the current implementation of the annotation
recommender does not encourage overlapping annotations. I.e., several users should
create feature instances for the same feature type and item to supply the
competence metric with input, but the annotation recommender does not address this
currently. We addressed this problem by using feature inference so far (i.e.,
inference using the feature type hierarchy is carried out), but this does not completely
solve the problem. We plan to modify the annotation recommender accordingly.
Another approach would be to introduce another recommender that explicitly
targets annotation overlap to improve the competence metric.
        </p>
        <p>A user study in the books domain will be carried out soon. A number of user
interface improvements and additional statistics and recommender functionality
will be added during that course.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Acknowledgments</title>
      <p>This work has been supported by the German Federal Ministry of Education
and Research (BMBF) in the context of the iGreen project (01IA08005A).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Cantador</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Castells</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Multilayered semantic social network modeling by ontology-based user pro les clustering: Application to collaborative ltering</article-title>
          .
          <source>2006</source>
          , pp.
          <volume>334</volume>
          {
          <fpage>349</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Heath</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Motta</surname>
            ,
            <given-names>E. Revyu.</given-names>
          </string-name>
          <article-title>com: A reviewing and rating site for the web of data</article-title>
          .
          <year>2008</year>
          , pp.
          <volume>895</volume>
          {
          <fpage>902</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kiesel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Grimnes</surname>
            ,
            <given-names>G. A.</given-names>
          </string-name>
          <article-title>DBTropes|a linked data wrapper approach incorporating community feedback</article-title>
          .
          <source>In EKAW 2010 Demo and Poster Abstracts. International Conference on Knowledge Engineering and Knowledge Management (EKAW-10)</source>
          ,
          <source>17th International Conference on Knowledge Engineering and Knowledge Management, October 11-15</source>
          , Lisbon, Portugal (10
          <year>2010</year>
          ),
          <string-name>
            <given-names>J. V. O.</given-names>
            <surname>Corcho</surname>
          </string-name>
          , Ed., -.
          <source>Best Poster.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kiesel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Schwarz</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Skipforward|a lightweight ontology-based peer-topeer recommendation system</article-title>
          .
          <source>In International Semantic Web Conference (Demo)</source>
          (
          <year>2008</year>
          ),
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          and
          <string-name>
            <surname>A</surname>
          </string-name>
          . Joshi, Eds., vol.
          <volume>401</volume>
          of CEUR Workshop Proceedings, CEURWS.org.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Pazzani</surname>
            ,
            <given-names>M. J.</given-names>
          </string-name>
          <article-title>A framework for collaborative, content-based and demographic ltering</article-title>
          .
          <source>Artif. Intell. Rev</source>
          .
          <volume>13</volume>
          ,
          <issue>5</issue>
          -
          <fpage>6</fpage>
          (
          <year>1999</year>
          ),
          <volume>393</volume>
          {
          <fpage>408</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Peis</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>del Castillo</surname>
            ,
            <given-names>J. M. M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Delgado-Lopez</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          <article-title>Semantic recommender systems. analysis of the state of the topic</article-title>
          . online,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Shardanand</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Maes</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Social information ltering: algorithms for automating "word of mouth"</article-title>
          .
          <source>In CHI '95: Proceedings of the SIGCHI conference on Human factors in computing systems</source>
          (New York, NY, USA,
          <year>1995</year>
          ), ACM Press/Addison-Wesley Publishing Co., pp.
          <volume>210</volume>
          {
          <fpage>217</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Tummarello</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Morbidoni</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Collaboratively building structured knowledge with dbin: from del.icio.us tags to an rdfs folksonomy</article-title>
          .
          <source>Workshop on Social and Collaborative Construction of Structured Knowledge at 16th International World Wide Web Conference (WWW2007)</source>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>