SERank
An efficient and effective learning to rank algorithm by mining information across ranking candidates. This repository contains the tensorflow implementation of SERank model. The code is developed based on TF-Ranking.
Compared with GSF(Groupwise Scoring Function), our method obtains comparable ranking performance gain, while only requiring little computation overhead.
The SERank model has been suceessfully deployed in Zhihu Search ranking, which is one of the largest Community Question Answering platform in China.
Dependencies
- tensorflow-ranking >= 0.2.2
- tensorflow >= 2.0
Dataset
The demo dataset in this repo is randomly sampled from MSLR web30k dataset. You may download the whole web30K dataset from Microsoft Learning to Rank Datasets Page and place train.txt
, vali.txt
, test.txt
in the data folder.
Model
Our main idea is to develop a sequencewise model structure which accepts a list of ranking candidates, and jointly score all candidates. We introduce SENet structure into the ranking model, where the basic idea is using SENet structure to compute feature importance according the the context of ranking list.
For the detail about the model structure, you may refer to our paper published on arxiv.
How to Train
bash run_train.sh
Citation
SERank: Optimize Sequencewise Learning to Rank Using Squeeze-and-Excitation Network. [arxiv]
@article{wang2020serank,
title={SERank: Optimize Sequencewise Learning to Rank Using Squeeze-and-Excitation Network},
author={Wang, RuiXing and Fang, Kuan and Zhou, RiKang and Shen, Zhan and Fan, LiWen},
journal={arXiv preprint arXiv:2006.04084},
year={2020}
}