/Neural-Attentive-Session-Based-Recommendation-PyTorch

A PyTorch implementation of Neural Attentive Session Based Recommendation (NARM)

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Neural-Attentive-Session-Based-Recommendation-PyTorch

A PyTorch implementation of the NARM model in Neural Attentive Session Based Recommendation (Li, Jing, et al. "Neural attentive session-based recommendation." Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. ACM, 2017).

architecture

Usage

  1. Install required packages from requirements.txt file.
pip install -r requirements.txt
  1. Download datasets used in the paper: YOOCHOOSE and DIGINETICA. Put the two specific files named train-item-views.csv and yoochoose-clicks.dat into the folder datasets/

  2. Change to datasets fold and run preprocess.py script to preprocess datasets. Two directories named after dataset should be generated under datasets/.

python preprocess.py --dataset diginetica
python preprocess.py --dataset yoochoose
  1. Run main.py file to train the model. You can configure some training parameters through the command line.
python main.py
  1. Run main.py file to test the model.
python main.py --test