Official Code Framework of the paper "A Ranking Optimization Approach to Latent Linear Critiquing in Conversational Recommender Systems"
If you are interested in building up your research on this work, please cite:
@inproceedings{Li:recsys20,
author = {Hanze Li and Scott Sanner and Kai Luo and Ga Wu},
title = {A Ranking Optimization Approach to Latent Linear Critiquing in Conversational Recommender System},
booktitle = {Proceedings of the 14th International {ACM} Conference on Recommender Systems {(RecSys-20)}},
address = {Online},
year = {2020},
url_paper = {https://doi.org/10.1145/3383313.3412240}
}
- Ranking-based LLC
- Yelp,
- Beer Advocate,
We don't have rights to release the datasets. Please ask permission from Professor Julian McAuley.
Please refer to the preprocess
folder for preprocessing raw datasets steps.
Please refer to https://github.com/k9luo/LatentLinearCritiquingforConvRecSys for previous codebase for Latent Liear Critiquing.
This repo adapts PLRec implementation from NCE-PLRec repo. The full version of the recommender system could be found in [https://github.com/wuga214/NCE_Projected_LRec]
Keyphrases we used are not necessarily the best. If you are interested in how we extracted those keyphrases, please refer to the preprocess
folder. If you are interested in what keyphrases we extracted, please refer to the data
folder.
We use Gurobi Optimizer to train our LP Objectives, please see usage in website.
Note: change --data_dir and --dataset_name for different dataset, change --topk for different number of top-K (K = 100 by default) rated items during optimization, change --lamb for different regularization parameter in equation(12).
python reproduce_critiquing.py --data_dir "data/yelp/" --dataset_name "yelp" --save_path "test_result/beer/llc_rank_topk10_lamb10_diff.csv" --topk 10 --lamb 10 --keyphrase_selection_method diff
python tuning_experiment.py --data_dir "data/beer/" --dataset_name "beer" --save_path "tuning_lambda/beer/"