Skip to content

Conference recommender system based on graph neural networks

License

Notifications You must be signed in to change notification settings

andreeaiana/graph_confrec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

graph_confrec

The source code for the paper GraphConfRec: A Graph Neural Network-Based Conference Recommender System

Overview

This directory contains the code necessary to run GraphConfRec. We provide the implementation of various recommendation models, along with evaluation scripts. The repository is organised as follows:

  • data/: contains the necessary raw dataset files for GraphConfRec and stores the processed data, including trained models
  • notebooks/: contains Jupyter Notebooks for exporing the SciGraph, WikiCfP, and H5 Index datasets
  • src/: contains the implementation of the recommendation models, evaluation and data preprocessing scripts

Running the code

  1. Download the raw data files (see Datasets).
  2. Preprocess the raw data files and crawl external datasets (see Data preprocessing).
  3. Preprocess training data, train and evaluate recommendation models (see Models).

Recommendation Models

We implemented the following recommendation models:

Base model Recommendation model
Authors Authors
Unsupervised GraphSAGE GraphSAGE Neighbour, GraphSAGE Classifier (citations graph), GraphSAGE Classifier (co-authorship graph), GraphSAGE Classifier Concat
Supervised GraphSAGE GraphSAGE supervised (citations graph), GraphSAGE supervised (heterogeneous graph)
Unsupervised GraphSAGE_RL GraphSAGE_RL Classifier (citations graph)
Supervised GraphSAGE_RL GraphSAGE_RL supervised (citations graph), GraphSAGE_RL supervised (heterogeneous graph)
ASGCN ASGCN
GAT GAT (citations graph), GAT (heterogeneous graph)
HAN HAN
SciBERT + ARGA SciBERT + ARGA (citations graph), SciBERT + ARGA (heterogeneous graph)

Dependencies

The code was tested running under Python 3.6.8, with the following packages installed (along with their dependencies):

  • numpy==1.16.2
  • pandas==0.24.1
  • scipy==1.2.1
  • networkx==2.2
  • beautifulsoup4==4.7.1
  • tensorflow==2.0.0
  • tensorflow-gpu==2.0.0
  • torch==1.3.0
  • torch-cluster==1.4.5
  • torch-geometric==1.3.2
  • torch-scatter==1.4.0
  • torch-sparse==0.4.3
  • transformers==2.1.1
  • Flask==1.1.1
  • Flask-SQLAlchemy==2.4.1
  • SQLAlchemy==1.3.1

In addition, CUDA 10.0 was used.

License

The MIT license is applied to the provided source code. For the datasets, please check the licensing information:

Parts of the code were originally forked from:

We owe many thanks to the authors of the different models for making their codes available.

Citation

If you use this code in your research, please cite the paper as follows:

@misc{iana2021graphconfrec,
      title={GraphConfRec: A Graph Neural Network-Based Conference Recommender System}, 
      author={Andreea Iana and Heiko Paulheim},
      year={2021},
      eprint={2106.12340},
      archivePrefix={arXiv},
      primaryClass={cs.IR}
}

About

Conference recommender system based on graph neural networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published