/scalarank

Scala library for learning to rank algorithms

Primary LanguageScalaMIT LicenseMIT

ScalaRank

Build Status Coverage Status

⚠️ This library is no longer maintained and the repository has been archived

A modern scala library providing efficient implementations of offline learning to rank algorithms. Under the hood we use nd4j and deeplearning4j for our scientific computing and neural network needs.

Algorithms

Included algorithms are:

  • Oracle: An oracle ranker that predicts perfectly but requires relevance labels during ranking.
  • Linear Regression: A linear regression ranker that ranks by predicting scalar values.
  • RankNet: A neural network with a cost function that minimizes number of wrong inversions.

The following algorithms are currently in development:

  • LambdaRank: An extension to RankNet that optimizes non-smooth list-wise metrics directly.
  • LambdaMART: Variant of LambdaRank that uses boosted regression trees instead of neural networks.