dmhyun / PERIS

Official code of Beyond Learning from Next Item: Sequential Recommendation via Personalized Interest Sustainability [CIKM'22]

Home Page:https://dl.acm.org/doi/abs/10.1145/3511808.3557415

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Beyond Learning from Next Item: Sequential Recommendation via Personalized Interest Sustainability

Official implementation of CIKM'22 paper

Overview

Sequential Recommender Systems

There have been two groups of existing sequential models: user- and item-centric models. This work proposes a recommender system taking advantages of the models in both categories.

graph

Personalized Interest Sustainability with supplementaion schemes

We formulate a task to predict which items each user will consume in the recent period of the training time based on users' consumption history. We then devise simple yet effective schemes to supplement users’ sparse consumption history in both intrinsic and extrinsic manners.

graph

Recommendation Performance

PERIS significantly outperforms baseline models including general, user-centric, and item-centric sequential models on 11 real-world datasets. This result indicates the effectiveness of the personalized interest sustainability.

graph

Major Requirements

  • Python
  • Pytorch
  • Numpy

Preprocessing Data

  1. Download user-item consumption data (and extract the compressed file) into ./data/.

    • Amazon
      [Example] wget http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/ratings_Cell_Phones_and_Accessories.csv
    • Yelp
    • Google Maps
    • Other data you want

    Please make sure your data in the same csv format of Amazon data.

    • For Yelp and Google datasets, run the following code to transform the data format.
    python preprocess_yelp.py YELP_DATA.json
    python preprocess_google.py reviews.clean.json
  2. Split your data into training/validation/test data in ./data/.

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

Training

Train a recommender system with a model name.

python train.py --model_name peris --dataset your_dataset --learning_rate 1e-3 --lamb 0.5 --mu 0.3 --K 128 

Available models

Model Paper Conference
peris Beyond Learning from Next Item: Sequential Recommendation via Personalized Interest Sustainability CIKM'22
lsan Lightweight Self-Attentive Sequential Recommendation CIKM'21
simplex SimpleX: A Simple and Strong Baseline for Collaborative Filtering CIKM'21

Citation

If you use this repository for your work, please consider citing our paper:

@inproceedings{hyun2022beyond,
  title={Beyond Learning from Next Item: Sequential Recommendation via Personalized Interest Sustainability},
  author={Hyun, Dongmin and Park, Chanyoung and Cho, Junsu and Yu, Hwanjo},
  booktitle={Proceedings of the 31st ACM International Conference on Information \& Knowledge Management},
  pages={812--821},
  year={2022}
}

About

Official code of Beyond Learning from Next Item: Sequential Recommendation via Personalized Interest Sustainability [CIKM'22]

https://dl.acm.org/doi/abs/10.1145/3511808.3557415


Languages

Language:Python 99.3%Language:Shell 0.7%