This reproducibility package was prepared for the paper titled "Are we really making much progress? An analysis of intent-aware recommendation models" and submitted to the SIGIR'25. The results reported in this paper were achieved with the help of the codes, which were shared by the original authors of the selected articles. For the implementation of baseline models, we utilized the session-rec and RecSys2019_DeepLearning_Evaluation frameworks. These frameworks include the state-of-the-art baseline models for session based and top-n recommender systems. More information about the RecSys2019_DeepLearning_Evaluation frameworks can be found by following the provided link.
- Disentangled Graph Collaborative Filtering (SIGIR'20)
- Learning Intents behind Interactions with Knowledge Graph for Recommendation (WWW'21)
- Intent Disentanglement and Feature Self-Supervision for Novel Recommendation (Journal: IEEE Transactions on Knowledge and Data Engineering'22 - IF: 8.9)
- Disentangled Contrastive Collaborative Filtering (SIGIR'23)
- Exploring the Individuality and Collectivity of Intents behind Interactions for Graph Collaborative Filtering (SIGIR'24)
- Anaconda 4.X (Python 3.8 or higher)
- numpy
- pandas
- torch
- torchvision
- torch_geometric
- pyg_lib
- torch-scatter
- torch-sparse
- torch-cluster
- torch-spline-conv
- prettytable
- python-dateutil
- nltk
- scipy
- pytz
- certifi
- pyyaml
- scikit-learn
- six
- psutil
- pympler
- Scikit-optimize
- tables
- scikit-optimize
- tqdm
- dill
- numba
This is how the framework can be downloaded and configured to run the experiments
- Download and install Docker from https://www.docker.com/
- Run the following command to "pull Docker Image" from Docker Hub:
docker pull shefai/intent_aware_recomm_systems
- Clone the GitHub repository by using the link:
https://github.com/Faisalse/IntentAwareRS.git
- Move into the IntentAwareRS directory
- Run the command to mount the current directory IntentAwareRS to the docker container named as IntentAwareRS_container:
docker run --name IntentAwareRS_container -it -v "$(pwd):/IntentAwareRS" -it shefai/IntentAwareRS
. If you have the support of CUDA-capable GPUs then run the following command to attach GPUs with the container:docker run --name IntentAwareRS_container -it --gpus all -v "$(pwd):/IntentAwareRS" -it shefai/IntentAwareRS
- If you are already inside the runing container, run the command to navigate to the mounted directory IntentAwareRS:
cd /IntentAwareRS
otherwise starts the "IntentAwareRS_container"
- Download Anaconda from https://www.anaconda.com/ and install it
- Clone the GitHub repository by using this link:
https://github.com/Faisalse/IntentAwareRS.git
- Open the Anaconda command prompt
- Move into the IntentAwareRS directory
- Run this command to create virtual environment:
conda create --name IntentAwareRS_env python=3.8
- Run this command to activate the virtual environment:
conda activate IntentAwareRS_env
- Run this command to install the required libraries for CPU:
pip install -r requirements_cpu.txt
. However, if you have support of CUDA-capable GPUs, then run this command to install the required libraries to run the experiments on GPU:pip install -r requirements_gpu.txt
- Run this command to reproduce the experiments for the KGIN and baseline models on the lastFm dataset:
python run_experiments_for_KGIN_baselines_algorithms.py --dataset lastFm
- Run this command to reproduce the experiments for the KGIN and baseline models on the alibabaFashion dataset:
python run_experiments_for_KGIN_baselines_algorithms.py --dataset alibabaFashion
- Run this command to reproduce the experiments for the KGIN and baseline models on the amazonBook dataset:
python run_experiments_for_KGIN_baselines_algorithms.py --dataset amazonBook
- Run this command to reproduce the experiments for the IDS4NR_NCF and baseline models on the MovieLens dataset:
python run_experiments_IDS4NR_baselines_algorithms.py --dataset MovieLens --model NCF
- Run this command to reproduce the experiments for the IDS4NR_NCF and baseline models on the Beauty dataset:
python run_experiments_IDS4NR_baselines_algorithms.py --dataset Beauty --model NCF
- Run this command to reproduce the experiments for the IDS4NR_NCF and baseline models on the Music dataset:
python run_experiments_IDS4NR_baselines_algorithms.py --dataset Music --model NCF
- Run this command to reproduce the experiments for the IDS4NR_LFM and baseline models on the MovieLens dataset:
python run_experiments_IDS4NR_baselines_algorithms.py --dataset MovieLens --model LFM
- Run this command to reproduce the experiments for the IDS4NR_LFM and baseline models on the Beauty dataset:
python run_experiments_IDS4NR_baselines_algorithms.py --dataset Beauty --model LFM
- Run this command to reproduce the experiments for the IDS4NR_LFM and baseline models on the Music dataset:
python run_experiments_IDS4NR_baselines_algorithms.py --dataset Music --model LFM
- Run this command to reproduce the experiments for the DGCF on the Yelp2018 dataset:
python run_experiments_for_DGCF_algorithm.py --dataset yelp2018
- Run this command to reproduce the experiments for the baseline models on the Yelp2018 dataset:
python run_experiments_DGCF_baseline_algorithms.py --dataset yelp2018
- Run this command to reproduce the experiments for the DGCF on the Gowalla dataset:
python run_experiments_for_DGCF_algorithm.py --dataset gowalla
- Run this command to reproduce the experiments for the baseline models on the Gowalla dataset:
python run_experiments_DGCF_baseline_algorithms.py --dataset gowalla
- Run this command to reproduce the experiments for the DGCF on the Amazon-book dataset:
python run_experiments_for_DGCF_algorithm.py --dataset amazonbook
- Run this command to reproduce the experiments for the baseline models on the Amazon-book dataset:
python run_experiments_DGCF_baseline_algorithms.py --dataset amazonbook
-
Note: The DGCF was implemented using TensorFlow 1.14, which does not support current versions of Python. Therefore, we provide a separate installation guide to run the experiments for DGCF model
- Download Anaconda from https://www.anaconda.com/ and install it
- Clone the GitHub repository by using this link:
https://github.com/Faisalse/IntentAwareRS.git
- Open the Anaconda command prompt
- Move into the IntentAwareRS directory
- Run this command to create virtual environment:
conda create --name DGCF_env python=3.6
- Run this command to activate the virtual environment:
conda activate DGCF_env
- Run this command to install the required libraries for CPU:
pip install -r requirements_dgcf.txt