ALDI is a state-of-the-art framework for cold-start recommendation. It addresses the three difference (i.e., rating distribution difference, ranking difference and identification difference) between the warm model and cold model in a general knowledge distillation-based framework.
- Run
python main.py --embed_meth bprmf --dataset CiteULike --model ALDI
.
-
Pre-process the dataset
- Go the
data
directory bycd data/
. - Split the dataset by
python split.py --dataset CiteULike
. - Formulate the data and by
python convert.py --dataset CiteULike
. The processed results will be stored in$root_path/data/$dataset_name/
- Go the
-
Pre-train warm model.
- Go back to the root directory.
- Go to the the directory of warm model by
cd warm_model/
. - Pre-train the warm model Matrix Factorization by running
python bprmf.py --dataset CiteULike
. The trained embeddings will be also stored in$root_path/data/$dataset_name/
-
Train and evaluate cold model.
- Go back to the root directory.
- Train and evaluate ALDI by running
python main.py --embed_meth bprmf --dataset CiteULike --model ALDI
.