All Projects → xiangwang1223 → disentangled_graph_collaborative_filtering

xiangwang1223 / disentangled_graph_collaborative_filtering

Licence: other
Disentagnled Graph Collaborative Filtering, SIGIR2020

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to disentangled graph collaborative filtering

LR-GCCF
Revisiting Graph based Collaborative Filtering: A Linear Residual Graph Convolutional Network Approach, AAAI2020
Stars: ✭ 99 (-16.1%)
Mutual labels:  collaborative-filtering, recommendation, graph-neural-networks
Social-Recommendation
Summary of social recommendation papers and codes
Stars: ✭ 143 (+21.19%)
Mutual labels:  collaborative-filtering, recommender-system, graph-neural-networks
GNN-Recommender-Systems
An index of recommendation algorithms that are based on Graph Neural Networks.
Stars: ✭ 505 (+327.97%)
Mutual labels:  recommender-system, recommendation, graph-neural-networks
Rsparse
Fast and accurate machine learning on sparse matrices - matrix factorizations, regression, classification, top-N recommendations.
Stars: ✭ 145 (+22.88%)
Mutual labels:  collaborative-filtering, recommender-system
Collaborativememorynetwork
Collaborative Memory Network for Recommendation Systems, SIGIR 2018
Stars: ✭ 170 (+44.07%)
Mutual labels:  collaborative-filtering, recommender-system
Collaborative Deep Learning For Recommender Systems
The hybrid model combining stacked denoising autoencoder with matrix factorization is applied, to predict the customer purchase behavior in the future month according to the purchase history and user information in the Santander dataset.
Stars: ✭ 60 (-49.15%)
Mutual labels:  collaborative-filtering, recommender-system
Rankfm
Factorization Machines for Recommendation and Ranking Problems with Implicit Feedback Data
Stars: ✭ 71 (-39.83%)
Mutual labels:  collaborative-filtering, recommender-system
Neural collaborative filtering
Neural Collaborative Filtering
Stars: ✭ 1,243 (+953.39%)
Mutual labels:  collaborative-filtering, recommender-system
Movie Recommender System
Basic Movie Recommendation Web Application using user-item collaborative filtering.
Stars: ✭ 85 (-27.97%)
Mutual labels:  collaborative-filtering, recommender-system
Recommender System
A developing recommender system in tensorflow2. Algorithm: UserCF, ItemCF, LFM, SLIM, GMF, MLP, NeuMF, FM, DeepFM, MKR, RippleNet, KGCN and so on.
Stars: ✭ 227 (+92.37%)
Mutual labels:  collaborative-filtering, recommender-system
Rectorch
rectorch is a pytorch-based framework for state-of-the-art top-N recommendation
Stars: ✭ 121 (+2.54%)
Mutual labels:  collaborative-filtering, recommender-system
Movielens Recommender
A pure Python implement of Collaborative Filtering based on MovieLens' dataset.
Stars: ✭ 131 (+11.02%)
Mutual labels:  collaborative-filtering, recommender-system
Implicit
Fast Python Collaborative Filtering for Implicit Feedback Datasets
Stars: ✭ 2,569 (+2077.12%)
Mutual labels:  collaborative-filtering, recommender-system
Consimilo
A Clojure library for querying large data-sets on similarity
Stars: ✭ 54 (-54.24%)
Mutual labels:  collaborative-filtering, recommender-system
Gorse
An open source recommender system service written in Go
Stars: ✭ 1,148 (+872.88%)
Mutual labels:  collaborative-filtering, recommender-system
Elliot
Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation
Stars: ✭ 49 (-58.47%)
Mutual labels:  collaborative-filtering, recommender-system
Recoder
Large scale training of factorization models for Collaborative Filtering with PyTorch
Stars: ✭ 46 (-61.02%)
Mutual labels:  collaborative-filtering, recommender-system
Deep Learning For Recommendation Systems
This repository contains Deep Learning based articles , paper and repositories for Recommender Systems
Stars: ✭ 2,493 (+2012.71%)
Mutual labels:  collaborative-filtering, recommender-system
Recsys2019 deeplearning evaluation
This is the repository of our article published in RecSys 2019 "Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches" and of several follow-up studies.
Stars: ✭ 780 (+561.02%)
Mutual labels:  collaborative-filtering, recommender-system
Recsys19 hybridsvd
Accompanying code for reproducing experiments from the HybridSVD paper. Preprint is available at https://arxiv.org/abs/1802.06398.
Stars: ✭ 23 (-80.51%)
Mutual labels:  collaborative-filtering, recommender-system

Disentangled Graph Collaborative Filtering

This is our Tensorflow implementation for the paper:

Xiang Wang, Hongye Jin, An Zhang, Xiangnan He, Tong Xu, and Tat-Seng Chua (2020). Disentangled Graph Collaborative Filtering, Paper in arXiv. In SIGIR'20, Xi'an, China, July 25-30, 2020.

Author: Dr. Xiang Wang (xiangwang at u.nus.edu)

Introduction

Disentangled Graph Collaborative Filtering (DGCF) is an explainable recommendation framework, which is equipped with (1) dynamic routing mechanism of capsule networks, to refine the strengths of user-item interactions in intent-aware graphs, (2) embedding propagation mechanism of graph neural networks, to distill the pertinent information from higher-order connectivity, and (3) distance correlation of independence modeling, to ensure the independence among intents. As such, we explicitly disentangle the hidden intents of users in the representation learning.

Citation

If you want to use our codes and datasets in your research, please cite:

@inproceedings{DGCF19,
  author    = {Xiang Wang and
               Hongye Jin and
               An Zhang and
               Xiangnan He and
               Tong Xu and
               Tat{-}Seng Chua},
  title     = {Disentangled Graph Collaborative Filtering},
  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},
}

Environment Requirement

We recommend to run this code in GPUs. The code has been tested running under Python 3.6.5. The required packages are as follows:

  • tensorflow_gpu == 1.14.0
  • numpy == 1.14.3
  • scipy == 1.1.0
  • sklearn == 0.19.1

Versions

We released the implementation based on the NGCF code as DGCF_v1. Later, we will release another implementation based on the LightGCN code as DGCF_v2, which is equipped with some speedup techniques.

Example to Run the Codes

The instruction of commands has been clearly stated in the codes (see the parser function in DGCF/utility/parser.py).

  • Gowalla dataset
CUDA_VISIBLE_DEVICES=0 python GDCF.py --dataset gowalla --batch_size 2000 --n_layers 1 --n_iterations 2 --corDecay 0.01 --n_factors 4 --show_step 3 --lr 0.001 

Some important arguments (additional to that of NGCF):

  • cor_flag

    • It specifies whether the distance correlation (i.e., independence modeling) is activated..
    • Here we provide two options:
  • corDecay

    • It specifies the weight to control the distance correlation.
    • Here we provide four options:
      • 0.0 (by default), which similarly disables the distance correlation and makes DGCF rely only on the dynamic routing mechanism to disentangle the user intents. Usage: --corDecay 0.0.
      • other scales like 0.1, which uses 0.1 to control the strengths of distance correlation. Usage: --corDecay 0.1.
  • n_factors

    • It indicates the number of latent intents to disentangle the holistic representation into chunked intent-aware representations. Usage: --n_factors 4.
    • Note that the arguement embed_size needs to be exactly divisible by the arguement n_factors.
  • n_iterations

    • It indicates the number of iterations to perform the dynamic routing mechanism. Usage --n_iterations 2.

Dataset

Following our prior work NGCF and LightGCN, We provide three processed datasets: Gowalla, Amazon-book, and Yelp2018. Note that the Yelp2018 dataset used in DGCF is slightly different from the original in NGCF, since we found some bugs in the preprocessing code to construct the Yelp2018 dataset. We rerun the experiments and report the performance in the corrected dataset.

Acknowledgement

This research is supported by the National Research Foundation, Singapore under its International Research Centres in Singapore Funding Initiative. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not reflect the views of National Research Foundation, Singapore.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].