<!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>Production Ranking Systems: A Review</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Murium Iqbal Overstock.com</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nishan Subedi Overstock.com</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kamelia Aryafar Overstock.com</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <abstract>
        <p>The problem of ranking is a multi-billion dollar problem. In this paper we present an overview of several production quality ranking systems. We show that due to conflicting goals of employing the most efective machine learning models and responding to users in real time, ranking systems have evolved into a system of systems, where each subsystem can be viewed as a component layer. We view these layers as being data processing, representation learning, candidate selection and online inference. Each layer employs different algorithms and tools, with every end-to-end ranking system spanning multiple architectures. Our goal is to familiarize the general audience with a working knowledge of ranking at scale, the tools and algorithms employed and the challenges introduced by adopting a layered approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>CCS CONCEPTS</title>
      <p>• Information systems → Learning to rank; • Computer
systems organization → Real-time system architecture; •
Computing methodologies → Learning settings.</p>
    </sec>
    <sec id="sec-2">
      <title>1 INTRODUCTION</title>
      <p>
        The domain of ranking has its roots in the field o f Information
Retrieval (IR). Early automated IR systems, used in the 1950s were
first applied to library indexing and employed statistics to retrieve
documents from catalogs of thousands [
        <xref ref-type="bibr" rid="ref18 ref44">18, 44</xref>
        ]. As the Internet has
grown, an increasing number of industries rely on web and mobile
platforms to reach end users. This has resulted in vastly larger
catalogs of both public and private data. Ranking systems have emerged
over time to extend the original IR systems to balance the goals of
understanding user intent, scoring the relevance of an increasing
number of items, and presenting users with results within
fractions of a second. Organizations which use the Internet to interface
with their users rely on ranking technologies to parse catalogs of
millions or billions of items and surface the most relevant ones.
These items range from music and movies available on streaming
content services, to products for sale on e-commerce platforms, to
web pages on the Internet cataloged by search engines, to
advertisements for sponsored advertising and more. As such, ranking
systems have become a core technology powering sales and user
engagement. Users’ interactions with the surfaced information is
critical to the business of any such organization, and thus even a
small improvement to these systems can yield significant growth
for the business.
      </p>
      <p>The need to increase user engagement has spurred an iterative
experiment driven approach to improving ranking systems. The field
has thus evolved into an intersection of research and application,
with each system being built to simultaneously leverage complex
machine learning (ML) methodologies and adhere to the constraints
and tools required to support millions of users in real time. These
methodologies select the most relevant items from catalogs of
millions and present them in decreasing relevance to users. The need
to accommodate experimentation with complex nonlinear models
such as those based on deep learning, while still working within
constraints, such as low latency, limited compute power and high
parallelization, has driven ranking systems to evolve from a single
system to a system of systems. These conflicting concerns are
separated by isolating functionality within the systems. As such ranking
systems are built with several layers of subsystems, including of
line models which allow for flexibility of complex experimentation
and online models which cater to live system constraints.</p>
      <p>We view production ranking systems as having the following
component layers:
data processing responsible for aggregating and featurizing
raw data from various sources into training data for models
ofline representation learning responsible for
transforming raw data into embeddings or graph representations
candidate selection responsible for leveraging the learned
representations to populate distributed databases with a
selection of relevant candidates given a query
ranking model responsible for loading candidates from the
distributed database or inverted index and ranking them in
decreasing relevance given some context</p>
      <p>Ranking systems are deployed to support recommendations,
search, and sponsored advertising. In this work we examine
production ranking systems as a general framework irrespective of
their application. As such, in the context of this paper a query is
generally the prompt to which the ranking system responds. This
can be a text string used in search, a user or an item in
recommendations, or a keyword in sponsored advertising. We use the
term item to refer generally to any listing within a catalog, such
as products for sale, advertisements, web pages, and more. We
examine diferent approaches used in each of the layers of a ranking
system across industries, but a convergence of methodology on any
layer is still not apparent. Each individual application of ranking
systems technologies requires it’s own problem and data specific
approaches to be developed. Instead of tabulating all approaches
and caveats, which would be outside the scope of this work, we
will examine the most popular general methodologies adopted for
each layer of a ranking system.</p>
      <p>The rest of the paper is organized as follows: Section 2 reviews
how the conflicting goals of training models to rank items and
serving models to support millions of users in real time has given rise
to a system of systems. Section 3 reviews ways to aggregate and
normalize raw data into training instances for future layers. Section
4 reviews various representations which are built to simplify the
task of retrieval. Section 5 reviews how learned representations
can be leveraged by online ranking systems to select initial
candidates. Section 6 reviews the live models used to infer item to
query relevance and how they are served. Section 7 reviews state
of the architectures necessary to deploy ranking systems. Section 8
reviews several ways to validate new components within a ranking
system, and possible faults that can arise.
2</p>
    </sec>
    <sec id="sec-3">
      <title>SEPARATION OF CONCERNS</title>
      <p>The separation of concerns across the ranking system layers has
allowed organizations to create models which can approximate ideal
ranking, learn query intent, perform query re-writing, and diversify
retrieved results. All of these applications are addressed by
training ofline models to capture relevant relationships within their
representations. The necessary, often massive computations can
be performed in batch, allowing for feature spaces which encode
desired relationships within the geometry of the representation
space. These relationships can then be directly leveraged by
candidate selection or the online model. As the computationally heavy
processes are captured in ofline representation learning and
candidate selection, online models can be built as less computationally
complex models, e.g. linear or shallow models, allowing for low
latency response time.</p>
      <p>This separation allows for highly complex systems to be built
and leveraged, but introduces failure points in the form of decreased
interpretability of the ranking system behavior, dificulty in tuning,
and increased dificulty of validation. This makes it hard to interpret
experimental test results and improve upon previous iterations.
Architectural decisions within the various layers of a ranking system
also introduce corresponding assumptions into the overall system.
Often these assumptions although necessary, can obfuscate biases
and weaknesses.</p>
      <p>
        Ranking systems have developed two architectures which have
facilitated the separation of concerns. These are distributed
technologies and one box models. As item catalogs have grown,
technologies which require the housing of indices in memory are no
longer feasible. As such, distributed databases which can house an
index across a cluster of machines and coordinate retrieval from
this index have become prevalent [
        <xref ref-type="bibr" rid="ref16 ref28 ref43">16, 28, 43</xref>
        ]. These distributed
database technologies are able to house petabytes of data and run
computations over their entirety. In parallel to the development
of distributed computing technologies, ML models have grown
in complexity, especially with the advent of deep learning. These
models require specialty hardware to support their high
computational complexity, such as CUDA enabled graphics processing units
(GPUs) [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ]. Often the computations necessary for these models are
infeasible to translate to distributed system frameworks, and the
volume of model parameter updates required to coordinate across
the clusters is prohibitive to deploying these models on distributed
systems. As such, one-box architectures are attractive. These
architectures pull processed training data from distributed data stores
and train complex models in memory on a single machine [
        <xref ref-type="bibr" rid="ref13 ref23">13, 23</xref>
        ].
      </p>
      <p>
        An end to end ranking system employs both of these
architectures, with distributed architectures providing a sink for raw
data, embeddings, candidates and model predictions, and a source
of training data and features for one-box models. This system of
systems requires orchestration across frameworks, which can be
handled via schedulers that are responsible for coordinating
worklfows for training and deployment of online models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Each set of
tools employed by the layers of the ranking model must be selected
with care, as increasing the number of employed tools increases
the complexity of the overall ranking system. This can cause some
layers to be poorly configured, as practitioners are required to
master many technologies. In some cases, separation of concerns can
lead to isolation of practitioners who specialize on specific layers
within the ranking system. This can cause further poor
configurations, as practitioners may treat other layers of the system as black
boxes, leading to layer specific optimizations which may give rise
to suboptimal behavior across the entire system [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ].
      </p>
      <p>
        We feel the separation of concerns is a useful tool, but only when
employed with care. Research on productionized ranking systems
tends to focus on just a single layer [
        <xref ref-type="bibr" rid="ref37 ref48 ref49 ref51">37, 48, 49, 51</xref>
        ]. Practitioners
must be careful to examine the individual component layers as well
as behavior across the entire system. Only the ability to interpret
the system at both scales can yield an understanding of behavior
and enable proper iteration to improve results. A diagram of the
architectural components necessary to support a full ranking system
is provided by in Figure 1
3
3.1
      </p>
    </sec>
    <sec id="sec-4">
      <title>DATA PROCESSING</title>
    </sec>
    <sec id="sec-5">
      <title>Datasets</title>
      <p>
        Increasing user interactions is the primary goal of ranking systems
[
        <xref ref-type="bibr" rid="ref10 ref30">10, 30</xref>
        ]. As such, user interaction logs captured by the platform
often serves to be the richest source of training data for the system.
Some user interactions are ubiquitous, such as user clicks or user
item ratings. Others are platform specific, such as purchases on
e-commerce platforms, duration of viewing time on streaming
content platforms, or likes on social media platforms. Data about the
items themselves, such as title, category, associated text and cost,
is referred to as side information. Side information is gathered by
platforms either by user feedback, such as tagging on social media
platforms, or by content providers, such as attribute labels provided
by vendors on e-commerce platforms, or by the platform itself such
as item categories.
      </p>
      <p>
        Most data used by ranking systems are sparse high
dimensionality vocabularies. This is especially true for user interaction data,
where each item in a catalog can be seen as a word in the vocabulary
with few user interactions [
        <xref ref-type="bibr" rid="ref53">53</xref>
        ]. Side information contains a mix of
sparse and dense data, such as sparse multi-hot encodings of text, or
dense data of item price and size or item images. Prior to
representation learning and model training, raw data must be normalized,
featurized and formatted. To reduce noise and reduce computation
time, large cardinality spaces can be trimmed via thresholding to
drop highly sparse dimensions from the vocabulary. Out of
vocabulary components can either be dropped or mapped to a default null
representation [
        <xref ref-type="bibr" rid="ref49">49</xref>
        ]. Dense features which contain high variability
or follow an exponential distribution can be normalized and/or
smoothed prior to ingestion by models.
3.2
      </p>
    </sec>
    <sec id="sec-6">
      <title>Data Aggregation And Normalization</title>
      <p>
        User interaction data can be aggregated by various methods, each
building its own assumptions into the ranking system. Excepting
reviews and ratings, user interaction data is often referred to as
implicit feedback data. This is due to the fact that although platforms
can present items to users and track specific user interactions, the
relationship between those interactions is only implied. Negative
signals, indicated by lack of user interaction, can also only be
implied as it is impossible to know exactly what items were viewed
by the user. Thus, a complete set of ranking labels for all items is
impossible to capture [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. To reduce noise within this dataset,
outliers, such as those associated with bot-like behavior or accidental
clicks, are removed. This is generally done by thresholding and
weighting user interactions by dwell time [
        <xref ref-type="bibr" rid="ref21 ref48">21, 48</xref>
        ]. Selection of the
date range over which to populate data can also afect models, as
the volume and sparsity of data changes over the training window.
Seasonal trends must also be accounted for when aggregating user
interaction data. These aggregations, although necessary, and often
specific to dataset and application, propagate assumptions through
all layers of the ranking system and should be made with care [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ].
      </p>
      <p>
        Attributing user clicks to searches or recommendation carousels
afects both model training and evaluation [
        <xref ref-type="bibr" rid="ref15 ref27">15, 27</xref>
        ]. This is not
limited to sponsored advertising and afects all ranking problems.
For example, in gathering training data for search, do products
associated with the search only include those clicked immediately
after the search? Or should they include items clicked with
subsequent searches assuming that these searches are refinements on the
original search? Should two items clicked by the same user across
days be considered related or only those clicked within the same
hour be considered related? Adjusting these data aggregation layers
and their underlying assumptions dictates which correlations are
and are not captured within the dataset. Class labels on training
instances per user click based relevancy can also change depending
on the assumptions made [
        <xref ref-type="bibr" rid="ref49">49</xref>
        ]. These decisions can be seen as a
form of data tuning which build the assumptions into the datasets
used for both training, tuning and evaluating ranking systems.
3.3
      </p>
    </sec>
    <sec id="sec-7">
      <title>Creating A Balanced Dataset</title>
      <p>
        The Learning To Rank (LTR) framework poses ranking as a
supervised learning problem [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. As such, both positive and negative
samples need to be inferred from user interactions. Just as with
positive samples, there are numerous ways to attribute negative
samples, for example, if a user exited a video stream before
finishing the entire video. There are far more possibilities for negative
samples, represented in the lack of user interactions, than positive
samples. Various methods for balancing the dataset are employed.
One popular method is for each positive sample defined in the
dataset only sampling one corresponding negative sample.
Diferent mechanisms of negative item sampling are employed to select
negative samples such that specific relationships are reflected in
balanced pairs of negative samples and positive samples. This could
include choosing negative items from categories that are far away
from the item, excluding highly co-viewed or co-engaged
products from the negatives list [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Selecting negative interactions
from only a window around a positive interaction can allow an
assumption of user impression.
      </p>
      <p>
        Ranking systems have an intrinsic positional bias associated
with them [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ]. Users click on higher presented results irrespective
of query relevance, leading to false positive labels. Ignoring this
bias and training on naively collected data can lead to models that
simply fit the behavior of the existing global ranking function. The
F air Pairs method modifies search results in a non-invasive manner
that allows us to collect pairs of results that are unafected by this
presentation bias by randomizing the order of results between a
small window of items during presentation. [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
3.4
      </p>
    </sec>
    <sec id="sec-8">
      <title>Discussion</title>
      <p>
        Although user interaction data is rich, incorporation of side
information is necessary in any ranking system. This data is employed
to combat popular item bias, and to address the cold-start problem
[
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. This side information allows correlations learned from user
interactions to be extended to items with few impressions based
on relationships which exist in item descriptions, item category
information, etc. Although proper processing of user interaction
data is required for training high performance ranking models, we
ifnd efective ways to leverage side information afords the highest
coverage and most diversity. Models which rely too heavily on user
interaction data overfit to head queries and popular items.
      </p>
      <p>Processing this data, which is often multiple gigabytes, must
be done over a distributed computing platform, as it would be
infeasible to fit the dataset in memory on a single machine. These
processes are often done in batch, with user interaction data being
processed into new training data at regular intervals. As the need
for real time personalization and sponsored advertising increases,
stream processing methodologies are emerging which allow data
to be processed and featurized in near real time. This trend allows
ranking systems to become increasingly responsive to user
interactions and increase user engagement by modifying representations
of users and query intent as users progress through a platform.
4</p>
    </sec>
    <sec id="sec-9">
      <title>REPRESENTATION LEARNING</title>
      <p>Vector representations, learned over processed data, facilitate
communication across the diferent layers of ranking systems.
Representation learning leverages complex state of the art models, often
relying on deep learning architectures. These models are highly
platform specific, with architectures and solutions which yield
large lift in one domain not necessarily providing efective
representations on another platform. As such, much recent research on
production ranking systems revolves around learned
representations and much of a practitioners time is spent on this layer. These
models are tuned to transform raw data into succinct expressive
representations which can be used either for candidate set retrieval
or reranking. These representations can be seen as mappings which
project input data into low dimensional embedding spaces where
distance is inversely related to relevance. Representation learning
is performed ofline, which allows this layer to leverage complex
nonlinear ML architectures without the constraints of real-time
systems. This allows the computational burden inherent in
representation learning to be placed ahead of the live ranking layer.
These representations are often learned from multiple modalities,
incorporating both user interaction data and side information. We
examine several methods of learning representations from these
modalities both jointly and separately.
4.1</p>
    </sec>
    <sec id="sec-10">
      <title>Shallow Embeddings</title>
      <p>
        The simplest architectures to form representations employ shallow
architectures such as word2vec over a combination of vectorized
interaction data and side information. Here a "word" within the
vocabulary can be categorical user actions, a discretized continuous
feature, or English words [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. User action data can be taken strictly
as words, or as sequences of actions, in which case embeddings can
be built from skip-grams of user action sequences [
        <xref ref-type="bibr" rid="ref22 ref49">22, 49</xref>
        ]. Multi-hot
user action vectors can also be weighted by dwell time [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. This
allows us to learn query and item representations unsupervised from
user engagement data. To handle cold start, out of vocabulary items
can be taken as linear combinations of embeddings of associated in
vocabulary items, or corresponding content data [
        <xref ref-type="bibr" rid="ref22 ref25 ref49">22, 25, 49</xref>
        ].
4.2
      </p>
    </sec>
    <sec id="sec-11">
      <title>Multi Modal Representations</title>
      <p>
        User interaction, text based side information and image based side
information are each distinct datasets from various sources that
follow distinct distributions. They are, however, related in that they
express information about the same items. To simultaneously
leverage all datasets and learn a single representation ranking systems
employ multimodal learning [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ]. The simplest approach to this
end is concatenation of raw vectors to generate a single input to
a model which learns a representation [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ]. Although simple, this
method fails to take advantage of the separate structures within
each modality. Another approach is to train separate embedding
layers for each modality and use these as input to another model
which learns a combined embedding. This methodology allows
separate architectures to be employed for each modality [
        <xref ref-type="bibr" rid="ref48">48</xref>
        ], but adds
complexity in that the individual architectures have no obvious
method of validation. Furthermore if one modality of data is not
present for an item, this could cause unexpected results in the final
representation.
      </p>
      <p>
        Extensions to this method train separate embeddings for each
modality but with a cost function used across the separate models
to force them to map to the same space [
        <xref ref-type="bibr" rid="ref48">48</xref>
        ]. Items can then be
taken as a weighted sum of the embeddings of their associated
data points. This method allows for items with incomplete side
information. Mapping modalities to the same embedding space
can also be performed in a the methodology of search2vec [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ],
in which vectors built from side information are first initialized
to the corresponding user action vectors. Side information is then
sampled to form n-grams which are subsequently embedded into
the same space as the user action vectors, and only those within
a minimum cosine similarity to the user action vector are kept.
Embeddings can be trained jointly over modalities, by employing
siamese networks [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], or by allowing certain subgraphs within a
network share weights [
        <xref ref-type="bibr" rid="ref49">49</xref>
        ]. In these architectures side information
is used as features to learn supervised embeddings with the user
interactions providing the relevance to encode within the space. This
methodology introduces training and architectural complexities
but provides powerful representations.
4.3
      </p>
    </sec>
    <sec id="sec-12">
      <title>Multi Task Learning</title>
      <p>
        Multi-task learning aims to train robust representations by jointly
training representations for multiple applications [
        <xref ref-type="bibr" rid="ref37 ref49">37, 49</xref>
        ]. Each
task can be viewed as a regularization to the other tasks. This can
yield powerful generalizable representations, but requires tasks
to be related. Multi-task learning can yield unstable results when
poorly configured.
4.4
      </p>
    </sec>
    <sec id="sec-13">
      <title>Graph Representations</title>
      <p>
        User action data can also be represented as graphs instead of vector
embeddings. Here nodes are individual items and edges are user
interactions. Graphs are initialized with raw user interaction data and
side information. The final structure of the graph is learned by
training models to prune edges within the graph via logistic regression,
gradient boosted decision trees or multi-layer perceptrons [
        <xref ref-type="bibr" rid="ref13 ref51">13, 51</xref>
        ].
Hierarchical graph structures can also be built, where each level
of the graph represents a type of node. For example, in sponsored
search setting, the first tier can represent a query signal, the second
tier can represent keywords, and the third tier can represent ads.
These representations can be used directly with graph based
candidate selection methods without the use of embeddings as described
in Section 5. Once in graphical form, random walks can be
employed to transform graph representations into sample data points.
These samples can then be used as input to an embedding model
similar to the raw sequences of user clicks. Embeddings built of of
these samples purportedly capture higher-order item similarities
than direct sampling of user interaction sequences [
        <xref ref-type="bibr" rid="ref13 ref48">13, 48</xref>
        ].
4.5
      </p>
    </sec>
    <sec id="sec-14">
      <title>Discussion</title>
      <p>As state of the art work in deep learning continues to produce
more efective representation learning techniques, we find the best
approach is to employ embeddings which can surface relationships
within the underlying data. Validation of this layer is dificult, and
not often discussed in the literature. Instead this layer is often
validated in conjunction with the subsequent layers. This can cause
improvements within this layer to be hidden by poor tuning in
these subsequent layers. As such efective use of representation
learning requires development of clear validation of this layer in
isolation to the ranking system.
5</p>
    </sec>
    <sec id="sec-15">
      <title>CANDIDATE SELECTION</title>
      <p>
        In ranking systems, candidate selection functions over the learned
representations output from the ofline models and populates databases
which can be read from rapidly by online models. It should be noted
that representations used for candidate selection can be distinct
and separate from representations used as features to the online
model. Representations used by candidate selection support
projecting queries into a shared representation space with items that
encapsulates similarity, query intent, and support personalization.
The goal of candidate selection algorithms is to use the
representations to populate a distributed database with a relatively small set
of candidates for each query. [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
      <p>After ofline systems build embedding spaces in which spatial
relationships encode relevance, candidates are selected by
nearest neighbor searches. A query is represented in the embedding
space, and all items within the catalog closest to it, given some
distance metric, are selected as candidates. As directly computing
exact k −N N from catalogs of millions is prohibitively
computationally expensive, various methods for approximate nearest neighbor
(ANN) searches are employed. All of these methods populate an
optimized lookup index. Approximate nearest neighbor methods
can be broadly broken into three categories, hash based, tree based
and graph based.
5.1</p>
    </sec>
    <sec id="sec-16">
      <title>Approximate Nearest Neighbors</title>
      <p>
        Hash based. Hashing based approaches, such as locality sensitive
hashing or FALCONN [
        <xref ref-type="bibr" rid="ref41">41</xref>
        ], are simple models which can be scaled
using distributed frameworks as each item can be hashed
independent of others within the catalog. These methods compress high
dimensional data, via hashes, and assume similar items’ hashes will
result in collisions [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This form of ANN has drawbacks in that
in high dimensions false positives and false negatives can appear,
as the data is highly sparse and the randomness inherent in the
selected hashing function can incorrectly cluster items due to the
curse of dimensionality [
        <xref ref-type="bibr" rid="ref47">47</xref>
        ].
      </p>
      <p>
        Tree based. Tree based methods are frequently built as in-memory
models with many open source implementations available [
        <xref ref-type="bibr" rid="ref34 ref35 ref4">4, 34,
35</xref>
        ]. Trees are built to be balanced by applying splits along
diferent dimensions of input data. Nearest neighbors search is then
performed by traversing the tree starting at the query node and
ifnding nodes within minimum traversals. This method works well
on low dimensional data, but at higher dimensions, performance
degrades as tree based approaches are complex, often relying on
several trees to obtain high performance and traversal of several
trees is time consuming [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ].
      </p>
      <p>
        Graph based. Unlike hashing and tree based approaches, graph
based approaches function over graph representations of raw data,
instead of embeddings. Graphs can be initialized with all incidences
of user interaction indicating an edge, which populates a highly
dense graph. The graph is then pruned, with models trained to
learn relevance [
        <xref ref-type="bibr" rid="ref13 ref51">13, 51</xref>
        ]. Neighbors are discovered by employing
navigable small world (NSW) or walk based proximity algorithms
[
        <xref ref-type="bibr" rid="ref32">32</xref>
        ].
5.2
      </p>
    </sec>
    <sec id="sec-17">
      <title>WAND</title>
      <p>
        Weighted And (WAND) method is a candidate selection algorithm
adopted by some production ranking systems [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This method
matches queries directly to items using raw features. Items are
scored to relevance with queries by a weighted average of all
features which they have in common with the query. The top scored
items are taken as candidates. This method requires a weight matrix
to be learned via constrained feature selection, but provides low
latency response with minimal model complexity.
5.3
      </p>
    </sec>
    <sec id="sec-18">
      <title>Serving Candidates</title>
      <p>
        The databases used to serve the results from candidate selection
are distributed frameworks to allow for rapid responses. These are
updated in batch, with new candidates being populated on regular
schedules. Search and advertising systems leverage distributed
inverted index technologies such as Solr and Elasticsearch [
        <xref ref-type="bibr" rid="ref19 ref20">19, 20</xref>
        ].
Other similar architectures leverage distributed key value stores
which prioritize high availability, such as Cassandra or Redis [
        <xref ref-type="bibr" rid="ref28 ref9">9, 28</xref>
        ].
These systems are built to be highly fault tolerant and scalable to
support growing numbers of users and items.
5.4
      </p>
    </sec>
    <sec id="sec-19">
      <title>Discussion</title>
      <p>Concerns with this layer of ranking and form of separation is
propagation of error from new embedding experiments leaking into
later layers due to proper lack of tuning of this layer. We find that
hashing based methodologies are likely the most relevant to
ranking, as much work is spent on representation learning. Graph based
approaches are weak in that they require massive datasets, and only
the largest organizations can aford to employ them. Graph based
approaches have the further complication of lacking an obvious
approach to addressing the cold start problem, as graph based
representations cannot directly represent items which do not already
exist within the graph.
6</p>
    </sec>
    <sec id="sec-20">
      <title>RANKING MODELS</title>
      <p>
        Online ranking models return candidates in descending order of
relevance to a query. Shallow models are used for real time services,
making use of ofline learned representations as input features [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ].
This allows online models to optimize for latency, limited storage
and limited compute available to real time services. Figure 2 depicts
how the online ranking inference models allow platforms to better
interact with and engage users. There are three distinct ways to
formulate the ranking problem to train online models; these are
pointwise, pairwise and listwise approaches [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
6.1
      </p>
    </sec>
    <sec id="sec-21">
      <title>Pointwise Approach</title>
      <p>In pointwise approaches a model is trained to individually score the
relevance of each candidate to the query. The problem is formulated
as a binary classification, with a positive class indicating a user
interaction such as a click or purchase, and the negative class
indicating a lack of interaction. Training instances are taken from logs
of user interactions. The model provides a score for each candidate
reflecting its probability of eliciting an interaction given the query
and any context of the user and items captured in the provided
features. Candidates can then be ranked in descending order of
likelihood for an interaction. This approach afords the use of shallow
models, such as logistic regression. This methodology sufers from
a lack of context about other candidates, as each candidate is scored
individually. This causes an assumption that the output space of
the candidates is a multi-variate Bernoulli, where each candidate’s
score is independent of each other. This is a poor assumption, as
users view several items at once, and choose from among them.
As such an item’s probability of being clicked is afected by its
neighbors. This approach is detailed in Algorithm 1.
6.2</p>
    </sec>
    <sec id="sec-22">
      <title>Pairwise Approach</title>
      <p>
        In pairwise approaches a binary classifier is trained to score a pair
of candidates simultaneously. The positive class indicates that the
ifrst candidate is more likely to be interacted with than the second,
and the negative class indicates the opposite. Training data is
initialized with all positive classes and balanced by randomly swapping
the order of items within a pair with a fifty percent chance. This
is the most popular approach as it allows for the model to
consider relationships between candidates, rather than scoring them
independently. This approach requires an additional sorting to be
performed based on the scoring which causes further computation
overhead. Pairwise approaches allow for regression models to be
used, such as logistic regression and gradient boosted decision trees.
Although gradient boosted trees provide better results, the logistic
regression still provides the lowest latency response. Popular loss
functions used to train these models are binary cross entropy and λ
loss function utilized by LambdaRank [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. This approach is detailed
in Algorithm 2.
6.3
      </p>
    </sec>
    <sec id="sec-23">
      <title>Listwise Approach</title>
      <p>
        Listwise approaches require models to be trained over an entire list
of items simultaneously. Formulation of a loss function for such
a model is dificult, as the true ranking of an entire list is not
possible to populate. One method extends pointwise approaches by
assuming a multinomial instead of a multivariate bernoulli. This
methodology forces candidates to compete with one another for
limited probability mass. Other methods try to directly maximize
NDCG as their objective [
        <xref ref-type="bibr" rid="ref46 ref50">46, 50</xref>
        ]. This approach is detailed in
Algorithm 3.
6.4
      </p>
    </sec>
    <sec id="sec-24">
      <title>Discussion</title>
      <p>
        The most common approaches for real time models are shallow
binary classifications, especially those relying on pairwise approaches,
which can rank an entire set of candidates against one another while
still posing the problem as a binary classification[
        <xref ref-type="bibr" rid="ref37">37</xref>
        ]. These
approaches are best suited for machine learning, as binary classifiers
are a well studied set of models. We view both pointwise and
pairwise approaches as being the most optimal solutions. The challenge
with these models is addressed by careful feature engineering in
data processing and representation learning layers. Listwise
approaches seem ill-posed in comparison, as true ranking data is
impossible to obtain with implicit feedback and the models sufer
Algorithm 2 Pairwise Approach (Users, Queries, Clicks)
      </p>
      <sec id="sec-24-1">
        <title>1: Nonclicks ← sample_nonclick(c) ∀ c ∈ Clicks</title>
        <p>2: S ← s ∼ Bernoulli ∀ c ∈ Clicks
3: Labels, Interactions ← stack(swap_or_not(s, c, n)) ∀ tuple(s, c,
n) ∈ (S, Clicks, Nonclicks)
4: Features = featurize(u, q, i) ∀ tuple(u,q,i) ∈ (Users, Queries,</p>
        <p>Interactions)
5: P ← sigmoid(W T (Features) + b®)
6: C ← Labels × log(P)
Algorithm 1 Pointwise Approach (Users, Queries, Clicks)
Algorithm 3 Listwise Approach (Users, Queries, Clicks)</p>
      </sec>
      <sec id="sec-24-2">
        <title>1: Nonclicks ← sample_nonclick(c) ∀ c ∈ Clicks</title>
        <p>2: Labels, Interactions ← stack([0, Nonclicks], [1, Clicks])
3: Features = featurize(u, q, i) ∀ tuple(u,q,i) ∈ (Users, Queries,</p>
        <p>Interactions)
4: P ← sigmoid(W T (Features) + b®)
5: C ← Labels × log(P)</p>
      </sec>
      <sec id="sec-24-3">
        <title>1: Nonclicks ← sample_nonclick(c) ∀ c ∈ Clicks</title>
        <p>2: Labels, Interactions ← stack([0, Nonclicks], [1, Clicks])
3: Features = featurize(u, q, i) ∀ tuple(u,q,i) ∈ (Users, Queries,</p>
        <p>Interactions)
4: P ← softmax(sigmoid(W T (Features) + b®))
5: C ← Labels × log(P)
from complexities of trying to learn relevancy of multiple classes
at once.
7</p>
      </sec>
    </sec>
    <sec id="sec-25">
      <title>SERVING COMPLEX MODELS</title>
      <p>Diferent architectures are used to deploy various types of
ranking systems. Each architecture has specific purposes and supports
various layers of the overall ranking system.
7.1</p>
    </sec>
    <sec id="sec-26">
      <title>Distributed Architecture</title>
      <p>
        Distributed databases employ a cluster of machines and coordinate
data storage and computations across the cluster. This architecture
can be leveraged for data processing layers of ranking systems
to aggregate, normalize, and featurize training data [
        <xref ref-type="bibr" rid="ref14 ref39">14, 39</xref>
        ].
Recent work has also employed this architecture for representation
learning via proprietary distributed computing technologies, such
as those used for distributed computation of embeddings [
        <xref ref-type="bibr" rid="ref14 ref22">14, 22</xref>
        ]
or via open source libraries such as those available in Spark [
        <xref ref-type="bibr" rid="ref52">52</xref>
        ].
Several forms of candidate selection, those based on hashing, can
also be performed on distributed databases. These architectures are
used to serve learned representations and results from candidate
selection to online models. Distributed databases further provide
the ability to simultaneously write billions of records, afording
the ability to capture user interaction data from millions or
billions of users simultaneously. Distributed databases also aford
high scalability, as new machines can be added to a cluster ad hoc
to support increases in volume of data. These systems have their
own limitations though. One such limitation is described by the
CAP theorem which maintains that a distributed data store can
not simultaneously provide consistency, availability and partition
tolerance [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Thus each distributed framework trades of one of
these goals for the others, some prioritizing rapid capturing of user
interaction with others prioritizing high availability to support real
time response. This may require a single ranking system to employ
several diferent distributed datastores, one to capture and process
data, another to make data highly available to online models.
Distributed data stores also require computations to be written within
specific programming paradigms, such as MapReduce, which do
not easily represent deep learning computations or graph based
computations [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. Furthermore, model training and prediction
on distributed data stores require transference of model weights
across entire clusters, which is infeasible for complex deep learning
models with many parameters.
7.2
      </p>
    </sec>
    <sec id="sec-27">
      <title>One-box Architecture</title>
      <p>
        One-box architectures allow for the use of complex modeling
techniques to be employed in ranking systems. Here a single machine
loads training data from a distributed database and trains a model
in memory [
        <xref ref-type="bibr" rid="ref13 ref23">13, 23</xref>
        ]. These architectures are used for
representation learning via deep learning models or graph based approaches.
Candidate selection can also performed on one-box architectures
via tree or graph based methods, which are described further in
Section 5. Online models are often trained via one-box solutions,
and can be served in parallel to scale to support requests from high
volumes of users, such as millions or billions [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. This architecture
afords ML practitioners the freedom to use diferent tools,
without the constraints imposed by distributed architectures. Recent
development of containerized solutions allows one-box
architectures to simultaneously support a number of tools and solutions
by isolating system dependencies [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Practitioners are thus free to
employ complex models without the need to work within system
specific paradigms. One-box architectures are limited to in-memory
computations and cannot fully leverage the entire dataset and thus
are still reliant on distributed datastores to pre-compute data.
7.3
      </p>
    </sec>
    <sec id="sec-28">
      <title>Serving Deep Learning Models</title>
      <p>As research on deep learning has progressed, a push to use these
complex models in real time ranking applications has been made.
This is a divergence from prior architectures which employ shallow
models for real time inference. Several methods have been employed
to enable deep learning models to be served and respond in real
time. Each has with its own assumptions and trade-ofs.</p>
      <p>
        Deep learning training can be scaled by distributing training
over multiple GPUs by leveraging recent open source tools, such as
Horizon [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. These tools provide support for training on CPU, GPU
and multi-GPU in one box architectures and can provide the ability
to conduct training on many GPUs distributed over numerous
machines. This framework requires GPU servers, which can be cost
prohibitive to purchase and maintain.
      </p>
      <p>
        Other platforms allow for distributed embeddings by adopting a
parameter server (PS) paradigm which employs a cluster of servers.
Model updates are communicated across the cluster through a
central parameter server. These systems are designed with the
following constraints to allow for fast training: Column-wise
partitioning of feature vectors among PS shards; No transmission of
word vectors across the network; PS shard-side negative sampling
and computation of partial vector dot products [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Here a shard is
a subset of the entire dataset which is acted upon independently by
one server in the cluster. These systems are complex to maintain
and support as updates are made asynchronously to the model over
each shard.
      </p>
      <p>
        Embedding layers within deep learning models are fully
connected, requiring many parameters. These computations are
incredibly expensive. To allow for real time embedding of raw signals,
model compression via quantization of model parameters is
employed [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ]. For example, in some layers floating point precision of
weights is reduced to 8 and 16 bits. This comes with a reduction
in precision, but allows for a smaller memory foot-print. In this
approach representation learning must be done such that models
and their hardware are co-designed. The complexity of training
such a model is much higher. Diferent types of quantization are
performed given the acceptable drop in precision at each layer.
Each layer is individually optimized, as well as the entire graph as a
whole. Reduction of model parameters can be performed by model
architecture decisions as well. For example, in the case of sequential
models, GRUs are chosen to learn representations instead of LSTMs
as they require fewer parameters [
        <xref ref-type="bibr" rid="ref49">49</xref>
        ].
      </p>
      <p>
        To allow model training to be completed in a timely manner,
models with many parameters trained over large datasets can be trained
incrementally, with a one-time training occurring infrequently and
weight incremental updates being calculated daily [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ].
7.4
      </p>
    </sec>
    <sec id="sec-29">
      <title>Discussion</title>
      <p>
        Current design paradigms rely heavily on the coordination of tasks
across both distributed and one-box architectures. Data
processing and candidate selection are performed distributed, while
representation learning and online models are handled via one-box
architectures. Tasks are coordinated via schedulers [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and one box
architectures are containerized and deployed in parallel to support
requests from many users [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        We find that recent trends aim to allow service of complex
models directly by making complex models more eficient [
        <xref ref-type="bibr" rid="ref11 ref39 ref49 ref51">11, 39, 49, 51</xref>
        ].
This methodology has the potential to reduce the layers and
separation of concerns within ranking systems. This would be a powerful
improvement as it would reduce the complexity of the overall model,
allowing for a unified approach. Improvements to streaming data
processing technologies could further support these developments
as complex computations can be run over distributed data caches
in near real time to transform data into input features for deep
learning models which are served live. Although promising, this
allows for deep learning models to be deployed in real time, but the
work lacks a generalized approach, lacks open source support and
thus lacks wide spread adoption.
8
      </p>
    </sec>
    <sec id="sec-30">
      <title>VALIDATING A SYSTEM OF SYSTEMS</title>
      <p>
        We have thus far shown that a single ranking system is composed
of several layers, each with its own complexity. The need for
experimentation to increase user engagement requires both ofline
validation and online test results. Validating a ranking system, which
spans several frameworks is not straightforward. Each individual
layer should be validated in isolation in addition to the whole, but
often in ranking systems, the reported results are only those of
the candidate selection or the final ranking model. Such complex
systems thus lend themselves to a change one thing change
everything (CACE) data dependency and system entanglement [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ].
This makes metrics unreliable, obfuscating errors and making it
dificult to prove improvements to the overall system. Despite these
reservations, both ofline and online testing is performed primarily
after candidate selection and after ranking. Depending on
application the system and its component layers are generally tested for
improvement on click-through-rates, purchases, dwell times and
advertisement engagement to name a few. Selection of the desired
metric to optimize for must be done with user behavior in mind,
but often sufers from biases and is also afected by functionality
outside of the ranking system itself, such as user interfaces.
8.1
      </p>
    </sec>
    <sec id="sec-31">
      <title>Increasing experiment bandwidth</title>
      <p>
        Speed of experimentation is hindered by the bandwidth for online
testing, as there is a finite amount of trafic that lends itself to each
particular test. One approach to improve throughput of testing
involves early detection of poor or invalid experiments. This aford
greater throughput of experiments as poorly performing tests are
detected and terminated early. To allow for this standard metrics
are populated frequently and made consistent across all related
experiments. A multi-layer experiment architecture can also be
employed where experiments are grouped into statistically
independent layers. Each user is then simultaneously used as a data
point for multiple tests, one from each layer, allowing multiple
tests to be run simultaneously [
        <xref ref-type="bibr" rid="ref45">45</xref>
        ]. Experiment duration can also
be decreased by employing variance reduction techniques, which
separate users within the test group into two strata: those with
prior purchase behavior and those without. For those with prior
purchase behavior, this past data is used as a control covariate for
additional variance reduction. This has been shown to reduce the
duration of experimentation by half while maintaining equivalent
confidence [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
8.2
      </p>
    </sec>
    <sec id="sec-32">
      <title>Ofline evaluation</title>
      <p>
        Even with such methods, bandwidth for tests is limited. As such new
model experiments must prove a significant improvement on ofline
validation to be selected for a live A/B test. Common ofline metrics
used are area under the curve (AUC) for the receiver operating
characteristic (ROC) and normalized discounted cumulative gain
(NDCG) as these correlate well with expected click through rate [
        <xref ref-type="bibr" rid="ref22 ref37 ref49 ref51">22,
37, 49, 51</xref>
        ]. Simulated experiments can also be employed to estimate
performance of models prior to A/B tests. These simulations must
be calibrated to avoid incorporating bias leading to poor estimates
of expected click through rate [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
8.3
      </p>
    </sec>
    <sec id="sec-33">
      <title>Discussion</title>
      <p>
        Focus on ranking metrics for the overall system is necessary, but
we propose that each layer requires its own independent metrics as
well to avoid obfuscating errors and biases. Data processing layers
should document assumptions with metrics dashboards, and gauge
distributions of data as well as any underlying shifts within these
distributions over time. Validation on learned representations is
not documented in most production ranking system architectures,
instead they are only measured in their improvement of applications
for modeling and candidate selection. Requiring each component
to have independent functionality tests as well as tests of the entire
system can more clearly surface errors [
        <xref ref-type="bibr" rid="ref14 ref42">14, 42</xref>
        ].
9
      </p>
    </sec>
    <sec id="sec-34">
      <title>CONCLUSION</title>
      <p>We examine production ranking systems and find that a layered
approach is adopted in every case. This is necessary to ofset the
computational cost of leveraging the most efective machine learning
models, which are unable to produce real time inference for users.
This layered approach causes ranking systems to be composed of a
system of systems, each layer employing diferent algorithms over
diferent architectures. This approach allows for rapid
experimentation both within and across layers and allows practitioners to
employ state of the art modeling techniques while still adhering to
real time service constraints such as low latency and limited
available memory. However, this same layered approach causes ranking
systems to be incredibly complex, with each layer introducing its
own assumptions and requiring its own tuning. This can obfuscate
errors and makes it dificult to measure iterative successes. As
ranking systems develop new methods to facilitate the direct serving of
more complex systems, reliance on this layered approach could be
reduced.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Martin</given-names>
            <surname>Aumüller</surname>
          </string-name>
          , Erik Bernhardsson, and
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Faithfull</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>ANNbenchmarks: A benchmarking tool for approximate nearest neighbor algorithms</article-title>
          .
          <source>Information Systems</source>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Gang</given-names>
            <surname>Bai</surname>
          </string-name>
          , Zhihui Xie, and
          <string-name>
            <given-names>Liang</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Practical Constrained Optimization of Auction Mechanisms in E-Commerce Sponsored Search Advertising</article-title>
          . arXiv preprint arXiv:
          <year>1807</year>
          .
          <volume>11790</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Maxime</given-names>
            <surname>Beauchemin</surname>
          </string-name>
          et al.
          <year>2016</year>
          . Airflow.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Erik</given-names>
            <surname>Bernhardsson</surname>
          </string-name>
          et al.
          <year>2018</year>
          .
          <article-title>Annoy (Approximate Nearest Neighbors Oh Yeah)</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>David</given-names>
            <surname>Bernstein</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Containers and cloud: From lxc to docker to kubernetes</article-title>
          .
          <source>IEEE Cloud Computing</source>
          <volume>1</volume>
          ,
          <issue>3</issue>
          (
          <year>2014</year>
          ),
          <fpage>81</fpage>
          -
          <lpage>84</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Carl</given-names>
            <surname>Boettiger</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>An introduction to Docker for reproducible research</article-title>
          .
          <source>ACM SIGOPS Operating Systems Review</source>
          <volume>49</volume>
          ,
          <issue>1</issue>
          (
          <year>2015</year>
          ),
          <fpage>71</fpage>
          -
          <lpage>79</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Fedor</given-names>
            <surname>Borisyuk</surname>
          </string-name>
          , Krishnaram Kenthapadi, David Stein,
          <string-name>
            <given-names>and Bo</given-names>
            <surname>Zhao</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>CaSMoS: A framework for learning candidate selection models over structured queries and documents</article-title>
          .
          <source>In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM</source>
          ,
          <volume>441</volume>
          -
          <fpage>450</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Christopher</surname>
            <given-names>JC</given-names>
          </string-name>
          <string-name>
            <surname>Burges</surname>
          </string-name>
          . [n. d.].
          <article-title>From ranknet to lambdarank to lambdamart: An overview</article-title>
          . ([n. d.]).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Josiah</surname>
            <given-names>L</given-names>
          </string-name>
          <string-name>
            <surname>Carlson</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Redis in action</article-title>
          .
          <source>Manning Publications Co.</source>
        </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. ACM</source>
          ,
          <volume>191</volume>
          -
          <fpage>198</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Jefrey</surname>
            <given-names>Dean</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Greg</given-names>
            <surname>Corrado</surname>
          </string-name>
          , Rajat Monga, Kai Chen, Matthieu Devin, Mark Mao,
          <string-name>
            <given-names>Andrew</given-names>
            <surname>Senior</surname>
          </string-name>
          , Paul Tucker, Ke Yang,
          <string-name>
            <surname>Quoc V Le</surname>
          </string-name>
          , et al.
          <year>2012</year>
          .
          <article-title>Large scale distributed deep networks</article-title>
          .
          <source>In Advances in neural information processing systems</source>
          .
          <volume>1223</volume>
          -
          <fpage>1231</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Alex</surname>
            <given-names>Deng</given-names>
          </string-name>
          , Ya Xu,
          <string-name>
            <given-names>Ron</given-names>
            <surname>Kohavi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Toby</given-names>
            <surname>Walker</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Improving the sensitivity of online controlled experiments by utilizing pre-experiment data</article-title>
          .
          <source>In Proceedings of the sixth ACM international conference on Web search and data mining. ACM</source>
          ,
          <volume>123</volume>
          -
          <fpage>132</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Chantat</surname>
            <given-names>Eksombatchai</given-names>
          </string-name>
          , Pranav Jindal, Jerry Zitao Liu, Yuchen Liu, Rahul Sharma, Charles Sugnet,
          <string-name>
            <given-names>Mark</given-names>
            <surname>Ulrich</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Jure</given-names>
            <surname>Leskovec</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Pixie: A system for recommending 3+ billion items to 200+ million users in real-time</article-title>
          .
          <source>In Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee</source>
          ,
          <fpage>1775</fpage>
          -
          <lpage>1784</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Jason</surname>
            <given-names>Gauci</given-names>
          </string-name>
          , Edoardo Conti, Yitao Liang, Kittipat Virochsiri, Yuchen He, Zachary Kaden, Vivek Narayanan, and
          <string-name>
            <given-names>Xiaohui</given-names>
            <surname>Ye</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Horizon: Facebook's Open Source Applied Reinforcement Learning Platform</article-title>
          . arXiv preprint arXiv:
          <year>1811</year>
          .
          <volume>00260</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Sahin</given-names>
            <surname>Cem</surname>
          </string-name>
          <string-name>
            <surname>Geyik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Abhishek</given-names>
            <surname>Saxena</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Ali</given-names>
            <surname>Dasdan</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Multi-touch attribution based budget allocation in online advertising</article-title>
          .
          <source>In Proceedings of the Eighth International Workshop on Data Mining for Online Advertising. ACM</source>
          , 1-
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Sanjay</surname>
            <given-names>Ghemawat</given-names>
          </string-name>
          , Howard Gobiof, and
          <string-name>
            <surname>Shun-Tak Leung</surname>
          </string-name>
          .
          <year>2003</year>
          .
          <article-title>The Google file system</article-title>
          . (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Seth</given-names>
            <surname>Gilbert</surname>
          </string-name>
          and
          <string-name>
            <given-names>Nancy</given-names>
            <surname>Lynch</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services</article-title>
          .
          <source>Acm Sigact News</source>
          <volume>33</volume>
          ,
          <issue>2</issue>
          (
          <year>2002</year>
          ),
          <fpage>51</fpage>
          -
          <lpage>59</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Cyril</surname>
            <given-names>W Gleverdon</given-names>
          </string-name>
          and Cyril W Cleverdon.
          <year>1962</year>
          .
          <article-title>Report on the testing and analysis of an investigation into the comparative eficiency of indexing systems</article-title>
          . (
          <year>1962</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Clinton</given-names>
            <surname>Gormley</surname>
          </string-name>
          and
          <string-name>
            <given-names>Zachary</given-names>
            <surname>Tong</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Elasticsearch: The definitive guide: A distributed real-time search and analytics engine. "</article-title>
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          ,
          <source>Inc.".</source>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Trey</given-names>
            <surname>Grainger</surname>
          </string-name>
          and
          <string-name>
            <given-names>Timothy</given-names>
            <surname>Potter</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Solr in action</article-title>
          .
          <source>Manning Publications Co.</source>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Mihajlo</given-names>
            <surname>Grbovic</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Search ranking and personalization at Airbnb</article-title>
          .
          <source>In Proceedings of the Eleventh ACM Conference on Recommender Systems. ACM</source>
          ,
          <volume>339</volume>
          -
          <fpage>340</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Mihajlo</surname>
            <given-names>Grbovic</given-names>
          </string-name>
          , Nemanja Djuric, Vladan Radosavljevic, Fabrizio Silvestri, Ricardo Baeza-Yates,
          <string-name>
            <given-names>Andrew</given-names>
            <surname>Feng</surname>
          </string-name>
          , Erik Ordentlich,
          <string-name>
            <given-names>Lee</given-names>
            <surname>Yang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Gavin</given-names>
            <surname>Owens</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Scalable semantic matching of queries to ads in sponsored search advertising</article-title>
          .
          <source>In Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval. ACM</source>
          ,
          <volume>375</volume>
          -
          <fpage>384</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Pankaj</surname>
            <given-names>Gupta</given-names>
          </string-name>
          , Ashish Goel, Jimmy Lin, Aneesh Sharma,
          <string-name>
            <given-names>Dong</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Reza</given-names>
            <surname>Zadeh</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Wtf: The who to follow service at twitter</article-title>
          .
          <source>In Proceedings of the 22nd international conference on World Wide Web. ACM</source>
          ,
          <volume>505</volume>
          -
          <fpage>514</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>Thorsten</given-names>
            <surname>Joachims</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>Optimizing search engines using clickthrough data</article-title>
          .
          <source>In Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining. ACM</source>
          ,
          <volume>133</volume>
          -
          <fpage>142</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Bhargav</given-names>
            <surname>Kanagal</surname>
          </string-name>
          and
          <string-name>
            <given-names>Sandeep</given-names>
            <surname>Tata</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Recommendations for all : solving thousands of recommendation problems a day</article-title>
          .
          <source>In Proceedings of the 34th IEEE International Conference on Data Engineering (ICDE).</source>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Wang-Cheng</surname>
            <given-names>Kang</given-names>
          </string-name>
          , Chen Fang,
          <string-name>
            <given-names>Zhaowen</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <surname>Julian McAuley</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Visually-aware fashion recommendation and design with generative image models</article-title>
          .
          <source>In 2017 IEEE International Conference on Data Mining (ICDM)</source>
          . IEEE,
          <fpage>207</fpage>
          -
          <lpage>216</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>PK</given-names>
            <surname>Kannan</surname>
          </string-name>
          , Werner Reinartz, and
          <string-name>
            <surname>Peter C Verhoef</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>The path to purchase and attribution modeling: Introduction to special section.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>Avinash</given-names>
            <surname>Lakshman</surname>
          </string-name>
          and
          <string-name>
            <given-names>Prashant</given-names>
            <surname>Malik</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Cassandra: a decentralized structured storage system</article-title>
          .
          <source>ACM SIGOPS Operating Systems Review</source>
          <volume>44</volume>
          ,
          <issue>2</issue>
          (
          <year>2010</year>
          ),
          <fpage>35</fpage>
          -
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Blerina</surname>
            <given-names>Lika</given-names>
          </string-name>
          , Kostas Kolomvatsos, and
          <string-name>
            <given-names>Stathes</given-names>
            <surname>Hadjiefthymiades</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Facing the cold start problem in recommender systems</article-title>
          .
          <source>Expert Systems with Applications 41</source>
          ,
          <issue>4</issue>
          (
          <year>2014</year>
          ),
          <fpage>2065</fpage>
          -
          <lpage>2073</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Tie-Yan Liu</surname>
          </string-name>
          et al.
          <year>2009</year>
          .
          <article-title>Learning to rank for information retrieval</article-title>
          .
          <source>Foundations and Trends® in Information Retrieval 3</source>
          ,
          <issue>3</issue>
          (
          <year>2009</year>
          ),
          <fpage>225</fpage>
          -
          <lpage>331</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <surname>Corey</surname>
            <given-names>Lynch</given-names>
          </string-name>
          , Kamelia Aryafar, and
          <string-name>
            <given-names>Josh</given-names>
            <surname>Attenberg</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Images don't lie: Transferring deep visual semantic features to large-scale multimodal learning to rank</article-title>
          .
          <source>In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM</source>
          ,
          <volume>541</volume>
          -
          <fpage>548</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <surname>Yury</surname>
            <given-names>A</given-names>
          </string-name>
          <string-name>
            <surname>Malkov and Dmitry A Yashunin</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Eficient and robust approximate nearest neighbor search using hierarchical navigable small world graphs</article-title>
          .
          <source>IEEE transactions on pattern analysis and machine intelligence</source>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>Marius</given-names>
            <surname>Muja</surname>
          </string-name>
          and David G Lowe.
          <year>2014</year>
          .
          <article-title>Scalable nearest neighbor algorithms for high dimensional data</article-title>
          .
          <source>IEEE transactions on pattern analysis and machine intelligence</source>
          <volume>36</volume>
          , 11 (
          <year>2014</year>
          ),
          <fpage>2227</fpage>
          -
          <lpage>2240</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>Marius</given-names>
            <surname>Muja</surname>
          </string-name>
          and David G Lowe.
          <year>2015</year>
          .
          <article-title>Fast library for approximate nearest neighbors</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>Bilegsaikhan</given-names>
            <surname>Naidan</surname>
          </string-name>
          and
          <string-name>
            <given-names>Leonid</given-names>
            <surname>Boytsov</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Non-metric space library manual</article-title>
          .
          <source>arXiv preprint arXiv:1508.05470</source>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <surname>Jiquan</surname>
            <given-names>Ngiam</given-names>
          </string-name>
          , Aditya Khosla, Mingyu Kim, Juhan Nam,
          <string-name>
            <given-names>Honglak</given-names>
            <surname>Lee</surname>
          </string-name>
          , and Andrew Y Ng.
          <year>2011</year>
          .
          <article-title>Multimodal deep learning</article-title>
          .
          <source>In Proceedings of the 28th international conference on machine learning (ICML-11)</source>
          .
          <fpage>689</fpage>
          -
          <lpage>696</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <surname>Yabo</surname>
            <given-names>Ni</given-names>
          </string-name>
          , Dan Ou, Shichen Liu,
          <string-name>
            <given-names>Xiang</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Wenwu</given-names>
            <surname>Ou</surname>
          </string-name>
          , Anxiang Zeng, and
          <string-name>
            <given-names>Luo</given-names>
            <surname>Si</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Perceive Your Users in Depth: Learning Universal User Representations from Multiple E-commerce Tasks</article-title>
          .
          <source>In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining. ACM</source>
          ,
          <volume>596</volume>
          -
          <fpage>605</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>CUDA</given-names>
            <surname>Nvidia</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Programming guide</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>Jongsoo</given-names>
            <surname>Park</surname>
          </string-name>
          , Maxim Naumov, Protonu Basu, Summer Deng, Aravind Kalaiah, Daya Khudia, James Law, Parth Malani, Andrey Malevich,
          <string-name>
            <given-names>Satish</given-names>
            <surname>Nadathur</surname>
          </string-name>
          , et al.
          <year>2018</year>
          .
          <article-title>Deep Learning Inference in Facebook Data Centers: Characterization, Performance Optimizations and Hardware Implications</article-title>
          . arXiv preprint arXiv:
          <year>1811</year>
          .
          <volume>09886</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>Filip</given-names>
            <surname>Radlinski</surname>
          </string-name>
          and
          <string-name>
            <given-names>Thorsten</given-names>
            <surname>Joachims</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Minimally invasive randomization for collecting unbiased preferences from clickthrough logs</article-title>
          .
          <source>In Proceedings of the National Conference on Artificial Intelligence</source>
          , Vol.
          <volume>21</volume>
          . Menlo Park, CA; Cambridge, MA; London; AAAI Press; MIT Press;
          <year>1999</year>
          ,
          <fpage>1406</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>Ilya</given-names>
            <surname>Razenshteyn</surname>
          </string-name>
          and
          <string-name>
            <given-names>Ludwig</given-names>
            <surname>Schmidt</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>FALCONN-FAst Lookups of Cosine and Other Nearest Neighbors</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>David</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 Advances in neural information processing systems</source>
          .
          <volume>2503</volume>
          -
          <fpage>2511</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <surname>Konstantin</surname>
            <given-names>Shvachko</given-names>
          </string-name>
          , Hairong Kuang, Sanjay Radia,
          <string-name>
            <given-names>Robert</given-names>
            <surname>Chansler</surname>
          </string-name>
          , et al.
          <year>2010</year>
          .
          <article-title>The hadoop distributed file system.</article-title>
          .
          <source>In MSST</source>
          , Vol.
          <volume>10</volume>
          .
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>Amit</given-names>
            <surname>Singhal</surname>
          </string-name>
          et al.
          <year>2001</year>
          .
          <article-title>Modern information retrieval: A brief overview</article-title>
          . (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [45]
          <string-name>
            <surname>Diane</surname>
            <given-names>Tang</given-names>
          </string-name>
          , Ashish Agarwal,
          <string-name>
            <surname>Deirdre O'Brien</surname>
          </string-name>
          , and Mike Meyer.
          <year>2010</year>
          .
          <article-title>Overlapping experiment infrastructure: More, better, faster experimentation</article-title>
          .
          <source>In Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM</source>
          ,
          <volume>17</volume>
          -
          <fpage>26</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Taylor</surname>
          </string-name>
          , John Guiver, Stephen Robertson, and Tom Minka.
          <year>2008</year>
          .
          <article-title>Softrank: optimizing non-smooth rank metrics</article-title>
          .
          <source>In Proceedings of the 2008 International Conference on Web Search and Data Mining. ACM</source>
          ,
          <volume>77</volume>
          -
          <fpage>86</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          [47]
          <string-name>
            <given-names>Michel</given-names>
            <surname>Verleysen</surname>
          </string-name>
          and
          <string-name>
            <given-names>Damien</given-names>
            <surname>François</surname>
          </string-name>
          .
          <year>2005</year>
          .
          <article-title>The curse of dimensionality in data mining and time series prediction</article-title>
          .
          <source>In International Work-Conference on Artificial Neural Networks</source>
          . Springer,
          <fpage>758</fpage>
          -
          <lpage>770</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          [48]
          <string-name>
            <surname>Jizhe</surname>
            <given-names>Wang</given-names>
          </string-name>
          , Pipei Huang,
          <string-name>
            <given-names>Huan</given-names>
            <surname>Zhao</surname>
          </string-name>
          , Zhibo Zhang,
          <source>Binqiang Zhao, and Dik Lun Lee</source>
          .
          <year>2018</year>
          .
          <article-title>Billion-scale commodity embedding for e-commerce recommendation in alibaba</article-title>
          .
          <source>In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining. ACM</source>
          ,
          <volume>839</volume>
          -
          <fpage>848</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          [49]
          <string-name>
            <surname>Wenjin</surname>
            <given-names>Wu</given-names>
          </string-name>
          , Guojun Liu, Hui Ye, Chenshuang Zhang, Tianshu Wu, Daorui Xiao,
          <string-name>
            <surname>Wei</surname>
            <given-names>Lin</given-names>
          </string-name>
          , Kaipeng Liu, and
          <string-name>
            <given-names>Xiaoyu</given-names>
            <surname>Zhu</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>EENMF: An End-to-End Neural Matching Framework for E-Commerce Sponsored Search</article-title>
          . arXiv preprint arXiv:
          <year>1812</year>
          .
          <volume>01190</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          [50]
          <string-name>
            <given-names>Jun</given-names>
            <surname>Xu</surname>
          </string-name>
          and
          <string-name>
            <given-names>Hang</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Adarank: a boosting algorithm for information retrieval</article-title>
          .
          <source>In Proceedings of the 30th annual international ACM SIGIR conference on Research and development in information retrieval. ACM</source>
          ,
          <volume>391</volume>
          -
          <fpage>398</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref51">
        <mixed-citation>
          [51]
          <string-name>
            <surname>Su</surname>
            <given-names>Yan</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wei</surname>
            <given-names>Lin</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tianshu Wu</surname>
          </string-name>
          , Daorui Xiao, Xu Zheng,
          <string-name>
            <surname>Bo Wu</surname>
          </string-name>
          , and Kaipeng Liu.
          <year>2018</year>
          .
          <article-title>Beyond keywords and relevance: a personalized ad retrieval framework in e-commerce sponsored search</article-title>
          .
          <source>In Proceedings of the 2018 World Wide Web Conference. International World Wide Web Conferences Steering Committee</source>
          ,
          <fpage>1919</fpage>
          -
          <lpage>1928</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref52">
        <mixed-citation>
          [52]
          <string-name>
            <surname>Matei</surname>
            <given-names>Zaharia</given-names>
          </string-name>
          , Mosharaf Chowdhury,
          <string-name>
            <surname>Michael J Franklin</surname>
            ,
            <given-names>Scott</given-names>
          </string-name>
          <string-name>
            <surname>Shenker</surname>
            , and
            <given-names>Ion</given-names>
          </string-name>
          <string-name>
            <surname>Stoica</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Spark: Cluster computing with working sets</article-title>
          .
          <source>HotCloud</source>
          <volume>10</volume>
          ,
          <fpage>10</fpage>
          -
          <lpage>10</lpage>
          (
          <year>2010</year>
          ),
          <fpage>95</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref53">
        <mixed-citation>
          [53]
          <string-name>
            <surname>Meizi</surname>
            <given-names>Zhou</given-names>
          </string-name>
          , Zhuoye Ding,
          <string-name>
            <given-names>Jiliang</given-names>
            <surname>Tang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Dawei</given-names>
            <surname>Yin</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Micro behaviors: A new perspective in e-commerce recommender systems</article-title>
          .
          <source>In Proceedings of the eleventh ACM international conference on web search and data mining. ACM</source>
          ,
          <volume>727</volume>
          -
          <fpage>735</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>