NRT (Neural Rating and Tips generation)

January 24, 2025 ยท View on GitHub

PyTorch re-implementation without review prediction task (original implementation in Theano)

Paper

A small ecosystem for Recommender Systems-based Natural Language Generation is available at NLG4RS!

Datasets to download

  • TripAdvisor Hong Kong
  • Amazon Movies & TV
  • Yelp 2019

For those who are interested in how to obtain (feature, opinion, template, sentiment) quadruples, please refer to Sentires-Guide.

Usage

Below is an example of how to run NRT.

python -u main.py \
--data_path ../TripAdvisor/reviews.pickle \
--index_dir ../TripAdvisor/1/ \
--cuda \
--checkpoint ./tripadvisor/ >> tripadvisor.log

Code dependencies

  • Python 3.6
  • PyTorch 1.6

Friendly reminders

  • If you want to equip the model with Byte Pair Encoding (BPE), please refer to PEPLER.
  • If you want to add the review prediction task back, please refer to the context prediction task in PETER.
  • If you want to change back to the original settings as reported in the paper (which would deteriorate the performance), please comment out line 92 and uncomment out line 93 in main.py.

Citations

If you find this re-implementation useful, please consider citing our papers.

@article{TOIS23-PEPLER,
	title={Personalized Prompt Learning for Explainable Recommendation},
	author={Li, Lei and Zhang, Yongfeng and Chen, Li},
	journal={ACM Transactions on Information Systems (TOIS)},
	year={2023}
}
@inproceedings{ACL21-PETER,
	title={Personalized Transformer for Explainable Recommendation},
	author={Li, Lei and Zhang, Yongfeng and Chen, Li},
	booktitle={ACL},
	year={2021}
}
@inproceedings{CIKM20-NETE,
	title={Generate Neural Template Explanations for Recommendation},
	author={Li, Lei and Zhang, Yongfeng and Chen, Li},
	booktitle={CIKM},
	year={2020}
}
@inproceedings{WWW20-NETE,
	title={Towards Controllable Explanation Generation for Recommender Systems via Neural Template},
	author={Li, Lei and Chen, Li and Zhang, Yongfeng},
	booktitle={WWW Demo},
	year={2020}
}