/SelfCF

Source code for "SelfCF: A Simple Framework for Self-supervised Collaborative Filtering". Accepted by ACM TORS.

Primary LanguagePythonMIT LicenseMIT

SelfCF: A Simple Framework for Self-supervised Collaborative Filtering (ACM TORS)

🏷️ Note: This repo. holds the best hyper-parameters for reproducibility of our models on Amazon-Grocery and Gourmet Food. Please note this repo. is deprecated and will not be maintained. SelfCF is integrated into ImRec.

  • 🔀 SelfCF is integrated into the unified ImRec framework.

This is our implementation of the paper:

Xin Zhou, Aixin Sun, Yong Liu, Jie Zhang, Chunyan Miao. SelfCF: A Simple Framework for Self-supervised Collaborative Filtering ACM

Overview

We present a simple framework that specialized for collaborative filtering problem. The framework enables learning of latent representations of users and items without Negative Samples.
We augment the output embeddings generated from backbone networks instead of the input user-item ids. For output embedding augmentation, we propose three techniques:

  • Historical embedding.
  • Embedding dropout.
  • Edge pruning.

For details, please refer to the paper.

Features

  • Standard data preprocessing.
  • Unified data splitting with global-timeline.
  • Standard evaluation protocols.
  • Posterior recommendation results.

Data

Download from Google Drive: Amazon-Vedio-Games/Food etc.

Environment:

python 3.6
pytorch 1.8
PyYAML 6.0
pandas 0.24
numpy 1.19

Please condier cite our paper:

@article{zhou2023selfcf,
  author = {Zhou, Xin and Sun, Aixin and Liu, Yong and Zhang, Jie and Miao, Chunyan},
  title = {SelfCF: A Simple Framework for Self-Supervised Collaborative Filtering},
  year = {2023},
  journal = {ACM Trans. Recomm. Syst.},
  publisher = {Association for Computing Machinery},
}

ACK:

We would like to give thanks to the following repos:
RecBole
BUIR