<!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>SoCRATe: a Framework for Compensating Users Over Time with Limited Availability Recommendations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>(Discussion Paper)</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Davide Azzalini</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Azzalini</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chiara Criscuolo</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tommaso Dolci</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Davide Martinenghi</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Letizia Tanca</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sihem Amer-Yahia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Centre National de Recherche Scientifique (CNRS) - Université Grenoble Alpes</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present our preliminary ideas for developing SoCRATe, a framework and an online system dedicated to providing recommendations to users when items' availability is limited. SoCRATe is relevant to several real-world applications, among which movie and task recommendations. SoCRATe has several appealing features: it watches users as they consume recommendations and accounts for user feedback in refining recommendations in the next round, it implements loss compensation strategies to make up for sub-optimal recommendations, in terms of accuracy, when items have limited availability, and it decides when to re-generate recommendations on a need-based fashion. SoCRATe accommodates real users as well as simulated users to enable testing multiple recommendation choice models. To frame evaluation, SoCRATe introduces a new set of measures that capture recommendation accuracy over time as well as throughput and user satisfaction. All these features make SoCRATe unique and able to adapt recommendations to user preferences in a resource-limited setting.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Recommender Systems</kwd>
        <kwd>Dynamic User Preferences</kwd>
        <kwd>Compensation Strategies</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The goal of a recommendation system is to produce a set of items that are highly relevant
to a user. A typical recommendation workflow takes historical user data, applies a strategy
that produces relevant recommendations, and measures accuracy [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7 ref8">1, 2, 3, 4, 5, 6, 7, 8</xref>
        ]. The
decision of refining the recommendation logic is usually made ofline based on how well a
given strategy performs, and based on the users’ explicit and implicit feedback. In this paper,
we advocate for an iterative approach that benefits from observing users as they consume
proposed items, and creating a feedback loop to adapt recommendations to individual users on
the fly in the next iteration. This is particularly important when items have limited availability
such as product recommendation where only a fixed number of copies of an item is available,
and in crowdsourcing where tasks are to be completed by a fixed number of workers. We
are developing SoCRATe, a framework and an online system dedicated to providing adaptive
recommendations to users. SoCRATe is applicable to both real and simulated users, and is
relevant to various applications ranging from movie recommendation to crowdsourcing.
      </p>
      <sec id="sec-1-1">
        <title>1.1. Challenges</title>
        <p>Formalizing adaptive recommendations and developing an online system that enables them must
address several new challenges. The first challenge C1 is to model user behavior, i.e., how users
consume recommendations, and capture both explicit and implicit feedback. Explicit feedback
represents the actions taken by the users when provided with recommendations. Examples
of actions include rating movies, and completing a task. When users are simulated, diferent
assumptions can be made to reflect how they choose their recommendations. When users are
real, their explicit choice of items out of recommended ones needs to be captured. Additionally,
several implicit signals can be represented, including the order and speed at which they consume
recommendations. The second challenge C2 is to determine at what moment and for which users
recommendations are re-optimized based on their behavior and feedback. The third challenge
C3 is to leverage the observed feedback to refine recommendations in the next iteration. This
challenge is coupled with the need to be adaptive regardless of the recommendation strategy.
This allows us to deploy a generic solution on top of any recommender. It also raises the
question of managing how users compete on recommendations. Indeed, when the number of
instances of an item is limited (referred to as availability), some users may not get an item even
if it is in their top choices. This may happen, e.g., in book recommendation, in case a limited
number of copies of a physical book exists, or in crowdsourcing, where the number of workers
who complete the same task is limited. Addressing these challenges will enable us to develop
SoCRATe, a framework and a system to produce recommendations, evaluate them, and refine
them on the fly in order to comply with user behavior.</p>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Contributions</title>
        <p>SoCRATe has several appealing features: it watches recommendation consumption and decides
when to apply a loss compensation strategy to make up for sub-optimal recommendations due
to limited item availability.</p>
        <p>
          To address C1, we introduce an objective function in the form of a linear combination of
several dimensions that capture users’ strategic behaviors when consuming recommendations.
For instance, when presented with a list of movie recommendations, users may choose highly
relevant items (utility-based) while also favoring items that are diferent from each other
(diversity). In the case of crowdsourcing, users may pick tasks that are relevant to their profile
(utility-based) while also looking for tasks posted by diferent requesters (diversity) and with
high compensation (payment). We devise a generic objective function where each dimension
receives a weight according to a user’s choice model. When users are simulated, SoCRATe
assumes that they choose  out of  provided recommendations according to one of three
common choice models [
          <xref ref-type="bibr" rid="ref10 ref11 ref9">9, 10, 11</xref>
          ]: random, where users are assumed to choose items randomly;
utility-based, where users are assumed to choose items in decreasing order of their utility wrt
their profile; and rank-based, where users are assumed to choose their items in the order in
which they are ranked by the objective function.
        </p>
        <p>To address C2, we develop three temporal granularities: fixed , where recommendations
of all users are re-optimized at fixed time periods; single-user, where the best moment for
re-optimizing recommendations is determined for each user separately as a function of when
the user is done and ready to receive new recommendations; and user-group, where the best
moment is determined for a group of users as a function of when they are all ready.</p>
        <p>To address C3, SoCRATe captures each user’s feedback as a weight vector, where each
entry represents the preference of a user for an optimization dimension. This representation is
generic enough to capture a variety of applications. To refine weight vectors, SoCRATe runs a
regression that compares the  chosen recommendations against the remaining  − . Refined
weight vectors are used to re-rank the recommendations produced for each user to match their
feedback. Due to limited item availabilities in some applications, users may compete for some
items and not receive their optimal recommendations. Hence, we model the loss for a user as
the diference between the proposed recommendations and the optimal recommendations that
would have been returned to the user if other users were not considered. This loss is leveraged
in the next iteration to compensate users, either individually or in groups according to the
temporal granularity. We develop two loss compensation strategies: preference-driven, where
users are compensated in decreasing loss order by receiving recommendations in preference
order before the user with the next smaller loss is served, and round-robin, where users are
considered in decreasing loss order but items are recommended to them in round-robin with
respect to item availability.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>
        Our work relates to sequential recommendations [
        <xref ref-type="bibr" rid="ref12 ref13 ref14">12, 13, 14</xref>
        ] where the order in which items
are consumed impacts the prediction of the next items. Our work also relates to session-based
recommendations that aim to capture short-term dynamic user feedback to provide more
timely and accurate recommendations [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Sequential recommenders difer from session-based
recommenders in that the order of individual items matters and is used to predict the next
item a user is most likely to consume. Our work difers from sequential and session-based
recommendations in more than one way: we introduce dynamic time splitting and compensation
strategies to make up for the loss incurred in previous sessions; we combine historical user data
with dynamic user feedback based on various choice models.
      </p>
      <p>
        Our work also relates to observing users and modeling an objective function accordingly.
We propose to generalize the work in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], whose purpose was to quantify workers’
motivation on a crowdsourcing platform by observing their task adoption in multiple sessions. Our
generalization consists in capturing users’ feedback in a variety of applications by contrasting
users’ choices of recommended items against all available recommendations. Multiple machine
learning approaches could be used to do that, including a simple regression on individual
optimization dimensions.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Framework of SoCRATe</title>
      <p>We present the data model of SoCRATe and the problem variants we plan to tackle.</p>
      <sec id="sec-3-1">
        <title>3.1. Data model of SoCRATe</title>
        <p>We are given a set of users  and a set of items . Each item  ∈  has an availability, avail (, ),
that represents the number of copies left of item  at time . At a given timestamp , a list of 
recommendations  ⊆  is provided to a user  ∈  . The list of optimal recommendations, in
terms of accuracy, a user  could get at time  is referred to as . Due to the presence of
other users and limited item availability,  may difer from . When user  receives a
list of recommendations ,  may choose to adopt a list  ⊆  of size  ≤  to consume.
The user choice incurs the computation of a weight vector  that represents the importance
the user gives to the dimensions  of an objective function  . The lists  and  are used
to compute , a vector of losses (one entry per dimension in ) for user  at time .</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Problem variants in SoCRATe</title>
        <p>Our framework raises several problem variants we plan to tackle in the future. We may formulate
the problem of determining the best time granularity and compensation strategy that reduce
cumulated loss. We may formulate another problem where the optimization goal is to reduce
users’ idling time. We may again formulate another problem where the goal is to optimize item
throughput. All these problem variants give rise to hard problems for which eficient greedy
solutions will be designed.</p>
        <p>For instance, the problem of refining recommendations in such a way that previously incurred
loss is minimized can be expressed as: for each user, find a list , s.t.:
 ∑︁ − 1 × − 1</p>
        <p>∈</p>
        <p>
          Our problem is a variant of the Knapsack Problem [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. Each item has a value  that
corresponds to its contribution to the objective function and a weight (in our case the weight
vector − 1 of the user), and we want to find  items for each user that maximize the sum
of values ∑︀  under a capacity constraint  . Additionally, as the value of recommending an
item to a user evolves over time as other users consume items, we need to account for that
dynamicity. We will see in Section 4.2 how we solve this problem with greedy solutions.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. The SoCRATe system</title>
      <sec id="sec-4-1">
        <title>4.1. Architecture of SoCRATe</title>
        <p>The architecture of SoCRATe is provided in Figure 1. The Orchestrator (1) is in charge of
determining the moment at which recommendations are re-generated for individuals or for
user groups. It monitors when users are done consuming recommendations from the previous
iteration and uses that to determine when to re-generate recommendations and start the next
iteration. It implements our three time granularity splits: fixed , single-user, and user-group. It
makes use of the recommendations adopted by users  (2), and triggers the Weight Update
(3) module to obtain the new weights. Weight computation admits , − 1, − 1 and

returns the updated weights . Following that, the Individual Recommender module (4) is
CHOICE
MODEL 2
WEIGHT
UPDATE 3</p>
        <p>INDIVIDUAL 4
RECOMMENDER</p>
        <p>COMPENSATION STRATEGY
USER 5
SORTING</p>
        <p>6
RECOMIMTEEMNDATION</p>
        <p>COMLPOUSTASTIO7N
called to produce new recommendations based on the weights associated to each user. This
module returns , which is fed to the Compensation Strategy module. Here the User
Sorting module (5) sorts users according to their loss and calls the Item Recommendation
module (6). This module implements two strategies: preference-driven and round-robin. The
output is a set of new recommendations that are fed to the Loss Computation module (7) to
compute each user’s incurred loss. SoCRATe then iterates by calling the Orchestrator.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Algorithms of SoCRATe</title>
        <p>Algorithm 1 is generic. It contains the main steps of our solution regardless of the problem we
tackle (Section 3.2). It is illustrated for fixed time, the same applies to single-user and user-groups.
It takes as input , the moment where a new iteration starts according to the Orchestrator, and
for each user , − 1, − 1, − 1, − 1. It outputs for each user , , , .
The line numbers in the overall algorithm reflect the module numbers in Figure 1).</p>
        <sec id="sec-4-2-1">
          <title>Algorithm 1 SoCRATe Algorithm</title>
          <p>Input: ∀, − 1, − 1, − 1, − 1</p>
          <p>Output: ∀, , , , 
1: for all  ∈  do
2:  ← ChoiceModel(− 1)
3:  ← WeightUpdate(− 1, − 1, − 1, )
4:  ← IndividualRecommender()
5:   ← UserSorting(, − 1,)
6:  ← ItemRecommendation( , , ∀, (, ))
7:  ← LossComputation(, )
8: end for</p>
          <p>We now focus on lines 5 and 6 which correspond to the compensation strategy. Each strategy
receives a list of users sorted in decreasing loss,  , the optimal recommendations, in terms
of accuracy, for each user, , the availability for each item, avail (, ), and produces a list
of recommended items for each user, .</p>
          <p>When the preference-based compensation strategy is adopted (see Algorithm 2), N items are
recommended to the first user in the sorted list of users before moving to the next one in the
list. The round-robin variant (see Algorithm 3) recommends one item at a time to each user
(according to the order dictated by the sorted list of users), until N items are recommended to
each user.</p>
          <p>Choosing the right compensation strategy is crucial when there is a limited set of items that
are very popular among all users and when the availability of these items is limited and not
suficient to satisfy all the users. The preference-based compensation strategy is expected to
be more efective at maximizing the satisfaction of the first users in the list. As a result, this
strategy should be preferred when the system detects that some users are unsatisfied with the
recommendations they are getting, and thus may be prone to abandon the system, thereby
afecting overall user retention. On the other hand, the round-robin compensation strategy
should be preferred when the main concern is to consume as many items as possible. In fact,
when adopting this compensation strategy, it is very likely that all users get at least a few items
they like, which will afect their consumption rate.</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>Algorithm 2 Preference-Based Strategy</title>
        </sec>
        <sec id="sec-4-2-3">
          <title>Algorithm 3 Round-Robin Strategy</title>
          <p>Input:  , , (, )
1: for all  ∈   do
2: for  ← 1 to  do
3:  ← pop()
4: while  is available do
5:  ← pop()
6: end while
7:  ←  ∪ 
8: (,  + 1) ← (, ) − 1
9: end for
10: end for
11: return ∀, 
Availability = Low = 1
Preference-Based</p>
          <p>Round-Robin
1
u1
A
B
C
D
3</p>
          <p>The example in Figure 2 illustrates the diference between our compensation strategies. In the
left part, users have similar recommendations (i.e., similar item rankings) and item availability is
low (= 1). In the right part, their recommendations difer. We can see that on the left,
preferencebased favors 1 and round-robin treats 1 and 2 similarly. On the right, the two compensation
strategies behave similarly. A deeper exploration of compensation is therefore warranted.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Perspectives</title>
      <p>We presented our plan to develop SoCRATe, a framework and online system that watches
users as they choose and consume items and refines upcoming recommendations accordingly.
SoCRATe raises three novel challenges: how to model user behavior, when and for whom
the recommendations should be re-generated, and how to leverage user feedback to refine
recommendations and compensate users for the loss incurred in previous iterations. In this
paper, we describe our preliminary solution, including a formalization, an architecture, a set of
algorithms, and a revised set of evaluation measures to address our challenges.</p>
      <p>
        Our work opens many new perspectives. First, we plan to formalize a series of optimization
problems following the discussion in Section 3.2. In doing so, we will strive to preserve the
genericity of our solution (Algorithm 1). That will allow us to explore new opportunities in
addressing challenges C2 and C3. One compensation strategy we want to formalize is to account
for consumer fairness by adding notions such as statistical parity [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] or disparate impact [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ],
two mitigation procedures that are currently being explored in recommendation systems.
      </p>
      <p>
        Second, we have started implementing a first in-memory version of our online system
SoCRATe. We are currently investigating an in-DBMS implementation of the diferent
components of SoCRATe. Being able to create and maintain dynamic user profiles in a DBMS has
many appealing features, including the ability to query evolving user profiles. This will require
to incorporate learning and optimizing user recommendations as a foundational extension
of the relational algebra. Queries over profiles will be handled within the relational query
runtime without exfiltrating data into memory. This will also open new directions in DB/ML
cross-optimizations, such as pushing predicates and model inlining. Existing frameworks such
as Raven and its runtime environment ONNX [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] appear as good starting points.
      </p>
      <p>Our third endeavor is to complete the implementation of our system and design an evaluation
framework. To evaluate recommendations in SoCRATe, we must revisit traditional accuracy
measures and combine them with user-aware measures. A particular focus must be put on
capturing users’ satisfaction by measuring precision and recall as well as user retention. Precision
will be revisited to measure the number of items the user appreciated over all adopted items.
Appreciation may correspond to a high rating in the case of movie recommendation or a good
quality contribution (wrt a ground-truth) in the case of task recommendation. Recall will be
measured as a function of the number of adopted items over all recommended items. Retention
will measure the percentage of users who leave after a certain number of iterations. Other
measures such as item throughput will capture the speed at which items are consumed wrt
their availabilities. These measures can be computed for individual users or for user groups;
not all measures will be possible, depending on whether we work with simulated or real users.
We are indeed considering a novel setting where semi-synthetic data will be generated using as
input real users’ data and expanding it to simulate diferent users and choice models. This will
allow us to develop a preliminary benchmark for adaptive recommendations.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rokach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Shapira</surname>
          </string-name>
          ,
          <article-title>Recommender systems: introduction and challenges</article-title>
          ,
          <source>in: Recommender systems handbook</source>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>34</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Koren</surname>
          </string-name>
          ,
          <article-title>Factorization meets the neighborhood: a multifaceted collaborative filtering model</article-title>
          ,
          <source>in: ACM SIGKDD, ACM</source>
          ,
          <year>2008</year>
          , pp.
          <fpage>426</fpage>
          -
          <lpage>434</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J. B.</given-names>
            <surname>Schafer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Frankowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Herlocker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sen</surname>
          </string-name>
          ,
          <article-title>Collaborative filtering recommender systems</article-title>
          ,
          <source>in: The adaptive web</source>
          , Springer,
          <year>2007</year>
          , pp.
          <fpage>291</fpage>
          -
          <lpage>324</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Pazzani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Billsus</surname>
          </string-name>
          ,
          <article-title>Content-based recommendation systems</article-title>
          ,
          <source>in: The adaptive web</source>
          , Springer,
          <year>2007</year>
          , pp.
          <fpage>325</fpage>
          -
          <lpage>341</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B.</given-names>
            <surname>Sarwar</surname>
          </string-name>
          , G. Karypis,
          <string-name>
            <given-names>J.</given-names>
            <surname>Konstan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Riedl</surname>
          </string-name>
          , et al.,
          <article-title>Analysis of recommendation algorithms for e-commerce</article-title>
          ,
          <source>in: EC</source>
          ,
          <year>2000</year>
          , pp.
          <fpage>158</fpage>
          -
          <lpage>167</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <article-title>A recommendation algorithm using multi-level association rules</article-title>
          ,
          <source>in: Proceedings of IEEE/WIC</source>
          , IEEE,
          <year>2003</year>
          , pp.
          <fpage>524</fpage>
          -
          <lpage>527</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Koren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Volinsky</surname>
          </string-name>
          ,
          <article-title>Collaborative filtering for implicit feedback datasets</article-title>
          , in: 2008 Eighth IEEE International Conference on Data Mining, Ieee,
          <year>2008</year>
          , pp.
          <fpage>263</fpage>
          -
          <lpage>272</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Rendle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Freudenthaler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Gantner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Schmidt-Thieme</surname>
          </string-name>
          ,
          <article-title>Bpr: Bayesian personalized ranking from implicit feedback</article-title>
          ,
          <source>in: Proceedings of the twenty-fifth conference on uncertainty in artificial intelligence</source>
          , AUAI Press,
          <year>2009</year>
          , pp.
          <fpage>452</fpage>
          -
          <lpage>461</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Yao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Halpern</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Thain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Prost</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. H.</given-names>
            <surname>Chi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Beutel</surname>
          </string-name>
          ,
          <article-title>Measuring recommender system efects with simulated users</article-title>
          ,
          <source>CoRR abs/2101</source>
          .04526 (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>A. J. B. Chaney</surname>
          </string-name>
          ,
          <article-title>Recommendation system simulations: A discussion of two key challenges</article-title>
          ,
          <source>CoRR abs/2109</source>
          .02475 (
          <year>2021</year>
          ). URL: https://arxiv.org/abs/2109.02475. arXiv:
          <volume>2109</volume>
          .
          <fpage>02475</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>N.</given-names>
            <surname>Hazrati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricci</surname>
          </string-name>
          ,
          <article-title>Recommender systems efect on the evolution of users' choices distribution</article-title>
          ,
          <source>Information Processing &amp; Management</source>
          <volume>59</volume>
          (
          <year>2022</year>
          )
          <fpage>102766</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q. Z.</given-names>
            <surname>Sheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Orgun</surname>
          </string-name>
          ,
          <article-title>Sequential recommender systems: Challenges, progress and prospects</article-title>
          , CoRR abs/
          <year>2001</year>
          .04830 (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Quadrana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jannach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cremonesi</surname>
          </string-name>
          ,
          <article-title>Tutorial: Sequence-aware recommender systems</article-title>
          , in: S.
          <string-name>
            <surname>Amer-Yahia</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Mahdian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Goel</surname>
            , G. Houben,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Lerman</surname>
            ,
            <given-names>J. J. McAuley</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>BaezaYates</surname>
          </string-name>
          , L. Zia (Eds.), WWW, ACM,
          <year>2019</year>
          , p.
          <fpage>1316</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>H.</given-names>
            <surname>Fang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shu</surname>
          </string-name>
          , G. Guo,
          <article-title>Deep learning for sequential recommendation: Algorithms, influential factors, and evaluations</article-title>
          ,
          <source>ACM Trans. Inf. Syst</source>
          .
          <volume>39</volume>
          (
          <year>2020</year>
          )
          <volume>10</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          :
          <fpage>42</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q. Z.</given-names>
            <surname>Sheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Orgun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lian</surname>
          </string-name>
          ,
          <article-title>A survey on session-based recommender systems</article-title>
          ,
          <source>ACM Comput. Surv</source>
          .
          <volume>54</volume>
          (
          <year>2022</year>
          )
          <volume>154</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>154</lpage>
          :
          <fpage>38</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pilourdault</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Amer-Yahia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. B.</given-names>
            <surname>Roy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>Task relevance and diversity as worker motivation in crowdsourcing</article-title>
          , in: IEEE ICDE,
          <year>2018</year>
          , pp.
          <fpage>365</fpage>
          -
          <lpage>376</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Chekuri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Khanna</surname>
          </string-name>
          ,
          <article-title>A polynomial time approximation scheme for the multiple knapsack problem</article-title>
          ,
          <source>Society for Industrial and Applied Mathematics Journal on Computing</source>
          <volume>38</volume>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>G.</given-names>
            <surname>Frisch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Léger</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y. Grandvalet,</surname>
          </string-name>
          <article-title>Co-clustering for fair recommendation</article-title>
          ,
          <source>in: International Workshops of ECML PKDD</source>
          <year>2021</year>
          , volume
          <volume>1524</volume>
          , Springer,
          <year>2021</year>
          , pp.
          <fpage>607</fpage>
          -
          <lpage>630</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>M. D. E</surname>
          </string-name>
          . et al.,
          <article-title>All the cool kids, how do they fit in?: Popularity and demographic biases in recommender evaluation and efectiveness</article-title>
          , in: FAT, volume
          <volume>81</volume>
          ,
          <string-name>
            <surname>PMLR</surname>
          </string-name>
          ,
          <year>2018</year>
          , pp.
          <fpage>172</fpage>
          -
          <lpage>186</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>K.</given-names>
            <surname>Karanasos</surname>
          </string-name>
          , et al.,
          <article-title>Extending relational query processing with ml inference</article-title>
          ,
          <source>arXiv preprint arXiv:1911</source>
          .
          <volume>00231</volume>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>