This is our Pytorch implementation for the paper:
Jianxin Chang, Chen Gao, Xiangnan He, Depeng Jin and Yong Li. Bundle Graph Convolutional Network, Paper in ACM DL or Paper in arXiv. In SIGIR'20, Xi'an, China, July 25-30, 2020.
Author: Jianxin Chang (changjx18@mails.tsinghua.edu.cn)
Bundle Graph Convolutional Network (BGCN) is a bundle recommendation solution based on graph neural network, explicitly re-constructing the two kinds of interaction and an affiliation into the graph. With item nodes as the bridge, graph convolutional propagation between user and bundle nodes makes the learned representations capture the item level semantics.
If you want to use our codes and datasets in your research, please cite:
@inproceedings{BGCN20,
author = {Jianxin Chang and
Chen Gao and
Xiangnan He and
Depeng Jin and
Yong Li},
title = {Bundle Recommendation with Graph Convolutional Networks},
booktitle = {Proceedings of the 43nd International {ACM} {SIGIR} Conference on
Research and Development in Information Retrieval, {SIGIR} 2020, Xi'an,
China, July 25-30, 2020.},
year = {2020},
}
The code has been tested running under Python 3.7.0. The required packages are as follows:
The hyperparameter search range and optimal settings have been clearly stated in the codes (see the 'CONFIG' dict in config.py).
python main.py
Replace 'sample' from 'simple' to 'hard' in CONFIG and add model file path obtained by Train to 'conti_train', then run
python main.py
Add model path obtained by Futher Train to 'test' in CONFIG, then run
python eval_main.py
Some important hyperparameters:
lrs
mess_dropouts
node_dropouts
decays
hard_window
hard_prob
We provide one processed dataset: Netease.
user_bundle_train.txt
user_item.txt
bundle_item.txt
Netease_data_size.txt
user_bundle_tune.txt
user_bundle_test.txt