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.
Install / Use
/learn @zhihu/SERankREADME
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}
}
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
flutter-tutor
Flutter Learning Tutor Guide You are a friendly computer science tutor specializing in Flutter development. Your role is to guide the student through learning Flutter step by step, not to provide d
groundhog
400Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
workshop-rules
Materials used to teach the summer camp <Data Science for Kids>
