<!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>Collaborative Filtering Support for Adaptive Hypermedia</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Martin Balík</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ivan Jelínek</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science and Engineering, Faculty of Electrical Engineering Czech Technical University Karlovo náměstí 13</institution>
          ,
          <addr-line>121 35 Prague</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Web applications of today are dealing with huge amounts of data. Developers need tools to manage those data efficiently and they need be able to present the most important information to users. Modern applications offer personalization of content and some of the applications are also capable of delivering adapted information based on user needs. One of the possibilities for adapting information presented to the user is collaborative filtering. Information is filtered based on the preferences of similar users. In our work we are developing a general adaptive web model. One of our experiments focused on collaborative filtering algorithms and their application in adaptive systems. We present our approach, experiments and results of our work.</p>
      </abstract>
      <kwd-group>
        <kwd>adaptive hypermedia</kwd>
        <kwd>personalization</kwd>
        <kwd>user modeling</kwd>
        <kwd>general model</kwd>
        <kwd>collaborative filtering</kwd>
        <kwd>algorithms</kwd>
        <kwd>Web 2</kwd>
        <kwd>0</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Collaborative filtering1 is the process of filtering for information or patterns using
techniques involving collaboration among multiple agents, viewpoints and data
sources. We live in the age of information explosion and we need tools to process the
large amounts of information and offer users the comfort of dealing only with relevant
information. The collaborative filtering techniques proved themselves to be very
useful for this. Many existing applications use filtering techniques to recommend
items such as music [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], books [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], movies etc. There are many fields where
applications benefit from the ability to make qualified recommendations. This could
be used even in e-learning to recommend topics appropriate for a user’s knowledge
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Therefore, we think that such type of information adaptation should be part of the
adaptive web framework that we are developing.
      </p>
      <sec id="sec-1-1">
        <title>In our previous work we proposed a General Ontological Model for Adaptive</title>
      </sec>
      <sec id="sec-1-2">
        <title>Environments (GOMAWE) [4]. The collaborative library will be used as part of the</title>
        <p>reasoning layer (Fig. 1). Using artificial intelligence algorithms we can derive some</p>
      </sec>
      <sec id="sec-1-3">
        <title>1 http://en.wikipedia.org/wiki/Collaborative_filtering</title>
        <p>user characteristics that were not stored in the user model. Similarly, we could add
new rules to the multidimensional matrix in the storage layer based on the rules of
similar users.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2 Existing applications</title>
      <p>
        Collaborative filtering is based on the assumption that similar users have similar
preferences [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Recommender systems are typically used in web applications that
have many users and want to provide each user with information corresponding to
his/her preferences. Amazon.com2 internet shop portal makes recommendations
based on the items users have already bought. Last.fm3 music portal recommends its
users songs based on their recent playlist. Users can also use tags to describe the
songs and also to classify them into genre groups. International movie database
(IMDb)4 recommends to the users movies similar to their favorite ones. These are just
the most popular portals and the recommendation feature is part of many others.
      </p>
      <sec id="sec-2-1">
        <title>In adaptive web applications we can also use clustering based on the similarity of users that could help to solve the “cold start” problem. This means that if we don’t have any information about the current user, we could use information about a similar user which we assume to be similar too.</title>
        <p>
          There are many approaches and algorithms to compute the similarity of user
preferences [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. We have selected the most simple and most typically used algorithms
and we will discuss them in the following section. We have implemented these
algorithms as a java program and performed experiments with real data.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2 http://www.amazon.com/</title>
      </sec>
      <sec id="sec-2-3">
        <title>3 http://www.last.fm/</title>
      </sec>
      <sec id="sec-2-4">
        <title>4 http://www.imdb.com/</title>
      </sec>
      <sec id="sec-2-5">
        <title>The commonly used algorithm for collaborative filtering tasks is the k-Nearest</title>
        <p>
          Neighbor (k-NN) algorithm [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The k-NN algorithm is a method for classifying
objects based on the closest training examples in the feature space. It belongs to a
class of so called lazy learning algorithms. The following formula can be used to
calculate the distance d of two users ua and ub:
d (ua ,ub ) = ∑n (Pa (oi ) − Pb (oi ))2 (1)
i=1
where n is the number of compared objects oi and P(oi) is the rating of the object.
        </p>
      </sec>
      <sec id="sec-2-6">
        <title>After determining the distance of users, we can select K users with the lowest distance</title>
        <p>and calculate the unknown rating of item i for the user u0 as the arithmetic mean of
rating of the K nearest users:</p>
        <p>K
∑ Pi (o)
P0 (o) = i=1 (2)</p>
        <p>K</p>
      </sec>
      <sec id="sec-2-7">
        <title>We can also use k-NN algorithm to calculate the similarity of two users as a value ranging from 0 to 1 as:</title>
        <p>n</p>
      </sec>
      <sec id="sec-2-8">
        <title>Another algorithm for determining the similarity of users uses the Pearson</title>
        <p>
          correlation coefficient [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. It ranges from -1 (a perfect negative relationship) to +1 (a
perfect positive relationship), with 0 stating that there is no relationship whatsoever.
        </p>
      </sec>
      <sec id="sec-2-9">
        <title>The value of the coefficient can be computed as a quotient of covariance of variables</title>
        <p>and their standard deviations:</p>
        <p>r = covs(XXsY,Y ) = E(( X i − E(sXX )s)Y(Yi − E(Y ))) = n 1−1 ∑i=n1  X is−X X  Yi s−Y Y  (4)
where X and Y are sample means and sx and sy are sample standard deviations.</p>
        <p>
          Similarity can be also calculated using Spearman correlation coefficient [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. In
principle, ρ is simply a special case of the Pearson product-moment coefficient in
which two sets of data Xi and Yi are converted to rankings xi and yi before calculating
the coefficient. If there are no tied ranks:
        </p>
        <p>¬∃i, j : i ≠ j( X i = X j ∨ Yi = Yj ) (5)
then ρ is given by:
ρ = 1− 6 ∑i=n1 di2 (6)
n(n2 −1)
where di is the difference between the ranks of corresponding values Xi and Yi and
n is the number of values in each data set.</p>
        <p>
          The last algorithm that we used for our experiments uses the Kendall coefficient
[10]. Kendall τ coefficient is defined as:
sim(ua ,ub ) = 1 −
d (ua ,ub )
(3)
(7)
τ =
nc − nd
1 n(n −1)
2
where nc is the number of concordant pairs and nd is the number of discordant pairs.
We performed experiments in the field of music recommendation [
          <xref ref-type="bibr" rid="ref10">11</xref>
          ]. We used our
library with implemented algorithms that we explained in the previous section and we
used data from the music portal Last.fm5. We have analyzed data of five users and
compared the results of our algorithm implementations with the results of the Last.fm
service. To be able to compare the data, normalization was needed. All values were
multiplied by a coefficient. This coefficient was chosen so that the highest value of
similarity computed in our library and the highest value reported by the Last.fm
service were equal. All negative values were set to zero. This is because the used
input data contained 50 interprets with the best rating from the selected user.
        </p>
      </sec>
      <sec id="sec-2-10">
        <title>Therefore we have no possibility to determine, which items had the worst rating.</title>
      </sec>
      <sec id="sec-2-11">
        <title>However, in some other cases even negative values could be used to reason about user</title>
        <p>preferences.</p>
      </sec>
      <sec id="sec-2-12">
        <title>In Fig. 2. there are the results for two selected users. The values were computed using three of the algorithms and we observed the deviation from Last.fm similarity values. Compared to processing all data, we achieved better results by eliminating users with similarity values near zero.</title>
        <p>user “soustruh“
user ”filipesta”</p>
      </sec>
      <sec id="sec-2-13">
        <title>We achieved the best results with the k-NN algorithm. The number of processed</title>
        <p>users has significant influence on the results. Optimalization could be also achieved
by changing the k value – number of nearest neighbors.</p>
        <p>The algorithms were implemented as a java library. For the experiments we used a
graphical user interface. However, the library could be used separately, e.g. in the
adaptive web portal backend. This will be the next challenge and we will perform
experiments corresponding to the scheme of the GOMAWE that we mentioned in the
text earlier.</p>
      </sec>
      <sec id="sec-2-14">
        <title>5 http://www.last.fm/</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and future work</title>
      <sec id="sec-3-1">
        <title>We presented our approach to utilize collaborative filtering techniques within</title>
        <p>adaptive web systems. The algorithms computing the recommendations will be part of
the reasoning layer of our General Ontological Model for Adaptive Web</p>
      </sec>
      <sec id="sec-3-2">
        <title>Environments (GOMAWE). We performed experiments with three selected</title>
        <p>algorithms and achieved promising results.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Currently we are developing an adaptive system based on GOMAWE. Our</title>
        <p>approach allows dealing with adaptation techniques as black box components.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Therefore the collaborative filtering library could be used as such an adaptation</title>
        <p>component. An evaluation of adaptation based on the collaborative filtering library in
the system that we are developing will be subject of our future work. Our complete
work should lead to developing of a universal framework for adaptive web
applications.</p>
      </sec>
      <sec id="sec-3-5">
        <title>Acknowledgments. This research has been supported by MSMT under research program No. 6840770014. This research has been supported by the grant IGS ČVUT No. CTU0915213.</title>
      </sec>
      <sec id="sec-3-6">
        <title>The results of our research are part of the work of a special research group WEBING (http://webing.felk.cvut.cz).</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Pampalk</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pohle</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Widmer</surname>
          </string-name>
          , G.:
          <article-title>Dynamic Playlist Generation Based on Skipping Behavior</article-title>
          .
          <source>In Proceedings of the 6th International Conference on Music Information Retrieval (ISMIR'05)</source>
          , London, UK, Sept.
          <fpage>11</fpage>
          --
          <lpage>15</lpage>
          ,
          <year>2005</year>
          .
          <fpage>634</fpage>
          --
          <lpage>637</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Linden</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , York, J.: Amazon.com Recommendations.
          <article-title>Item-to-Item Collaborative Filtering</article-title>
          .
          <source>IEEE Internet Computing</source>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Miettinen</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurhila</surname>
            <given-names>J.</given-names>
          </string-name>
          , and Tirri H.:
          <article-title>On the Prospects of Intelligent Collaborative Elearning Systems</article-title>
          .
          <source>In Proc. 12th International Conference on Artificial Intelligence in Education (AI-ED</source>
          <year>2005</year>
          ). IOS Press, pp.
          <fpage>483</fpage>
          --
          <lpage>490</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Balík</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jelínek</surname>
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Towards Semantic Web-based Adaptive Hypermedia Model</article-title>
          .
          <source>ESWC Ph.D. Symposium</source>
          , Tenerife, Spain, pp.
          <fpage>1</fpage>
          --
          <lpage>5</lpage>
          (
          <year>2008</year>
          ), ISSN:
          <fpage>1613</fpage>
          -
          <lpage>0073</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Grcar</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mladenic</surname>
            <given-names>D.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Grobelnik</surname>
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Data quality issues in collaborative filtering</article-title>
          .
          <source>In the proceedings of ESWC05</source>
          , Heraklion, Greece (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Grčar</surname>
            <given-names>M.:</given-names>
          </string-name>
          <article-title>User Profiling: Collaborative filtering</article-title>
          .
          <source>In proceedings of SiKDD</source>
          <year>2004</year>
          , Ljubljana, Slovenia (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <article-title>Nearest-Neighbor Methods in Learning and Vision</article-title>
          , edited by Shakhnarovish, Darrell, and
          <string-name>
            <surname>Indyk</surname>
          </string-name>
          , The MIT Press,
          <year>2005</year>
          , ISBN 0-262-19547-X
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <surname>David</surname>
          </string-name>
          (
          <year>August 2006</year>
          ).
          <article-title>"4"</article-title>
          . Basic Practice of Statistics (4 ed.).
          <source>WH Freeman Company</source>
          . pp.
          <fpage>90</fpage>
          -
          <lpage>114</lpage>
          . ISBN 0-7167-7463-1
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Myers</surname>
          </string-name>
          , Jerome L.;
          <string-name>
            <surname>Arnold D. Well</surname>
          </string-name>
          (
          <year>2003</year>
          ).
          <article-title>Research Design and Statistical Analysis (second edition ed</article-title>
          .).
          <source>Lawrence Erlbaum</source>
          . pp.
          <fpage>508</fpage>
          . ISBN 0805840370 10.Abdi,
          <string-name>
            <surname>H.</surname>
          </string-name>
          (
          <year>2007</year>
          ). [1] (
          <year>2007</year>
          )
          <article-title>Kendall rank correlation</article-title>
          . In N.J.
          <string-name>
            <surname>Salkind</surname>
          </string-name>
          (Ed.): Encyclopedia of Measurement and Statistics. Thousand Oaks (CA): Sage..
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          11.
          <string-name>
            <surname>Stružský</surname>
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Collaborative filtering for adaptive web</article-title>
          . Bachelor theses, Faculty of Electrical Engineering, Czech Technical University in Prague. Czech
          <string-name>
            <surname>Republic</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>