<!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>Recommender System Based on Algorithm of Bicluster Analysis RecBi</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dmitry Ignatov</string-name>
          <email>Dignatov@hse.ru</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jonas Poelmans</string-name>
          <email>Jonas.Poelmans@econ.kuleuven.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vasily Zaharchuk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>K.U.Leuven, Faculty of Business and Economics</institution>
          ,
          <addr-line>Naamsestraat 69, 3000 Leuven</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Research University Higher School of Economics (HSE)</institution>
          ,
          <addr-line>Pokrovskiy boulvard 11 101000 Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we propose two new algorithms based on biclustering analysis, which can be used at the basis of a recommender system for educational orientation of Russian School graduates. The first algorithm was designed to help students make a choice between different university faculties when some of their preferences are known. The second algorithm was developed for the special situation when nothing is known about their preferences. The final version of this recommender system will be used by Higher School of Economics.</p>
      </abstract>
      <kwd-group>
        <kwd>biclustering</kwd>
        <kwd>recommender system</kwd>
        <kwd>educational orientation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <sec id="sec-1-1">
        <title>Since the introduction of the so called Common State Exam in high schools of the</title>
        <p>Russian Federation, graduates received permission to apply to enter multiple
universities or faculties of the same university whereas in the past they were only
allowed to apply to one institution. Students are confronted with an ever increasing
complexity of the educational landscape and for this purpose we developed a
recommender system to guide them in their search. Students can indicate one or more
faculties where they would like to study and our recommender system will make
suggestions on alternative institutions in which they might also be interested. The
recommender system will also use the browsing and searching history of the
candidate student to efficiently suggest relevant universities, faculties, and
educational directions.</p>
      </sec>
      <sec id="sec-1-2">
        <title>Currently on the Internet many websites make use of recommender systems, for</title>
        <p>example, Amazon recommends books in which the client might be interested based
on previous items which were viewed by the user. Other examples include the
websites http://facebook.com/ and http://twitter.com/ and for Russian companies, the
websites http://imhonet.ru/ and http://www.ozon.ru/.</p>
        <p>
          A lot of techniques have been developed for recommender systems and the main
principles of these algorithms are described in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. We can distinguish between
itembased and user-based recommender systems. In item-based recommendation relevant
items are presented based on their similarity to items previously accessed or bought
by the user. In user-based recommendation users with a similar profile to the current
user are gathered and based on the items they accessed or bought relevant suggestions
are made. These systems use different kinds of similarity measures, such as Pearson’s
correlation, Euclidean distance, Jacquard coefficient, and Manhattan distance.
        </p>
      </sec>
      <sec id="sec-1-3">
        <title>One of the most recent innovations in recommender system research is applying</title>
        <p>
          methods based on biclustering. In [
          <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5">1-5</xref>
          ] a wide range of biclustering applications has
been described including market research, near-duplicate web-document detection,
bioinformatics etc. Biclustering is an unsupervised learning method similar to Formal
        </p>
      </sec>
      <sec id="sec-1-4">
        <title>Concept Analysis (FCA) [7, 8, 9].</title>
      </sec>
      <sec id="sec-1-5">
        <title>Comparing to traditional clustering methods biclustering is not a blackbox</title>
        <p>technique. Comprehensibility is one of its main advantages, i.e. it is possible to
understand why objects ended up in the same cluster. For example you might ask why
a cucumber and a pair of boots are assigned to the same cluster. With biclustering it
can easily be revealed that they are similar because they have the same color and skin
surface.</p>
        <p>
          This lack of comprehensibility of traditional clustering techniques may cause
serious problems in large data mining projects. To cope with these issues researchers
are increasingly focusing on human-centered techniques including direct clustering
(John Hartigan’s work [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]) and FCA [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. In this paper we chose to use biclustering
instead of the more famous technique FCA because of the scalability issues
encountered with FCA. The large number of extracted concepts quickly results in an
unreadable lattice.
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2 Algorithms</title>
      <sec id="sec-2-1">
        <title>We will use the general biclustering definition, which was given in [1, 3]. Let A be</title>
        <p>a matrix of size (n × m), where m represents the dimensionality of the set of objects
and n represents the dimensionality of the set of attributes. Then X = {x1, x2, …, xn} is
a set of objects and Y = {y1,y2,…,ym} is a set of attributes. If I ⊆ X and J ⊆ Y, then AIJ
is a submatrix of matrix A. AIY = (I, Y) is a cluster of objects of matrix A and AXJ = (X,
J) is a cluster of attributes of matrix A. AIJ = (I, J) is a bicluster of matrix A. Its objects
share similar attributes and its attributes give a description of the objects in the
cluster.</p>
      </sec>
      <sec id="sec-2-2">
        <title>There are different formal definitions of a bicluster available for several specific cases, however these are not considered in this paper.</title>
        <sec id="sec-2-2-1">
          <title>2.1 Algorithm variant RecBi1</title>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>RecBi1 is based on the algorithm of Ignatov D.I., which was described in [4]. This</title>
        <p>algorithm takes as input two contexts and produces a list of recommendations as
output.</p>
        <p>Context 1: Formal context K = (S, A, I), where S is a list of all faculties of Russian
universities, A is a list of faculty attributes, I is a binary relation, that shows that
faculty s from S has an attribute a from A.</p>
      </sec>
      <sec id="sec-2-4">
        <title>Context 2: Multi-valued context containing the history of the usage of the system</title>
        <p>Kw = (U, A, W, J), where U is a list of users, A is a list of faculty attributes, W is a list
of weights, that shows how many times u from U has looked at and considered a from</p>
      </sec>
      <sec id="sec-2-5">
        <title>A as an interesting item, J is a ternary relation between u, a, and w.</title>
        <sec id="sec-2-5-1">
          <title>RecBi1</title>
          <p>Input: Formal context of faculties K = (S, A, I),
Multi-valued context containing history of usage Kw = (U, A, W, J),
Visits vector V=(V1,…,V|U|),
U0 is a target user, N is a number of recommendations.</p>
        </sec>
      </sec>
      <sec id="sec-2-6">
        <title>Output: Rec is a list of recommendations</title>
        <p>1. (U0, si) // initial couple
2.
3.
4.
5.</p>
      </sec>
      <sec id="sec-2-7">
        <title>Return Rec</title>
        <p>For si in S ≠ Ø //si' are attributes of si</p>
        <p>CandidateS(cs)  (si, sj'  si')
For csi in cs</p>
        <p>kc[cs] =
kc = dec_sort(kc)</p>
        <p>Rec = Top(N, kc)</p>
        <sec id="sec-2-7-1">
          <title>2.2 Algorithm variant RecBi2</title>
        </sec>
      </sec>
      <sec id="sec-2-8">
        <title>The second algorithm variant consists of two parts: Recbi2.1 and RecBi2.2.</title>
      </sec>
      <sec id="sec-2-9">
        <title>RecBi2.1 is used with so called cold start, which means that there is no previous usage history available. RecBi2.2 is used when the user is using this system not for the first time.</title>
      </sec>
      <sec id="sec-2-10">
        <title>RecBi2.1 takes the same contexts as input as RecBi1 and outputs a list of</title>
        <p>recommendations. But in the middle of the algorithm it forms a new formal context.</p>
        <p>Context 3: Formal context of user preferences Klp = (U, S, Z), where U is a list of
users, S is a list of faculties, and Z is a binary preference relation between u from U
and s from S.</p>
        <p>RecBi2.1
Input: Formal context of faculties K = (S, A, I),
Multi-valued context containing history of usage Kw = (U, A, W, J),
Visits vector V=(V1,…,V|U|),</p>
        <p>U0 is a target user, N is a number of recommended items, lmin is a minimal index of
interestingness.</p>
        <p>Output: Rec is a non-ranked list</p>
        <p>Kl = Kw·KT = (U, S, L, Y) //multiplication of multi-valued contexts as a matrix</p>
        <p>If scu≥lmin then Z=(s, u)Z //reduction to formal context
Z = Ø ; Kpl = (U, S, Z ⊆ U × S)
For u in U</p>
        <p>For s in S
4. (U0, s) //s' is a set of all visitors of s</p>
        <p>For u in s'
For sc in Sc
v = dec_sort(v)
Rec = Top(N,v)</p>
        <p>Sc=u'</p>
        <p>V(sc)=|sc'∩S|
1.
2.
3.
5.
6.
7.
8.</p>
        <p>Return Rec</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Conclusion</title>
      <sec id="sec-3-1">
        <title>RecBi2.2 works in a similar way as RecBi2.1, but its output is a ranked list of search results based on user feedback.</title>
      </sec>
      <sec id="sec-3-2">
        <title>In this paper we presented two biclustering-based algorithms which will be used at</title>
        <p>the basis of recommender system which will guide high school students in their
search for an educational institution. The main contribution of this paper is a
successful application of biclustering methods to the educational domain. In the future
we will operationalise this system at the Higher School of Economics.</p>
        <sec id="sec-3-2-1">
          <title>Acknowledgements</title>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Jonas Poelmans is aspirant of the “Fonds voor Wetenschappelijk Onderzoek –</title>
      </sec>
      <sec id="sec-3-4">
        <title>Vlaanderen” or “Research Foundation Flanders”. The contribution of Dmitry Ignatov is partially supported by the Russian Foundation for Basic Research, project No. 0807-92497 – NTSNIL_a.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          :
          <article-title>Biclustering of Object-Attribute Data Based on Closed Sets Lattices</article-title>
          .
          <source>In proceeding of 12th Russian Conference in Artificial Intelligence</source>
          , Vol.
          <volume>1</volume>
          ., pp.
          <fpage>175</fpage>
          -
          <lpage>182</lpage>
          . Fizmatlit,
          <string-name>
            <surname>Мoscow</surname>
          </string-name>
          (
          <year>2010</year>
          )
          <article-title>(In Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaminskaya</surname>
            ,
            <given-names>A.Yu.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magizov</surname>
            ,
            <given-names>R.A.</given-names>
          </string-name>
          <article-title>A Cross-Validation Technique for Recommender Systems Evaluation</article-title>
          .
          <source>In proceeding of 12th Russian Conference in Artificial Intelligence</source>
          , Vol.
          <volume>1</volume>
          ., pp.
          <fpage>183</fpage>
          -
          <lpage>191</lpage>
          . Fizmatlit,
          <string-name>
            <surname>Мoscow</surname>
          </string-name>
          (
          <year>2010</year>
          )
          <article-title>(In Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaminskaya</surname>
            ,
            <given-names>A.Yu.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magizov</surname>
            ,
            <given-names>R.A.</given-names>
          </string-name>
          <article-title>A Concept-Based Biclustering Algorithm</article-title>
          .
          <source>In proceedings of International conference “Intelligent Information Processing” IIP-8</source>
          , Cyprus, Paphos,
          <source>October 17-24</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>140</fpage>
          -
          <lpage>143</lpage>
          . MAKS Press, Moscow (
          <year>2010</year>
          )
          <article-title>(In Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ignatov</surname>
            <given-names>D.I. Models</given-names>
          </string-name>
          ,
          <article-title>Algorithms and Software Tools for Biclustering Based on Closed Sets</article-title>
          .
          <source>PhD Thesis (Thesis for Candidate of Technical Sciences degree)</source>
          ,
          <source>NRU HSE</source>
          , Moscow (
          <year>2010</year>
          )
          <article-title>(In Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Toby</given-names>
            <surname>Segaran</surname>
          </string-name>
          ,
          <article-title>Programming Collective intelligence</article-title>
          . O'
          <string-name>
            <surname>Reilly</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hartigan</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          <article-title>"Direct clustering of a data matrix"</article-title>
          .
          <source>Journal of the American Statistical Association</source>
          <volume>67</volume>
          (
          <issue>337</issue>
          ):
          <fpage>123</fpage>
          -
          <lpage>9</lpage>
          (
          <year>1972</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Poelmans</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elzinga</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Viaene</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dedene</surname>
            <given-names>G</given-names>
          </string-name>
          .
          <article-title>Formally analysing the concepts of domestic violence</article-title>
          ,
          <source>Expert Systems with Applications</source>
          , vol.
          <volume>38</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>3116</fpage>
          -
          <lpage>3130</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Poelmans</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elzinga</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Viaene</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dedene</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>Curbing domestic violence: instantiating C-K theory with formal concept analysis and emergent self organizing maps</article-title>
          ,
          <source>International Journal of Intelligent Systems in Accountancy, Finance and Management</source>
          , vol.
          <volume>17</volume>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>191</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Poelmans</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elzinga</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Viaene</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Hulle</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dedene</surname>
            <given-names>G</given-names>
          </string-name>
          .
          <article-title>Gaining insight in domestic violence with emergent self organizing maps, Expert systems with applications</article-title>
          , vol.
          <volume>36</volume>
          , no.
          <issue>9</issue>
          , pp.
          <fpage>11864</fpage>
          -
          <lpage>11874</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Wille</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>1982</year>
          ).
          <article-title>Restructuring lattice theory: an approach based on hierarchies of concepts</article-title>
          . I. Rival (Ed.): Ordered sets,
          <fpage>445</fpage>
          -
          <lpage>470</lpage>
          . Reidel. Dordrecht-Boston.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>