MVIN: Learning Multiview Items for Recommendation, SIGIR 2020
This repository is the implementation of MVIN (arXiv):
Chang-You Tai, Meng-Ru Wu, Yun-Wei Chu, Shao-Yu Chu, and Lun-Wei Ku. SIGIR 2020. MVIN: Learning Multiview Items for Recommendation
We propose the multi-view item network (MVIN), a GNN-based recommendation model which provides superior recommend-ations bydescribing items from a unique mixed view from user and entity angles.
If you want to use our codes and datasets in your research, please cite:
@inproceedings{10.1145/3404835.3462980,
author = {Tai, Chang-You and Huang, Chien-Kun and Huang, Liang-Ying and Ku, Lun-Wei},
title = {Knowledge Based Hyperbolic Propagation},
year = {2021},
isbn = {9781450380379},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3404835.3462980},
doi = {10.1145/3404835.3462980},
booktitle = {Proceedings of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval},
pages = {1945–1949},
numpages = {5},
keywords = {recommendation, hyperbolic embedding learning, graph neural network, knowledge graph},
location = {Virtual Event, Canada},
series = {SIGIR '21}
}
data/
: datasetsMovieLens-1M/
amazon-book_20core/
last-fm_50core/
src/model/
: implementation of MVIN.output/
: storing log filesmisc/
: storing users being evaluating, popular items, and sharing embeddings.
The code has been tested running under Python 3.6.5. The required packages are as follows:
- tensorflow == 1.12.0
- numpy == 1.15.4
- scipy == 1.1.0
- sklearn == 0.20.0
$ cd MVIN
$ conda deactivate
$ conda env create -f requirements.yml
$ conda activate MVIN
- MVIN
$ cd src/bash/
$ bash main_run.sh "MVIN" $dataset $gpu
- other baseline models
$ cd src/bash/
$ bash main_run.sh $model $dataset $gpu
-
some arguments:
-
model
- It specifies the type of model.
- Here we provide four options, including MVIN and five baseline models:
MVIN
(by default), proposed in MVIN: Learning Multiview Items for Recommendation, SIGIR 2020. Usage:model=MVIN
.KGAT
, proposed in KGAT: Knowledge Graph Attention Network for Recommendation, KDD 2019. Usage:model=KGAT
.KGCN
, proposed in Knowledge Graph Convolutional Networks for Recommender Systems, WWW 2019. Usage:model=KGCN
.RippleNet
, proposed in RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems, CIKM 2018. Usage:model=RippleNet
.
- You can find other baselines in Github.
-
dataset
- It specifies the dataset.
- Here we provide three options, including *
amazon-book
,movie
, orlast_fm
.
-
gpu
- It specifies the gpu, e.g. *
0
,1
, and2
.
- It specifies the gpu, e.g. *
$ cd src/bash/
$ bash main_att_case_st.sh $gpu
main_run.sh syntax error near unexpected token elif
$ sed -i -e 's/\r$//' *.sh