Skip to content
/ CRIS Public

Official implementation of Interest Sustainability-Aware Recommender System [ICDM'20]

Notifications You must be signed in to change notification settings

dmhyun/CRIS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Collaborative Representation Learning with Interest Sustainability

Official implementation of ICDM'20 paper Interest Sustainability-Aware Recommender System

Overview

Interest Sustainablity Prediction

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).

graph

User Preference Learning with Interest Sustainability

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.

graph

Recommendation Performance

CRIS consistently shows the best performance compared to the other baseline methods (e.g., sequential, temporal, and conventional models) on 11 real-world datasets.

graph

Major Requirements

  • Python
  • Pytorch
  • Numpy

Preprocessing Data

  1. 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.

  2. Split your data into training/validation/test data in ./data/.

python split_data.py your_decompressed_file.json
  1. Build a dataset for training a recommender syetem with using the splitted data.
python build_recdata.py generated_directory 

Training

  1. 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
  1. 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 

Citation

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}
}

About

Official implementation of Interest Sustainability-Aware Recommender System [ICDM'20]

Topics

Resources

Stars

Watchers

Forks

Languages