SimRec: Mitigating the Cold-Start Problem in Sequential Recommendation by Integrating Item Similarity
This repository is the official implementation of the paper "SimRec: Mitigating the Cold-Start Problem in Sequential Recommendation by Integrating Item Similarity". Access the full paper here: https://www.amazon.science/publications/simrec-mitigating-the-cold-start-problem-in-sequential-recommendation-by-integrating-item-similarity
data_preprocessing contains the code for generating the datasets.
This includes 2 steps:
- Generating the dataset, by using the jupyter notebook
preprocessing_data.ipynb
that can be found in each sub-directory. - Calcualting the similarity scores using the jupyter notebook
calculate_similarity_scores.ipynb
After you create the dataset(s) you can move to training the model.
SimRec contains the code for training SimRec on the generated datasets.
To run SimRec:
cd SimRec
Train the model on Beauty dataset:
bash SimRec/scripts/Beauty/train.sh
Train the model on Tools dataset:
bash SimRec/scripts/Tools/train.sh
Train the model on Pet Supplies dataset:
bash SimRec/scripts/PetSupplies/train.sh
Train the model on Home & Kitchen dataset:
bash SimRec/scripts/HomeKitchen/train.sh
Train the model on ML-1M dataset:
bash SimRec/scripts/ML-1M/train.sh
Train the model on Steam dataset:
bash SimRec/scripts/Steam/train.sh
Note that the implementation of SimRec is based on SASRec.pytorch repo.
pip install -r requirements
In general, all experiments can run on either GPU or CPU.
This project is licensed under the Apache-2.0 License.