This repository provides the official PyTorch implementation for the CIKM 23 Oral paper "HyperBandit: Contextual Bandit with Hypernetwork for Time-Varying User Preferences in Streaming Recommendation" and the TOIS paper (HyperBandit+) "Enhancing Bandit Algorithms with LLMs for Time-varying User Preferences in Streaming Recommendations"
- Type: flag (boolean switch)
- Usage: presence =
True, absence =False - Example:
--warm_start - Description: Enable warm-start training (e.g., initialize from a previous state / pretrained model).
- ✅ HyperBandit: set to False → do not add
--warm_start. - 🟦 HyperBandit+: set to True → add
--warm_start.
- Type: string
- Example:
--time_embedding="glove" - Description: Time embedding strategy used to encode temporal information.
- Options:
polar/onehot/learn/glove - ✅ HyperBandit: use
--time_embedding="glove". - 🟦 HyperBandit+: use
--time_embedding="polar"
- Type: string
- Example:
--dataset="NYC" - Description: Dataset identifier; used to select dataset-specific preprocessing and evaluation protocol.
- Options:
NYC/TKY/kuai
- Type: string
- Example:
--feature="LLM_with_attribute_pca"or--feature="glove_pca" - Description: Observed feature configuration used as the bandit context representation.
- Options:
LLM_with_attribute_pca/glove_pca - ✅ HyperBandit: use
--feature="glove_pca". - 🟦 HyperBandit+: use
--feature="LLM_with_attribute_pca".
bash scripts/quick_start.shIf you find our code or paper helpful, please cite our work:
@inproceedings{shen2023hyperbandit,
title={Hyperbandit: Contextual bandit with hypernewtork for time-varying user preferences in streaming recommendation},
author={Shen, Chenglei and Zhang, Xiao and Wei, Wei and Xu, Jun},
booktitle={Proceedings of the 32nd ACM International Conference on Information and Knowledge Management},
pages={2239--2248},
year={2023}
}