Official implementation of ICDM'20 paper Interest Sustainability-Aware Recommender System
We first predict the interest sustainability of each item, that is, how likely each item will be consumed in the future. Specifically, the goal is to predict whether each item, which appears in the time span of previous data, will be consumed in the future (i.e., in the time span of recent data).
Then, our goal is to make users closer to the items with high interest sustainability scores in the representation space than those with low interest sustainability scores. Furthermore, We improve the method with prototypes to relieve the conflicts between the training objectives.
CRIS consistently shows the best performance compared to the other baseline methods (e.g., sequential, temporal, and conventional models) on 11 real-world datasets.
- Python
- Pytorch
- Numpy
-
Download user-item consumption data (and extract the compressed file) into
./data/
.❗ Please make sure your data in the same JSON format of Amazon data.
-
Split your data into training/validation/test data in
./data/
.
python split_data.py your_decompressed_file.json
- Build a dataset for training a recommender syetem with using the splitted data.
python build_recdata.py generated_directory
- Train a BILSTM network to obtain Interest sustainability score (ISS) for each item.
python train_interest.py --dataset your_dataset --period 16 --binsize 8 --pos_weight 1e-2 --hidden_dim 64
- Train the proposed recommender system (CRIS).
python train_recommender.py --dataset your_dataset --lamb 0.2 --gamma 1.6 --K 50 --margin 0.6 --numneg 10
If you use this repository for your work, please consider citing our paper Interest Sustainability-Aware Recommender System:
@inproceedings{hyun2020interest,
title={Interest Sustainability-Aware Recommender System},
author={Hyun, Dongmin and Cho, Junsu and Park, Chanyoung and Yu, Hwanjo},
booktitle={2020 IEEE International Conference on Data Mining (ICDM)},
pages={192--201},
year={2020},
organization={IEEE}
}