This is the pytorch implementation of this paper Bundle MCR: Towards Conversational Bundle Recommendation.
Zhankui He, Handong Zhao, Tong Yu, Sungchul Kim, Fan Du, Julian McAuley. 16th ACM Conference on Recommender Systems (RecSys '22). Oral.
NOTE: The details of all dataset processing (and more information) are in Appendix.pdf
.
We use python 3.6 and other python dependencies are listed in requirements.txt
, you can install them with pip install -r requirements.txt
.
Offline Pre-Training: Use bash scripts/train_offline.sh ${device_id} ${seed}
, where ${device_id}
is used to specify your GPU id, and ${seed}
is the random seed you assign. For example:
bash scripts/train_offline.sh 0 0
Online Fine-Tuning: Use bash scripts/train_online.sh ${device_id} ${seed} ${pre_trained_model_path}
. The explanation of arguments are as the same as step 1, except for ${pre_trained_model_path}
, which is the *.pt
model path to load as pre-trained Bunt for online fine-tuning, which can be found in checkpoints
folder by default. For example:
bash scripts/train_online.sh 0 0 checkpoints/steam/model_1.pt
python tools/results.py ${ckpt_path}
, where ${ckpt_path}
is the path of your experiment folder, such as checkpoints/steam
.Steam
dataset as an example)steam
folder, cd raw/
;python 0_data_splitting.py
python 1_item_attr.py
;python 2_item_cate.py
.Someone encountered the issues of downloading datasets from Git LFS, therefore we also upload the experimental datasets (raw
, processed
and related pre-processing scripts) to Google Drive. Please check this link to download those datasets.
Please cite our paper if using this code, and feel free to contact zhh004@eng.ucsd.edu if any questions.
@inproceedings{he22bundle,
title = "Bundle MCR: Towards conversational bundle recommendation",
author = "Zhankui He and Handong Zhao and Tong Yu and Sungchul Kim and Fan Du and Julian McAuley",
year = "2022",
booktitle = "RecSys"
}