<!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>Debiasing Few-Shot Recommendation in Mobile Games</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lele Cao</string-name>
          <email>caolele@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matteo Biasielli</string-name>
          <email>matteo.biasielli@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sahar Asadi</string-name>
          <email>sahar.asadi@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Sjöberg</string-name>
          <email>michael.sjoberg@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>AI R&amp;D, King Digital Entertainment, Activision Blizzard Group</institution>
          ,
          <addr-line>Stockholm</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <abstract>
        <p>Mobile gaming has become increasingly popular due to the growing usage of smartphones in day to day life. In recent years, this advancement has led to an interest in the application of in-game recommendation systems. However, the in-game recommendation is more challenging than common recommendation scenarios, such as e-commerce, for a number of reasons: (1) the player behavior and context change at a fast pace, (2) only a few items (few-shot) can be exposed, and (3) with an existing hand-crafted heuristic recommendation, performing randomized explorations to collect data is not a business choice that is preferred by game stakeholders. To that end, we propose an end-to-end model called DFSNet (Debiasing FewShot Network) that enables training an in-game recommender on an imbalanced dataset that is biased by the existing heuristic policy. We experimentally evaluate the performance of DFSNet both in an ofline setup on a validation dataset and online in a real-time serving environment, illustrating the correctness and efectiveness of the trained model.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>CCS CONCEPTS</title>
      <p>• Information systems → Recommender systems; •
Computing methodologies → Neural networks.
In-game recommendation, debiasing, mobile game, feedback loop,
few-shot recommendation, A/B test
Reference Format:
Lele Cao, Sahar Asadi, Matteo Biasielli, and Michael Sjöberg. 2020. Debiasing
Few-Shot Recommendation in Mobile Games. In 3rd Workshop on Online
Recommender Systems and User Modeling (ORSUM 2020), in conjunction with
the 14th ACM Conference on Recommender Systems, September 25th, 2020,
Virtual Event, Brazil.</p>
    </sec>
    <sec id="sec-2">
      <title>INTRODUCTION</title>
      <p>
        As smartphones expand the gaming market [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], mobile gaming has
become a significant segment of the video game industry. Although
recommendation systems such as [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] are widely adopted
in e-commerce, the integration with mobile games is a relatively
new area of research. Previous works have mostly focused on
recommending game titles to potential players (e.g., [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ],
and [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]). A few recent works have also explored in-game
recommendation [
        <xref ref-type="bibr" rid="ref19 ref3 ref5 ref8">3, 5, 8, 19</xref>
        ], however, to the best of our knowledge the
large-scale and real-time recommendation of in-game items has
not reached its maturity in the industrial scenarios. One of the
common business models in modern mobile games is free-to-play
where the game can be played free of charge, and monetization
occurs through micro-transactions of additional content and in-game
items [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Therefore, in-game contents are continuously added to
the game, which may easily overwhelm the players, causing an
increase in churn probability. In-game item recommendation systems
help to alleviate this problem by ranking items and selecting the
ones that are more relevant to players in order to improve player
engagement.
      </p>
      <p>
        In-game recommender systems utilize user interaction data that
describes historical behavior and current context of individual
players to expose each player the right item at the right time. However,
despite a few in-game recommendation trials [
        <xref ref-type="bibr" rid="ref19 ref3 ref5 ref8">3, 5, 8, 19</xref>
        ] evaluated
mostly in an ofline and batch fashion, there have not been many
successful industrial applications of online in-game
recommendation systems. This is mainly attributed to three unique requirements
from mobile games:
(1) The recommendation is often calculated on remote servers
and delivered to game clients in near-real-time with low
latency (e.g., within the range of 100 milliseconds). Because of
the fast-evolving game dynamics, the behavior of players and
their context keep changing quickly; consequently, the
recommendations (calculated from behavior and context data)
become outdated easily. As a result, the optimal solution
should continuously perform recommendation calculation
and always deliver up-to-date prediction when item exposure
is triggered. That is why the ofline batch recommendation
might only provide a suboptimal average policy.
(2) In mobile games, the items to purchase or to play are
usually carefully crafted by game designers. To avoid
distracting the players with an overloaded small mobile screen, i.e.
only a minimal subset (e.g. as small as one to three items,
hence termed few-shot) of those items is displayed at each
exposure occasion. Therefore, the players’ experience and
(a) LiveOps (dynamic content)
(b) Daily gifts
behavior will be more sensitive to recommendations than in
e-commerce applications where a large number of items can
be displayed at a time, leading to a stronger direct feedback
loop [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
(3) The carefully designed in-game items are often exposed to
players following a pre-defined heuristic policy that contains
a set of hard-coded rules regulating the particular item(s) to
be exposed to player group(s) with certain attributes (e.g., IF
a player has won more than z games in a day, THEN show item
A instead of item B). The recommendation models largely fall
into two main categories: Supervised Learning [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and
Reinforcement Learning [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], both of which work only when item
exposure can be randomly explored. However, the existing
heuristic policy heavily biases the experience of the players
and hence the dataset, which makes it extremely dificult to
train an unbiased model directly. Collection of randomized
data is not often trivial. In many cases, stakeholders prefer
to continue working with reasonably good heuristics which
might not be optimal but avoid any potential business risks
caused by randomization.
      </p>
      <p>
        Our literature survey (till the date when this paper is written)
shows that none of the related works [
        <xref ref-type="bibr" rid="ref19 ref3 ref5 ref8">3, 5, 8, 19</xref>
        ] managed to
simultaneously address the three aforementioned challenges. The
contributions of this paper is threefold: (1) we propose a Debiasing
Few-Shot Network (DFSNet) that enables training an in-game item
recommender merely using heavily biased and imbalanced data, (2)
we discuss an approach to benchmark the trained DFSNet ofline
and (3) we put the model live to recommend items in real-time,
and demonstrate how to monitor, evaluate, interpret, and iterate
on DFSNet in a controlled A/B test framework.
2
      </p>
    </sec>
    <sec id="sec-3">
      <title>THE PROPOSED APPROACH</title>
      <p>There are many scenarios where in-game recommendations could
be applied. In Figure 1, we exemplify a couple of examples for two
of the King1 games: Candy Crush Soda Saga (CCSS) and Candy
Crush Saga (CCS). We notice that some occasions allow only one
item (a.k.a. one-shot) to be exposed at a time such as Figure 1b,
while others (e.g., Figure 1a) can display a few more (a.k.a. few-shot)
items. Items can have no values specified as shown in these two
examples, or have values attached. To simplify the introduction of
our method and experiments, we use the one-shot setup where only
one item k with value vk can be recommended upon each trigger
of an exposure opportunity. We will show that our approach can be
easily applied to scenarios with few-shot exposure and items with
no values. The overall optimization objective is to maximize the
expected value of the potentially clicked items. In this section, we
present a walk-through of our debiasing few-shot recommendation
approach.
2.1</p>
    </sec>
    <sec id="sec-4">
      <title>Features and Label</title>
      <p>Each sample in the dataset corresponds to a complete item exposure
event triggered at time t for a player. As illustrated in Figure 2, we
calculate the player features, noted as x ∈ RD , using historical data
of the last N days before the time t . The D-dimensional features
fall into two categories: behavioral (e.g., the total number of game
rounds played) and contextual (e.g., the latest inventory status). In
addition, at time t , the exposed item k (following a heuristic policy)
is recorded. Within the time window that item k is exposed, we
log if the player eventually clicks on it or not, which is treated as a</p>
      <sec id="sec-4-1">
        <title>1https://king.com</title>
        <sec id="sec-4-1-1">
          <title>Preference Loss: Lp</title>
        </sec>
        <sec id="sec-4-1-2">
          <title>Confidence Loss: Lc</title>
        </sec>
        <sec id="sec-4-1-3">
          <title>Total Loss: L</title>
          <p>binary label y ∈ {0, 1}2. The raw dataset is extremely biased due to
the presence of the existing heuristic policy, and it is imbalanced
concerning the label and distribution of exposed item types.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>2.2 The End-To-End Model: DFSNet</title>
      <p>In this section, we propose to train a debiasing few-shot network,
DFSNet, to perform a few-shot in-game recommendation using
only the heavily biased and imbalanced dataset. The goal of DFSNet
is to rank K items where the k-th item has a value vk for a player
(that is represented by a D-dimensional feature vector x ∈ RD ), in
order to maximize the expected click value. As shown in Figure 3,
DFSNet consists of three modules: preference predictors, confidence
predictors, and meta ranking. The training is conducted in a
minibatch fashion; the input is a matrix X = {x(m) M
}m=1 ∈ RM ×D ,
where M is the number of samples in each mini-batch and D is the
number of features in each sample. For the sake of conciseness, we
use the general terms x and X to denote any sample and mini-batch,
respectively.
2.2.1 Preference Predictors. For a player x, the preference
predictor module (cf. the red dashed bounding box in Figure 3) predicts
the probability yˆk that player x will click item k if this item is
exposed. During training, the mini-batch X is firstly divided into K
subsets (noted as X1, . . . , XK ), so that the k-th subset Xk ∈ RMk ×D
only contains the Mk players that were exposed to the k-th item.
As a result, each item k has its own architectural branch, which
sequentially propagates Xk through a sample balancer and a
preference predictor, and eventually yields the click/non-click probability
DYk ∈ RMk ×2.</p>
      <p>
        Since the number of clicked items usually represents a small
fraction of the entire exposed item set, there are far more negative
samples (y=[
        <xref ref-type="bibr" rid="ref1">1,0</xref>
        ]) than the positive ones (y=[
        <xref ref-type="bibr" rid="ref1">0,1</xref>
        ]) in Xk . In many
recommendation methods such as [
        <xref ref-type="bibr" rid="ref16 ref20">16, 20</xref>
        ], positive and negative
samples are manually balanced by random sampling, and the rich
information embodied by negative samples is lost. We propose a
minority subsampling technique (cf. sample balancers in Figure 3)
to automatically balance Xk during training. We split Xk into two
sets X+ and X−, where X+ contains all M+ positive samples, X−
k k k k k
contains the Mk− negative samples, and Mk+ ≪ Mk−. We randomly
pick (without replacement) max (min(M+, M−), 1) samples from
k k
X− and put them in a set XHk−. We construct the balanced mini-batch
k
subset XHk by
      </p>
      <p>
        XHk = Xk+ ∪ XHk−, where XHk ∈ R[max(min(Mk+, Mk−),1)+Mk+]×D . (1)
This minority subsampling balancer is conceptually similar to the
negative sampling in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] that enforces each mini-batch to contain
only one positive sample; therefore, our approach results in a far
more balanced mini-batch. Similarly to negative sampling, in
minority subsampling, Xk must contain at least one sample of the
minority class.
      </p>
      <p>
        The output of the Sample Balancer from the k-th branch (i.e. XHk
in Figure 3) is then fed to a preference predictor implemented with
a 4-layer Deep Neural Network (DNN) binary classifier. The ELU
(Exponential Linear Unit) activation function [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is applied to all
hidden layers except the last one, which is a softmax layer with
two neurons. Dropout could be applied to avoid overfitting, yet we
choose to empirically scale the first three layers of the k-th DNN
proportionally (from a base architecture 32-16-8) to the exposure
ratio of the corresponding item: Mk / PK
k=1 Mk . The loss to optimize
the preference predictor module, Lp , is formulated as
      </p>
      <p>Lp = 21K kXK=1  MH1k mXMH=k1 −yk(m) ∗ log yˆ k(m) 1 , (2)
where “∗” represents the element-wise multiplication,
MHk = max(min(M+, M−), 1) + M+ is the number of samples in XHk ,
k k k
the notation y(m) is the label (one-hot encoded vector) of the m-th
k
sample in XHk , and yˆ k(m) is the predicted probability vector for the
same sample.
2.2.2 Confidence Predictors. To explicitly model the bias from the
pre-dominant heuristic, we introduce a confidence predictor module
(cf. the green dashed bounding box in Figure 3) to DFSNet. The
confidence predictors estimate the probability ck that player x has
recently been exposed to the item k. Thus, cˆk can be treated as an
approximation of the confidence we have for the predicted click
probability yˆk . Similar to preference predictors, this module also
employs K branches (for K items), each of which has a sample
balancer and a DNN binary classifier.</p>
      <p>The mini-batch input X ∈ RM ×d is fed into the sample balancer
of each branch indiscriminately. To prevent the confidence
predictors from simply memorizing the heuristic rule and lose the
generalization capability, it is important to remove the features (if
any) that are used in heuristic policy, hence X’s second dimension d
may be smaller than the original dimension D. The sample balancer
in this module first divides X into two subsets Xk ∈ RMk ×d and
X¬k ∈ R(M −Mk )×d , where Xk only contains Mk players exposed
to item k, and X¬k has the rest M − Mk samples. Due to the
preexisting heuristic policy, the item exposure was not randomized,
making the size of Xk and X¬k imbalanced. To that end, we need a
sample balancer for each branch to produce a balanced mini-batch
Xk using</p>
      <p>Xk = X¬k ∪ Xk′ ∈ R[max(M −Mk,1)]×d
Xk ∪ X¬′k ∈ R[max(Mk,1)]×d

where Xk′ and X¬′k are obtained via minority subsampling
(without replacement); specifically, the former term contains max(M −
Mk , 1) samples randomly selected from Xk , and the latter contains
max(Mk , 1) randomly picked samples from X¬k . Mk denotes the
number of samples in Xk , hence Xk ∈ RMk ×d .</p>
      <p>Xk is then fed to a confidence predictor implemented in the same
way as in preference predictors except that each DNN is scaled
proportionally to factor Mk / PK</p>
      <p>k=1 Mk . The loss Lc to optimize this
module has a similar form to Equation (2):
, Mk ≥ M − Mk , (3)
, Mk &lt; M − Mk</p>
      <p>
        Lc = 21K kXK=1  M1k mXM=k1 −ck(m) ∗ log cˆk(m) 1 , (4)
where ck(m) ∈ {0, 1}2 is the constructed confidence label specifying
if the m-th player/sample in Xk actually saw item m or not, and cˆk(m)
is the predicted confidence probability vector for the same sample.
The preference and confidence predictors are jointly optimized with
a total loss L = Lp + Lc .
2.2.3 Meta Ranking. During model serving/prediction, the sample
balancers will be omitted, meaning that the input X ∈ RM ×D
(representing M players) will be directly fed to DNNs in all branches,
in order to simultaneously generate real-valued preference (DY ∈
[
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]M ×K ×2) and confidence ( CD ∈ [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]M ×K ×2) predictions. The
second values in the last dimension of DY are the click probabilities,
while those of CD are the confidence levels expressed as probabilities.
To simplify the discussion that follows, we will use yˆk and cˆk to
denote, respectively, the predicted click probability and confidence
level of item k for an individual player x. The meta ranking module
(cf. the right-most box in Figure 3) ranks items by calculating a
propensity score Rk for each item using three factors: yˆk , cˆk , and
vk ; the term vk is the value of item k, which is usually predefined.
We propose a piece-wise formula for computing Rk :
vk
, (cˆk ≥ 21 ) ∧ (yˆk ≥ 21 ) ,
, otherwise
Rk =  min(v) vk (5)
cˆk · yˆk · max(v)

where functions min(v) and max(v) respectively return the
minimum and maximum element from vector v = [v1, . . . , vK ].
Generally speaking, Rk is obtained by calibrating yˆk with cˆk and vk ,
so that random exploration data would not be mandatory (at least
initially). To the best of our knowledge, only [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] discussed the
possibility of removing item position bias using an adversarial
network, yet our approach manages to deal with much stronger item
exposure bias using a more explainable strategy; and
explainability is valued highly in industrial environments [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. If vk is not
available (Figure 1b and 1a), we can adapt Equation (5) to
, (cˆk ≥ 12 ) ∧ (yˆk ≥ 21 ) .
      </p>
      <p>, otherwise
Rk = yˆk (6)
cˆk · yˆk
</p>
      <p>We can conveniently assume that K items are already sorted by
their values v, hence the propensity scores R = [R1, . . . , RK ] are
also sorted accordingly. An overly drastic change of item exposure
(e.g. a player who used to see item 1 according to the heuristic
which suddenly gets item K from a newly deployed recommender
system) may undermine the player experience and game ecosystem.
To avoid that situation, it is a good practice to enforce a heuristic
deviation threshold (noted as ks ∈ {1, . . . , K − 1}) in the online
production environment. Specifically, we mask Rk with
(7)
0
RHk = 
Rk
, |kh − k | &gt; ks ,
, otherwise
where kh is the item from the pre-existing heuristic policy. With
HR = [RH1, . . . , RHK ], both one-shot and few-shot in-game
recommendation are possible. When recommending items based on HR, we can
sometimes choose to apply ϵ-greedy to slowly accumulate more
diversified data for follow-up model iterations.
3</p>
    </sec>
    <sec id="sec-6">
      <title>EXPERIMENTATION AND EVALUATION</title>
      <p>We apply DFSNet to a real-time item recommendation scenario for
the CCSS game. There is a total of five items ( K =5) in this scenario,
yet only one item k can be shown on the mobile screen when the
player triggers the exposure event. The item k has a value vk . Items
are sorted by value in an ascending order, i.e., v1 &lt; v2 &lt; v3 &lt; v4 &lt;
v5. If a player clicks on the exposed item k, a value vk will be added
to the game ecosystem; and we choose to maximize the value of
the clicked item. The details of the concrete use case and items are
considered to be sensitive proprietary information and therefore
anonymized in this paper.</p>
      <p>
        As illustrated in Figure 4, the raw dataset is collected (cf.
Section 2.1) using a Flink2 based stateful streaming platform [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The
collected dataset contains approximately 22 million samples, each
of which has D = 48 features. We apply diferent transformations
      </p>
      <sec id="sec-6-1">
        <title>2https://flink.apache.org</title>
        <p>Events</p>
        <p>Item
Game Clients</p>
        <p>Game Servers</p>
        <p>Events</p>
        <p>Item</p>
        <p>Features</p>
        <p>Prediction
Streaming Cluster
(Flink-based)</p>
        <p>Tensorflow
Serving Cluster
Online (with A/B test capability)
Data (BigQuery)</p>
        <p>Trained Model</p>
        <p>Machine Learning</p>
        <p>Platform
Offline
(e.g., min-max, z-score, and logarithmic) to numerical features and
perform either one-hot encoding or embedding to categorical
features. The dataset pre-processing and model development is carried
out on a machine learning platform developed by King.</p>
        <p>
          We will present both ofline (training and evaluation) and online
(serving and monitoring) evaluation of DFSNet in the following
sections. DFSNet is implemented in Tensorflow 3; the preference and
confidence DNNs are scaled as depicted in Figure 3. The training
is carried out with Adam optimizer [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], using 70,000 steps and a
mini-batch size of 2,048. The learning rate is initialized to 5 × 10−3,
and then it exponentially decays to 2 × 10−6. During serving, we
set ks = 2 in Equation 7 to obtain one single item to recommend.
3.1
        </p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Ofline Performance: Model Training and</title>
    </sec>
    <sec id="sec-8">
      <title>Validation</title>
      <p>To perform ofline model evaluation, we create a validation dataset
(noted as U = {x(u ) U</p>
      <p>}u=1) by randomly selecting 1% data from the
raw dataset (thus U ≈ 0.22 million), and use the rest for training.
3.1.1 Generalization evolvement during training. We evaluate the
performance of the current model on the validation dataset during
the training. Since the datasets are highly imbalanced, accuracy is
not an informative metric to monitor during training. We also find
that recall and precision are having a hard time competing with each
other (showing no clear trend) during the training, hence not ideal
for monitoring the training performance. AUC-ROC (Area Under
the Curve of Receiver Operating Characteristics), on the other hand,
is a stable metric that reliably tells how much the model is capable
of distinguishing between classes; therefore, the evolution of
peritem AUC-ROCs (see Figure 5) indicates how the generalization
ability of the model improves during the training process. At the
end of the training, we also measure the recall and precision for
each item, which are visualized as red bars in Figure 12.
3.1.2 Policy change quantization: heuristic vs. DFSNet. We use the
trained DFSNet to obtain predictions on the validation dataset. We
ifrst measure the overall change of item exposure distribution. The
results are reported in Figure 6a. In our experiment, we observed no
significant change in item allocation for players due to the strong
confidence constraint imposed, yet there is a slight shift towards
the higher-valued items. The ratio of players that see a diferent
item (than heuristic) is about 7.4%. To decompose the policy change,
3https://www.tensorflow.org
we illustrate, in Figure 6b, a Policy Transition Matrix (PTM), where
each cell at position (i, j) indicates the ratio of players who were
supposed to get item j, according to heuristic policy, but are now
exposed to item i according to DFSNet. It can be seen that the
diagonal has the majority of the unchanged exposures, and each
row largely follows a truncated normal distribution.
3.1.3 Distribution of preference and confidence predictions. For
each sample in the validation dataset, DFSNet produces ten
probabilities: five click probabilities ( yˆ1 to yˆ5) and five confidence
probabilities (cˆ1 to cˆ5). Figure 7 visualizes yˆk and cˆk jointly to answer
four questions:
(1) Does yˆk reflect the low click ratio of item k? The five red
area plots on the diagonal are the distributions of yˆk , all of
which show that clicking tends to be a rare event.
(2) Does cˆk match the exposure ratio of item k? The five green
bar plots on the diagonal represent the distributions of cˆk ;
the majority of exposures come from item 1, which coincides
with the heuristic item exposure distribution in Figure 6a.
(3) Does yˆk show general item preference? The lower
triangular portion has pair-wise scatter plots of click probabilities.
Each data point in the plot for item i and j has a coordinate
of (yˆi , yˆj ), thus if the point is below the line of yˆi =yˆj , the
corresponding player prefers item i over j, and vice versa. To
examine the general trend, we fit linear models (red straight
lines going through the original points) for pair-wise plots.
We observe that in average, players prefer items with lower
values.
(4) Can DFSNet be confident with multiple items for the same
player? The upper triangular portion in Figure 7 contains
pair-wise scatter plots of confidence probabilities cˆk . Every
point in the plot for item i and j is located at (cˆi , cˆj ).
Intuitively, implied by Equation (5), the points (representing
players) in the green shaded areas are likely eligible to more
than one item.
3.1.4 Best-efort estimation of recall, precision, and uplifts. On the
ofline validation dataset U ∈ RU ×D , it is impossible to measure
the “quality” of a recommendation that is diferent than what was
actually exposed; hence, a sub-optimal solution is to create a subset
(from U) containing only the players for whom both DFSNet and the
heuristic policy recommended the same item. We use U′ ∈ RU ′×D
(U ′ &lt; U ) to denote that subset. On that subset, we measure
peritem recall and precision for preference predictors (cf. the red
(a) Item 1
(b) Item 2
(c) Item 3
(d) Item 4
(e) Item 5
(f) ROC for all items
(g) Item 1
(h) Item 2
(i) Item 3
(j) Item 4
(k) Item 5
(l) ROC for all items
bars in Figure 12). To provide uplift baselines of average click rate
( #_clicked_items ) and click value ( total_value_of_clicked_items ), we
#_items #_clicked_items
calculate both metrics for both the heuristic and DFSNet policies.
The results are presented in Table 1. Ofline uplifts will be then
compared with the ones obtained during online model serving (cf.
Section 3.2.3).
3.2</p>
    </sec>
    <sec id="sec-9">
      <title>Online Performance: Real-Time Serving and Monitoring</title>
      <p>After the DFSNet model is trained and validated in an ofline
environment, it is then deployed in a Tensorflow Serving 4 cluster. As
illustrated in Figure 4, a prediction client (sharing the entire feature
collection logic described in Section 2.1) is also deployed on the
streaming cluster. To validate the online performance of the DFSNet
model, we run an A/B test on a small fraction of players on CCSS.</p>
      <sec id="sec-9-1">
        <title>4https://www.tensorflow.org/tfx/guide/serving</title>
        <p>For each game player in the test group, the prediction client makes
a request to the DFSNet prediction service (in real-time) as soon
as any pre-defined triggering event emerges. In the life cycle of a
real-time recommendation system, it is often required to iterate on
the model serving periodically (cf. Figure 8 for an example of two
serving iterations) to incorporate bug fixes or new models trained
on more recent data.</p>
        <p>During online serving, we track several metrics (aggregated
into temporal windows of 5 minutes) to monitor the key system
performance, some examples of which include model response
time, model exceptions, and model raw output distribution. The
definition of those system metrics remains the same for diferent
recommendation models. These metrics are indicators of the system
health, and therefore, they play a critical role in the validity of
the model. To monitor model performance, we log all features,
predictions, and labels in a BigQuery5 database, and visualize them</p>
      </sec>
      <sec id="sec-9-2">
        <title>5https://cloud.google.com/bigquery</title>
        <p>in a dashboard that is updated on hourly basis. We will hereafter
emphasize our online evaluation on several key perspectives, all of
which are adapted from the monitoring dashboard.
3.2.1 Heuristic deviation trend. The foremost questions to answer
about model performance are twofold: (1) what the scale of the
model impact is and (2) how this impact evolves along the timeline.
To answer these two questions, we illustrate the overall heuristic
deviation trend of two adjacent model serving iterations in Figure 8,
where the red curve shows the ratio of players (in the DFSNet A/B
test group) for which DFSNet and the heuristic policy recommended
diferent items. As reported in Section 3.1.2, this ratio is
approximately 7.4% (represented by a straight green line) when measured
on the ofline validation dataset. So, the expectation is that the
ratio of impact should reach around 7.4%; this trend can be clearly
seen in each model serving iteration. However, some input features
need individual players to respond to certain game components,
which takes about three days in the use case discussed here; and
ta tic 0.10</p>
        <p>s
e i
tg r
a eu 0.08
th h
rsey tahn 0.06
la le
fop nubd 0.04
to tn 0.02
i
a e
r r</p>
        <p>e
ehT iffd 0.00
ay1
D
ay5</p>
        <p>D
Previous model serving
ay10
D
ay15
D
items are served using the heuristic policy to players that still have
incomplete features. As a result, for each model serving iteration,
the ratio always starts from a fairly low point before reaching 7.4%.
Furthermore, between two subsequent iterations, the ratio drops,
in this use case, for three days while rebuilding features before
picking up the ascending trend again. We believe that the daily
monitoring of the heuristic deviation trend helps tracking the scale
of the model impact efectively.
3.2.2 Player Transition Matrix (PTM). To have a better insight of
the underlying changes contributing to the overall model impact,
we break down the impact analysis further using PTMs. Here, a PTM
is a 2D matrix that puts players into each grid cell according to how
their experience changed from the default heuristic policy (rows)
to the model policy (columns). Figure 9 summarizes the results over
a period of 14 days since Day11 (cf. Figure 8) and illustrates four
diferent PTMs (a-d) that enable model impact decomposition from
four diferent perspectives:
(a) Grid cell (i, j ) denotes the number of players that are now
exposed to the item i but would have originally got item j.
The gray-scale background of Figure 9a is also used in (c)
and (d).
(b) Calculated by dividing each number in (a) by the sum of the
corresponding row. It should have the highest ratio values
on the diagonal, as obtained in the ofline evaluation and
reported in Figure 6b. Because the presence of incomplete
features leads to a policy fallback (to the heuristic, as
mentioned in Section 3.2.1), the results presented in Figure 9b
are more conservative than those shown in Figure 6b.
(c) To inspect how the moved players impact the click
probability on PTM, we calculate the click percentage (of item
i) for the player cohort in each grid cell, and then
overlay the percentage values on top of Figure 9a’s gray-scale
background, resulting in Figure 9c. The blue values in the
diagonal cells are the click percentage for the control group.
Each of-diagonal cell (i, j )i,j contains the players that are
moved from cell (j, j ) to cell (i, i ). Intuitively, we expect the
model to guarantee the click percentage in (i, j )i,j to be
larger than either percentage values in cell (i, i ) or (j, j ); we
use red boxes to highlight the cells that fail to satisfy that
expectation. In practice, it is acceptable to have a few red
boxes as long as most of the densely populated cells satisfy
the expectation.
(d) The PTM in Figure 9d principally serves the same purpose
as Figure 9c except that it computes the average click value
of item i instead.</p>
        <p>Based on the PTM analysis, we expect to see an improvement in
the user engagement with the examined game feature compared
to using the heuristic solution. Further analysis of the PTM can
help us to understand better user behaviors. In our analysis, we
used an eight-dimensional space to describe players behavior.
Figure 10 shows diferent user behavioral patterns (in the form of radar
charts) on top of the grayscale background from Figure 9a. The
KPI calculation and the actual values are considered to be sensitive
proprietary data and therefore removed from the charts.
3.2.3 Uplifts of click ratio, count, and value. The previous sections
presented a drill-down process of analyzing the model behavior
in comparison with the heuristic policy. We now zoom out and
compare the item click dynamics with the control group. We choose
to focus on the accumulated 14-day uplift of three metrics: click
count, click ratio, and click value (these metrics are defined in
Section 3.1.4). The online uplift is computed by subtracting the
metrics (normalized by the population size of A/B test groups) of
the control group from the ones of the DFSNet group. Hence, uplift
can have both positive and negative values. All uplift values are
considered sensitive proprietary data and therefore scaled.</p>
        <p>
          Figure 11a shows that DFSNet group is losing clicking counts
on items 1 and 4 while gaining more click counts on other items;
therefore, the players moved away from those buckets are mostly
item clickers, and they bring more absolute click counts for items 2,
3, and 5. However, the click ratio of item 5 is reversed in Figure 11b,
which is a consequence of the lower click ratio in the player cohort
moved to item 5. Figure 11c shows the uplift of accumulated click
value for each item. We observe that the loss of click value (from
items 1 and 4) is compensated by the increased click value for items
2, 3, and 5, leading to a net positive value uplift (approximately
+0.71% over the control group). As a result, the ofline uplift
estimations (Table 1) are overly optimistic compared to that measured
online.
(a) Number of players “moved” from j to i.
(b) Ratio version of (a): each row sums to 1.
(c) Click percentage of item i for players who should see item j
according to the heuristic.
(d) Average click value of item i for players who should see item j
according to the heuristic.
3.2.4 Iterating on the DFSNet model. The dataset used to train
DFSNet is highly biased due to the pre-existing heuristic rules. Our
approach achieves debiasing by incorporating confidence
predictors, thus demonstrating a mild impact of less than 8% (cf. Figure 8).
Nonetheless, that impact continuously changes the players’
experiences, which nudges the input feature distributions around. This
creates a direct feedback loop, which gradually compromises the
generalization and discriminative capability of the model being served.
It is a form of analysis debt [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], in which it becomes increasingly
dificult to predict the behavior of a given model before it is released.
Iterating the model periodically using more recently collected data
can reduce the intensity of the feedback loop. However, we need a
metric to determine the time to train a new model. Accuracy is not
an option since the logged data is heavily imbalanced (click event
is rare), and we care more about correctly predicting the clicking
events. Practically, AUC-ROC (cf. Section 3.1) and response
distribution charts [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] can also be used to monitor the feedback loop,
yet they are not as sensitive as precision and recall. We propose to
monitor the precision and recall of preference predictors (i.e., the
green bars in Figure 12) to identify the “right” moment for model
iteration.
        </p>
        <p>In Figure 12, the red bars represent the precision and recall
estimated using a subset of the validation dataset (as explained
in Section 3.1.4), while the green bars in Figure 12a and 12b are
respectively precision and recall calculated 14 days after the model
got deployed (a snapshot on Day24 in Figure 8). We observe that
online precision and recall reach much higher values than the ofline
reference initially, hence we argue that the ofline evaluation tends
to underestimate the true values of precision and recall. Figure 12c
and 12d reflect the situation four days later. The trend is clear:
in four days, both precision and recall have declined significantly;
when the majority of green bars go under the red bars, it is probably
the time to retrain/finetune the DFSNet using fresher data.
4</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>CONCLUSION AND PERSPECTIVES</title>
      <p>In-game recommendation aims to enable providing more relevant
items to each player. The in-game recommendation use cases
usually allow exposing only a few items at a time; thus, change in
the choice of items can have a large impact on game dynamics
leading to a short feedback loop. In addition, player preferences
change quickly due to the change in the game dynamics and player
context. As a result, the model gets outdated sooner in real-time
prediction. In-game item exposures are mostly dominated by some
hand-crafted heuristics, which heavily bias the data, and
randomized exploration to train an unbiased recommendation model is
usually not favored by stakeholders. We propose DFSNet that
enables training an unbiased few-shot recommender using only the
biased and imbalanced data.</p>
      <p>During training, AUC-ROC is a stable indicator of the modelâĂŹs
generalization ability. We demonstrate several ways to estimate the
model performance ofline on a validation dataset. We also
evaluate the online DFSNet performance in an A/B test. We start with
monitoring the overall model impact by looking at the heuristic
deviation trend. Then, we further decompose the model impact using</p>
      <p>PTMs. We carried out data analysis to understand user behaviors
and discern the key factors causing players to be exposed to a
diferent item than the heuristic recommendation. This work proposes
a solution to address the problem of bias and imbalanced data in
the domain of in-game recommender systems. We suggest ofline
and proxy metrics as a way to have an estimate of model online
performance. We discuss and showcase the challenges of an online
solution in an A/B test. The comparison between the control and
DFSNet test groups show a net +0.71% uplift of click value, which is
less optimistic than the best-efort ofline estimation. We show that
(a) Precision of click prediction up till Day24.
(b) Recall of click prediction up till Day24.
(c) Precision of click prediction up till Day28.
(d) Recall of click prediction up till Day28.
continuous comparison of ofline and online precision/recall can
help determine the appropriate time to retrain the model. Further
analysis is required before putting the proposed solution live. In
the scenario presented in this paper, we chose the click-through
rate as one of the evaluation metrics, which is widely adopted in
e-commerce. However, this metric might not be a good proxy for
business metrics for an in-game recommender system. Future work
will explore the choice of metrics that constitute a better proxy of
the model’s online performance.</p>
      <p>In addition, future work includes (1) designing long-term labels
that better approximate the business targets, (2) explicitly modeling
the interactions between diferent in-game features to eliminate
the implicit feedback loop, and (3) replacing model iteration with
online reinforcement learning approaches.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Kati</given-names>
            <surname>Alha</surname>
          </string-name>
          , Elina Koskinen, Janne Paavilainen, Juho Hamari, and
          <string-name>
            <given-names>Jani</given-names>
            <surname>Kinnunen</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Free-to-play games: Professionals' perspectives</article-title>
          ,
          <source>In DiGRA Nordic: Proceedings of the 2014 International DiGRA Nordic Conference. Proceedings of nordic DiGRA 11</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Anwar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Shahzad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Sattar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Khan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Majid</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>A game recommender system using collaborative filtering (GAMBIT)</article-title>
          .
          <source>In 2017 14th International Bhurban Conference on Applied Sciences and Technology (IBCAST)</source>
          .
          <volume>328</volume>
          -
          <fpage>332</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Vladimir</given-names>
            <surname>Araujo</surname>
          </string-name>
          , Felipe Rios, and
          <string-name>
            <given-names>Denis</given-names>
            <surname>Parra</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Data mining for item recommendation in MOBA games</article-title>
          .
          <source>In Proceedings of the 13th ACM Conference on Recommender Systems. Association for Computing Machinery</source>
          , New York, NY, USA,
          <fpage>393</fpage>
          -
          <lpage>397</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Lucas</given-names>
            <surname>Bernardi</surname>
          </string-name>
          , Themistoklis Mavridis, and
          <string-name>
            <given-names>Pablo</given-names>
            <surname>Estevez</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>150 Successful Machine Learning Models: 6 Lessons Learned at Booking</article-title>
          .Com.
          <source>In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining (Anchorage</source>
          ,
          <string-name>
            <surname>AK</surname>
          </string-name>
          , USA) (
          <source>KDD '19)</source>
          .
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <fpage>1743</fpage>
          -
          <lpage>1751</lpage>
          . https://doi.org/10.1145/3292500.3330744
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bertens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Guitart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Perianez</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>A Machine-Learning Item Recommendation System for Video Games</article-title>
          .
          <source>In 2018 IEEE Conference on Computational Intelligence and Games (CIG)</source>
          . IEEE, Maastricht, The Netherlands,
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6] Paris Carbone, Stephan Ewen, Gyula Fóra, Seif Haridi, Stefan Richter, and
          <string-name>
            <given-names>Kostas</given-names>
            <surname>Tzoumas</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>State management in Apache Flink®: consistent stateful distributed stream processing</article-title>
          .
          <source>Proceedings of the VLDB Endowment</source>
          <volume>10</volume>
          ,
          <issue>12</issue>
          (
          <year>2017</year>
          ),
          <fpage>1718</fpage>
          -
          <lpage>1729</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Minmin</given-names>
            <surname>Chen</surname>
          </string-name>
          , Alex Beutel, Paul Covington, Sagar Jain, Francois Belletti, and
          <string-name>
            <surname>Ed</surname>
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Chi</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Top-K Of-Policy Correction for a REINFORCE Recommender System</article-title>
          .
          <source>In Proceedings of the Twelfth ACM International Conference on Web Search</source>
          and
          <article-title>Data Mining (Melbourne VIC, Australia) (WSDM '19). Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <fpage>456</fpage>
          -
          <lpage>464</lpage>
          . https://doi.org/10.1145/3289600.3290999
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Zhengxing</given-names>
            <surname>Chen</surname>
          </string-name>
          , Christopher Amato,
          <string-name>
            <surname>Truong-Huy D Nguyen</surname>
          </string-name>
          , Seth Cooper, Yizhou Sun, and
          <string-name>
            <surname>Magy Seif</surname>
          </string-name>
          El-Nasr.
          <year>2018</year>
          .
          <article-title>Q-deckrec: A fast deck recommendation system for collectible card games</article-title>
          .
          <source>In 2018 IEEE Conference on Computational Intelligence and Games (CIG)</source>
          . IEEE, IEEE, Maastricht, The Netherlands,
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Djork-Arné</surname>
            <given-names>Clevert</given-names>
          </string-name>
          , Thomas Unterthiner, and
          <string-name>
            <given-names>Sepp</given-names>
            <surname>Hochreiter</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)</article-title>
          .
          <source>arXiv:1511</source>
          .07289 [cs.LG]
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Paul</given-names>
            <surname>Covington</surname>
          </string-name>
          , Jay Adams, and
          <string-name>
            <given-names>Emre</given-names>
            <surname>Sargin</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Deep Neural Networks for YouTube Recommendations</article-title>
          .
          <source>In Proceedings of the 10th ACM Conference on Recommender Systems</source>
          (Boston, Massachusetts, USA) (
          <source>RecSys '16)</source>
          .
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <fpage>191</fpage>
          -
          <lpage>198</lpage>
          . https://doi.org/10.1145/ 2959100.2959190
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Krishna</surname>
            <given-names>Gade</given-names>
          </string-name>
          , Sahin Cem Geyik, Krishnaram Kenthapadi, Varun Mithal, and
          <string-name>
            <given-names>Ankur</given-names>
            <surname>Taly</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Explainable AI in industry</article-title>
          .
          <source>In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining. ACM</source>
          , ACM, New York, NY, USA,
          <fpage>3203</fpage>
          -
          <lpage>3204</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Mihajlo</given-names>
            <surname>Grbovic</surname>
          </string-name>
          and Haibin Cheng.
          <year>2018</year>
          .
          <article-title>Real-time personalization using embeddings for search ranking at Airbnb</article-title>
          .
          <source>In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining. Association for Computing Machinery</source>
          , New York, NY, USA,
          <fpage>311</fpage>
          -
          <lpage>320</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Rama</surname>
            <given-names>Hannula</given-names>
          </string-name>
          , Aapo Nikkilä, and
          <string-name>
            <given-names>Kostas</given-names>
            <surname>Stefanidis</surname>
          </string-name>
          .
          <year>2019</year>
          . GameRecs: Video Games Group Recommendations. In Welzer T. et al.
          <source>(eds) New Trends in Databases and Information Systems. ADBIS</source>
          . Springer, Cham, Switzerland.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>JaeWon</given-names>
            <surname>Kim</surname>
          </string-name>
          , JeongA Wi, SooJin Jang, and YoungBin Kim.
          <year>2020</year>
          .
          <article-title>Sequential Recommendations on Board-Game Platforms</article-title>
          .
          <source>Symmetry</source>
          <volume>12</volume>
          ,
          <issue>2</issue>
          (
          <year>2020</year>
          ),
          <fpage>210</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Diederick</surname>
            <given-names>P</given-names>
          </string-name>
          <string-name>
            <surname>Kingma and Jimmy Ba</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Adam: A method for stochastic optimization</article-title>
          .
          <source>In 3rd International Conference on Learning Representations, ICLR</source>
          <year>2015</year>
          ,
          <article-title>Yoshua Bengio</article-title>
          and Yann LeCun (Eds.). San Diego, CA, USA,
          <volume>13</volume>
          pages.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Jianxun</surname>
            <given-names>Lian</given-names>
          </string-name>
          , Fuzheng Zhang, Xing Xie, and
          <string-name>
            <given-names>Guangzhong</given-names>
            <surname>Sun</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Towards better representation learning for personalized news recommendation: a multi-channel deep fusion approach</article-title>
          .
          <source>In Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI-18 . International Joint Conferences on Artificial Intelligence Organization</source>
          ,
          <fpage>3805</fpage>
          -
          <lpage>3811</lpage>
          . https: //doi.org/10.24963/ijcai.
          <year>2018</year>
          /529
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>John</surname>
            <given-names>Moore</given-names>
          </string-name>
          , Joel Pfeifer, Kai Wei, Rishabh Iyer, Denis Charles,
          <string-name>
            <surname>Ran</surname>
            <given-names>GiladBachrach</given-names>
          </string-name>
          , Levi Boyles, and
          <string-name>
            <given-names>Eren</given-names>
            <surname>Manavoglu</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Modeling and Simultaneously Removing Bias via Adversarial Neural Networks</article-title>
          . arXiv:
          <year>1804</year>
          .
          <article-title>06909 [cs</article-title>
          .LG]
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sculley</surname>
          </string-name>
          , Gary Holt, Daniel Golovin, Eugene Davydov, Todd Phillips, Dietmar Ebner, Vinay Chaudhary, Michael Young,
          <string-name>
            <surname>Jean-Francois Crespo</surname>
            , and
            <given-names>Dan</given-names>
          </string-name>
          <string-name>
            <surname>Dennison</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Hidden Technical Debt in Machine Learning Systems</article-title>
          .
          <source>In Proceedings of the 28th International Conference on Neural Information Processing Systems - Volume 2</source>
          . MIT Press, Cambridge, MA, USA,
          <fpage>2503</fpage>
          -
          <lpage>2511</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Rafet</surname>
            <given-names>Sifa</given-names>
          </string-name>
          , Raheel Yawar, Rajkumar Ramamurthy,
          <string-name>
            <given-names>Christian</given-names>
            <surname>Bauckhage</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Kristian</given-names>
            <surname>Kersting</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Matrix-and Tensor Factorization for Game Content Recommendation</article-title>
          .
          <source>KI-Künstliche Intelligenz 34</source>
          ,
          <issue>1</issue>
          (
          <year>2020</year>
          ),
          <fpage>57</fpage>
          -
          <lpage>67</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Hongwei</surname>
            <given-names>Wang</given-names>
          </string-name>
          , Fuzheng Zhang, Xing Xie, and
          <string-name>
            <given-names>Minyi</given-names>
            <surname>Guo</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>DKN: Deep knowledge-aware network for news recommendation</article-title>
          .
          <source>In Proceedings of the 2018 world wide web conference. ACM</source>
          , New York, NY, USA,
          <fpage>1835</fpage>
          -
          <lpage>1844</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Robert</given-names>
            <surname>Williams</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Mobile games sparked 60% of 2019 global game revenue, study finds</article-title>
          .
          <source>Mobile Marketer. Retrieved January 2</source>
          ,
          <year>2020</year>
          from https://www.mobilemarketer.com/news/mobile-games-sparked-60- of-2019
          <string-name>
            <surname>-</surname>
          </string-name>
          global
          <article-title>-game-revenue-study-finds/569658/</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Chuhan</surname>
            <given-names>Wu</given-names>
          </string-name>
          , Fangzhao Wu,
          <string-name>
            <given-names>Mingxiao</given-names>
            <surname>An</surname>
          </string-name>
          , Jianqiang Huang,
          <string-name>
            <given-names>Yongfeng</given-names>
            <surname>Huang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Xing</given-names>
            <surname>Xie</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>NPA: Neural news recommendation with personalized attention</article-title>
          .
          <source>In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining. ACM</source>
          , New York, NY, USA,
          <fpage>2576</fpage>
          -
          <lpage>2584</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Hsin-Chang Yang</surname>
          </string-name>
          and
          <string-name>
            <surname>Zi-Rui Huang</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Mining personality traits from social messages for game recommender systems</article-title>
          .
          <source>Knowledge-Based Systems</source>
          <volume>165</volume>
          (
          <year>2019</year>
          ),
          <fpage>157</fpage>
          -
          <lpage>168</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Hsin-Chang</surname>
            <given-names>Yang</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cathy S Lin</surname>
          </string-name>
          ,
          <string-name>
            <surname>Zi-Rui Huang</surname>
          </string-name>
          , and
          <string-name>
            <surname>Tsung-Hsing Tsai</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Text mining on player personality for game recommendation</article-title>
          .
          <source>In Proceedings of the 4th Multidisciplinary International Social Networks Conference. Association for Computing Machinery</source>
          , New York, NY, USA,
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Chang</surname>
            <given-names>Zhou</given-names>
          </string-name>
          , Jinze Bai, Junshuai Song, Xiaofei Liu,
          <string-name>
            <given-names>Zhengchao</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Xiusi</given-names>
            <surname>Chen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Jun</given-names>
            <surname>Gao</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Atrank: An attention-based user behavior modeling framework for recommendation</article-title>
          .
          <source>In Thirty-Second AAAI Conference on Artificial Intelligence</source>
          . AAAI Press, New Orleans, Louisiana, USA,
          <fpage>4564</fpage>
          -
          <lpage>4571</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>