Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Neural Graph Matching based Collaborative Filtering (GMCF)

This is our implementation for the paper:

Yixin Su, Rui Zhang*, Sarah Erfani, Junhao Gan, Neural Graph Matching based Collaborative Filtering. International Conference on Research and Development in Information Retrieval (SIGIR) 2021. link


User and item attributes are essential side-information; their interactions (i.e., their co-occurrence in the sample data) can significantly enhance prediction accuracy in various recommender systems. We identify two different types of attribute interactions, inner interactions and cross interactions: inner interactions are those between only user attributes or those between only item attributes; cross interactions are those between user attributes and item attributes. Existing models do not distinguish the two types of attribute interactions, which may not be the most effective way to exploit the information carried by the interactions.


Figure1: Illustration of the differences between our GMCF model (left) and existing graph-based work (right). GMCF treats attribute interactions differently in a structure of graph matching, while existing work treats all attribute interactions equally.

To address this drawback, we propose a neural Graph Matching based Collaborative Filtering model (GMCF), which effectively captures the two types of attribute interactions through modeling and aggregating attribute interactions in a graph matching structure for recommendation. In our model, the two essential recommendation procedures, characteristic learning and preference matching, are explicitly conducted through graph learning (based on inner interactions) and node matching (based on cross interactions), respectively.

Model Structure

Figure2: An Overview of the GMCF Model.

What are in this Repository

This repository contains the following contents:

├── code/                   --> (The folder containing the source code)
|   ├──       --> (The code to proceed the data into code-usable format)
|   ├──             --> (The main code file. The code is run through this file)
|   ├──            --> (Contains the function of our GMCF model.)
|   ├──            --> (Contains the code to train and evaluate our GMCF model.)
├── data/                   --> (The folder containing three used datasets)   
|   ├── book-crossing/      --> (The book-crossing dataset.)
|   ├── ml-1m/              --> (The movielens dataset.)
|   ├── taobao/             --> (The Taobao dataset.)
├── img/                    --> (The images for README (not used for the code))   
|   ├── GMCF_structure.png  --> (The overall structure of our GMCF model)
|   ├── running_exmaple.png --> (The differences between GMCF and existing model)
├── LICENCE                 --> (The licence file)

Run our code

To run our code, please follow the instructions in our code/ folder.

Cite our paper

Please credit our work by citing the following paper:

  title={Neural Graph Matching based Collaborative Filtering},
  author={Su, Yixin and Zhang, Rui and Erfani, Sarah and Junhao Gan},
  booktitle={Proceedings of the 44th International Conference on Research and Development in Information Retrieval (SIGIR)},