QuickRank

QuickRank is available under Reciprocal Public License 1.5 license.

You can get the source code of QuickRank by cloning the QuickRank GitHub repository. The GitHub repository provides installation instructions and a user guide.

We welcome comments and contribution!

Learning-to-Rank Algorithms

QuickRank is an efficient Learning to Rank toolkit providing multithreaded C++ implementation of several algorithms. QuickRank was designed and developed with efficiency in mind. The algorithms currently implemented are:

  • GBRT: J. H. Friedman. Greedy function approximation: a gradient boosting machine. Annals of Statistics, pages 1189–1232, 2001.
  • LambdaMART: Q. Wu, C. Burges, K. Svore, and J. Gao. Adapting boosting for information retrieval measures. Information Retrieval, 2010.
  • Oblivious GBRT / LambdaMART: Inspired to I. Segalovich. Machine learning in search quality at yandex. Invited Talk, ACM SIGIR, 2010.
  • CoordinateAscent: Metzler, D., Croft, W.B. Linear feature-based models for information retrieval. Information Retrieval 10(3), pages 257–274, 2007.
  • LineSearch: D. G. Luenberger. Linear and nonlinear programming. Addison Wesley, 1984.
  • RankBoost: Freund, Y., Iyer, R., Schapire, R. E., & Singer, Y. An efficient boosting algorithm for combining preferences. JMLR, 4, 933-969 (2003).
  • DART: K.V. Rashmi and R. Gilad-Bachrach. Dart: Dropouts meet multiple additive regression trees. JMLR, 38 (2015).
  • Selective Gradient Boosting: C. Lucchese, F. M. Nardini, S. Orlando, R. Perego and S. Trani. Selective Gradient Boosting for Effective Learning to Rank. ACM SIGIR, 2018. README. MODELS.

QuickRank also provides novel learning optimizations. Currently implemented optimizers are:

  • CLEAVER: C. Lucchese, F. M. Nardini, S. Orlando, R. Perego, F. Silvestri, S. Trani. Post-Learning Optimization of Tree Ensembles for Efficient Ranking. In Proc. ACM SIGIR, 2016. README. MODELS.
  • X-CLEAVER: C. Lucchese, F. M. Nardini, S. Orlando, R. Perego, F. Silvestri, S. Trani. X-CLEaVER: Learning Ranking Ensembles by Growing and Pruning Trees. ACM TIST, 2018. to appear.
  • X-DART: C. Lucchese, F. M. Nardini, S. Orlando, R. Perego and S. Trani. X-DART: Blending Dropout and Pruning for Efficient Learning to Rank. In Proc. ACM SIGIR, 2017. README.

Acknowledgements

If you use QuickRank, please acknowledge the following paper:

  • Capannini, G., Lucchese, C., Nardini, F. M., Orlando, S., Perego, R., and Tonellotto, N. Quality versus efficiency in document scoring with learning-to-rank models. Information Processing & Management, 2016. LINK.

If you use CLEAVER, please acknowledge the following paper:

  • C. Lucchese, F. M. Nardini, S. Orlando, R. Perego, F. Silvestri, S. Trani. Post-Learning Optimization of Tree Ensembles for Efficient Ranking. ACM SIGIR Conference on Research and Development in Information Retrieval, 2016. LINK.

If you use X-CLEAVER, please acknowledge the following papers:

  • C. Lucchese, F. M. Nardini, S. Orlando, R. Perego, F. Silvestri, S. Trani. Post-Learning Optimization of Tree Ensembles for Efficient Ranking. ACM SIGIR Conference on Research and Development in Information Retrieval, 2016. LINK.
  • C. Lucchese, F. M. Nardini, S. Orlando, R. Perego, F. Silvestri, S. Trani. X-CLEaVER: Learning Ranking Ensembles by Growing and Pruning Trees. ACM TIST, 2018. to appear.

If you use X-DART, please acknowledge the following paper:

  • C. Lucchese, F. M. Nardini, S. Orlando, R. Perego, and S. Trani. X-DART: Blending Dropout and Pruning for Efficient Learning to Rank. ACM SIGIR Conference on Research and Development in Information Retrieval, 2017. LINK.

If you use Selective Gradient Boosting, please acknowledge the following paper:

  • C. Lucchese, F. M. Nardini, R. Perego, S. Orlando, S. Trani. Selective Gradient Boosting for Effective Learning to Rank. ACM SIGIR Conference on Research and Development in Information Retrieval, 2018. LINK. PREPRINT.

We will be happy to know that you are using QuickRank and to acknowledge you on the QuickRank GitHub page.

Featured by QuickRank

QuickRank was used in the following papers:

  • Claudio Lucchese, Franco Maria Nardini, Raffaele Perego, Salvatore Orlando, Salvatore Trani. Selective Gradient Boosting for Effective Learning to Rank. In Proc. ACM SIGIR. 2018.
  • Claudio Lucchese, Franco Maria Nardini, Raffaele Perego, Salvatore Orlando, Fabrizio Silvestri, Salvatore Trani. X-CLEaVER: Learning Ranking Ensembles by Growing and Pruning Trees. ACM TIST, 2018. to appear.
  • Claudio Lucchese, Franco Maria Nardini, Salvatore Orlando, Raffaele Perego and Salvatore Trani. X-DART: Blending Dropouts and Pruning for Efficient Learning To Rank. In Proc. ACM SIGIR. 2017.
  • Claudio Lucchese, Cristina Ioana Muntean, Franco Maria Nardini, Raffaele Perego and Salvatore Trani. RankEval: An Evaluation and Analysis Framework for Learning-to-Rank Solutions. In Proc. ACM SIGIR. 2017.
  • Domenico Dato, Claudio Lucchese, Franco Maria Nardini, Salvatore Orlando, Raffaele Perego, Nicola Tonellotto, Rossano Venturini. Fast Ranking with Additive Ensembles of Oblivious and Non-Oblivious Regression Trees. ACM Transactions on Information Systems (TOIS), Volume 35, Issue 2, Dec. 2016.
  • Claudio Lucchese Andrea Gigli, Franco Maria Nardini, and Raffaele Perego. Fast Feature Selection for Learning to Rank. In Proc. ACM ICTIR. 2016.
  • Claudio Lucchese, Franco Maria Nardini, Salvatore Orlando, and Gabriele Tolomei. Learning to Rank User Queries to Detect Search Tasks. In Proc. ACM ICTIR. 2016.
  • Claudio Lucchese, Franco Maria Nardini, Salvatore Orlando, Raffaele Perego, Nicola Tonellotto, and Rossano Venturini.Exploiting CPU SIMD Extensions to Speed-up Document Scoring with Tree Ensembles. In Proc. ACM SIGIR. 2016.
  • Claudio Lucchese, Franco Maria Nardini, Salvatore Orlando, Raffaele Perego, Fabrizio Silvestri, Salvatore Trani Post-Learning Optimization of Tree Ensembles for Efficient Ranking. In Proc. ACM SIGIR. 2016.
  • Claudio Lucchese, Franco Maria Nardini, Salvatore Orlando, Raffaele Perego, Nicola Tonellotto, Gabriele Capannini. Quality versus Efficiency in Document Scoring with Learning-to-Rank Models.  Information Processing & Management (Elsevier). 2016.
  • Claudio Lucchese, Franco Maria Nardini, Salvatore Orlando, Raffaele Perego, Nicola Tonellotto, Rossano Venturini. QuickScorer: a Fast Algorithm to Rank Documents with Additive Ensembles of Regression Trees. In Proc. ACM SIGIR. 2015. BEST PAPER AWARD.
  • Gabriele Capannini, Domenico Dato, Claudio Lucchese, Monica Mori, Franco Maria Nardini, Salvatore Orlando, Raffaele Perego, Nicola Tonellotto. QuickRank: a C++ Suite of Learning to Rank Algorithms. In Proc. IIR. 2105.

Developers

QuickRank has been developed by a highly-motivated team of researchers with the help of smart students. Members of the team are:

  • Claudio Lucchese (since Sept. 2014).
  • Franco Maria Nardini (since Sept. 2014).
  • Nicola Tonellotto (since Sept. 2014).
  • Salvatore Trani (since Feb. 2016).
  • Tommaso Papini (https://github.com/oddlord) and Gabriele Bani (https://github.com/brnibani) (Implementation of RankBoost – September 2015)
  • Andrea Battistini and Chiara Pierucci (Implementation of CoordinateAscent – March 2015).
  • Gabriele Capannini (v0.0. June 2014 – Sept. 2014).