<!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>Context-Aware Recommender System Based on Boolean Matrix Factorisation</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>National Research University Higher School of Economics</institution>
          ,
          <addr-line>Moscow</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>c paper author(s)</institution>
          ,
          <addr-line>2015. Published in Sadok Ben Yahia, Jan Konecny (Eds.): CLA 2015, pp. 99-110, ISBN 978-2-9544948-0-7</addr-line>
          ,
          <institution>Blaise Pascal University, LIMOS laboratory</institution>
          ,
          <addr-line>Clermont-Ferrand, 2015. Copying permitted only for private and academic purposes</addr-line>
        </aff>
      </contrib-group>
      <fpage>99</fpage>
      <lpage>110</lpage>
      <abstract>
        <p>In this work we propose and study an approach for collaborative filtering, which is based on Boolean matrix factorisation and exploits additional (context) information about users and items. To avoid similarity loss in case of Boolean representation we use an adjusted type of projection of a target user to the obtained factor space. We have compared the proposed method with SVD-based approach on the MovieLens dataset. The experiments demonstrate that the proposed method has better MAE and Precision and comparable Recall and F-measure. We also report an increase of quality in the context information presence.</p>
      </abstract>
      <kwd-group>
        <kwd>Boolean Matrix Factorisation</kwd>
        <kwd>Formal Concept Analysis</kwd>
        <kwd>Recommender Algorithms</kwd>
        <kwd>Context-Aware Recommendations</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        previous approach based on FCA exploits Boolean factorisation based on formal
concepts and follows user-based k-nearest neighbours strategy [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        The aim of this study is to continue comparing the recommendation
quality of several aforementioned techniques on the real dataset and investigation of
methods’ interrelationship and applicability. In particular, in our previous study,
it was especially interesting to conduct experiments and compare
recommendation quality in case of a numeric input matrix and its scaled Boolean counterpart
in terms of Mean Absolute Error (MAE) as well as Precision and Recall. Our
previous results showed that the BMF-based approach is of comparable quality
with the SVD-based one [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Thus, one of the next steps is definitely usage of
auxiliary information containing users’ and items’ features, i.e. so called context
information (for BMF vs SVD see section 4).
      </p>
      <p>
        Another novelty of the paper is defined by the fact that we have adjusted the
original Boolean projection of users to the factor space by support-based weights
that results in a sufficient quality increase. We also investigate the approximate
greedy algorithm proposed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] in the recommender setting, which tends to
generate factors with large number of users, and more balanced (in terms of
ratio between users’ and items’ number per factor) modification of the
Close-byOne algorithm [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>The practical significance of the paper is determined by the demand of
recommender systems’ industry, that is focused on gaining reliable quality in terms
of average MAE.</p>
      <p>The rest of the paper consists of five sections. Section 2 is an introductory
review of the existing MF-based approaches to collaborative filtering. In section
3 we describe our recommender algorithm which is based on Boolean matrix
factorisation using closed sets of users and items (that is FCA). Section 4 contains
results of experimental comparison of two MF-based recommender algorithms
by means of cross-validation in terms of MAE, Precision, Recall and F -measure.
The last section concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Introductory review</title>
      <p>In this section we briefly describe two approaches to the decomposition of
realvalued and Boolean matrices. In addition we provide the reader with the general
scheme of user-based recommendation that relies on MF and a simple way of
direct incorporation of context information into MF-based algoritms.
2.1</p>
      <sec id="sec-2-1">
        <title>Singular Value Decomposition</title>
        <p>Singular Value Decomposition (SVD) is a decomposition of a rectangular matrix
A ∈ Rm×n(m &gt; n) into a product of three matrices</p>
        <p>A = U
where U ∈ Rm×m and V ∈ Rn×n are orthogonal matrices, and Σ ∈ Rn×n is a
diagonal matrix such that Σ = diag(σ1, . . . , σn) and σ1 ≥ σ2 ≥ . . . ≥ σn ≥ 0.
The columns of the matrix U and V are called singular vectors, and the numbers
σi are singular values.</p>
        <p>In the context of recommendation systems rows of U and V can be
interpreted as vectors of user’s and items’s attitude to a certain topic (factor), and
the corresponding singular values as importance of the topic among the others.
The main disadvantages are the dense outputted decomposition matrices and
negative values of factors which are difficult to interpret.</p>
        <p>The advantage of SVD for recommendation systems is that this method
allows to obtain a vector of user’s attitude to certain topics for a new user
without SVD decomposition of the whole matrix.</p>
        <p>
          The computational complexity of SVD according to [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] is O(mn2)
floatingpoint operations if m ≥ n or more precisely 2mn2 + 2n3.
2.2
        </p>
        <p>Boolean Matrix Factorisation based on FCA
Description of FCA-based BMF. Boolean matrix factorisation (BMF) is a
decomposition of the original matrix I ∈ {0, 1}n×m, where Iij ∈ {0, 1}, into a
Boolean matrix product P ◦ Q of binary matrices P ∈ {0, 1}n×k and Q ∈
{0, 1}k×m for the smallest possible number of k. We define Boolean matrix
product as follows:
k
(P ◦ Q)ij = _ Pil · Qlj , (2)
l=1
where W denotes disjunction, and · conjunction.</p>
        <p>Matrix I can be considered a matrix of binary relations between set X of
objects (users), and a set Y of attributes (items that users have evaluated). We
assume that xIy iff the user x evaluated object y. The triple (X, Y, I) clearly
forms a formal context1.</p>
        <p>Consider a set F ⊆ B(X, Y, I), a subset of all formal concepts of context
(X, Y, I), and introduce matrices PF and QF :
(PF )il =
1, i ∈ Al,
0, i ∈/ Al,
(QF )lj =
1, j ∈ Bl, ,
0, j ∈/ Bl.
where (Al, Bl) is a formal concept from F .</p>
        <p>
          We can consider decomposition of the matrix I into binary matrix product
PF and QF as described above. The theorems on universality and optimality of
formal concepts are proved in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>
          There are several algorithms for finding PF and QF by calculating formal
concepts based on these theorems [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The approximate algorithm we use for
comparison (Algorithm 2 from [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]) avoids computation of all possible formal
concepts and therefore works much faster [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Time estimation of the calculations
in the worst case yields O(k|G||M |3), where k is the number of found factors,
|G| is the number of objects, |M | is the number of attributes.
1 We have to omit basic FCA definitions; for more details see [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Contextual information</title>
        <p>
          Contextual Information is a multi-faceted notion that is present in several
disciplines. In the recommender systems domain, the context is any auxiliary
information concerning users (like gender, age, occupation, living place) and/or
items (like genre of a movie, book or music), which shows not only a user’s mark
given to an item but explicitly or implicitly describes the circumstances of such
evaluation (e.g., including time and place) [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>From the representational viewpoint context2 can be described by a binary
relation, which shows that a user or an item possesses a certain attribute-value
pair. In case the contextual information is described by finite-valued attributes, it
can be represented by finite number of binary relations; otherwise, when we have
countable or continuous values, their domains can be split into (semi)intervals
(cf. scaling in FCA). As a result one may obtain a block matrix:
I =</p>
        <p>R
Citem</p>
        <p>Cuser ,</p>
        <p>O
where R is a utility matrix of users’ ratings to items, Cuser represents context
information of users, Citem contains context iformation of items and O is
zerofilled matrix.</p>
        <p>In case of more complex rating’s scale the ratings can be reduced to binary
scale (e.g., “like/dislike”) by binary thresholding or by FCA-based scaling.
2 In order to avoid confusion, please note that formal context is a different notion.
5
5
+
+</p>
        <p>Godfather</p>
        <p>General scheme of user-based recommendations
Once a matrix of ratings is factorised we need to learn how to compute
recommendations for users and to evaluate whether a particular method handles this
task well.</p>
        <p>For the factorised matrices already well-known algorithm based on the
similarity of users can be applied, where for finding k nearest neighbors we use not
the original matrix of ratings R ∈ Rm×n, but the matrix I ∈ Rm×f , where m is
a number of users, and f is a number of factors. After the selection of k users,
which are the most similar to a given user, based on the factors that are peculiar
to them, it is possible, based on collaborative filtering formulas to calculate the
prospective ratings for a given user.</p>
        <p>After generation of recommendations the performance of the recommender
system can be estimated by measures such as MAE, Precision and Recall.</p>
        <p>Collaborative recommender systems try to predict the utility (in our case
ratings) of items for a particular user based on the items previously rated by
other users.</p>
        <p>
          Memory-based algorithms make rating predictions based on the entire
collection of previously rated items by the users. That is, the value of the unknown
rating ru,m for a user u and item m is usually computed as an aggregate of the
ratings of some other (usually, the k most similar) users for the same item m:
ru,m = aggru˜∈U˜ ru˜,m,
where U˜ denotes a set of k users that are the most similar to user u, who have
rated item m. For example, the function aggr may be weighted average of ratings
[
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]:
ru,m =
        </p>
        <p>X sim(u˜, u) · ru˜,m/ X sim(u, u˜).
u˜∈U˜
u˜∈U˜</p>
        <p>The similarity measure between users u and u˜, sim(u˜, u), is essentially an
inverse distance measure and is used as a weight, i.e., the more similar users c
and u˜ are, the more weight rating ru˜,m will carry in the prediction of ru˜,m.</p>
        <p>The similarity between two users is based on their ratings of items that both
users have rated. There are several popular approaches: Pearson correlation,
cosine-based, and Hamming-based similarities.</p>
        <p>We further compare the cosine-based and normalised Hamming-based
similarities:
simcos(u, v) =</p>
        <p>X
m∈M˜</p>
        <p>
rum · rvm/ </p>
        <p>X
m∈M˜
2
rum</p>
        <p>X
m∈M˜</p>
        <p>1/2
2
rvm
simHam(u, v) = 1 − X |rum − rvm|/|M˜ |,
m∈M˜
(3)
(4)
(5)
where M˜ is either the set of co-rated items (movies) for users u and v or the
whole set of items.</p>
        <p>To apply this approach in case of FCA-based BMF recommender algorithm
we simply consider the user-factor matrices obtained after factorisation of the
initial data as an input.</p>
        <p>
          For the input matrix in Table 1 the corresponding decomposition is below:
In contrast to [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], for the recommender setting we mostly interested whether the
concepts of more balanced extent and intent size may give us an advantage and
use the following criterion to this end:
        </p>
        <p>W (A, B) = (2|A||B|)/(|A|2 + |B|2) ∈ [0; 1],
(6)
where (A, B) is a formal concept.</p>
        <p>In subsection 2.2 we recalled that finding Boolean factors is reduced to the
task of finding of covering formal concepts for the same input matrix.</p>
        <p>
          To this end we modified Close-by-One ([
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]). This algorithm traverses the
tree of corresponding concept lattice in depth-first manner and returns the set of
all formal concepts, which is redundant for the Boolean decomposition task. The
deeper the algorithm is in the tree, the larger the intents are, and the smaller
the extents of formal concepts. Thus, for every branch of the tree the proposed
measure in eq. (6) is growing until some depth and then (in case the traverse
continues) goes down.
        </p>
        <p>The proposed modifications are: 1) the traverse of a certain branch is carried
out until W is growing with the covered square (size of extent × size of intent);
2) at each iteration we do not accept concepts with intents that contained in the
union of intents of previously generated concepts.</p>
        <p>In case the intent of a certain concept is covered by its children (fulfilling
condition 1), then this concept is not included into F .</p>
        <p>For Close-by-One there is a linear order on G. Assume C ⊂ G is generated
from A ⊂ G by addition g ∈ G (C = A ∪ {g}) such that g max(A), then the
set C00 is called canonically generated if min(C00 \ C) g.
Algorithm 1: Generation of balanced formal concepts</p>
        <p>Data: Formal context (U, M, I)
Result: The set of balanced formal concepts F
foreach u ∈ U do</p>
        <p>A ← {u};
stack.push(A0);
g ← u; g + +;
repeat
if g ∈/ U then
if stack.T op 6= ∅ then
add (A00, A0) to F ;
stack.T op ← ∅;
while stack.T op = ∅ do
g ← max(A);
A ← A \ {g};
stack.pop;
g + +;
else</p>
        <p>B ← A ∪ {g};
if (B00 is a canonical generation) and W (C00, C0) ≥ W (A00, A0) and
|C00 × C0| ≥ |A00 × A0| then
stack.T op ← (stack.T op \ C0);</p>
        <p>A ← C;
g + +;
until A 6= ∅;
return F ;</p>
        <p>The obtained set F is still be redundant, that is why we further select
factors with maximal coverage until we have covered the whole matrix or required
percentage.</p>
        <p>The main aim of factorisation is the reduction of computation steps and
revealing latent similarity since users’ similarities are computed in a factor space.
As a projection matrix of user profiles to a factor space one may use “user-factor”
from Boolean factorisation of utility matrix (P in (2)). However, in this case in
the obtained user profiles most of the vector components are getting zeros, and
thus we lose similarity information.</p>
        <p>To smooth the loss effects we proposed the following weighted projection:
||Qf·||1</p>
        <p>P Iuv · Qfv
P˜uf = Iu· · Qf· = v∈V
P Qfv
v∈V
where P˜uf indicates whether factor f covers user u, Iu· is a binary vector
describing profile of user u, Qf· is a binary vector of items belonging to factor f
(the corresponding row of Q in decomposition eq. (2)). The coordinates of the
obtained projection vector lie within [0; 1].</p>
        <p>For Table 1 the weighted projection is as follows:
The proposed approach and compared ones have been implemented in C++ and
evaluated on the MovieLens-100k data set. This data set features 100000 ratings
in five-star scale, 1682 Movies, Contextual information about movies (19 genres),
943 users (each user has rated at least 20 movies), and demographic info for the
users (gender, age, occupation, zip (ignored)). The users have been divided into
seven age groups: under 18, 18-25, 26-35, 36-45, 45-49, 50-55, 56+.</p>
        <p>Five star ratings are converted to binary scale by the following rule:
Iij =
(1,</p>
        <p>Rij &gt; 3,
0, else</p>
        <p>
          The scaled dataset is split into two sets according to bimodal cross-validation
scheme [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]: training set and test set with a ratio 80:20, and 20% of ratings in
the test set are hidden3.
        </p>
        <p>Measure of users similarity First of all, the influence of similarity has been
compared. As we can see in the Fig. 4, Hamming distance based similarity is
significantly better in terms of M AE and Precision. However it is worse in Recall
and F-measure. Even though, given the superiority in terms of M AE (widely
adopted in the RS community measure), we decided to use Hamming distance
based similarity.</p>
        <p>Projection into factor space In the series of tests the influence of projection
method has been studied. The weighted projection keeps more information and
as a result helps us to find similar user of higher accuracy. That is why this
method has significant primacy in terms of all investigated measures of quality.
3 This partition into test and training set is done 5 times resulting in 25 hidden
submatrices and differs from the one provided by MovieLens group; hence the results
might be different.</p>
        <p>0.4
0.35
0.8
0.10 20 40 60 80 100 00 20 40 60 80 100</p>
        <p>
          Fig. 1. CompNaumribseoronf noeifghtbwouors similarity measures (NBumMbeFrofanetig8hb0o%urs coverage)
FCA-based algorithm and factors number The main studied algorithm to find
Boolean factors as formal concepts is a modified algorithm Close by One. It was
compared with greedy algorithm from [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] in terms of factors number and final
RS quality measures.
        </p>
        <p>Coverage 50% 60% 70% 80% 90%
Modified Close by One 168 228 305 421 622</p>
        <p>Greedy algorithm 222 297 397 533 737</p>
        <p>CbO covers the input matrix with a smaller count of factors, but it requires
more time (in our experiments, 180 times more on average with one thread
calculations). At the same time we have to admit that there is no influence to
RS quality: thus Recall, Precision and MAE mainly differ only in the third digit.
Incorporation of context information and comparison with SVD For the
SVDbased approach additional (context) information has been attached in a similar
way, but there we use maximal rating (5 stars) in the attached columns and
rows.</p>
        <p>Coverage 50% 60% 70% 80% 85% 90%
BMF 168 228 305 421 508 622
BMF (No context information) 163 220 294 401 479 596
SVD 162 218 287 373 430 496</p>
        <p>SVD (No context information) 157 211 277 361 416 480</p>
        <p>BMF and SVD give similar number of factors, especially for small coverage;
context information does not significantly change their number, but it gives an
increase of precision (1-2% more accurate predictions in Table 4).</p>
        <p>With a similar number or factors (SVD at 85% coverage and BMF at 80%)
Boolean Factorisation results in smaller M AE and higher Precision where
number of neighbours is not high. It can be explained by different nature of factors
in these factorisation models.
5</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>In the paper we considered two modifications of Boolean matrix factorisation,
which are suitable for Recommender Systems. They were compared on real
datasets with the presence of auxiliary (context) information. We found out
that MAE of our BMF-based approach is sufficiently lower than MAE of
SVDbased approach for almost the same number of factor at fixed coverage level of
BMF and SVD. The Precision of BMF-based approach is slightly lower when
the number of neighbours is about a couple of dozens and comparable for the
0.8
remaining part of the observed range. The Recall is lower than results in lower
F-measure. The proposed weighted projection alleviates the information loss of
original Boolean projection resulting in a substantial quality gain.</p>
      <p>We also revealed that the presence of contextual information results in a
small quality increase (about 1-2%) in terms of MAE, Recall and Precision.</p>
      <p>
        We studied the influence of more balanced factors in terms of ratio of number
of users and items. Finally, we should report that greedy approximate algorithm
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], even though that it results in more factors with larger user’s component,
is faster and demonstrates almost the same quality. So, its use is beneficial for
recommender systems due to polynomial time computational complexity.
      </p>
      <p>
        As a future research direction we would like to investigate the proposed
approach with the previously ([
        <xref ref-type="bibr" rid="ref10 ref6 ref7 ref9">9,6,10,7</xref>
        ]) and recently introduced FCA-based
ones ([
        <xref ref-type="bibr" rid="ref11 ref12 ref17">11,12,17</xref>
        ]). As for Boolean matrix factorisation in case of context-aware
information, since the data can be naturally represented as multi-relational, we
would like to continue our collaboration with the authors of the paper [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. We
definitely need to use user- and item-based independent information like time
and location, which can be considered as pure contextual in nature and treated
by n-ary methods [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>Acknowledgments. We would like to thank Alexander Tuzhilin, Elena
Nenova, Radim Belohlavek, Vilem Vychodil, Sergei Kuznetsov, Sergei Obiedkov,
Vladimir Bobrikov, Mikhail Roizner, and anonymous reviewers for their
comments, remarks and explicit and implicit help during the paper preparations.
This work was supported by the Basic Research Program at the National
Research University Higher School of Economics in 2014-2015 and performed in
the Laboratory of Intelligent Systems and Structural Analysis. First author was
also supported by Russian Foundation for Basic Research (grant #13-07-00504).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Koren</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bell</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volinsky</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Matrix factorization techniques for recommender systems</article-title>
          .
          <source>Computer</source>
          <volume>42</volume>
          (
          <issue>8</issue>
          ) (
          <year>2009</year>
          )
          <fpage>30</fpage>
          -
          <lpage>37</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Trefethen</surname>
            ,
            <given-names>L.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bau</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Numerical Linear Algebra. 3rd edition edn</article-title>
          .
          <source>SIAM</source>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Hofmann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Unsupervised learning by probabilistic latent semantic analysis</article-title>
          .
          <source>Machine Learning</source>
          <volume>42</volume>
          (
          <issue>1-2</issue>
          ) (
          <year>2001</year>
          )
          <fpage>177</fpage>
          -
          <lpage>196</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>C.J.:</given-names>
          </string-name>
          <article-title>Projected gradient methods for nonnegative matrix factorization</article-title>
          .
          <source>Neural Comput</source>
          .
          <volume>19</volume>
          (
          <issue>10</issue>
          ) (
          <year>October 2007</year>
          )
          <fpage>2756</fpage>
          -
          <lpage>2779</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Belohlavek</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vychodil</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Discovery of optimal factors in binary data via a novel method of matrix decomposition</article-title>
          .
          <source>Journal of Computer and System Sciences</source>
          <volume>76</volume>
          (
          <issue>1</issue>
          ) (
          <year>2010</year>
          ) 3
          <article-title>- 20 Special Issue on Intelligent Data Analysis</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Symeonidis</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nanopoulos</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papadopoulos</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manolopoulos</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Nearestbiclusters collaborative filtering based on constant and coherent values</article-title>
          .
          <source>Information Retrieval</source>
          <volume>11</volume>
          (
          <issue>1</issue>
          ) (
          <year>2008</year>
          )
          <fpage>51</fpage>
          -
          <lpage>75</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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>
          ,
          <string-name>
            <surname>Poelmans</surname>
          </string-name>
          , J.:
          <article-title>Concept-Based Biclustering for Internet Advertisement</article-title>
          .
          <source>In: Data Mining Workshops (ICDMW)</source>
          ,
          <source>2012 IEEE 12th International Conference on. (Dec</source>
          <year>2012</year>
          )
          <fpage>123</fpage>
          -
          <lpage>130</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wille</surname>
          </string-name>
          , R.:
          <source>Formal Concept Analysis: Mathematical Foundations</source>
          . Springer, Berlin/Heidelberg (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>du</surname>
            Boucher-Ryan,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bridge</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Collaborative recommending using formal concept analysis</article-title>
          .
          <source>Knowledge-Based Systems 19(5)</source>
          (
          <year>2006</year>
          )
          <fpage>309</fpage>
          -
          <lpage>315</lpage>
          {AI}
          <year>2005</year>
          {SI}.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <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>Concept-based recommendations for internet advertisement</article-title>
          . In Belohlavek, R.,
          <string-name>
            <surname>Kuznetsov</surname>
          </string-name>
          , S.O., eds.
          <source>: Proc. of The Sixth International Conference Concept Lattices and Their Applications (CLA'08)</source>
          , Palacky University, Olomouc (
          <year>2008</year>
          )
          <fpage>157</fpage>
          -
          <lpage>166</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Alqadah</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reddy</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alqadah</surname>
          </string-name>
          , H.:
          <article-title>Biclustering neighborhood-based collaborative filtering method for top-n recommender systems</article-title>
          .
          <source>Knowledge and Information Systems</source>
          (
          <year>2014</year>
          )
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nenova</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konstantinova</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konstantinov</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Boolean Matrix Factorisation for Collaborative Filtering: An FCA-Based Approach</article-title>
          .
          <source>In: Artificial Intelligence: Methodology, Systems, and Applications - 16th Int. Conf., AIMSA</source>
          <year>2014</year>
          , Varna, Bulgaria,
          <source>September 11-13</source>
          ,
          <year>2014</year>
          . Proceedings. (
          <year>2014</year>
          )
          <fpage>47</fpage>
          -
          <lpage>58</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.:</given-names>
          </string-name>
          <article-title>A fast algorithm for computing all intersections of objects in a finite semilattice</article-title>
          .
          <source>Automatic Documentation and Math. Ling</source>
          .
          <volume>27</volume>
          (
          <issue>5</issue>
          ) (
          <year>1993</year>
          )
          <fpage>11</fpage>
          -
          <lpage>21</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Birkhoff</surname>
          </string-name>
          , G.:
          <article-title>Lattice Theory. 11th edn</article-title>
          . Harvard University, Cambridge, MA (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Adomavicius</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tuzhilin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions</article-title>
          .
          <source>IEEE Trans. on Knowl. and Data Eng</source>
          .
          <volume>17</volume>
          (
          <issue>6</issue>
          ) (
          <year>June 2005</year>
          )
          <fpage>734</fpage>
          -
          <lpage>749</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poelmans</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dedene</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Viaene</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A New Cross-Validation Technique to Evaluate Quality of Recommender Systems</article-title>
          . In Kundu,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Mitra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Mazumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Pal</surname>
          </string-name>
          , S., eds.
          <source>: Perception and Machine Intelligence</source>
          . Volume
          <volume>7143</volume>
          <source>of LNCS</source>
          . Springer (
          <year>2012</year>
          )
          <fpage>195</fpage>
          -
          <lpage>202</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kornilov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Raps: A recommender algorithm based on pattern structures</article-title>
          .
          <source>In: Proceeding of FCA4AI 2015 workshop at IJCAI</source>
          <year>2015</year>
          .
          <article-title>(</article-title>
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Trnecka</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trneckova</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An algorithm for the multi-relational boolean factor analysis based on essential elements</article-title>
          .
          <source>In: Proceedings of 11th International Conference on Concept Lattices and their Applications</source>
          .
          <article-title>(</article-title>
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gnatyshak</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mirkin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Triadic formal concept analysis and triclustering: searching for optimal patterns</article-title>
          .
          <source>Machine Learning</source>
          (
          <year>2015</year>
          )
          <fpage>1</fpage>
          -
          <lpage>32</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>