VUG
January 17, 2026 ยท View on GitHub
VUG is the official implementation for paper "Leave No One Behind: Fairness-Aware Cross-Domain Recommender Systems for Non-Overlapping Users".
Requirements
Before running the code, make sure the following dependencies are installed:
recbole==1.0.1
torch>=1.7.0
python>=3.7.0
Quick-Start Guide
To begin using the VUG library, use the following command:
python run_recbole_cdr.py --model=[model] --config_file=[config_file]
Example: Running VUG on the Epinions Dataset
python run_recbole_cdr.py --model=VUG --config_file=./recbole_cdr/properties/dataset/Epinions.yaml
Key Files and Modules
To help users understand the structure of the repository and locate the implementation of key components, here is a breakdown of important files:
-
Model File:
Located in:./recbole_cdr/model/cross_domain_recommender/vug.py
This file contains the implementation of the proposed VUG model. -
Loss Function:
Located in:./recbole_cdr/model/cross_domain_recommender/utils.py
This file implements the constraint loss. -
Attention-Based Generator:
Located in:./recbole_cdr/model/cross_domain_recommender/attention.py
This file contains the attention-based generator model used in VUG.
Configuration and Model Selection
The configuration files define the dataset and hyperparameter settings. Example configurations can be found in the ./recbole_cdr/properties/dataset/ directory.
Example Config File: Epinions.yaml
field_separator: ","
source_domain:
dataset: EpinionsElec
data_path: '/xxx/VUG/recbole_cdr/dataset'
USER_ID_FIELD: user_id
ITEM_ID_FIELD: item_id
RATING_FIELD: rating
TIME_FIELD: timestamp
NEG_PREFIX: neg_
LABEL_FIELD: label
load_col:
inter: [user_id, item_id, rating]
user_inter_num_interval: "[1,inf)"
item_inter_num_interval: "[1,inf)"
val_interval:
rating: "[3,inf)"
drop_filter_field: True
target_domain:
dataset: EpinionsGame
data_path: '/xxx/VUG/recbole_cdr/dataset'
USER_ID_FIELD: user_id
ITEM_ID_FIELD: item_id
RATING_FIELD: rating
TIME_FIELD: timestamp
NEG_PREFIX: neg_
LABEL_FIELD: label
load_col:
inter: [user_id, item_id, rating]
user_inter_num_interval: "[1,inf)"
item_inter_num_interval: "[1,inf)"
val_interval:
rating: "[3,inf)"
drop_filter_field: True
epochs: 500
train_batch_size: 4096
eval_batch_size: 409600000
valid_metric: NDCG@10
To customize experiments, modify the configuration file or provide additional parameters via command-line arguments.
Citation
If you find this work helpful, please consider citing our paper:
@inproceedings{chen2025leave,
title = {Leave No One Behind: Fairness-Aware Cross-Domain Recommender Systems for Non-Overlapping Users},
author = {Chen, Weixin and Zhao, Yuhan and Chen, Li and Pan, Weike},
year = 2025,
booktitle = {Proceedings of the 19th ACM Conference on Recommender Systems (RecSys'25)},
pages = {226--236}
}
Acknowledgement
The implementation is based on the open-source recommendation library RecBole-CDR.