All Projects → THUwangcy → SLRC

THUwangcy / SLRC

Licence: other
WWW'2019: Modeling Item-Specific Temporal Dynamics of Repeat Consumption for Recommender Systems

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to SLRC

Enmf
This is our implementation of ENMF: Efficient Neural Matrix Factorization (TOIS. 38, 2020). This also provides a fair evaluation of existing state-of-the-art recommendation models.
Stars: ✭ 96 (+200%)
Mutual labels:  collaborative-filtering, recommender-system
Collaborativememorynetwork
Collaborative Memory Network for Recommendation Systems, SIGIR 2018
Stars: ✭ 170 (+431.25%)
Mutual labels:  collaborative-filtering, recommender-system
Rectorch
rectorch is a pytorch-based framework for state-of-the-art top-N recommendation
Stars: ✭ 121 (+278.13%)
Mutual labels:  collaborative-filtering, recommender-system
Social-Recommendation
Summary of social recommendation papers and codes
Stars: ✭ 143 (+346.88%)
Mutual labels:  collaborative-filtering, recommender-system
Recommender System
A developing recommender system in tensorflow2. Algorithm: UserCF, ItemCF, LFM, SLIM, GMF, MLP, NeuMF, FM, DeepFM, MKR, RippleNet, KGCN and so on.
Stars: ✭ 227 (+609.38%)
Mutual labels:  collaborative-filtering, recommender-system
Neural collaborative filtering
Neural Collaborative Filtering
Stars: ✭ 1,243 (+3784.38%)
Mutual labels:  collaborative-filtering, recommender-system
Rsparse
Fast and accurate machine learning on sparse matrices - matrix factorizations, regression, classification, top-N recommendations.
Stars: ✭ 145 (+353.13%)
Mutual labels:  collaborative-filtering, recommender-system
Collaborative Deep Learning For Recommender Systems
The hybrid model combining stacked denoising autoencoder with matrix factorization is applied, to predict the customer purchase behavior in the future month according to the purchase history and user information in the Santander dataset.
Stars: ✭ 60 (+87.5%)
Mutual labels:  collaborative-filtering, recommender-system
Deep Learning For Recommendation Systems
This repository contains Deep Learning based articles , paper and repositories for Recommender Systems
Stars: ✭ 2,493 (+7690.63%)
Mutual labels:  collaborative-filtering, recommender-system
Polara
Recommender system and evaluation framework for top-n recommendations tasks that respects polarity of feedbacks. Fast, flexible and easy to use. Written in python, boosted by scientific python stack.
Stars: ✭ 205 (+540.63%)
Mutual labels:  collaborative-filtering, recommender-system
svae cf
[ WSDM '19 ] Sequential Variational Autoencoders for Collaborative Filtering
Stars: ✭ 38 (+18.75%)
Mutual labels:  collaborative-filtering, recommender-system
disentangled graph collaborative filtering
Disentagnled Graph Collaborative Filtering, SIGIR2020
Stars: ✭ 118 (+268.75%)
Mutual labels:  collaborative-filtering, recommender-system
Rankfm
Factorization Machines for Recommendation and Ranking Problems with Implicit Feedback Data
Stars: ✭ 71 (+121.88%)
Mutual labels:  collaborative-filtering, recommender-system
Movie Recommender System
Basic Movie Recommendation Web Application using user-item collaborative filtering.
Stars: ✭ 85 (+165.63%)
Mutual labels:  collaborative-filtering, recommender-system
Gorse
An open source recommender system service written in Go
Stars: ✭ 1,148 (+3487.5%)
Mutual labels:  collaborative-filtering, recommender-system
Movielens Recommender
A pure Python implement of Collaborative Filtering based on MovieLens' dataset.
Stars: ✭ 131 (+309.38%)
Mutual labels:  collaborative-filtering, recommender-system
Elliot
Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation
Stars: ✭ 49 (+53.13%)
Mutual labels:  collaborative-filtering, recommender-system
Consimilo
A Clojure library for querying large data-sets on similarity
Stars: ✭ 54 (+68.75%)
Mutual labels:  collaborative-filtering, recommender-system
Implicit
Fast Python Collaborative Filtering for Implicit Feedback Datasets
Stars: ✭ 2,569 (+7928.13%)
Mutual labels:  collaborative-filtering, recommender-system
slopeone
PHP implementation of the Weighted Slope One rating-based collaborative filtering scheme.
Stars: ✭ 85 (+165.63%)
Mutual labels:  collaborative-filtering, recommender-system

SLRC

Short-term and Life-time Repeat Consumption (SLRC)

Model repeat consuming behavior with combination of Collaborative Filtering (CF) and Hawkes Process.

This is our implementation for the paper:

Chenyang Wang, Min Zhang, Weizhi Ma, Yiqun Liu, and Shaoping Ma. 2019. Modeling Item-Specific Temporal Dynamics of Repeat Consumption for Recommender Systems. In WWW'19.

Three models are implemented when integrating different CF methods:

Please cite our paper if you use our codes. Thanks!

@inproceedings{wang2019modeling,
  title={Modeling Item-Specific Temporal Dynamics of Repeat Consumption for Recommender Systems},
  author={Wang, Chenyang and Zhang, Min and Ma, Weizhi and Liu, Yiqun and Ma, Shaoping},
  booktitle={The World Wide Web Conference},
  pages={1977--1987},
  year={2019},
  organization={ACM}
}

Author: Chenyang Wang ([email protected])

Environments

python 3.5.2
tensorflow 1.2.0
pandas 0.23.4
numpy 1.16.0
sklearn 0.20.2
tqdm 4.29.1

If you want to train with GPU, tensorflow-gpu==1.2.0 is required.

Datasets

  • Baby: Online purchasing information within baby category from an e-commerce retailer. Not publicly available.
  • Order: Mobile payment records in supermarkets and convenient stores. Not publicly available. But we have release anonymized data online.
  • Recsys2017: Click log of job posting. The original data and description is avaliable here.
  • BrightKite: User check-in data to physical locations. The original data and description is avaliable here.

The format description of origin data and dataset after preprocessing can be found in ./data/README.md.

Usage

Download original data and put it into ./data/ (or other data in the same format)

> cd SLRC/src
# make sure main.py can find necessary modules
> export PYTHONPATH=../

# generate dataset
> python Preprocess.py --dataset order

# SLRC_BPR in Order dataset
> python main.py --cf BPR --dataset order --gpu '' --K 100 --batch_size 256 --l2 1e-4 --lr 1e-4

According to our experiences, SLRC_BPR generally works well and takes less time to train, which is the most robust. SLRC_NCF relies on fine-tuned parameters to get good results (sometimes still worse than SLRC_BPR). Therefore, we recommend to use BPR as the Collaborative filtering (CF) method to calculate base intensity.

Example training log in Order dataset can be found in ./log/.

Last Update Date: Oct. 18, 2019

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].