Skip to content

PreferredAI/BANDVAE

Repository files navigation

Optimal Transport Alignment of User Preferences from Ratings and Texts

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.

Environments

  • 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

Requirments

To install requirements

pip install -r requirements.txt

Training and Evaluation

  1. Create a YAML config files under configs folder as samples.

  2. Prepare run.sh file as follows

python run_bandvae.py --dataset <dataset_name> --config_file <your_config_file> --device_id <IDs of GPU machine>

  1. To run training and evaluation

bash run.sh

  1. After training, results are stored in ./outputs/results/<dataset>

Hyper-parameter tuning

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).

Rating Encoder

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.

Text Encoder

  • num_rating_iters: 1, 2, 3 (after tuning, we found setting this to 1 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).

Optimal Transport module

  • sinkhorn_eps: (Equation 3) as presented in Table 3 in the paper

Regularization term

  • lambda_reg: (line 13, Algorithm 2) as presented in Figure 6
  • lambda_text: (line 13, Algorithm 2) as presented in Figure 7

Citation

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}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published