Skip to content

Applied-Machine-Learning-Lab/HAMUR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HAMUR

Official implementation of our paper HAMUR: Hyper Adapter for Multi-Domain Recommendation in CIKM 2023.

You could cite our paper if you find this repository interesting or helpful:

@inproceedings{li2023hamur,
  title={HAMUR: Hyper Adapter for Multi-Domain Recommendation},
  author={Li, Xiaopeng and Yan, Fan and Zhao, Xiangyu and Wang, Yichao and Chen, Bo and Guo, Huifeng and Tang, Ruiming},
  booktitle={Proceedings of the 32nd ACM International Conference on Information and Knowledge Management},
  pages={1268--1277},
  year={2023}
}

Introduction

Source code of HAMUR: Hyper Adapter for Multi-Domain Recommendation, in Proceedings of the 32nd ACM International Conference on Information and Knowledge Management(CIKM 23'). 'Img_HAMUR'

Environment Setting

  • torch >=1.7.0
  • numpy >=1.23.5
  • pandas >=1.5.3
  • scikit-learn >=0.23.2

Dataset Download

In this paper, we use two datasets, Aliccp and movieLens. Dataset samples are shown in example/data.

Full dataset download:

Models

In this repo, we offer the following models. Their structures are shown in the following figure. 'Img_DifferentBackbone'

  • Pure MLP as multi-domain backbone models.
  • MLP + HAMUR
  • Pure Wide & Deep as multi-domain backbone models.
  • Wide & Deep + HAMUR
  • Pure DCN as multi-domain backbone models.
  • DCN + HAMUR

Usage

Step 1: Clone the repository

git clone https://github.com/Applied-Machine-Learning-Lab/HAMUR.git

Step 2: Run the model

cd examples
# For Aliccp
python run_ali_ccp_ctr_ranking_multi_domain.py --model_name mlp_adp --epoch 200 --device cpu --seed 2022 
# For MovieLens
python run_movielens_rank_multi_domain.py --model_name mlp_adp --epoch 200 --device cpu --seed 2022 

Credits

Our code is developed based on Torch-RecHub. Thanks to their contribution.