All Projects → kang205 → Sasrec

kang205 / Sasrec

Licence: apache-2.0
SASRec: Self-Attentive Sequential Recommendation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Sasrec

Spotify-Song-Recommendation-ML
UC Berkeley team's submission for RecSys Challenge 2018
Stars: ✭ 70 (-81.23%)
Mutual labels:  recommender-system
Ad Papers
Papers on Computational Advertising
Stars: ✭ 3,515 (+842.36%)
Mutual labels:  recommender-system
Rspapers
A Curated List of Must-read Papers on Recommender System.
Stars: ✭ 4,140 (+1009.92%)
Mutual labels:  recommender-system
JNSKR
This is our implementation of JNSKR: Jointly Non-Sampling Learning for Knowledge Graph Enhanced Recommendation (SIGIR 2020)
Stars: ✭ 25 (-93.3%)
Mutual labels:  recommender-system
Dsin
Code for the IJCAI'19 paper "Deep Session Interest Network for Click-Through Rate Prediction"
Stars: ✭ 289 (-22.52%)
Mutual labels:  recommender-system
Recsys
项亮的《推荐系统实践》的代码实现
Stars: ✭ 306 (-17.96%)
Mutual labels:  recommender-system
SAE-NAD
The implementation of "Point-of-Interest Recommendation: Exploiting Self-Attentive Autoencoders with Neighbor-Aware Influence"
Stars: ✭ 48 (-87.13%)
Mutual labels:  recommender-system
Recnn
Reinforced Recommendation toolkit built around pytorch 1.7
Stars: ✭ 362 (-2.95%)
Mutual labels:  recommender-system
Recdb Postgresql
RecDB is a recommendation engine built entirely inside PostgreSQL
Stars: ✭ 297 (-20.38%)
Mutual labels:  recommender-system
Artificio
Deep Learning Computer Vision Algorithms for Real-World Use
Stars: ✭ 326 (-12.6%)
Mutual labels:  recommender-system
ds3-spring-2018
Материалы третьего набора офлайн-программы Data Scientist.
Stars: ✭ 22 (-94.1%)
Mutual labels:  recommender-system
Summary Of Recommender System Papers
阅读过的推荐系统论文的归类总结,持续更新中…
Stars: ✭ 288 (-22.79%)
Mutual labels:  recommender-system
Recommendation Systems Paperlist
Papers about recommendation systems that I am interested in
Stars: ✭ 308 (-17.43%)
Mutual labels:  recommender-system
netflix-style-recommender
A simple movie recommendation engine
Stars: ✭ 65 (-82.57%)
Mutual labels:  recommender-system
Product Nets
Tensorflow implementation of Product-based Neural Networks. An extended version is at https://github.com/Atomu2014/product-nets-distributed.
Stars: ✭ 355 (-4.83%)
Mutual labels:  recommender-system
Recommender-System-Pytorch
基于 Pytorch 实现推荐系统相关的算法
Stars: ✭ 40 (-89.28%)
Mutual labels:  recommender-system
Cornac
A Comparative Framework for Multimodal Recommender Systems
Stars: ✭ 308 (-17.43%)
Mutual labels:  recommender-system
Attentional factorization machine
TensorFlow Implementation of Attentional Factorization Machine
Stars: ✭ 362 (-2.95%)
Mutual labels:  recommender-system
Lightfm
A Python implementation of LightFM, a hybrid recommendation algorithm.
Stars: ✭ 3,884 (+941.29%)
Mutual labels:  recommender-system
Winerama Recommender Tutorial
A wine recommender system tutorial using Python technologies such as Django, Pandas, or Scikit-learn, and others such as Bootstrap.
Stars: ✭ 324 (-13.14%)
Mutual labels:  recommender-system

SASRec: Self-Attentive Sequential Recommendation

This is our TensorFlow implementation for the paper:

Wang-Cheng Kang, Julian McAuley (2018). Self-Attentive Sequential Recommendation. In Proceedings of IEEE International Conference on Data Mining (ICDM'18)

Please cite our paper if you use the code or datasets.

The code is tested under a Linux desktop (w/ GTX 1080 Ti GPU) with TensorFlow 1.12 and Python 2.

Refer to here for PyTorch implementation (thanks to pmixer).

Datasets

The preprocessed datasets are included in the repo (e.g. data/Video.txt), where each line contains an user id and item id (starting from 1) meaning an interaction (sorted by timestamp).

The data pre-processing script is also included. For example, you could download Amazon review data from here., and run the script to produce the txt format data.

Steam Dataset

We crawled reviews and game information from Steam. The dataset contains 7,793,069 reviews, 2,567,538 users, and 32,135 games. In addition to the review text, the data also includes the users' play hours in each review.

{
    "app_name": "Portal 2", 
    "developer": "Valve", 
    "early_access": false, 
    "genres": ["Action", "Adventure"], 
    "id": "620", 
    "metascore": 95, 
    "price": 19.99, 
    "publisher": "Valve", 
    "release_date": "2011-04-18", 
    "reviews_url": "http://steamcommunity.com/app/620/reviews/?browsefilter=mostrecent&p=1", 
    "sentiment": "Overwhelmingly Positive", 
    "specs": ["Single-player", "Co-op", "Steam Achievements", "Full controller support", "Steam Trading Cards", "Captions available", "Steam Workshop", "Steam Cloud", "Stats", "Includes level editor", "Commentary available"], 
    "tags": ["Puzzle", "Co-op", "First-Person", "Sci-fi", "Comedy", "Singleplayer", "Adventure", "Online Co-Op", "Funny", "Science", "Female Protagonist", "Action", "Story Rich", "Multiplayer", "Atmospheric", "Local Co-Op", "FPS", "Strategy", "Space", "Platformer"], 
    "title": "Portal 2", 
    "url": "http://store.steampowered.com/app/620/Portal_2/"
}

Model Training

To train our model on Video (with default hyper-parameters):

python main.py --dataset=Video --train_dir=default 

or on ml-1m:

python main.py --dataset=ml-1m --train_dir=default --maxlen=200 --dropout_rate=0.2 

Misc

The implemention of self attention is modified based on this

The convergence curve on ml-1m, compared with CNN/RNN based approaches:

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].