<!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>Optimizing a Scalable News Recommender System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Patrick Probst</string-name>
          <email>patrick.c.probst@campus.tu-berlin.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Lommatzsch</string-name>
          <email>andreas.lommatzsch@dai-labor.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Agent Technologies in Business Applications and Telecommunication Group, AOT Technische Universitat Berlin</institution>
          ,
          <addr-line>Ernst-Reuter-Platz 7, D-10587 Berlin</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technische Universitat Berlin</institution>
          ,
          <addr-line>Stra e des 17. Juni 135, D-10623 Berlin</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The huge amount of news articles published every hour makes it hard for users to nd the relevant news matching the user's expectations. The main challenges when developing a recommender for the news domain are the continuous changes in the set of items, the contextdependent relevance of items, as well as the requirements with respect to scalability and response time. In this work, we present a scalable and distributable implementation of a real-time news recommender system based on the Akka framework. Our approach focuses on optimizing the recommendation precision. It is able to adapt to the continuous changes of the set of relevant news articles as well as it considers the di erent user preferences dependent from the hour the day. Our implementation ensures that tight response time constraints are ful lled and the system can be easily extended to streams of much larger volume. We implement three di erent recommendation algorithms namely, Most Popular Items, Most Recent Items, and Most Recent Items of the Most Popular Categories. A time-dependent delegation strategy is used for assigning requests to a recommender algorithm. We evaluate the developed recommender system in the CLEF-NewsREEL challenge 2016. The evaluation shows that the recommender performs very successfully; the developed recommender has won the online evaluation in several timeframes.</p>
      </abstract>
      <kwd-group>
        <kwd>recommender system</kwd>
        <kwd>scalability</kwd>
        <kwd>Akka framework</kwd>
        <kwd>most popular recommender</kwd>
        <kwd>stream-based recommender</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The amount of available information in the World Wide Web is more and more
increasing. This richness of information overwhelms users if not handled
sophisticatedly. A ltered view on the huge amount of available content helps users to
nd interesting items. Recommender systems are developed to support users in
ltering out the most relevant items matching the individual user's preferences.
Recommender algorithms are used in many modern e-commerce applications.
In this paper we focus on recommending news articles. With the spreading of
handheld devices, such as smartphones and tablets, and the ubiquitous
availability of internet connectivity, online news portal are becoming an important
channel for real-time information. The main challenges for recommender systems
in the news domain are the continuous changes in the set of potentially relevant
items as well as the limited accuracy of user tracking (since users do not have
to log in). User preferences often highly depend on the context and the speci c
domain. Furthermore, recommender systems in online settings must ensure tight
response time constraints and be able to handle heavy load peaks [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        The CLEF NewsREEL challenge [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is a yearly competition giving
researchers the opportunity to analyze and evaluate innovative news
recommendation algorithms based on real-life data. We participate in the NewsREEL
challenge in the second year. We further extended and optimized the system
developed in 2015 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The NewsREEL challenge consists of a Living lab task
(\task 1") and an o ine task (\Task 2") [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        Task 1: The Living Lab Scenario In the Living Lab task participating teams
must provide recommendations for di erent news portals in real time. The teams
receive data describing freshly published articles as well as information about
the interactions between users and items. Four types of messages are used for
modeling the di erent types of information. The messages are transferred via
HTTP connections and encoded in the JSON format. Recommendation Requests
expect recommendable items as an answer and have to be replied within 100 ms.
Impressions and Item Updates inform about the activity on the publisher's web
sites. Error Messages indicate technical problems. Teams can register their
algorithms and then compare the performance via the Click-Through-Rate (CTR)
on a leader-board. The web portal allows participant registering new algorithms.
In addition, the portal visualizes the evaluation results. The portal is called the
Open Recommendation Platform (ORP) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Task 2: The Simulated Stream Scenario For the o ine evaluation scenario
NewsREEL provides a large dataset consisting of a recorded data stream. The dataset
contains all interaction data for two months [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In addition, a component for
re-playing the dataset as a stream is provided. The dataset allows researchers to
analyze the user behavior in detail. In addition, the o ine evaluation (\Task 2")
enables the reproducible evaluation of implemented algorithms with respect to
scalability and throughput.
      </p>
      <p>The remaining paper is structured as follows. In the next Section 2, we
describe the scenario and the challenges in detail. Subsequently, we explain our
approach and the details of the implemented algorithms in Section 3. The
evaluation results are discussed in Section 4. Finally, Section 5 provides a conclusion
and an outlook to future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Problem Description</title>
      <p>
        Recommending news in real time is a challenging task due to the continuous
changes in the item set, the fuzzy user identi cation, the context-depended user
preferences as well as the requirements with respect to scalability and response
time. In 2015 several di erent recommender algorithms have been tested in the
NewsREEL challenge [
        <xref ref-type="bibr" rid="ref6 ref7">6,7</xref>
        ]. The algorithm we used in NewsREEL reached an
average CTR, slightly above the baseline recommender. Based on the experiences
we improve and optimize our algorithms, seeking to improve the CTR
performance without sacri cing the scalability and the exibility of our approach.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Approach</title>
      <p>In order to consider context-dependent user preferences, we implement three
di erent recommender algorithms. In addition, we learn a time-dependent
delegation strategy selecting the most promising algorithm based on context
parameters. In the next paragraphs we explain the di erent recommender algorithms
in detail.
3.1</p>
      <sec id="sec-3-1">
        <title>Most Popular Recommender</title>
        <p>The Most Popular Recommender ranks news articles by the number of
impressions. In order to take into account the continuous changes in the stream of
items and user-item interactions, our algorithm uses a window-based approach.
For each publisher, a sliding window is de ned consisting of a xed number of
impressions. If a user clicks on an article, an impression is received and stored in
the window. When the maximum number of impressions for the sliding window
is reached, the oldest entry is deleted from the window. To provide
recommendations a ranking of the news articles of the current window is computed. For
each article, the number of impressions within the window is counted. The
articles having received the largest number of impressions in the sliding window are
recommended to users.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Most Recent Recommender</title>
        <p>The Most Recent Recommender ranks news articles based on the most recent
user-item interaction criterion. Similar to the Most Popular Recommender, a
sliding window is used, separately optimized for each publisher. The implemented
algorithm recommends the news items most recently added to the sliding window
(that stores the news articles for the speci c publisher).
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Most Popular Category Recommender</title>
        <p>In order to provide recommendation focused on speci c user interests, we
consider the categorization of the news items provided in the NewsREEL challenge.
We re ne the Most Popular Recommender by computing the popularity
separately for each category and each publisher. Only articles from the most popular
category are recommended. In contrast to the most popular recommender, this
approach provides recommendations focused on the category for that the user
already has showed an interest. The disadvantage is, that a smaller number of
data is aggregated when computing the item ranking since only the data
assigned for the requested category is considered. This might reduce the stability
of the provided recommendations due to the smaller number of items considered
for each category.
3.4</p>
      </sec>
      <sec id="sec-3-4">
        <title>Delegation Strategy</title>
        <p>We use a delegation strategy of assigning incoming requests to recommender
algorithms. The delegation strategy is trained on the click events received in the
most recent 15 minutes. The intersections of the clicked recommendations and
the rankings from the three algorithms are compared. The largest intersection
wins the competition and the winner algorithm is chosen to answer the next
recommendation requests.
3.5</p>
      </sec>
      <sec id="sec-3-5">
        <title>A Distributed Scalable Recommender System</title>
        <p>
          Based on our positive experiences in NewsREEL 2015 we decided to implement
the recommender algorithms in the Akka framework. The Akka framework
provides a distributed real-time engine implementing the actor model [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. It provides
a exible programming model and is designed for handling huge data streams
e ciently. These features make the Akka framework a good choice for
implementing a context-aware news recommender system [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Systems implemented
based on Akka can be deployed on a cluster of computers being the basis for
ensuring scalability. The nodes can either have the role of the master node or be
one of n worker nodes (cf. Figure 1). Requests are distributed along the worker
nodes using a load balancer.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Evaluation</title>
      <p>We evaluated our developed recommender component in the CLEF
NewsREEL challenge.</p>
      <p>The ORP website (http://orp.plista.com) allows researchers to register
implemented algorithms. In addition, the websites lists and visualizes several key
gures describing the performance of the recommender algorithms. The portal
does not only shows the CTR and the number of recommendation requests for
our algorithms; it also lists the CTR of the other teams actively participating in
the online evaluation. The teams are ranked based on the Click Through Rate
(CTR) describing the proportion of clicks to the number of answered requests.
Two baseline algorithms have been used. The rst algorithm, named Berlin,
uses a most popular strategy for recommending items. It considers the most
recently requested 50 distinct items. The second baseline algorithm (maintained
by the team named baseline) uses a most recent strategy implemented based on
a ring bu er. We compare the performance of our recommender and the active
recommender teams in the online challenge for two di erent timeframes.</p>
      <sec id="sec-4-1">
        <title>Cluster System</title>
      </sec>
      <sec id="sec-4-2">
        <title>Master</title>
      </sec>
      <sec id="sec-4-3">
        <title>Worker 1</title>
      </sec>
      <sec id="sec-4-4">
        <title>Worker 2</title>
      </sec>
      <sec id="sec-4-5">
        <title>Worker n</title>
        <p>Load Balancer
s
t
s
e
u
q
e
R
Analyzed Recommenders Algorithms Two recommender implementations have
been analyzed. The rst recommender, called xyz uses the Most Popular Items
algorithm only. The second recommender, xyz-2.0 uses the delegation strategy.
Recommendation requests are answered by the Most Popular Items, the Most
Recent User-item interactions, or Most Popular Category algorithm.
Analyzed Timeframes In the following paragraphs we analyze two timeframes in
detail. The rst period includes 4 days in March (March 5th until March 8th).
The second timeframe includes one week in April 2016 (April 10th until April
16th).</p>
        <sec id="sec-4-5-1">
          <title>CTR analysis of the rst timeframe</title>
          <p>The CTR of the algorithm xyz and the baseline recommenders are visualized
in Table 1). The results show that our recommender outperforms the baseline
recommenders. The average variance of the xyz-recommender is slightly lower
compared to the baseline recommenders.
A-A Testing: Within the rst time frame, the xyz-recommender is registered
four times in the ORP-interface. All instances map to the same recommender
instance. Therefore, it is possible to compare the reached CTR. As the same
instances are mapped, no di erences in the CTR are expected. We are comparing
the CTR for one publisher, namely sport1.de, who has the largest number of
requests in this period (99.43 %) in Table 2. The variance is shown for the four
days and is generally on a low level. Nevertheless, it varies between the days. On
the rst and last day it is notably higher compared to the other days.
r
t
c
_
s
w
e
n
n
i
l
r
e
b
e
s
i
w
i
w
c
c
b
a</p>
          <p>N</p>
          <p>B
Algorithm
e
n
i
l
e
s
a
b</p>
          <p>M
M
t
f
l
e
d
u
t
_
c
f
l
d
g
i
d
a
i
r</p>
          <p>P
S
F</p>
          <p>Delegation Strategy Evaluation We analyze the delegation strategy used by the
xyz-2.0 recommender. Table 4 shows the ratio of recommendations answered
by the three implemented recommenders. We analyze at the same timeframe as
depicted in Figure 3. The Most Popular recommender answered the majority of
requests (&gt; 95%). Only a small percentage of requests has been delegated to the
Most Recent and the Most Popular Category recommender (&lt; 5%).
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion &amp; Outlook</title>
      <p>In this paper we presented our recommender components developed based on
the Akka framework. We evaluated two di erent versions of the recommender
approach in the online scenario. In the analyzed timeframes our recommender
outperformed the competing teams. This shows that the recommender approach
has a big potential. Unfortunately, we could not participate in the complete
evaluation period; so the analyzed timeframes are relatively short. We will keep
on participating in the online evaluation to verify the signi cance of the observed
CTR performance.</p>
      <p>Recommender System Performance In the rst analyzed evaluation timeframe,
our recommender xyz outperformed the CTR of the baseline recommenders;
but there were other teams in the challenge reaching a better CTR than our
recommender xyz.</p>
      <p>In the second analyzed evaluation timeframe, we compared the performance
of the algorithms xyz and xyz-2.0 with the other participating teams. Our
algorithms reached the best CTR in this timeframe.</p>
      <p>A-A Testing: For estimating the variance of the results, we performed an
AA testing. Our A-A tests showed only minor di erences between the di erent
instances of our algorithms. This indicates the variance of the CTR is low. Hence,
there is a small random component in the data. This veri es the signi cance of
the reached CTR in the analyzed timeframes.</p>
      <p>The Delegation Strategy The algorithm xyz-2.0 uses a delegation strategy to
answer recommendation requests either by a Most Popular, a Most Recent
useritem Interaction or a Most Recent Category recommender. Our evaluation shows
that the majority of requests have been delegated to the most popular algorithm.
This is an explanation why the CTR of the algorithms xyz and xyz-2.0 are very
similar. However, the use of the delegation strategy leads to a CTR improvement.
Future Work In this paper we showed that a combination of di erent Most
Popular algorithms reaches a high CTR. As future work, we plan to put a stronger
focus on the delegation strategy and on optimizing the window size considered in
the delegation component. In addition, we are working on considering additional
aspects that can be used for measuring the popularity of news articles, such as
number of clicks and total time spend on the news items.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>The research leading to these results was performed in the CrowdRec project,
which has received funding from the European Union Seventh Framework
Programme FP7/2007-2013 under grant agreement No. 610594.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Torben</given-names>
            <surname>Brodt</surname>
          </string-name>
          and
          <string-name>
            <given-names>Frank</given-names>
            <surname>Hopfgartner</surname>
          </string-name>
          .
          <article-title>Shedding light on a living lab: The clef newsreel open recommendation platform</article-title>
          .
          <source>In IIiX'14: Proceedings of the Information Interaction in Context Conference</source>
          , pages
          <volume>223</volume>
          {
          <fpage>226</fpage>
          . ACM, 08
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Carl</given-names>
            <surname>Hewitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Bishop</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Richard</given-names>
            <surname>Steiger</surname>
          </string-name>
          .
          <article-title>A universal modular actor formalism for arti cial intelligence</article-title>
          .
          <source>In Proceedings of the 3rd International Joint Conference on Arti cial Intelligence</source>
          ,
          <source>IJCAI'73</source>
          , pages
          <fpage>235</fpage>
          {
          <fpage>245</fpage>
          , San Francisco, CA, USA,
          <year>1973</year>
          . Morgan Kaufmann Publishers Inc.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Frank</given-names>
            <surname>Hopfgartner</surname>
          </string-name>
          , Torben Brodt, Jonas Seiler, Benjamin Kille, Andreas Lommatzsch, Martha Larson, Roberto Turrin, and
          <string-name>
            <given-names>Andras</given-names>
            <surname>Sereny</surname>
          </string-name>
          .
          <article-title>Benchmarking news recommendations: The clef newsreel use case</article-title>
          .
          <source>SIGIR Forum</source>
          ,
          <volume>49</volume>
          (
          <issue>2</issue>
          ):
          <volume>129</volume>
          {
          <fpage>136</fpage>
          ,
          <year>January 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Benjamin</given-names>
            <surname>Kille</surname>
          </string-name>
          , Frank Hopfgartner, Torben Brodt, and
          <string-name>
            <given-names>Tobias</given-names>
            <surname>Heintz</surname>
          </string-name>
          .
          <article-title>The plista dataset</article-title>
          .
          <source>In NRS'13: Proceedings of the International Workshop and Challenge on News Recommender Systems, ICPS</source>
          , pages
          <volume>14</volume>
          {
          <fpage>22</fpage>
          . ACM, 10
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Benjamin</given-names>
            <surname>Kille</surname>
          </string-name>
          , Andreas Lommatzsch, Gebrekirstos Gebremeskel, Frank Hopfgartner, Martha Larson, Jonas Seiler, Davide Malagoli, Andras Sereny, Torben Brodt, and Arjen de Vries.
          <article-title>Overview of NewsREEL'16: Multi-dimensional Evaluation of Real-Time Stream- Recommendation Algorithms</article-title>
          . In Norbert Fuhr, Paulo Quaresma, Birger Larsen, Teresa Goncalves, Krisztian Balog, Craig Macdonald, Linda Cappellato, and Nicola Ferro, editors,
          <source>Experimental IR Meets Multilinguality, Multimodality, and Interaction 7th Intl. Conf. of the CLEF Association, CLEF</source>
          <year>2016</year>
          , Evora, Portugal, September 5-
          <issue>8</issue>
          ,
          <year>2016</year>
          ., LNCS 9822. Springer,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Lommatzsch</surname>
          </string-name>
          and
          <string-name>
            <given-names>Sahin</given-names>
            <surname>Albayrak</surname>
          </string-name>
          .
          <article-title>Real-time recommendations for useritem streams</article-title>
          .
          <source>In Proc. of the 30th Symposium On Applied Computing, SAC</source>
          <year>2015</year>
          , SAC '
          <volume>15</volume>
          , pages
          <fpage>1039</fpage>
          {
          <fpage>1046</fpage>
          , New York, NY, USA,
          <year>2015</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Francesco</given-names>
            <surname>Ricci</surname>
          </string-name>
          , Lior Rokach, and
          <string-name>
            <given-names>Bracha</given-names>
            <surname>Shapira</surname>
          </string-name>
          .
          <article-title>Recommender Systems Handbook, chapter Introduction to Recommender Systems Handbook</article-title>
          , pages
          <fpage>1</fpage>
          <lpage>{</lpage>
          35.
          <string-name>
            <surname>Springer</surname>
            <given-names>US</given-names>
          </string-name>
          , Boston, MA,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Ilya</given-names>
            <surname>Verbitskiy</surname>
          </string-name>
          , Patrick Probst, and
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Lommatzsch</surname>
          </string-name>
          .
          <article-title>Development and evaluation of a highly scalable news recommender system</article-title>
          .
          <source>In Working Notes of the 6th International Conference of the CLEF Initiative. CEUR Workshop Proceedings</source>
          ,
          <year>2015</year>
          . Vol-
          <volume>1391</volume>
          , urn:nbn:de:
          <fpage>0074</fpage>
          -
          <lpage>1391</lpage>
          -8.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>