Code for KDD'20 "An Efficient Neighborhood-based Interaction Model for Recommendation on Heterogeneous Graph"

Overview

Heterogeneous INteract and aggreGatE (GraphHINGE)



This is a pytorch implementation of GraphHINGE model. This is the experiment code in the following work:

An Efficient Neighborhood-based Interaction Model for Recommendation on Heterogeneous Graph
Jiarui Jin, Jiarui Qin, Yuchen Fang, Kounianhua Du, Weinan Zhang, Yong Yu, Zheng Zhang, Alexander J. Smola.
KDD 2020 Oral

and its extended work:

Learning Interaction Models of Structured Neighborhood on Heterogeneous Information Network
Jiarui Jin, Kounianhua Du, Weinan Zhang, Jiarui Qin, Yuchen Fang, Yong Yu, Zheng Zhang, Alexander J. Smola.
TOIS

Prerequisites

  • Python 3.6
  • Pytorch 1.8.0
  • DGL 0.6.0

References

If you find this work helpful in your research, please consider citing the following paper. The bibtex are listed below:

@inproceedings{jin2020efficient,
  title={An Efficient Neighborhood-based Interaction Model for Recommendation on Heterogeneous Graph},
  author={Jin, Jiarui and Qin, Jiarui and Fang, Yuchen and Du, Kounianhua and Zhang, Weinan and Yu, Yong and Zhang, Zheng and Smola, Alexander J},
  booktitle={Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining},
  pages={75--84},
  year={2020}
}
@article{jin2020learning,
  title={Learning Interaction Models of Structured Neighborhood on Heterogeneous Information Network},
  author={Jin, Jiarui and Du, Kounianhua and Zhang, Weinan and Qin, Jiarui and Fang, Yuchen and Yu, Yong and Zhang, Zheng and Smola, Alexander J},
  journal={arXiv preprint arXiv:2011.12683},
  year={2020}
}
Comments
  • About Potential Data Leakage

    About Potential Data Leakage

    I noticed that you used all “user-item” edges to construct the heterogeneous graph. And based on it, you then predict the user-item edges (i.e. recommendation). Would this cause data leakage?

    opened by aHuiWang 2
  • experiments results in KDD paper and

    experiments results in KDD paper and "GraphHINGE: Learning Interaction Models of Structured Neighborhood on Heterogeneous Information Network"

    您好,感谢您在HIN领域出色的工作! 我了解了您在KDD 2020的paper以及后面这篇paper中与KDDpaper中方法相似的部分,以GraphHINGE_FFT.py中的方法为例,kDD论文中movielens的acc为0.7896,后一篇为0.8837,我看主要方法部分没有很明显的区别(仅指在这个py文件中所涉及的网络结构),而且baseline的相同方法也有一定程度的提升,请问这种提升是因为什么呢?是因为hyperparameter的设置,数据的预处理方式,还是因为一些两篇论文细节方面我没有充分进行理解,在细节上是有区别的(仅指在KDD论文中提到的方法)? 我是这个方向的初学者,如果您能对我的疑惑进行解答,我将非常感谢!

    opened by zhj123169 1
  • 请教一下有关movielens数据集预处理的相关问题

    请教一下有关movielens数据集预处理的相关问题

    感谢您在HIN领域作出的贡献! 我在运行您的代码dataloader.py 的 _load_movielens(self)时,想知道您运行时导入的 _data_list = ['movie_genre.dat', 'user_occupation.dat', 'user_age.dat', 'user_movie.dat'] 四个文件是如何通过原始数据预处理得到的 对于其中的movie_genre.dat _movie, _genre = int(_line[0]), int(_line[1]) 是如何将类型变为数字的呢? 如果您能为我解答或者将您处理后并且实际测试的movielens数据集提供给我,我将感激不尽,谢谢!

    opened by zhj123169 1
  • About baseline methods

    About baseline methods

    您好,请问能否提供您选用的一些baseline方法的代码呢,因为我发现许多的源码具有特异性,而我刚入门这个领域,对于如何改写这些模型感到困惑 (例如LGRec和MCRec它们的initial embedding的详细生成方法并未提供,而且LGRec的模型代码似乎跑不通;HetGNN模型是hard coded for academic paper,怎么改用到其他数据呢?HAN模型是embedding方法,如果要改用到推荐,该如何实现呢?) 希望能得到您的回复

    opened by Chuan1997 1
  • sampling path but without omitting existing edge

    sampling path but without omitting existing edge

    Imho, omitting 20% of existing edges should be done before constructing the graph when doing 5 fold cross-validation. Otherwise, meta-path sampling will generate a lot of paths involved with positive instances in the test&eval dataset, which is an information leak and should be unseen.

    opened by dlutwy 1
  • Got an unexpected result

    Got an unexpected result

    I downloaded the ml-100k(MovieLens 100K Dataset) and did the experiments with default args ( 3 epochs), however, the results I got are much higher than those reported in the paper.

    Test AUC 0.9506 | ACC 0.8792 | Test F1 0.8764

    I am wondering whether it is caused by my data processing scripts or other reason.

    opened by dlutwy 1
Owner
Jinjiarui
Ph.D. Student at Apex Lab
Jinjiarui
TensorFlow code for the neural network presented in the paper: "Structural Language Models of Code" (ICML'2020)

SLM: Structural Language Models of Code This is an official implementation of the model described in: "Structural Language Models of Code" [PDF] To ap

null 73 Nov 6, 2022
Inference code for "StylePeople: A Generative Model of Fullbody Human Avatars" paper. This code is for the part of the paper describing video-based avatars.

NeuralTextures This is repository with inference code for paper "StylePeople: A Generative Model of Fullbody Human Avatars" (CVPR21). This code is for

Visual Understanding Lab @ Samsung AI Center Moscow 18 Oct 6, 2022
A code generator from ONNX to PyTorch code

onnx-pytorch Generating pytorch code from ONNX. Currently support onnx==1.9.0 and torch==1.8.1. Installation From PyPI pip install onnx-pytorch From

Wenhao Hu 94 Jan 6, 2023
This is the code for our KILT leaderboard submission to the T-REx and zsRE tasks. It includes code for training a DPR model then continuing training with RAG.

KGI (Knowledge Graph Induction) for slot filling This is the code for our KILT leaderboard submission to the T-REx and zsRE tasks. It includes code fo

International Business Machines 72 Jan 6, 2023
Convert Python 3 code to CUDA code.

Py2CUDA Convert python code to CUDA. Usage To convert a python file say named py_file.py to CUDA, run python generate_cuda.py --file py_file.py --arch

Yuval Rosen 3 Jul 14, 2021
Empirical Study of Transformers for Source Code & A Simple Approach for Handling Out-of-Vocabulary Identifiers in Deep Learning for Source Code

Transformers for variable misuse, function naming and code completion tasks The official PyTorch implementation of: Empirical Study of Transformers fo

Bayesian Methods Research Group 56 Nov 15, 2022
Reference implementation of code generation projects from Facebook AI Research. General toolkit to apply machine learning to code, from dataset creation to model training and evaluation. Comes with pretrained models.

This repository is a toolkit to do machine learning for programming languages. It implements tokenization, dataset preprocessing, model training and m

Facebook Research 408 Jan 1, 2023
Code for the prototype tool in our paper "CoProtector: Protect Open-Source Code against Unauthorized Training Usage with Data Poisoning".

CoProtector Code for the prototype tool in our paper "CoProtector: Protect Open-Source Code against Unauthorized Training Usage with Data Poisoning".

Zhensu Sun 1 Oct 26, 2021
Low-code/No-code approach for deep learning inference on devices

EzEdgeAI A concept project that uses a low-code/no-code approach to implement deep learning inference on devices. It provides a componentized framewor

On-Device AI Co., Ltd. 7 Apr 5, 2022
Code for all the Advent of Code'21 challenges mostly written in python

Advent of Code 21 Code for all the Advent of Code'21 challenges mostly written in python. They are not necessarily the best or fastest solutions but j

null 4 May 26, 2022
Code to use Augmented Shapiro Wilks Stopping, as well as code for the paper "Statistically Signifigant Stopping of Neural Network Training"

This codebase is being actively maintained, please create and issue if you have issues using it Basics All data files are included under losses and ea

J K Terry 32 Nov 9, 2021
Opinionated code formatter, just like Python's black code formatter but for Beancount

beancount-black Opinionated code formatter, just like Python's black code formatter but for Beancount Try it out online here Features MIT licensed - b

Launch Platform 16 Oct 11, 2022
a delightful machine learning tool that allows you to train, test and use models without writing code

igel A delightful machine learning tool that allows you to train/fit, test and use models without writing code Note I'm also working on a GUI desktop

Nidhal Baccouri 3k Jan 5, 2023
Pytorch Lightning code guideline for conferences

Deep learning project seed Use this seed to start new deep learning / ML projects. Built in setup.py Built in requirements Examples with MNIST Badges

Pytorch Lightning 1k Jan 2, 2023
Automatically Build Multiple ML Models with a Single Line of Code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.

Auto-ViML Automatically Build Variant Interpretable ML models fast! Auto_ViML is pronounced "auto vimal" (autovimal logo created by Sanket Ghanmare) N

AutoViz and Auto_ViML 397 Dec 30, 2022
Code samples for my book "Neural Networks and Deep Learning"

Code samples for "Neural Networks and Deep Learning" This repository contains code samples for my book on "Neural Networks and Deep Learning". The cod

Michael Nielsen 13.9k Dec 26, 2022
Code for: https://berkeleyautomation.github.io/bags/

DeformableRavens Code for the paper Learning to Rearrange Deformable Cables, Fabrics, and Bags with Goal-Conditioned Transporter Networks. Here is the

Daniel Seita 121 Dec 30, 2022
Code for our method RePRI for Few-Shot Segmentation. Paper at http://arxiv.org/abs/2012.06166

Region Proportion Regularized Inference (RePRI) for Few-Shot Segmentation In this repo, we provide the code for our paper : "Few-Shot Segmentation Wit

Malik Boudiaf 138 Dec 12, 2022
Applications using the GTN library and code to reproduce experiments in "Differentiable Weighted Finite-State Transducers"

gtn_applications An applications library using GTN. Current examples include: Offline handwriting recognition Automatic speech recognition Installing

Facebook Research 68 Dec 29, 2022