<!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>QuickRank: a C++ Suite of Learning to Rank Algorithms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gabriele Capannini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Domenico Dato</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudio Lucchese</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Monica Mori</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Franco Maria Nardini</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Salvatore Orlando</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ra aele Perego</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicola Tonellotto</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IDT, Malardalens hogskola</institution>
          ,
          <addr-line>Vasteras</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ISTI-CNR</institution>
          ,
          <addr-line>Pisa</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Tiscali S.p.A.</institution>
          ,
          <addr-line>Cagliari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University Ca' Foscari of Venice</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Ranking is a central task of many Information Retrieval (IR) problems, particularly challenging in the case of large-scale Web collections where it involves e ectiveness requirements and e ciency constraints that are not common to other ranking-based applications. This paper describes QuickRank, a C++ suite of e cient and e ective Learning to Rank (LtR) algorithms that allows high-quality ranking functions to be devised from possibly huge training datasets. QuickRank is a project with a double goal: i) answering industrial need of Tiscali S.p.A. for a exible and scalable LtR solution for learning ranking models from huge training datasets; ii) providing the IR research community with a exible, extensible and e cient LtR framework to design LtR solutions and fairly compare the performance of di erent algorithms and ranking models. This paper presents our choices in designing QuickRank and report some preliminary use experiences.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In the last years a number of machine learning algorithms have been proposed
to automatically build high-quality ranking functions able to exploit a multitude
of features characterizing the candidate documents and the user query. These
algorithms fall under the Learning-to-Rank (LtR) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] framework. It is known
that several commercial Web Search Engines (WSEs) exploit LtR solutions
using a large number of relevance signals as features of the learned models. The
e ectiveness of these WSE rankers relies on huge training datasets containing
gigabytes of annotated query-document examples and e cient and scalable
machine learning solutions [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        In this paper, we describe QuickRank, a high-performance Learning to Rank
(LtR) toolkit that provides C++ multithreaded implementations of several LtR
algorithms5. In particular it aims at e ciently training highly e ective,
productionready ranking models based on forests of regression trees such as GBRT [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
5 QuickRank source code is publicly available for non commercial uses under a
Reciprocal Public License 1.5 (RPL-1.5, see http://opensource.org/licenses/RPL-1.5)
at URL http://quickrank.isti.cnr.it.
      </p>
      <p>
        -MART [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and O- -MART [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. These algorithms represent the state of the
art of LtR algorithms [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and QuickRank is able to train complex models with
tens of thousands regressions trees in a few hours. QuickRank is written in C++
(using C++11 and Boost C++6 features) and it exploits OpenMP7 to improve
runtime performance in multithreaded environments. In addition to speeding up
the training phase, the framework is able to produce for the model learned a
state-of-the-art C++ implementation of the associated scoring function, ready
to be deployed in production environments. Finally, the QuickRank framework is
designed to be modular and extensible, so that new machine learning algorithms
and new optimized implementations of the scorers can be easily included.
      </p>
      <p>The rest of the paper is organized as follows. Section 2 discusses the main
motivations of our work. Section 3 describes the distinguishing features of
QuickRank, including the learning algorithms provided, a glimpse of code organization,
preliminary usage experiences and experimental results. Finally, Section 4 draws
some conclusions and proposes some future directions of research.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Motivations and Aims</title>
      <p>
        Besides being the most e ective LtR algorithms [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], GBRT, -MART and
O-MART are computationally expensive solutions at both learning and scoring
time.
      </p>
      <p>At learning time they typically produce ensembles involving (tens of)
thousands of regression trees. The construction of the ensemble at training time is
an iterative and expensive process, where a relatively small regression tree is
generated at each iteration. In order to choose the best feature and threshold
associated with each tree node, the loss function is evaluated over the possibly
huge training. In large-scale WSEs, the adoption of LtR solutions are really e
ective only if the exploited LtR models are fresh, and re ect large and novel ground
truth datasets. Regarding this, we have to consider that WSEs continuously
collect, index, and process billions of documents, and process millions of queries
per day. During this time, speci c documents and query topics may become
important for users, due to unpredictable or new events attracting their interests.
Therefore LtR models have to be periodically re-trained in order to encompass
all these changes, and avoid loss in ranking e ectiveness due to the model aging.
The time needed to learn a new ranking model thus becomes an important
factor to consider in the design of a WSE. In addition, di erent settings of the LtR
algorithms used may result in di erent performance of the learned models, and
a careful parameter tuning can require an expensive training of di erent models
to choose the most e ective one.</p>
      <p>While the issues discussed above are related to the generation and
maintenance of e ective LtR models, we further motivate QuickRank by considering
that WSEs must be very e cient at query processing time, thus producing
result pages in sub-second times. Since the most e ective LtR models are based on</p>
      <sec id="sec-2-1">
        <title>6 http://www.boost.org 7 http://www.openmp.org</title>
        <p>ensembles of regression trees, at scoring time the ensemble must be traversed in
order to score each single candidate document by accumulating the scores stored
in every leaf of the trees reached during the visit.</p>
        <p>
          Therefore, due to the resulting prohibitive ranking cost [
          <xref ref-type="bibr" rid="ref15 ref3">15, 3</xref>
          ] it is not
possible to apply such rankers to all the documents matching a user query in the
case of large collections of documents. To overcome this issue, WSEs usually
exploit multi-stage ranking architectures, where top-K retrieval is carried out by
a two-step process: (i) candidate retrieval and (ii) candidate re-ranking. WSEs
partition their huge full index in shards, each managing a subset of documents,
which are evenly distributed across many index server nodes which process any
query concurrently. The partial results retrieved from each shard are merged at
the index server level, and sent to an aggregator to compute the nal results [
          <xref ref-type="bibr" rid="ref7 ref9">7,
9</xref>
          ], as shown in Figure 1.
        </p>
        <p>K docs</p>
        <p>Aggregator</p>
        <p>Merge</p>
        <p>K docs
K docs</p>
        <p>Results Page(s)
1. …………
2. …………
3. …………
…
…
K. …………
Index Serving Node
Index Serving Node</p>
        <p>Ranker
Features</p>
        <p>LtR
Algorithm</p>
        <p>Ranker
Features</p>
        <p>LtR
Algorithm</p>
        <p>Ranker
Features</p>
        <p>LtR
Algorithm</p>
        <p>Ranker
Features</p>
        <p>LtR
Algorithm</p>
        <p>
          The rst step at each index serving node retrieves N possibly relevant
documents matching the user query from all the shards of the inverted index managed
by the node. This phase aims at optimizing the recall of the retrieval system,
and is usually achieved by a simple and fast base ranker, e.g., BM25 combined
with some document-level scores [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The assumption is that the base ranker is
able to e ciently retrieve most of the relevant documents, even if it is not able to
e ectively rank them. In the second step at each index serving node a complex
scoring function is used to re-rank the candidate documents extracted from the
shards. A large number of query-document features must be retrieved or
computed on the y during this step, requiring di erent time constraints. Hence, the
second step is possibly composed of a pipeline of machine-learned rankers,
collectively called top ranker, where each ranking stage exploits a potentially di erent
set of features. LtR models used in this second step are trained to maximize the
precision at small cuts, e.g., P@10. In such a partition-aggregate scheme, both
the base ranker and the top rankers pipeline must not introduce long latencies in
order to achieve good response times at the aggregator. Hence, while the
number of per-shard candidate documents N retrieved by the base ranker usually
ranges from 1; 000 to over 10; 000 [
          <xref ref-type="bibr" rid="ref12 ref4 ref5 ref6">6, 5, 4, 12</xref>
          ], batches of documents of di erent
sizes may pass through the stages of the top ranker. Eventually, the aggregator
typically merges the top-k documents collected in parallel by the index serving
nodes and select the globally top-K results.
        </p>
        <p>This architecture requires the training and test of several LtR models. Every
model requires an iterative process to be trained, and every model additionally
requires several steps of parameters tuning to select the best trade-o between
e ectiveness and e ciency. The QuickRank framework has been designed and
implemented to timely manage the activities for the training and the tuning of
such a large set of learning to rank models.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>The QuickRank Framework</title>
      <p>To the best of our knowledge, QuickRank is the rst framework addressing both
the learning and the scoring processes. Below, we describe these two steps in
detail, and introduce the organization of the code. Finally, we report about
some experiments aimed at assessing the e ciency and scalability of QuickRank
training phase.</p>
      <p>
        Learning Algorithms. QuickRank provides C++ multithreaded
implementations of GBRT [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], -MART [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], and O- -MART [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. It is worth mentioning
that no implementation of the O- -MART algorithm was previously made
publicly available. For all these algorithms, QuickRank accepts training sets in the
SVM-light format and produces an XML le storing the learned ranking model.
A short description of the LtR algorithms currently supported by QuickRank is
reported below:
Gradient-Boosted Regression Trees (GBRT) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is a general function
approximation technique aiming at nding the best function f minimising a given
loss function L(f ). f is de ned as a weighted sum of weak-learners functions,
i.e., f = Pi wifi. The basic assumption is that if we can compute the gradient
@L(f )=@f , then we can solve the minimisation problem of nding the best fi
via gradient descent. In practice, it is enough to nd a function fi able to
approximate the gradient value at the given x. This is a regression problem which
is solved with a regression tree. Therefore, the ranking function produced by
GBRT is indeed a forest of (weighted) trees. Usually, the loss function adopted
is the root mean squared error (RMSE), meaning that GBRT tries to predict
the relevance labels of the document in the training set. This loss function makes
GBRT a point-wise algorithm.
      </p>
      <p>
        LambdaMART ( -MART) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is an improvement over GBRT. The main
issues in machine-learned document scoring functions that optimise information
retrieval measures is that such measures involve a sorting of documents, and
sorting is not a derivable function. The -MART approach exploits the fact
that GBRT only requires the gradient to be computed at the given set of data
points x. The gradient at a given data point describes how much the score of a
document should be increased/decreased to improve the loss function. Given two
documents, this quantity is estimated by computing the loss function variation
when swapping their current score. Every document is compared with any other
document, and the loss function variation is accumulated. The resulting value is
named , and it can be considered as the gradient of the loss function computed
at the given document. Indeed, the values are slightly more complex, since
they include a factor related to the RankNet [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] cost. This gradient estimation
is plugged into a GBRT algorithm, thus obtaining -MART. -MART can
optimise several information retrieval measures, e.g., NDCG, and for this reason it
can be considered a list-wise algorithm. Note that in optimising the cost function,
the score produced by -MART can be distant from the training relevance
labels, as the algorithms aims at nding whatever score generates a good ordering
of documents.
      </p>
      <p>
        Oblivious LambdaMART [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] can be seen as a variation of -MART, where
oblivious regression trees [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] are used instead of standard regression trees. In
oblivious regression trees, the same splitting criterion is used across an entire
level of the tree. As a consequence, the resulting trees are balanced and the cost
model slightly simpli ed with respect to the one adopted for forests of regression
trees. Regardless this constraint, O- -MART provides good performance and it
was proven to be less prone to over tting.
      </p>
      <p>Document Scoring Functions. QuickRank also provides a framework for the
cost evaluation at scoring time of the learned models. The evaluation is
implemented as a two-step process.</p>
      <p>During the rst step, a tree-based model is converted in a C++ plugin
function implementing the scoring of a given document. QuickRank implements three
code generation strategies.</p>
      <p>
        The rst strategy is named If-Then-Else. Each decision tree is translated
into a sequence of C++ if-then-else blocks. If-Then-Else aims at taking
advantage of compiler optimization strategies, which can potentially re-arrange the
tree ensemble traversal into a more e cient procedure. The size of the resulting
code is proportional to the total number of nodes in the ensemble. This makes
it impossible to exploit successfully the instruction cache. If-Then-Else was
proven to be e cient only with small feature sets [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        QuickRank also implements the state-of-the-art VPred algorithm, proposed
by Asadi et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The goal of VPred is to reduce the control hazards of the
If-Then-Else algorithm caused by the large number of conditional branches.
A decision tree of maximum depth d is converted into a d-step traversal of an
array storing the tree's nodes. At each step, a node's predicate is tested, and,
on the basis of the test's outcome, the next element of the array to be visited
is retrieved. The output of QuickRank is a model description le in the format
required by the VPred implementation.
      </p>
      <p>The third strategy only applies to O- -MART. Recall that an oblivious
tree of depth d contains only d distinct predicates and 2d leaves, containing the
possible outcomes. In this case, the d tests are used to set a bitmask of d bits.
The integer value of the nal bitmask is then exploited to look up the value
from a vector of 2d outcomes, i.e., to select the proper leaf of the oblivious tree.
QuickRank generates a C++ plugin function implementing this scoring strategy,
which, by exploiting the properties of oblivious trees, provides more compact
data structure and cache-friendly memory access patterns.</p>
      <p>During the second step, the generated source code is compiled and linked with
the QuickRank framework. The compiled function is invoked by the framework
on each document of the given test set, and the total scoring time is measured.</p>
      <p>Evaluating the cost of scoring time of a ranking model is important in several
application scenarios, and it is receiving more attention in the IR community.
We believe that QuickRank can both provide implementation of state-of-the-art
algorithms and serve as a a fair evaluation framework.</p>
      <p>Code organization. In Figure 2 we show the class diagram of a few classes of
the QuickRank framework. We want to highlight the extensibility of the
framework to new learning algorithms. Within QuickRank, an LtR algorithm uses the
two Metric and Dataset classes.</p>
      <p>data
learning</p>
      <p>metric
Dataset</p>
      <p>LTR_Algorithm</p>
      <p>Metric</p>
      <p>MART
LambdaMART</p>
      <p>Dcg</p>
      <p>Ndcg
O-LambdaMART</p>
      <p>Tndcg</p>
      <p>Map</p>
      <p>The former implements the IR evaluation measure exploited during the
learning process. QuickRank already provides the implementation of MAP, DCG,
NDCG and Tied-NDCG. Other measures can be easily provided and
automatically used to guide the construction of the ranking model. The latter
provides access to the training, evaluation and test datasets. As mentioned above,
QuickRank already provides the implementation of GBRT, -MART and O-
MART algorithms. Additional algorithms can be included in the framework by
simply implementing a few methods (such as learn, save, load) or by
overriding existing classes. A more detailed documentation is provided at http:
//quickrank.isti.cnr.it/doxygen/index.html.</p>
      <p>Experimental assessment. We report about some scalability experiments
conducted by using the Yahoo! LETOR8 challenge Y!S1 dataset. The Y!S1 dataset is
publicly available and consists of 19;944 training queries, 2;994 validation queries
and 6;983 test queries. Each query is associated with a set (of variable size) of
candidate documents represented by vectors of 700 features. The training
sam</p>
      <sec id="sec-3-1">
        <title>8 http://learningtorankchallenge.yahoo.com</title>
        <p>ples are 473; 134 totally. Query-url pairs in the dataset are labeled with relevance
judgments ranging from 0 (irrelevant) to 4 (perfectly relevant).</p>
        <p>We present an analysis of the time needed by QuickRank to train
LambdaMART models with 1; 000 trees, each having up to 16 leaves (learning rate
equal to 0:1). E ectiveness results are not reported since they depend only on
the learning algorithm and not on its e ciency. Tests are executed on a server
equipped with two AMD OpteronTMProcessors 6276 (32 cores in total) and
128GiB of RAM. The system runs Ubuntu Server 14.04 LTS with a Linux
3.5.049-generic kernel and the GCC 4:8 compiler.</p>
        <p># Threads
We presented QuickRank, a C++ suite of e cient and e ective LtR algorithms
that allows to train high-quality ranking functions from huge training datasets.
QuickRank aims at: i) answering Tiscali industrial need for a exible and scalable
LtR solution for learning ranking models from huge training datsets; ii) providing
9 http://www.istella.it
the Information Retrieval research community with a exible, extensible and
e cient LtR framework to design LtR solutions. We presented some preliminary
results about the e ciency of QuickRank in training -MART models by using
the Yahoo! LETOR challenge dataset. As future work, we intend to include in
the framework further implementations of relevant LtR algorithms, and develop
innovative high-performance solutions addressing the e ciency of both (online)
learning and document scoring.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Asadi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lin</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>de Vries</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Runtime optimizations for tree-based machine learning models</article-title>
          .
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>26</volume>
          (
          <issue>9</issue>
          ),
          <volume>2281</volume>
          {
          <fpage>2292</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Burges</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shaked</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Renshaw</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lazier</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deeds</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hamilton</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hullender</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Learning to rank using gradient descent</article-title>
          .
          <source>In: Proc. ICML. ACM</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cambazoglu</surname>
            ,
            <given-names>B.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaragoza</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chapelle</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liao</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheng</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Degenhardt</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Early exit optimizations for additive machine learned ranking systems</article-title>
          .
          <source>In: Proc. WSDM</source>
          . pp.
          <volume>411</volume>
          {
          <fpage>420</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chapelle</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
          </string-name>
          , T.Y.:
          <article-title>Future directions in learning to rank</article-title>
          . In: Yahoo! Learning to Rank Challenge. pp.
          <volume>91</volume>
          {
          <issue>100</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Craswell</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fetterly</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Najork</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robertson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yilmaz</surname>
          </string-name>
          , E.: Microsoft Research at TREC 2009:
          <article-title>Web and Relevance Feedback Tracks</article-title>
          .
          <source>Tech. rep. (</source>
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Craswell</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robertson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaragoza</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , M.:
          <article-title>Relevance weighting for query independent evidence</article-title>
          .
          <source>In: Proc. SIGIR</source>
          . pp.
          <volume>416</volume>
          {
          <fpage>423</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Dean</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barroso</surname>
            ,
            <given-names>L.A.</given-names>
          </string-name>
          :
          <article-title>The tail at scale</article-title>
          .
          <source>Commun. ACM</source>
          <volume>56</volume>
          (
          <issue>2</issue>
          ),
          <volume>74</volume>
          {80 (Feb
          <year>2013</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/2408776.2408794
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Friedman</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          :
          <article-title>Greedy function approximation: a gradient boosting machine</article-title>
          .
          <source>Annals of Statistics</source>
          pp.
          <volume>1189</volume>
          {
          <issue>1232</issue>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>He</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hwang</surname>
            ,
            <given-names>S.w.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elnikety</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Choi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Delayed-dynamic-selective (dds) prediction for reducing extreme tail latency in web search</article-title>
          .
          <source>In: Proc. WSDM'15</source>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kohavi</surname>
          </string-name>
          , R.:
          <article-title>Bottom-up induction of oblivious read-once decision graphs</article-title>
          .
          <source>In: Proc. ECML</source>
          . pp.
          <volume>154</volume>
          {
          <fpage>169</fpage>
          . Springer (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Liu</surname>
          </string-name>
          , T.Y.:
          <article-title>Learning to rank for information retrieval</article-title>
          .
          <source>Foundations and Trends in Information Retrieval</source>
          <volume>3</volume>
          (
          <issue>3</issue>
          ),
          <volume>225</volume>
          {
          <fpage>331</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Macdonald</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>R.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ounis</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>The whens and hows of learning to rank for web search</article-title>
          .
          <source>Information Retrieval</source>
          <volume>16</volume>
          (
          <issue>5</issue>
          ),
          <volume>584</volume>
          {
          <fpage>628</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Mohan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weinberger</surname>
            ,
            <given-names>K.Q.</given-names>
          </string-name>
          :
          <article-title>Web-search ranking with initialized gradient boosted regression trees</article-title>
          . In: Yahoo! Learning to Rank Challenge. pp.
          <volume>77</volume>
          {
          <issue>89</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Robertson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaragoza</surname>
          </string-name>
          , H.:
          <article-title>The probabilistic relevance framework: Bm25 and beyond</article-title>
          .
          <source>Found. Trends Inf. Retr</source>
          .
          <volume>3</volume>
          (
          <issue>4</issue>
          ),
          <volume>333</volume>
          {389 (Apr
          <year>2009</year>
          ), http://dx.doi.org/ 10.1561/1500000019
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Segalovich</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <article-title>: Machine learning in search quality at yandex</article-title>
          .
          <source>Invited Talk</source>
          ,
          <string-name>
            <surname>SIGIR</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burges</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Svore</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gao</surname>
          </string-name>
          , J.:
          <article-title>Adapting boosting for information retrieval measures</article-title>
          .
          <source>Information Retrieval</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>