<!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>Real-Time Recommendations in a Multi-Domain Environment</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Emanuel Lacic KTI Graz University of Technology Graz</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Recommender systems are acknowledged as an essential instrument to support users in finding relevant information. However, adapting to different domain specific data models is a challenge, which many recommender frameworks neglect. Moreover, the advent of the big data era has posed the need for high scalability and real-time processing of frequent data updates, and thus, has brought new challenges for the recommender systems' research community. In this work, we show how different item, social and location data features can be utilized and supported to provide real-time recommendations. We further show how to process data updates online and capture user's real-time interest without recalculating recommendations. The presented recommendation framework provides a scalable and customizable architecture suited for providing realtime recommendations to multiple domains. We further investigate the impact of an increasing request load and show how the runtime can be decreased by scaling the framework.</p>
      </abstract>
      <kwd-group>
        <kwd>scalability</kwd>
        <kwd>real-time recommendations</kwd>
        <kwd>Apache Solr</kwd>
        <kwd>multi-domain</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>MOTIVATION</title>
      <p>
        In the past decade, there has been a vast amount of research in
the field of recommender systems. Most of that work focuses on
developing novel approaches [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] and improving accuracy [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
Thus, many well known methods are available, such as
ContentBased Filtering [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], Collaborative Filtering [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] or Matrix
Factorization [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], all having their unique strengths and weaknesses.
These approaches are traditionally adapted and applied with the
focus on a single domain model (e.g., marketplace, hotel, conference,
etc.). However, to support a diverse set of domains is becoming an
important issue for modern recommender systems [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        In most domains, the prediction task is usually viewed as a
twodimensional problem which one needs to solve (e.g., utilizing
useritem interactions). But nowadays it is not enough to support
multiple domains on the basis of only one common data feature. With
the arrival of the big data era, recommender systems are expected
to analyze a lot of data, to support various data types and to
handle streams of new data (i.e., volume, variety and velocity
defining the Big Data problem). In such large-scale settings, traditional
recommender systems usually analyze the data offline and update
the generated model in regular time intervals. However, in many
domains, choices made by users depend on factors which are
susceptible to change anytime. Lets take a shopping mall for example,
where a user triggers frequent indoor location updates via a
smartphone application while moving through the mall. Employing an
offline model update strategy that lasts hours or days may
potentially miss the current location context of the user and fail to
provide the right recommendations to match user’s real-time demand.
As a consequence, being able to capture user’s real-time interests
is gaining momentum and is currently of high demand [
        <xref ref-type="bibr" rid="ref16 ref4 ref5">5, 16, 4</xref>
        ].
2.
      </p>
    </sec>
    <sec id="sec-2">
      <title>BACKGROUND</title>
      <p>
        Most existing work, which focuses on real-time
recommendations (e.g., Netflix [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Microsoft [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], among others, e.g., [
        <xref ref-type="bibr" rid="ref23 ref3">3, 23</xref>
        ]),
use offline batch processing frameworks like Apache Hadoop,
Mahout or Spark. Other approaches use a relational database system
to provide near real-time recommendations by querying the
recommendations from a generated data model [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. However, to capture
user’s real-time interest, streaming data needs to be processed
online, thus needing to tackle the conflicting accuracy, real-time and
big data requirements. For example, recent research from Huang
et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and Chandramouli et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] goes into that direction by
utilizing a scalable Item-based Collaborative Filtering approach to
provide real-time recommendations.
      </p>
      <p>
        But, by focusing on the common user-item interactions,
additional contextual information is usually neglected. As such, the
research community has also looked into exploiting social or
location data (e.g., [
        <xref ref-type="bibr" rid="ref13 ref2">2, 13</xref>
        ]). In doing so, personalized
recommendations using Matrix Factorization dominate the literature. Jamali et
al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] predicted ratings using a Matrix Factorization model that
incorporates social relations. Ma et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] improved both Mean
Absolute Error and Root-Mean-Square Error by incorporating
social information, using social regularization in two Matrix
Factorization models. In general, Matrix Factorization based approaches
need to be retrained, when the data changes. This tends to be
timeconsuming, especially in case of frequent data updates where it fails
to capture user’s real-time demand. Furthermore, empirical studies
showed that a large number of factors are needed so that Matrix
Factorization based approaches can deal with sparse data [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
3.
      </p>
    </sec>
    <sec id="sec-3">
      <title>APPROACH AND METHODS</title>
      <p>In this work, we are interested in finding out to what extent
different data features (i.e., item, social or location) can be utilized
or even be combined for real-time recommendation. To perform</p>
      <p>MP
CFR
CFCL
CFLN
Hyb
16</p>
      <p>MP
CFR
CFCL
CFLN
Hyb
16
800
]
s
[m600
e
m
iT400
200
0</p>
      <p>
        MP
CFR
CFCL
CFLN
Hyb
16
32Threadpool size64
128
32Threadpool size64
128
32Threadpool size64
128
(a) 1 processing node
(b) 2 processing nodes
(c) 4 processing nodes
this task, we rely on data crawled from the virtual world of
SecondLife 1 and perform an extensive evaluation in terms of nDCG
and User Coverage [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] of the different content- and network-based
data features. The main reason for choosing SecondLife data over
other sources are manifold, but mainly due to the fact that currently
there are no other datasets available that comprise extensive item,
social and location data of users at the same time. Building up on
these results, the aim is to provide a general framework which can
(1) process streaming data online while providing real-time
recommendations, (2) support a multi-domain environment and the
corresponding data features, and (3) provide a scalable architecture to
cope with increasing request loads.
      </p>
      <p>
        Recently, search engines have gained attention in the context of
recommender systems [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. While the results are promising, they
do not provide explanations and evaluations of how such an
approach would perform in a big data, nor in a real-time multi-domain
environment. As such, the aim of this work is to proof the
benefits of using search engines to support different data features while
providing real-time recommendations. One issue, however, is that
in this way scalability problems are only tackled on the data side of
the domain. In order to truly be able to support multiple domains,
a recommender framework is needed which can additionally (1) be
customized with domain specific models and approaches, and (2)
cope with an increasing request load a domain could experience.
Using the already mentioned SecondLife dataset, but also a much
larger Foursquare dataset [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], we simulate an increasing
recommendation request load which such a framework needs to handle.
      </p>
    </sec>
    <sec id="sec-4">
      <title>OUTCOMES</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we showed to what extent different data features (derived
from item, social and location data) can be utilized for
recommending items, low-level and top-level categories. In our results,
we showed that approaches which utilize social data features can
outperform the ones based on item or location features in case of
recommending items. In case of recommending categories, these
differences get substantially smaller and even change in favor to
item and location data. Moreover, our results suggests that
combining the data sources should result into more robust
recommendations, especially in cases of recommendation tasks on different
levels of specialization (i.e., categories). In a similar fashion, we
also showed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] that location data can especially be helpful in
tackling cold-start users which have no interaction data whatsoever.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], we proofed the benefits of using the search engine Apache
Solr 2 to provide real-time recommendations. We showed that a
re1http://secondlife.com/
2http://lucene.apache.org/solr/
commender system is able to process data updates in real-time and
immediately consider these updates (i.e., user’s real-time interest)
in the recommendation process without the need for recalculations.
In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] we also presented the first open-source recommender
framework based on the Apache Solr search engine. But as previously
mentioned, we considered the scalability issues only on the data
side of a domain, and not within the framework (e.g., handling an
increased request rate). For that purpose, we recently presented
ScaR [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. ScaR adopts the microservices architecture and was
built with the focus on providing a scalable and customizable
architecture suited for providing real-time recommendations to
multiple domains. Different domains can run (and scale) the
framework in isolated environments. The domain specific data features
and recommendation approaches can be dynamically customized
using a dedicated microservice which synchronizes the change to
all domain-relevant nodes.
      </p>
      <p>
        To demonstrate ScaR’s scalability performance, Figure 1 reports
a runtime experiment on the Foursquare dataset with an
increasing number of request loads. As described in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], we requested
five different recommendation approaches for 65,001 users, making
it 325,005 independent recommendations requests to process. We
performed this experiment by simulating an increasing request rate
(load) to the system, having 16, 32, 64 and 128 threads
simultaneously requesting recommendations. These experiments were then
repeated three times: first having 1 local processing node and then,
scaling it to 2 and 4 distributed nodes. As seen, the local
deployment has an exponential increase in the runtime as the load grows.
Such behaviour is somewhat expected as the number of incoming
recommendation requests cause a load spike and the processing
threads consequently cause to much context switching. But, as we
deploy additional nodes, we can see a significant decrease in the
growth of the mean processing runtime when compared to the
local deployment, which is crucial in cases when a maximal runtime
needs to be guarantied.
5.
      </p>
    </sec>
    <sec id="sec-5">
      <title>PLAN AND TIMELINE</title>
      <p>With respect to the future research workplan, the aim is to
further look into feasible strategies to balance the trade-off between
accuracy and runtime in a multi-domain environment. For a thesis
conclusion, the idea is to find out how recent the utilized history
data and the candidate recommendations need to be (i.e., by
considering the exact time or a sliding window approach) in order to
even better recommend user’s real-time interest. This would not
only lead to better accuracy but also to a better performance, as
less data will need to be processed.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>X.</given-names>
            <surname>Amatriain</surname>
          </string-name>
          .
          <article-title>Big &amp; personal: Data and models behind netflix recommendations</article-title>
          .
          <source>In Proc. of BigMine '13.</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K.</given-names>
            <surname>Bischoff</surname>
          </string-name>
          .
          <article-title>We love rock 'n' roll: Analyzing and predicting friendship links in last.fm</article-title>
          .
          <source>In Proceedings of the 4th Annual ACM Web Science Conference, WebSci '12</source>
          , pages
          <fpage>47</fpage>
          -
          <lpage>56</lpage>
          . ACM,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Chan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Stone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. P.</given-names>
            <surname>Szeto</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K. H.</given-names>
            <surname>Chan</surname>
          </string-name>
          .
          <article-title>Predictionio: a distributed machine learning server for practical software development</article-title>
          .
          <source>In Proc. of CIKM '13.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Chandramouli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Levandoski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Eldawy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. F.</given-names>
            <surname>Mokbel</surname>
          </string-name>
          .
          <article-title>Streamrec: A real-time recommender system</article-title>
          .
          <source>In Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data, SIGMOD '11</source>
          , pages
          <fpage>1243</fpage>
          -
          <lpage>1246</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Cui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , J. Jiang, and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xu</surname>
          </string-name>
          . Tencentrec:
          <article-title>Real-time stream recommendation in practice</article-title>
          .
          <source>In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, SIGMOD '15</source>
          , pages
          <fpage>227</fpage>
          -
          <lpage>238</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jamali</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Ester</surname>
          </string-name>
          .
          <article-title>A matrix factorization technique with trust propagation for recommendation in social networks</article-title>
          .
          <source>In Proceedings of the Fourth ACM Conference on Recommender Systems</source>
          , pages
          <fpage>135</fpage>
          -
          <lpage>142</lpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Lacic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kowald</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Eberhard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Trattner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Parra</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Marinho</surname>
          </string-name>
          .
          <article-title>Utilizing online social network and location-based data to recommend products and categories in online marketplaces</article-title>
          . In Mining, Modeling, and Recommending 'Things' in Social Media, pages
          <fpage>96</fpage>
          -
          <lpage>115</lpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Lacic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kowald</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Parra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kahr</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Trattner</surname>
          </string-name>
          .
          <article-title>Towards a scalable social recommender engine for online marketplaces: The case of apache solr</article-title>
          .
          <source>In Proceedings of the Companion Publication of the 23rd International Conference on World Wide Web Companion</source>
          , WWW Companion '
          <volume>14</volume>
          , pages
          <fpage>817</fpage>
          -
          <lpage>822</lpage>
          . International World Wide Web Conferences Steering Committee,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>E.</given-names>
            <surname>Lacic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kowald</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Trattner</surname>
          </string-name>
          .
          <article-title>Socrecm: A scalable social recommender engine for online marketplaces</article-title>
          .
          <source>In Proceedings of the 25th ACM Conference on Hypertext and Social Media</source>
          ,
          <source>HT '14</source>
          , pages
          <fpage>308</fpage>
          -
          <lpage>310</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E.</given-names>
            <surname>Lacic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kowald</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Traub</surname>
          </string-name>
          , G. Luzhnica,
          <string-name>
            <given-names>J.</given-names>
            <surname>Simon</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Lex</surname>
          </string-name>
          .
          <article-title>Tackling cold-start users in recommender systems with indoor positioning systems</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Lacic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Traub</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kowald</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Lex</surname>
          </string-name>
          . Scar:
          <article-title>Towards a real-time recommender framework following the microservices architecture</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Liu</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Karger</surname>
          </string-name>
          . Kibitz:
          <article-title>End-to-end recommendation system builder</article-title>
          .
          <source>In Proceedings of the 9th ACM Conference on Recommender Systems. ACM</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zhou</surname>
          </string-name>
          , C. Liu,
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Lyu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and I.</given-names>
            <surname>King</surname>
          </string-name>
          .
          <source>In Proceedings of the Fourth ACM International Conference on Web Search and Data Mining, WSDM '11</source>
          , pages
          <fpage>287</fpage>
          -
          <lpage>296</lpage>
          . ACM,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Parra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Brusilovsky</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Trattner</surname>
          </string-name>
          .
          <article-title>User controllability in an hybrid talk recommender system</article-title>
          .
          <source>In Proceedings of the ACM 2014 International Conference on Intelligent User Interfaces</source>
          ,
          <source>IUI '14</source>
          , pages
          <fpage>305</fpage>
          -
          <lpage>308</lpage>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Pazzani</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Billsus</surname>
          </string-name>
          .
          <article-title>Content-based recommendation systems</article-title>
          .
          <source>In The adaptive web</source>
          , pages
          <fpage>325</fpage>
          -
          <lpage>341</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>C.</given-names>
            <surname>Rana</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Jain</surname>
          </string-name>
          .
          <article-title>A study of the dynamic features of recommender systems</article-title>
          .
          <source>Artificial Intelligence Review</source>
          ,
          <volume>43</volume>
          (
          <issue>1</issue>
          ):
          <fpage>141</fpage>
          -
          <lpage>153</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ronen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Koenigstein</surname>
          </string-name>
          , E. Ziklik,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sitruk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Yaari</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Haiby-Weiss</surname>
          </string-name>
          .
          <article-title>Sage: Recommender engine as a cloud service</article-title>
          .
          <source>In Proceedings of the 7th ACM Conference on Recommender Systems, RecSys '13</source>
          , pages
          <fpage>475</fpage>
          -
          <lpage>476</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R.</given-names>
            <surname>Salakhutdinov</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Mnih</surname>
          </string-name>
          .
          <article-title>Bayesian probabilistic matrix factorization using markov chain monte carlo</article-title>
          .
          <source>In Proceedings of the 25th International Conference on Machine Learning, ICML '08</source>
          , pages
          <fpage>880</fpage>
          -
          <lpage>887</lpage>
          . ACM,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sarwat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Avery</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. F.</given-names>
            <surname>Mokbel</surname>
          </string-name>
          .
          <article-title>Recdb in action: Recommendation made easy in relational databases</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>6</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1242</fpage>
          -
          <lpage>1245</lpage>
          , Aug.
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sarwat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Levandoski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Eldawy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. F.</given-names>
            <surname>Mokbel</surname>
          </string-name>
          . Lars*:
          <article-title>An efficient and scalable location-aware recommender system</article-title>
          .
          <source>IEEE Trans. on Knowl. and Data Eng</source>
          .,
          <volume>26</volume>
          (
          <issue>6</issue>
          ):
          <fpage>1384</fpage>
          -
          <lpage>1399</lpage>
          ,
          <year>June 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>J. B. Schafer</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Frankowski</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Herlocker</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Sen</surname>
          </string-name>
          .
          <article-title>The adaptive web</article-title>
          .
          <source>chapter Collaborative Filtering Recommender Systems</source>
          , pages
          <fpage>291</fpage>
          -
          <lpage>324</lpage>
          . Springer-Verlag,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>G.</given-names>
            <surname>Shani</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Gunawardana</surname>
          </string-name>
          .
          <article-title>Evaluating recommendation systems</article-title>
          . In F. Ricci,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rokach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Shapira</surname>
          </string-name>
          , and P. B. Kantor, editors,
          <source>Recommender Systems Handbook</source>
          , pages
          <fpage>257</fpage>
          -
          <lpage>297</lpage>
          . Springer US,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Walunj</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Sadafale</surname>
          </string-name>
          .
          <article-title>An online recommendation system for e-commerce based on apache mahout framework</article-title>
          .
          <source>In Proceedings of the 2013 annual conference on Computers and people research</source>
          , pages
          <fpage>153</fpage>
          -
          <lpage>158</lpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>