Code and data for ECML-PKDD paper "Social Influence Attentive Neural Network for Friend-Enhanced Recommendation"
- Python 2.7
- PyTorch 0.4.1
- numpy
- scipy
- My machine with two GPUs (NVIDIA GTX-1080 *2) and two CPUs (Intel Xeon E5-2690 * 2)
βββ baselines # baseline code
βΒ Β βββ Eval4Baselines.py
βββ code # Our Model: SIAN
βΒ Β βββ Attention.py # attention layer
βΒ Β βββ DataUtil.py # data loader
βΒ Β βββ Evaluation.py # model evaluation
βΒ Β βββ FeatureAgg.py # attentive feature aggregator
βΒ Β βββ Fusion.py # feature fusion layer
βΒ Β βββ HeteInf.py # the main class for SIAN
βΒ Β βββ InfluenceProp.py # social influence coupler
βΒ Β βββ Logging.py #log
βΒ Β βββ trainHeteInf.py # the main function for SIAN
βββ data # dataset
βββ Data4Baselines.ipynb #
βββ DataProcessor.ipynb
βββ ItemProfileEmbed.ipynb
βββ WechatTencent.ipynb
βββ wxt # FWD dataset
βΒ Β βββ biz2id
βΒ Β βββ biz_profile.npy
βΒ Β βββ item2id
βΒ Β βββ item_profile.npy
βΒ Β βββ user2id
βΒ Β βββ user_profile.npy
βΒ Β βββ wxt.att.analysis
βΒ Β βββ wxt.interaction.graph
βΒ Β βββ wxt.item.biz
βΒ Β βββ wxt.social.graph
βΒ Β βββ wxt.test.rating.712
βΒ Β βββ wxt.train.rating.712
βΒ Β βββ wxt.user.biz
βΒ Β βββ wxt.val.rating.712
βββ wxt.ipynb
βββ yelp # yelp dataset
βΒ Β βββ item_profile.npy
βΒ Β βββ user_profile.npy
βΒ Β βββ yelp.att.analysis
βΒ Β βββ yelp.interaction.graph
βΒ Β βββ yelp.social.graph
βΒ Β βββ yelp.test.rating.712
βΒ Β βββ yelp.train.rating.712
βΒ Β βββ yelp.val.rating.712
βββ yelp.ipynb
βββ log # saved log file
βΒ Β βββ wxt.0.0.6023.0.35225.model
FWD dataset (i.e., wxt data) can be downloaded from Google Drive and BaiduYun οΌζεη οΌi6qyοΌ
Load the saved models in log/ dir.
python trainHeteInf.py --help
@inproceedings{Yuanfu2020SIAN,
title={Social Influence Attentive Neural Network for Friend-Enhanced Recommendation},
author={Yuanfu Lu, Ruobing Xie, Chuan Shi, Yuan Fang, Wei Zhang, Xu Zhang, Leyu Lin.}
booktitle={Proceedings of ECML-PKDD},
year={2020}
}