This repository is the official implementation of the paper (https://openreview.net/pdf?id=tRljM2Jc14)
Nhu-Thuat Tran and Hady W. Lauw. 2025. Optimal Transport Alignment of User Preferences from Ratings and Texts. The 41st Conference on Uncertainty in Artificial Intelligence (UAI'2025), Rio de Janeiro, Brazil, July 21-25, 2025.
- Anaconda: 4.12.0
- Python: 3.7.6
- OS: MacOS
To create environment
conda create --prefix ./bandvae python=3.7.6 -y
Then activate environment
conda activate ./bandvae
To install requirements
pip install -r requirements.txt
-
Create a YAML config files under
configs
folder as samples. -
Prepare
run.sh
file as follows
python run_bandvae.py --dataset <dataset_name> --config_file <your_config_file> --device_id <IDs of GPU machine>
- To run training and evaluation
bash run.sh
- After training, results are stored in
./outputs/results/<dataset>
We search the hyper-parameters for BANDVAE as following (the number of rating and text interest factors is set to default value 4
following baselines).
For simplicity, we first search the hyper-parameters for rating encoder only, which is equivalent to search hyper-parameters for baselines such as MacridVAE, VALID. Other hyper-parameters such as dropout, learning rate, embedding size, etc. are set to default values (same as other baselines) for fair comparison.
layers
:[200, 300, 600]
num_rating_iters
:1, 2, 3, 4
tau
:0.08, 0.1, 0.15, 0.2
tau_dec
:0.08, 0.1, 0.15, 0.2
rating_anneal_cap
:0.1, 0.2, 0.5, 1
rating_total_anneal_steps
:1000, 5000, 10000, 20000
Next, we search hyper-parameters for text encoder and optimal transport module to train the whole BandVAE model.
num_rating_iters
:1, 2, 3
(after tuning, we found setting this to1
leads to better performance)text_anneal_cap
:0.1, 0.2, 0.5, 1
text_total_anneal_steps
:1000, 5000, 10000, 20000
(These two can be set to the same values of rating encoder to simplify hyper-parameter tuning. The performance might be data-dependent).
sinkhorn_eps
: (Equation 3) as presented in Table 3 in the paper
lambda_reg
: (line 13, Algorithm 2) as presented in Figure 6lambda_text
: (line 13, Algorithm 2) as presented in Figure 7
If you find our work useful for your research, please cite our paper as
@inproceedings{BandVAE,
title={Optimal Transport Alignment of User Preferences from Ratings and Texts},
author={Nhu-Thuat Tran and Hady W. Lauw},
booktitle={The 41st Conference on Uncertainty in Artificial Intelligence},
year={2025},
url={https://openreview.net/forum?id=tRljM2Jc14}
}