PERIS
Official code of Beyond Learning from Next Item: Sequential Recommendation via Personalized Interest Sustainability [CIKM'22]
Install / Use
/learn @dmhyun/PERISREADME
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.
<p align="center"><img src="images/intro_comparison.png" alt="graph" width="45%"></p>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.
<p align="center"><img src="images/model.png" alt="graph" width="85%"></p>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.
<p align="center"><img src="images/performance.png" alt="graph" width="65%"></p>Major Requirements
- Python
- Pytorch
- Numpy
Preprocessing Data
-
Download user-item consumption data (and extract the compressed file) into
./data/.- Amazon <pre>[Example] <code>wget http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/ratings_Cell_Phones_and_Accessories.csv</code></pre>
- Yelp
- Google Maps
- Other data you want
:exclamation: 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.
-
Split your data into training/validation/test data in
./data/.
- Build a dataset for training a recommender syetem with using the splitted data.
Training
Train a recommender system with a model name.
<pre><code>python train.py --model_name peris --dataset your_dataset --learning_rate 1e-3 --lamb 0.5 --mu 0.3 --K 128 </code></pre>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:
<pre><code>@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} } </code></pre>Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
openclaw-plugin-loom
Loom Learning Graph Skill This skill guides agents on how to use the Loom plugin to build and expand a learning graph over time. Purpose - Help users navigate learning paths (e.g., Nix, German)
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
sec-edgar-agentkit
10AI agent toolkit for accessing and analyzing SEC EDGAR filing data. Build intelligent agents with LangChain, MCP-use, Gradio, Dify, and smolagents to analyze financial statements, insider trading, and company filings.
