This is the 0.5.1 release of TensorFlow Ranking. We provide new ranking losses, metrics, layers, and pipeline based on the latest research progresses in Learning to Rank and Unbiased Ranking. We also update the API reference on [www.tensorflow.org/ranking](https://www.tensorflow.org/ranking) and on Github [docs](http://www.github.com/tensorflow/ranking/tree/master/docs). The new changes include:
- Ranking losses added in [tfr.keras.losses](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/losses.py):
- [PairwiseMSELoss](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/losses.py#L505): Implement a pairwise mean squared error loss.
- [OrdinalLoss](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/losses.py#L1341): Implement a pointwise multi-head ordinal regression on ordered multilabel.
- [MixtureEMLoss](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/losses.py#L1159): Implement a listwise Expectation-Maximization algorithm on a mixture model, introduced in [Revisiting two tower models for unbiased learning to rank](https://research.google/pubs/pub51296/).
- Lambda weights for Lambda losses added in [tfr.keras.losses](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/losses.py):
- [NDCGLambdaWeightV2](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/losses.py#L145): Implement an NDCG-based lambda weight for lambda losses, introduced in [On Optimizing Top-K Metrics for Neural Ranking Models](https://research.google/pubs/pub51345/).
- [LabelDiffLambdaWeight](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/losses.py#L108): Implement a lambda weight based on the absolute difference of two labels.
- Ranking metric added in [tfr.keras.metrics](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/metrics.py):
- [HitsMetric](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/metrics.py#L268): Implement Hitsk metric.
- Ranking layer added in [tfr.keras.layers](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/layers.py):
- [Bilinear](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/layers.py#L806): A layer to implement a bilinear interaction of two vectors, used in [Revisiting two tower models for unbiased learning to rank](https://research.google/pubs/pub51296/).
- Ranking pipeline added in [tfr.keras.pipeline](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/pipeline.py):
- [MultiObjectivePipeline](https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/keras/pipeline.py#L827): A pipeline to apply multi-objective losses, used in [Scale Calibration of Deep Ranking Models](https://research.google/pubs/pub51402/).
- API reference updated on [www.tensorflow.org/ranking](https://www.tensorflow.org/ranking) and consistently on Github [docs](http://www.github.com/tensorflow/ranking/tree/master/docs).
Dependencies: The following packages will be installed as required when installing `tensorflow-ranking`.