<!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>Trend-responsive User Segmentation Enabling Traceable Publishing Insights. A Case Study of a Real-world Large-scale News Recommendation System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Joanna Misztal-Radecka</string-name>
          <email>joanna.misztal-radecka@ringieraxelspringer.pl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michal Z˙ muda</string-name>
          <email>michal.zmuda@ringieraxelspringer.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dominik Rusiecki</string-name>
          <email>dominik.rusiecki@ringieraxelspringer.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Artur Bujak</string-name>
          <email>artur.bujak@ringieraxelspringer.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <country>Ringier Axel Springer Polska</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Ringier Axel Springer Polska, AGH University of Science and Technology</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <abstract>
        <p>The traditional ofline approaches are no longer suficient for building modern recommender systems in domains such as online news services, mainly due to the high dynamics of environment changes and necessity to operate on a large scale with high data sparsity. The ability to balance exploration with exploitation makes the multi-armed bandits an eficient alternative to the conventional methods, and a robust user segmentation plays a crucial role in providing the context for such online recommendation algorithms. In this work, we present an unsupervised and trend-responsive method for segmenting users according to their semantic interests, which has been integrated with a real-world system for large-scale news recommendations. The results of an online A/B test show significant improvements compared to a global-optimization algorithm on several services with diferent characteristics. Based on the experimental results as well as the exploration of segments descriptions and trend dynamics, we propose extensions to this approach that address particular real-world challenges for diferent use-cases. Moreover, we describe a method of generating traceable publishing insights facilitating the creation of content that serves the diversity of all users needs.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>Why user segmentation?
In order to understand why user segmentation is a crucial
component of a modern real-world recommender system, it
is essential to review the context of the recommendation
problem as a whole. It could be argued that it is not
necessary to consider any user segmentation in a recommender
system, and such an approach is applied in many traditional
recommendation methods. However, this claim may not hold
Copyright ' 2019 for this paper by its authors. Use permitted under
Creative Commons License Attribution 4.0 International (CC BY 4.0).
for current real-world systems for several reasons discussed
below.</p>
      <p>
        For instance, as observed by [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], classic matrix
factorization is no longer suficient for many modern recommendation
scenarios. In particular, aspects such as “scarce feedback,
dynamic catalogue and time-sensitivity”, including popularity
trends and interests changes, have been mentioned as factors
that require “continuous and fast learning” not suficiently
addressed by these traditional approaches. As further noticed
by [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], such ofline recommender systems are particularly
unsuitable for generating recommendations in domains such
as news services due to the need of real-time processing at a
large scale and dynamic changes in recency and popularity of
items. The inability to follow popularity trends is particularly
troublesome, as it has been found that user preferences are
not constant but are influenced by temporal factors such as
time of day, day of the week or the season. A large-scale
study on Polish Internet users [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] found that users browse
more items related to culture and entertainment during their
work time than at home. Some seasonal holidays also have an
impact on the type of consumed items. For instance, shopping
ofers and inspirations are more popular before Black Friday
and Christmas while photo galleries are preferred during
summer holidays. Moreover, news topics have a significant
impact on the popularity of items—events such as political
elections or Olympic Games significantly influence the users’
interests.
      </p>
      <p>
        Another critical issue which is not addressed by the
standard techniques is data sparsity. Online services provide a
vast number of items, but only a few are read by particular
visitors. Hence, generating recommendation lists for users
with a short or, in a cold-start scenario, no browsing history
becomes a critical problem. Having noticed the insuficiency
of ofline collaborative filtering approaches, one could
consider popularity-based social recommender systems. They
are designed to address the trend-responsiveness requirement
and are capable of generating recommendations for less
active users by making use of the crowd wisdom. However, as
noted by [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], over-exploitation in such scenarios may lead to
the information bubble efect as users become homogenized
according to their interests so that similar preferences groups
are constantly provided with the same types of items.
      </p>
      <p>
        Another approach which has recently attracted much
attention is based on the multi-armed bandit algorithm. Chiefly,
the ability to balance exploration with exploitation makes
multi-armed bandits a promising solution for this type of
problems — they provide stable recommendation quality due
to the exploitation component while responding to changing
popularity trends in the exploration phase. Due to their high
eficiency and scalability, the bandit algorithms have been
successfully applied to large-scale real-world recommender
scenarios ([
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]). However, as further noted by [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ],
global optimization approaches may introduce the tyranny of
the majority efect and thus cannot serve the diversity of all
users. Hence for bandit approaches the recommendations are
often performed for groups of users with similar behavioral
patterns. Additionally, other contextual factors such as type
of website influence the user behavior, hence the approach to
representing their preferences should be suited to particular
use cases. In our solution, we have adapted the contextual
bandit approach [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] to generating recommendations for
dynamically adjusted interests segments.
1.1
      </p>
    </sec>
    <sec id="sec-2">
      <title>Contributions</title>
      <p>
        The long-term objective of our research is to build a
scalable recommender system that can be applied in a dynamic
domain such as a news service. Towards this goal, we focus
here on presenting an unsupervised method for clustering
users based on their semantic interests (Section 3) which
was successfully integrated with a real-time
recommendation system described in Section 2. The proposed solution
has been used to personalize the largest Polish news service
Onet1, with over 10 million real users2 and nearly 500 million
pageviews on the main page monthly [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and has proven to
be:
∙ trend-responsive in terms of dynamic adaptation to
currently popular topics,
∙ scalable in terms of number of users and generated
recommendations,
∙ and effective, as it vastly improves the performance
of the news services.
      </p>
      <p>To prove the relevance of our method, the evaluation of
proposed solution is performed with online A/B tests on
several news sections with diferent characteristics as described
in Section 4.1. Based on experimental results (Section 4.3) as
well as exploration of segments descriptions and trends
dynamics, in Section 5 we propose extensions to this approach
that address particular real-world challenges. Most notably,
we explain how our solution is used to generate traceable
and actionable publishing insights for enhancing article
diversity. We compare our solution to the current state of
the art in Section 6 and discuss how this approach may be
extended to further improve the service quality in Section 7.</p>
      <sec id="sec-2-1">
        <title>1www.onet.pl</title>
        <p>2Real users are different from cookies (which are often used to estimate
a number of users) as each user may have several cookies.
2. Resolve segments</p>
        <p>Segments</p>
        <p>API
Periodically updates
assignment of users to
the segments stored
on Hadoop</p>
        <p>Hadoop</p>
        <p>1. Request 
(with placement &amp; user ID)</p>
        <p>Recommendations API</p>
        <p>3. Resolve
reward function value</p>
        <p>4. Resolve 
recommendation
Performance </p>
        <p>API</p>
        <p>Combines simple
measures (often based
on browser events) to
calculate reward value
based on business' KPIs</p>
        <p>Algorithm</p>
        <p>Service</p>
        <p>Selected
recommendation</p>
        <p>algorithm
implementation
(for instance
 e-Greedy bandit)
∙ First, the user segments, stored on Hadoop, are fetched
by a dedicated service that provides an online view
of the user-segment assignments (Figure 1,2.). This
information, combined with the recommendation
placement provided in the request, constitutes a complete
recommendation context for the bandit algorithm.
∙ Next, the reward for each item is calculated
according to a business-defined Key Performance Indicator
(KPI) formula (Figure 1,3.) processed in real-time and
updated with sub-second latency. The reward function
calculation is context-aware so that the item rewards
are computed for each segment and placement
independently.
∙ Finally, the recommendation algorithm configuration
is determined for a given context, and a final list of
recommendations is generated (Figure 1,4.). The
conifguration may define the appropriate algorithm as well
as other parameters such as exploration-exploitation
ratio, as described in Section 2.3.</p>
        <p>For simplicity, we focus here on the most important stages
of the recommendation generation process and omit some
additional engineering challenges which had to be considered
in the real-world system implementation.
2.2</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Scalability concerns</title>
      <p>To reduce latency, the flow presented in Section 2.1 is executed
only as often as necessary and the generated recommendations
are cached for a short period of time for every
recommendation context. The cache is refreshed asynchronously so that
the system is resilient to temporal break-downs. To achieve
minimal latency, fresh recommendations populate the cache
in the background (in the meantime stale recommendations
are returned).</p>
      <p>Since the recommendations are served from an in-memory
cache, extremely low latency is guaranteed (retrieval from
cache takes less than ten milliseconds) and scalability is
achieved as recommendations are generated only once per
context, each of which is shared by thousands of users.
2.3</p>
    </sec>
    <sec id="sec-4">
      <title>Recommendation algorithm</title>
      <p>
        The goal of a multi-armed bandit algorithm [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is to
maximize the total payof  which is a sum of single payofs 
achieved in each of the trials  ∈ {1, . . . ,  }. In the context of
recommendation problem, in every trial  a list of
recommendations is chosen from the set of available items  based
on the knowledge about the payofs of articles in  from
previous trials, where the knowledge window  defines how
many previous trials  − , ...,  − 1 are considered. We consider
an additional variable which represents the context of the
recommendation—this approach is known as the contextual
bandit algorithm [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Thus, the contextual multi-armed
bandit for the recommendation problem may be defined by the
following components:
(1) Exploration-exploitation policy —balancing between the
choice of items from  to maximize a single payof
(based on the gained knowledge) and exploring new
candidates with high potential. We use the  − 
variant of the bandit algorithm in which the item with
the highest payof estimate  is selected with
probability 1−  , and a random item is selected with probability
 .
(2) Reward function  —the reward may be defined as
a custom business objective metric, depending on a
particular use case.
(3) Context —in our case the recommendation context
is defined by the segment of users ,  ∈ {1, . . . , }
and the recommendation placement  (the destination
section).
      </p>
      <p>In the context of news recommendation, the item pool
 in trial  is represented by the set of available articles.
The algorithm aims at providing a list of articles which is
the most suitable for a given context, in order to maximize
the reward . Since the item pool changes dynamically, the
knowledge also needs to be constantly updated in order to
estimate the rewards for new items. Moreover, we adapt the
trend-sensitivity of the algorithm by adjusting the knowledge
window .
3</p>
    </sec>
    <sec id="sec-5">
      <title>USER SEGMENTATION</title>
    </sec>
    <sec id="sec-6">
      <title>ALGORITHM</title>
      <p>As described in Section 2.3, we use a contextual multi-armed
bandit approach in which the context is represented by the
recommendation placement as well as the user segment. In
this section, we describe the algorithm for building clusters
of users for which the recommendations are generated.</p>
      <p>Our solution is based on the machine learning pipeline
concept, by extending PySpark ML python API3, that
enables chaining multiple data transforming operations into
one. Such a modular system may be easily extended with
different encapsulated components within a common interface
and combined with other processes. We build data
processing and modeling pipelines by incorporating available ML
transformers and custom data preparation steps for filtering
user events and processing article texts. Since our solution is
integrated with a distributed environment of Hadoop cluster
and due to large-scale computations, we use Apache Spark
for data processing. The main stages of the proposed solution
are described below.
3.1</p>
    </sec>
    <sec id="sec-7">
      <title>Article topic model</title>
      <p>
        We are primarily interested in retrieving universal user
interest profiles that are independent of website structure and
language characteristics, considering latent semantic interest
features. Hence in the first stage, we aim at discovering
abstract topics within the collection of all articles texts from
the database. We apply Latent Dirichlet Allocation (LDA) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
which is a generative statistical model of a corpus, that
deifnes the representation of  documents as a mixture of 
abstract latent topics:  ,  ∈ {1, . . . ,  },  ∈ {1, . . . ,  }.
Each of the topics is characterized by a distribution over 
observed words (assuming Dirichlet priors): ,  ∈ {1, . . . ,  }.
We define a topic description (, ) as a list of top 4
words from  sorted in descending order.
      </p>
      <p>As a preprocessing step, stopwords based on a predefined
list as well as words that appear in less than 10 texts or
more than 10% of all documents are removed (the thresholds
are selected arbitrarily). Next, the text is normalized to
lowercase and words shorter than three characters and with
non-alphabetic characters are filtered out. We preprocess and
lemmatize tokens with SpaCy Python library extended to
3https://spark.apache.org/docs/latest/ml-pipeline.html
support Polish language 4. For words with ambiguous base
forms, the first form in alphabetic order is returned.
3.2</p>
    </sec>
    <sec id="sec-8">
      <title>User interest profiles</title>
      <p>We construct user behavioral profiles by averaging the
vectors of the articles in their browsing history. Thus, the
resulting user profile describes the user’s average interest
in each of the latent topics from the LDA representation:
  = ( ),  ∈  , where  are indices of articles
in the user’s  history. We used the average of the vectors
rather than the sum, as it provides feature normalization
in the context of user activity (the vectors represent user
interests independently of how many articles they read). To
avoid dominance of popular topics in the user profile
representation and to extract their unique interest characteristics,
we additionally apply vector standardization to ensure unit
standard deviation and zero mean.
3.3</p>
    </sec>
    <sec id="sec-9">
      <title>User segments</title>
      <p>
        In order to produce user segments in an unsupervised way,
we apply the bisecting k-Means algorithm to their profiles
described in Section 3.2. The algorithm is a hierarchical
variant of the popular k-Means clustering [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] with a divisive
approach: it starts with a single cluster and performs bisecting
splits recursively until the desired number of groups is reached.
As shown in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], the bisecting k-Means algorithm generally
outperforms other clustering techniques in terms of clusters
quality and run time, while it tends to produce segments of
relatively uniform size. We use a variant of this algorithm
where larger clusters get higher priority during the split. Only
users with at least five pageviews during the analyzed period
are considered for model training.
      </p>
      <p>One of the advantages of using topic modeling technique is
the ability to generate interpretable topics descriptions (as
described in Section 3.1). For each segment ,  ∈ {1, . . . , },
we define its representation   as the average topic
distribution of included users:   = (  ),  ∈ . We
further use this distribution to provide characteristics of
resulting user segments by retrieving the descriptions of
topics above global average for each cluster center: () =
{(, )},   &gt; 0.
4</p>
    </sec>
    <sec id="sec-10">
      <title>INITIAL EVALUATION</title>
      <p>In this section, we describe the process of online experiments
involving a real-world recommendation system. We have
decided to perform online A/B tests which are capable of
representing the dynamic nature of news recommendation
scenarios (such as trend-responsiveness). We believe that this
method is more appropriate than oiflne tests for an
end-toend system evaluation. The goal of this test is to evaluate the
general approach to user interests segmentation and indicate
further improvement directions based on particular use-case
analysis.</p>
      <p>For building the user segments, we use a private database
of articles and events from multiple publisher sites of Ringier</p>
      <sec id="sec-10-1">
        <title>4https://spacy.io/</title>
        <p>Axel Springer Polska, including the news service Onet and
other websites, from anonymous users who accepted our
cookie policy and terms of use. The data is stored on a
Hadoop cluster. Each record in the history table represents
an interaction between a user (represented by a cookie) and
an item (when an article was viewed by a user). The user
profiles are calculated daily from 14-day browsing histories
to represent medium-length user interests. Only users who
viewed at least two articles during this period are considered,
resulting in approximately 13 million users scored daily and
over 30 000 items in their browsing history. Article texts are
in Polish and cover a wide range of topics (such as news,
sports, business, and entertainment) and content types (such
as long texts, videos, and gallery descriptions).
4.1</p>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>Experiment setup</title>
      <p>To perform A/B testing, the trafic is randomly split
between experiment variants. Each variant is defined by a tuple
(, , ), where  is the destination section,  is the set
of user segments, and  is the recommendation algorithm
configuration. In this experiment, we compare the following
recommendation configurations:
(1) Destination section  is one of the 6 selected website
thematic sections: general, news, sports, travel,
automotive and entertainment.
(2) Recommendation algorithm  is one of the following:
∙ Random—a baseline variant that returns items in a
random order,
∙  − —contextual multi-armed bandit algorithm
described in Section 2.3. The context of the bandit
algorithm is defined by the tuple ( , ), where 
is the destination section and ,  ∈ {1, . . . , } is
the user segment. Additionally, since segments are
assigned only for users who were active recently, we
define an extra segment 0 for new users without
known history.
(3) Segments set  is a set of user segments ,  ∈ {0, . . . , }
for the general segmentation (described in Section 3)
or an empty set (global optimization for all users).
Thus, we aim to compare the performance of contextual
 − , a non-contextualized  −  (which is a global
popularity-based baseline), and a referential random
algorithm on the six sections mentioned above. In the following
section we describe the parameter choice for recommendation
algorithms  and segmentation .
4.2</p>
    </sec>
    <sec id="sec-12">
      <title>Parameters selection</title>
      <p>We perform a two-fold parameter selection procedure by
selecting the configuration for the contextual multi-armed
bandit as well as the user segmentation algorithm.
4.2.1 Recommendation algorithm configuration. We use an
ofline experiment simulation to eficiently select the
contextual multi-armed bandit algorithm (described in Section 2.3)
hyperparameters for diferent recommendation scenarios.
7,9
7,85
10
20
30
40
70
80
90</p>
      <p>100
50 60
Number of topics</p>
      <p>First, we estimate the initial parameters for calculating
the algorithm payofs  in given recommendation scenario,
including trafic size (estimated number of views of items in
given time slot), item pool  size (number of items available
in each trial), article lifetime (number of trials in which it
is available in the pool) and a distribution of the reward
function  .</p>
      <p>
        Next, the simulation procedure is performed by running
multiple iterations for diferent algorithm configurations. As
a result, the optimal configuration for each of the
recommendation settings is returned, including the knowledge window
 and the  value for the  −  bandit algorithm.
4.2.2 Segmentation algorithm configuration . For congfiuring
the segmentation algorithm, first, we need to select an optimal
number of topics  for the LDA algorithm. We use perplexity
to measure how well the word probability distribution of
LDA model predicts a sample of held-out documents [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] for
diferent topic dimensionalities. The model is trained with a
random sample of 0.7M articles from the database. Figure 2
presents log perplexity for the LDA model with varying
number of topics. Based on this analysis, we concluded that
the algorithm converges at approximately 50 topics.
      </p>
      <p>
        However as shown by [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], the predictive likelihood
evaluation of topic models is often not correlated with human
judgment, thus besides measuring perplexity, we
additionally perform a qualitative analysis of the resulting topic
interpretability. In particular, we are interested in
learning how well the topic model reflects content fluctuations
and changing publishing trends by analyzing daily topic
distribution changes for selected news topics. Figure 4 shows
the daily changes for 3 out of 50 selected topics with high
time-sensitivity. An analysis of their descriptions leads to
the conclusion that the proposed topic model configuration
25,0%
20,0%
15,0%
5,0%
0,0%
results in some high-quality topics that are responsive to
dynamic publishing trends.
      </p>
      <p>To avoid the information bubble efect and to provide
suficient statistics for per-segment contextual bandits
(Section 2.3) in real time, we selected a relatively small number of
 = 10 clusters which provides a satisfactory level of interest
consistency within segments while ensuring eficient training
of the real-time recommendation algorithm. Moreover, larger
segments support recommendation diversity (which reduces
risk of information bubble) as the optimization is performed
for a wider interest group. The distribution of users in these
segments is shown in Figure 3.
4.3</p>
    </sec>
    <sec id="sec-13">
      <title>Results</title>
      <p>The results of a 30-day online experiment for six diferent
sections of Onet home page are presented in Table 1. We
compare the performance of analyzed algorithms to the random
baseline. Each of the experiments uses a custom
businessdefined KPI based on user engagement metrics (incorporating
pageviews, time spent on the website and bounce rate
penalization), the details of which cannot be disclosed as it
concerns business secrets.</p>
      <p>The experiment results show that  − 
recommendations consistently outperform randomly generated lists for
all the experimental settings during the whole test period.
We observed some fluctuations in the performance of all the
variants that may be caused by publishing trends afecting
user behavior (as shown in Figure 4). Additionally, for all
the experiments the contextual bandit approach
substantially outperforms the globally optimized version. The most
considerable diference is achieved for the general thematic
section (+15.2 pp. vs. global optimization, measured as a
relative improvement over the random baseline) as well as for
domain-specific sections with longer article lifetime
(entertainment, travel, automotive). The semantic context has the
smallest impact on highly time-sensitive sections (+1.9pp.
diference to global optimization for news section and +6.2pp.
for sports). Additionally, further analysis of segment
performance showed that groups of users whose interests were
underrepresented in the articles pool for a given section, on
average performed worse than others. We also noted that the
trafic size has a significant impact on algorithm performance.
0,6
0,4
0,2
0
-0,2
0,8
0,6
0,4
0,2
0
-0,2
0,8
0,6
0,4
0,2
0
-0,2
-0,4
air smog pollution particulates norm
movie role Oscar prize love
goal minute penalty ball
This may be caused by the fact that for a larger sample,
the exploration may be performed faster and the algorithm
converges more quickly.</p>
      <p>To summarize, the analysis of the experiment results leads
us to the following observations:
(1) Need for diversity: The general user segmentation
gives the highest improvement for recommendations
within a wide thematic range (as shown in the
experiment results for the general section). Moreover,
diversity of the item pool has an impact on the
performance of particular segments — our analysis has
revealed that users who cannot find articles relevant
to their preferences become less active than others.
(2) Need for time-sensitivity: Semantic interests have a
lower impact on dynamical and time-sensitive sections
such as news or sports feeds (as shown in Table 1). User
behavior in such services may be influenced by
shortterm interest patterns caused by popularity trends and
hot topics (as shown in Figure 4) more than individual
preferences.
(3) Need for fine-grained interests representation:
Interests in domain-specific thematic sections such as
sports or technology do not necessarily match general
user preference groups. Based on the analysis of the
general segment descriptions (Table 2 left), we observe
that for instance all users interested in entertainment
are in the same segment, hence their more fine-grained
interests in this domain cannot be recognized.
5</p>
    </sec>
    <sec id="sec-14">
      <title>ADDRESSING REAL-WORLD</title>
    </sec>
    <sec id="sec-15">
      <title>CHALLENGES</title>
      <p>As observed in Section 4.3, due to the variety of
recommendation scenarios, a general-purpose user segmentation cannot
serve the diversity of all business cases. Hence, in the
following sections, we propose some extensions to our method that
are designed for particular use cases and address these
realworld challenges. First, we present two alternative variants of
the segmentation algorithm which are aimed at representing
domain-specific and time-sensitive user interests. Next, we
propose an approach to address the lack of diversity in the
item pool by indicating missing thematic areas.
5.1</p>
    </sec>
    <sec id="sec-16">
      <title>Segmentation variants</title>
      <p>As discussed, in order to obtain a more satisfying level of
performance for some of the challenging sections, we had to
adopt diferent algorithms depending on the use-case. This
could be achieved by leveraging the modular, extendable
architecture described in Section 3 and resulted in three general
types of user segmentation which are shown in Figure 5 and
described below.</p>
      <p>Topic modeling</p>
      <p>Segmentation</p>
      <p>Join
Save
(a)</p>
      <p>Join
Topic modeling
Segmentation</p>
      <p>Save
(b)</p>
      <p>Article data</p>
      <p>Filter
Topic modeling</p>
      <p>Segmentation</p>
      <p>Join
Save
(c)
Article data</p>
      <p>Event data</p>
      <p>Article data</p>
      <p>Event data
Event data</p>
      <p>The interchangeability of these algorithms enables us to
easily adjust the segmentation to diferent circumstances, e.g.
by employing the general approach when launching
personalization on the entire page and the site-specific method for a
small, thematic section.
5.1.1 General long-term users interests (Figure 5a). This
algorithm is described in Section 3 and tested in the first
experiment. Its idea is the following: create topics for the
entire set of articles but cluster the users in the topic vector
space according to their activity in a recent limited period.
This, on the one hand, ensures that the topics obtained
are general (such as sports, politics, news, and others) but
on the other hand produces clusters which “follow” a user’s
interests as they change with time. The balance between
newsresponsiveness and general topic representation is achieved
by adjusting the period to which user activity is limited.
5.1.2 Hot topics interests (Figure 5b). In our analyses we
have discovered that sudden, popular events tend to attract
the attention of users regardless of their general interests (see
Figure 4). This seems to be confirmed by the insignificant
improvement in performance for the news section seen in
Table 1. In order to measure this phenomenon more closely
and quantify its impact on the quality of recommendations
as well as enable more meaningful segment descriptions, we
have created an alternative version of the segmentation. Its
main diference to the first, general approach is that the
topics are computed only after the articles are joined with
(and efectively filtered by) the user activity data. This in
efect produces a topic vector space which more accurately
captures these transient trends (see Table 2) and is capable
of representing short-term user interests. Additionally, this
method is more eficient due to a much smaller set of articles
for which the topic space is computed.
5.1.3 Domain-specific recommendations (Figure 5c). As shown
in Table 1, besides the long and short-term topics, for some
sections, there is also a need to accurately represent
subcategories in readers’ interests. The idea is to consider only the
trafic and articles on a specific section of the page which
leads the reader to a set of topically related articles. To
achieve this, we applied a slight modification to the original,
general-topic architecture, which filters the articles based on
a section in which they appeared. This leads to a topic space
and segments that capture the smaller sub-topics within a
broader category. An example of this variant for the sports
section is shown in Table 3.
5.2</p>
    </sec>
    <sec id="sec-17">
      <title>Insights generation</title>
      <p>Recommendation algorithms tend to improve user satisfaction
by providing the most suitable items according to their
interests. However, to provide personalized recommendations lists,
the diversity of the item pool should be suficient to match
particular user needs. Since for the news domain the article
freshness is required, it is essential to provide meaningful and
traceable insights about the types of content that are currently
missing, so that these shortages may be addressed by the
content provider. In the simplest scenario, we assume that if a
group of users becomes less active, it may be caused by an
insuficient number of articles relevant to their interests. Hence
we address this issue by indicating segments that perform
worse than the global average during each day and providing
their descriptions as the topics that are missing in the
available article set along with titles of articles that they liked in
the past. First, we calculate the average performance
(regarding the objective metric  ) for each of the user segments :
  = ∑︀=1  ,  ∈ ,  ∈ {1, . . . , },  ∈ {1, . . . ,  }.</p>
      <p>Next, we calculate the average   = ∑︀=1  ,  ∈  and
season, footballer, club, player — Legia6, goal, coach,
footballer
Entertainmentstar, actress, picture, look — role, musician, record, song
Automotive car, auto, engine, model — company, customer, shop, price
Other
photo, do, look, al — water, eat, product, coal
child, woman, family, home — man, perc, publish, photo
star, love, beautiful, album — star, dance, Joanna5,
journalist
Oscar, role, actress, award — Oscar, Biedronka3,
nominate
breast, photo, Fabia2, Skoda2 — match, coach, player,
team
hair, skin, color, face — organism, disease, vitamin, contain
Warsaw, network, arrange, TV set — perc, retirement, bank,
amount
1 Jan Olszewski, Jaroslaw Kaczyn´ski - Polish politicians; 2 Skoda Fabia - car model; 3 Biedronka - Polish supermarket;
4 Kubica, Williams - Formula One competitors; 5 Joanna Mazur - runner, participant of the Polish edition of Dancing with the Stars;
6 Legia - Polish football club
4 penalty kick, Borussia, host — Legia, Lech, Jagiellonia, Warsaw 6
5</p>
      <p>Barcelona, Real Madrid — Manchester, United, City, League
the standard deviation () of the performance for all
segments and we define that a segment  is “unsatisfied”
if   &lt;   − (). Finally, we retrieve the articles that
were particularly interesting for this segment in the past by
calculating a performance metric , of each article  in
a given segment  and we standardize this metric for all
segments. The titles of articles with the highest score for each
“unsatisfied” segment along with the segment descriptions
and their cardinalities are presented in the form of textual
insights (as shown in Figure 6).</p>
    </sec>
    <sec id="sec-18">
      <title>DISCUSSION AND RELATED WORK</title>
      <p>
        As noticed by [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], the main challenges of news
recommendations are large-scale computations, high dynamics and
popularity trends of news articles. The content changes in three
major news publishers have been analyzed by [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], showing
that the publishing patterns are characterized by
temporal dimensions such as days and hours. For this reason, Li
et al. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] proposes a scalable two-stage solution to news
recommendations. First, clusters of newly published articles
are constructed, and then personalized recommendations are
generated by retrieving items most relevant to the user’s
interest profile. This approach provides high eficiency for
news recommendations; however, content-based
recommendations are not capable of responding to changing popularity
trends. To address this problem, in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] the authors propose
a contextual multi-armed bandit approach which is capable
of representing popularity trends as well as group interests
and apply it for large-scale news recommendations for Yahoo
News module. They note that this approach outperformed
a standard context-free bandit algorithm by 12.5% in click
ratio.
      </p>
      <p>
        To fully exploit the potential of contextual bandits, it is
essential to apply a suitable method for user segmentation.
In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], clusters of Yahoo users were built based on over a
thousand categorical features describing their demographics
and behavioral patterns. However, such an arbitrary choice
of features is limited and does not represent the relations
among distinct features. The unsupervised clustering
technique has been identified in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] as the most flexible method
for automatic detection of underlying behavioral patterns.
In [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] the authors scale up the user neighborhood formation
process through the use of bisecting k-means clustering for an
e-commerce application. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], a large-scale collaborative
filtering recommender system for Google News personalization
was built by applying several clustering techniques, and the
authors demonstrate eficacy and scalability of their system
with a real-world experiment on millions of users. A
probabilistic latent semantic analysis topic modeling technique
for building clusters of users for online advertising has been
presented in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. However, no additional content metadata
has been incorporated, and in contrast to our approach, the
interpretability of resulting segments is low.
      </p>
      <p>
        A summary of approaches to user modeling in Internet
applications has been presented by Gauch et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In
recent approaches, the profile is usually inferred from user
behavior (such as content clicks [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] or web searches [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]), and
the preferences are defined by the type of content read by
them. In [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], the authors introduced a Collaborative Topic
Modeling technique that combines the collaborating filtering
approach with the content-based features extracted by topic
modeling. A user study has been presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], showing
that profile transparency is an essential aspect of personalized
news systems. In our approach, we represent a user profile by
a distribution over topics, which enables generating textual
descriptions of their interest segments.
7
      </p>
    </sec>
    <sec id="sec-19">
      <title>CONCLUSIONS AND FUTURE</title>
    </sec>
    <sec id="sec-20">
      <title>WORK</title>
      <p>We described a universal method for segmenting users
according to their semantic interests. Our solution is based
on an unsupervised bisecting k-means clustering algorithm
and is therefore capable of representing changing popularity
trends. Moreover, using the topic modeling technique enables
us to generate high-quality textual descriptions of users
segments characteristics, which can provide traceable publishing
insights for enhancing article diversity. This solution has
been integrated with a large-scale news recommender system
for personalizing the largest Polish news service Onet. The
eficacy of our proposed system was evaluated in an online
A/B test on several news sections with diferent
characteristics. Based on the analysis of the results for particular use
cases as well as qualitative analysis of segment descriptions
and trend dynamics, we proposed further extensions of the
segmentation algorithm that address these real-world issues.</p>
      <p>In future work, we plan to incorporate into the model other
types of behavioral features and content metadata. Moreover,
we aim to improve the recommendation quality by exploring
diferent segmentation and recommendation techniques to
address other real-world challenges such as the user cold-start
problem.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Jae-wook Ahn</surname>
          </string-name>
          , Peter Brusilovsky, Jonathan Grady, Daqing He, and Sue Yeon Syn.
          <year>2007</year>
          .
          <article-title>Open User Profiles for Adaptive News Systems: Help or Harm?</article-title>
          .
          <source>In Proceedings of the 16th International Conference on World Wide Web (WWW '07)</source>
          . ACM, New York, NY, USA,
          <fpage>11</fpage>
          -
          <lpage>20</lpage>
          . https://doi.org/10.1145/1242572.1242575
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Xiao</given-names>
            <surname>Bai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. Barla</given-names>
            <surname>Cambazoglu</surname>
          </string-name>
          , Francesco Gullo, Amin Mantrach, and
          <string-name>
            <given-names>Fabrizio</given-names>
            <surname>Silvestri</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Exploiting Search History of Users for News Personalization</article-title>
          .
          <source>Inf. Sci. 385</source>
          ,
          <string-name>
            <surname>C (</surname>
          </string-name>
          April
          <year>2017</year>
          ),
          <fpage>125</fpage>
          -
          <lpage>137</lpage>
          . https://doi.org/10.1016/j.ins.
          <year>2016</year>
          .
          <volume>12</volume>
          .038
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Berry</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Fristedt</surname>
          </string-name>
          .
          <year>1985</year>
          . Bandit Problems: Sequential Allocation of Experiments. Chapman and Hall, London.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>David</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Blei</surname>
            ,
            <given-names>Andrew Y.</given-names>
          </string-name>
          <string-name>
            <surname>Ng</surname>
            , and
            <given-names>Michael I.</given-names>
          </string-name>
          <string-name>
            <surname>Jordan</surname>
          </string-name>
          .
          <year>2003</year>
          .
          <article-title>Latent Dirichlet Allocation</article-title>
          .
          <source>J. Mach. Learn. Res. 3 (March</source>
          <year>2003</year>
          ),
          <fpage>993</fpage>
          -
          <lpage>1022</lpage>
          . http://dl.acm.org/citation.cfm?id=
          <volume>944919</volume>
          .
          <fpage>944937</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Maria</given-names>
            <surname>Carla</surname>
          </string-name>
          Calzarossa and
          <string-name>
            <given-names>Daniele</given-names>
            <surname>Tessera</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Modeling and predicting temporal patterns of web content changes</article-title>
          .
          <source>Journal of Network and Computer Applications</source>
          <volume>56</volume>
          (
          <year>2015</year>
          ),
          <fpage>115</fpage>
          -
          <lpage>123</lpage>
          . https://doi.org/10.1016/j.jnca.
          <year>2015</year>
          .
          <volume>06</volume>
          .008
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Allison</surname>
            <given-names>J. B.</given-names>
          </string-name>
          <string-name>
            <surname>Chaney</surname>
          </string-name>
          ,
          <string-name>
            <surname>Brandon M. Stewart</surname>
            , and
            <given-names>Barbara E.</given-names>
          </string-name>
          <string-name>
            <surname>Engelhardt</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>How Algorithmic Confounding in Recommendation Systems Increases Homogeneity and Decreases Utility</article-title>
          .
          <source>In Proceedings of the 12th ACM Conference on Recommender Systems (RecSys '18)</source>
          . ACM, New York, NY, USA,
          <fpage>224</fpage>
          -
          <lpage>232</lpage>
          . https://doi.org/10.1145/3240323.3240370
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Jonathan</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <surname>Jordan</surname>
            Boyd-Graber, Sean Gerrish,
            <given-names>Chong</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
            , and
            <given-names>David M.</given-names>
          </string-name>
          <string-name>
            <surname>Blei</surname>
          </string-name>
          .
          <year>2009</year>
          . Reading Tea Leaves:
          <article-title>How Humans Interpret Topic Models</article-title>
          .
          <source>In Proceedings of the 22Nd International Conference on Neural Information Processing Systems (NIPS'09)</source>
          . Curran Associates Inc., USA,
          <fpage>288</fpage>
          -
          <lpage>296</lpage>
          . http://dl.acm.org/citation.cfm?id=
          <volume>2984093</volume>
          .
          <fpage>2984126</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Wei</given-names>
            <surname>Chu</surname>
          </string-name>
          ,
          <string-name>
            <surname>Seung-Taek</surname>
            <given-names>Park</given-names>
          </string-name>
          , Todd Beaupre, Nitin Motgi, Amit Phadke, Seinjuti Chakraborty, and
          <string-name>
            <given-names>Joe</given-names>
            <surname>Zachariah</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>A Case Study of Behavior-driven Conjoint Analysis on Yahoo!: Front Page Today Module</article-title>
          .
          <source>In Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD '09)</source>
          . ACM, New York, NY, USA,
          <fpage>1097</fpage>
          -
          <lpage>1104</lpage>
          . https://doi.org/10.1145/1557019.1557138
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Abhinandan S. Das</surname>
          </string-name>
          ,
          <string-name>
            <surname>Mayur Datar</surname>
            , Ashutosh Garg, and
            <given-names>Shyam</given-names>
          </string-name>
          <string-name>
            <surname>Rajaram</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Google News Personalization: Scalable Online Collaborative Filtering</article-title>
          .
          <source>In Proceedings of the 16th International Conference on World Wide Web (WWW '07)</source>
          . ACM, New York, NY, USA,
          <fpage>271</fpage>
          -
          <lpage>280</lpage>
          . https://doi.org/10.1145/1242572.1242610
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Deepak</given-names>
            <surname>Agarwal</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Recommending Items to Users: An Explore Exploit Perspective</article-title>
          . http://www.ueo-workshop.com/wpcontent/uploads/2013/10/UEO-Deepak.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Susan</surname>
            <given-names>Gauch</given-names>
          </string-name>
          , Mirco Speretta, Aravind Chandramouli, and
          <string-name>
            <given-names>Alessandro</given-names>
            <surname>Micarelli</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>User Profiles for Personalized Information Access</article-title>
          .
          <source>In The Adaptive Web: Methods and Strategies of Web Personalization</source>
          . Springer Berlin Heidelberg, Berlin, Heidelberg,
          <fpage>54</fpage>
          -
          <lpage>89</lpage>
          . https://doi.org/10.1007/978-3-
          <fpage>540</fpage>
          -72079-9 2
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Gemius</given-names>
            <surname>Polska</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Wyniki badania Gemius/PBI za styczen´ 2019</article-title>
          . https://www.wirtualnemedia.pl/artykul/strony
          <article-title>-glowneonet-i-wp-pl-leb-w-leb-w-dol-interia-o2-pl-i-tvn24-pl.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Sahin</given-names>
            <surname>Cem</surname>
          </string-name>
          <string-name>
            <given-names>Geyik</given-names>
            , Ali Dasdan, and
            <surname>Kuang-Chih Lee</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>User Clustering in Online Advertising via Topic Models</article-title>
          .
          <source>CoRR abs/1501</source>
          .06595 (
          <year>2015</year>
          ). arXiv:
          <volume>1501</volume>
          .06595 http://arxiv.org/abs/ 1501.06595
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Matthew</surname>
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Hoffman</surname>
            ,
            <given-names>David M.</given-names>
          </string-name>
          <string-name>
            <surname>Blei</surname>
            , and
            <given-names>Francis</given-names>
          </string-name>
          <string-name>
            <surname>Bach</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Online Learning for Latent Dirichlet Allocation</article-title>
          .
          <source>In Proceedings of the 23rd International Conference on Neural Information Processing Systems - Volume 1 (NIPS'10)</source>
          . Curran Associates Inc., USA,
          <fpage>856</fpage>
          -
          <lpage>864</lpage>
          . http://dl.acm.org/citation.cfm?id=
          <volume>2997189</volume>
          .
          <fpage>2997285</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Anil</surname>
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Jain</surname>
          </string-name>
          and Richard C. Dubes.
          <year>1988</year>
          .
          <article-title>Algorithms for Clustering Data</article-title>
          . Prentice-Hall, Inc., Upper Saddle River, NJ, USA.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Jaya</surname>
            <given-names>Kawale</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Fernando</given-names>
            <surname>Amat</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>A Multi-Armed Bandit Framework For Recommendations at Netflix</article-title>
          . https://www.slideshare.net/JayaKawale/a
          <article-title>-multiarmed-banditframework-for-recommendations-at-netflix.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Lihong</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <surname>Wei Chu</surname>
          </string-name>
          , John Langford, and
          <string-name>
            <given-names>Robert E.</given-names>
            <surname>Schapire</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>A Contextual-bandit Approach to Personalized News Article Recommendation</article-title>
          .
          <source>In Proceedings of the 19th International Conference on World Wide Web (WWW '10)</source>
          . ACM, New York, NY, USA,
          <fpage>661</fpage>
          -
          <lpage>670</lpage>
          . https://doi.org/10.1145/1772690.1772758
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Lei</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Dingding</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Tao</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Knox</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Balaji</given-names>
            <surname>Padmanabhan</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>SCENE: A Scalable Two-stage Personalized News Recommendation System</article-title>
          .
          <source>In Proceedings of the 34th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR '11)</source>
          . ACM, New York, NY, USA,
          <fpage>125</fpage>
          -
          <lpage>134</lpage>
          . https://doi.org/10.1145/2009916.2009937
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Jiahui</surname>
            <given-names>Liu</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Dolan</surname>
          </string-name>
          , and Elin Rønby Pedersen.
          <year>2010</year>
          .
          <article-title>Personalized News Recommendation Based on Click Behavior</article-title>
          .
          <source>In Proceedings of the 15th International Conference on Intelligent User Interfaces (IUI '10)</source>
          . ACM, New York, NY, USA,
          <fpage>31</fpage>
          -
          <lpage>40</lpage>
          . https://doi.org/10.1145/1719970.1719976
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>James</surname>
            <given-names>McInerney</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Benjamin</given-names>
            <surname>Lacker</surname>
          </string-name>
          , Samantha Hansen, Karl Higley, Hugues Bouchard, Alois Gruson, and
          <string-name>
            <given-names>Rishabh</given-names>
            <surname>Mehrotra</surname>
          </string-name>
          .
          <year>2018</year>
          . Explore, Exploit, and
          <article-title>Explain: Personalizing Explainable Recommendations with Bandits</article-title>
          .
          <source>In Proceedings of the 12th ACM Conference on Recommender Systems (RecSys '18)</source>
          . ACM, New York, NY, USA,
          <fpage>31</fpage>
          -
          <lpage>39</lpage>
          . https://doi.org/10.1145/3240323.3240354
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Juni</given-names>
            <surname>Nurma</surname>
          </string-name>
          <string-name>
            <surname>Sari</surname>
          </string-name>
          , Lukito Nugroho, Ridi Ferdiana, and
          <string-name>
            <given-names>Paulus</given-names>
            <surname>Santosa</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <source>Review on Customer Segmentation Technique on Ecommerce. Advanced Science Letters</source>
          <volume>22</volume>
          (10
          <year>2016</year>
          ),
          <fpage>3018</fpage>
          -
          <lpage>3022</lpage>
          . https://doi.org/10.1166/asl.
          <year>2016</year>
          .7985
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>PBI</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Polskie Badania Internetu</article-title>
          . http://pbi.org.pl/raporty (July-December
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Badrul</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sarwar</surname>
            , George Karypis, Joseph Konstan,
            <given-names>and John Reidl. 2002. Recommender</given-names>
          </string-name>
          <string-name>
            <surname>Systems for Large-Scale</surname>
            <given-names>E</given-names>
          </string-name>
          -Commerce:
          <article-title>Scalable Neighborhood Formation Using Clustering</article-title>
          .
          <source>In Proceedings of the 5th International Conference on Computer and Information Technology (ICCIT).</source>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Steinbach</surname>
          </string-name>
          , George Karypis, and
          <string-name>
            <given-names>Vipin</given-names>
            <surname>Kumar</surname>
          </string-name>
          .
          <year>2000</year>
          .
          <article-title>A comparison of document clustering techniques</article-title>
          .
          <source>In In KDD Workshop on Text Mining.</source>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Maurits</surname>
            <given-names>van der Goes.</given-names>
          </string-name>
          <year>2018</year>
          .
          <article-title>Takeaways from Netflix's Personalization Workshop 2018</article-title>
          . https://medium.com/rtl-tech/
          <article-title>my-takeawaysfrom-netflixs-personalization-</article-title>
          <string-name>
            <surname>workshop-</surname>
          </string-name>
          2018-f564a19437b6.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>Chong</given-names>
            <surname>Wang</surname>
          </string-name>
          and
          <string-name>
            <given-names>David M.</given-names>
            <surname>Blei</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Collaborative Topic Modeling for Recommending Scientific Articles</article-title>
          .
          <source>InProceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD '11)</source>
          . ACM, New York, NY, USA,
          <fpage>448</fpage>
          -
          <lpage>456</lpage>
          . https://doi.org/10.1145/2020408.2020480
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>