This repository includes the code and data associated to our UMAP '24 paper Integrating sentiment features in factorization machines: Experiments on music recommender systems. Dataset and pretrained models have been uploaded separately due to size constraints: dataset and pretrained models (if any of these links do not work, contact alejandro.bellogin@uam.es
, since they may have expired).
-
Set up a Conda environment with all the necessary libraries:
- Create environment:
conda env create -f environment.yml
- Activate environment:
conda activate lastfm_sentiment_umap_24
- If CUDA (GPU) isn't available at first, consider rebooting the system
- Create environment:
-
Train and evaluate models with the preprocessed dataset in dataset/lastfm_recbole-dataset.pth:
python3 recbole_run.py --dataset lastfm_recbole --config_files config/generic.yaml -m [Model]
- Add
--save
option to save the model in "saved/" as .pth file
-
Train and evaluate models by preprocessing the dataset from scratch (takes about ~8GB RAM):
python3 recbole_run.py --dataset lastfm_recbole --config_files config/generic_unprocessed.yaml -m [Model]
-
Evaluate saved models:
python3 recbole_run.py --dataset lastfm_recbole --config_files config/generic.yaml --evaluate_model saved/[Saved Model].pth
- Add
--evaluation_mode [full | uniN | popN]
to specify evaluation method, default is uni100 - Some pretrained models are included, trained with the following embeddings:
- v (valence)
- a (arousal)
- d (dominance)
- stsc (sentiment ratio)
If you use our source code, dataset, or experiments for your research or development, please cite the following paper:
@inproceedings{wang2024umap,
title={Integrating sentiment features in factorization machines: Experiments on music recommender systems},
author={Javier Wang and Alejandro Bellogín and Iván Cantador},
booktitle={{UMAP} '24: 32nd {ACM} Conference on User Modeling, Adaptation and Personalization, Cagliari, Italy, July 1 - 4, 2024},
year={2024}
}