Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
 
 
exp
 
 
ext
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Joint Optimization of Cascade Ranking Models

Implementation of the cascade models used in the paper Joint Optimization of Cascade Ranking Models, WSDM 19.

L. Gallagher and R-C. Chen and R. Blanco and J. S. Culpepper. 2019. Joint Optimization of Cascade Ranking Models. In Proc. WSDM. 15-23. DOI: https://doi.org/10.1145/3289600.3290986

Reproduce Instructions

  1. Make sure you have installed the dependencies:

    • g++ or clang++
    • cmake 2.8+
    • Python 3.3+
    • MSLR-WEB10K
    • Yahoo LTR Set 1
  2. Clone the repo:

    $ git clone https://github.com/rmit-ir/joint-cascade-ranking
    $ cd joint-cascade-ranking
    $ git submodule update --init --recursive
  3. Build/Install Dependencies

    Build CEGB (note CEGB was added to LightGBM core after the publication of this work):

    $ cd ext/cegb
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
    $ cd ../../..

    Build evaluation tools:

    $ make -C eval

    Install Python dependencies:

    $ pip install -r requirements.txt
    $ pip install -e ext/cegb/python-package
  4. Configure Datasets

    Create a local.mk file with the path to MSLR and Yahoo datasets:

    $ >local.mk
    $ echo "YAHOO_PATH=/path/to/yahoo" >> local.mk
    $ echo "MSLR_PATH=/path/to/mslr" >> local.mk

    Link to datasets and create qrels:

    $ make -C exp/yahoo
    $ make -C exp/mslr
  5. Run baselines

    Yahoo:

    $ ./exp/yahoo/baseline-gbrt.sh
    $ ./exp/yahoo/baseline-cegb.sh

    MSLR:

    $ ./exp/mslr/baseline-gbrt.sh
    $ ./exp/mslr/baseline-cegb.sh
  6. Run joint cascade

    $ ./exp/yahoo/reproduce.sh
    $ ./exp/mslr/reproduce.sh

About

Joint Optimization of Cascade Ranking Models (WSDM 19)

Topics

Resources

License

Releases

No releases published

Packages

No packages published