NNCF

Introduction

This repository contains code for paper "On Sampling Strategies for Neural Network-based Collaborative Filtering", which propose (1) a general NNCF framework incorporates both interaction and content information, and (2) sampling strategies for speed up the process.

Model parameters

Loss Functions

Content Embedding

Interaction Module

Sampling strategies

Other parameters explained

Setup and Run

  1. unzip data in ./data folder, and go to ./code/sampler, execute ./make.sh
  2. run using scripts under ./code/scripts/demos, which are prepared for each of the sampling strategies.
  3. after running, the results are stored in ./results folder

Requirements

  1. Unix system with python 2.7, GCC 4.8.x and GSL
  2. Keras 1.2.2
  3. Tensorflow 1.0

The code may or may not be working properly with other versions.

Tips

Cite

@inproceedings{chen2017onsampling,
    title={On Sampling Strategies for Neural Network-based Collaborative Filtering},
    author={Chen, Ting and Sun, Yizhou and Shi, Yue and Hong, Liangjie},
    booktitle={Proceedings of the 23th ACM SIGKDD international conference on Knowledge discovery and data mining},
    year={2017},
    organization={ACM}
}