/fpdgd-ictir2021

Implementation and results for ICTIR2021 paper: Effective and Privacy-preserving Federated Online Learning to Rank

Primary LanguagePythonMIT LicenseMIT

Effective and Privacy-preserving Federated Online Learning to Rank

This repo contains the code used to run experiments for the paper 'Effective and Privacy-preserving Federated Online Learning to Rank', accepted by ICTIR 2021.

Here are few steps to reproduce our experiments.

Setup python environment

Create a conda environment for running this code using the code below.

conda create --name federated python=3.6
source activate federated
# assuming you want to checkout the repo in the current directory
git clone https://github.com/ielab/fpdgd-ictir2021.git && cd fpdgd-ictir2021
pip install -r requirements.txt 

Download datasets

In the paper, two datasets are used, MQ2007, and MSLR-WEB10K.

  • MQ2007 can be downloaded from the Microsoft Research website.
  • MSLR-WEB10K can be downloaded from the Microsoft Research website.

After downloading data files, they have to be unpacked within the ./datasets folder.

Reproducing results

To reproduce our experiments result, set up corresponding parameters and run file ./runs/run_fpdgd.py

python run_fpdgd.py

or

sh run_fpdgd.sh

To reproduce the FOLtR_ES baseline, check FOLtR-ES. To reproduce the PDGD baseline, check PDGD.

Citation

If you use this code to produce results for your scientific publication, or if you share a copy or fork, please refer to our ICTIR2021 paper:

@inproceedings{wang2021effective,
  title={Effective and Privacy-preserving Federated Online Learning to Rank},
  author={Wang, Shuyi and Liu, Bing and Zhuang, Shengyao and Zuccon, Guido},
  booktitle={Proceedings of the 2021 ACM SIGIR on International Conference on Theory of Information Retrieval},
  year={2021},
  organization={ACM}
}