All Projects → skywaLKer518 → A Recsys

skywaLKer518 / A Recsys

A Tensorflow based implicit recommender system

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to A Recsys

Cnn lstm for text classify
CNN, LSTM, NBOW, fasttext 中文文本分类
Stars: ✭ 90 (-9.09%)
Mutual labels:  lstm
Multitask sentiment analysis
Multitask Deep Learning for Sentiment Analysis using Character-Level Language Model, Bi-LSTMs for POS Tag, Chunking and Unsupervised Dependency Parsing. Inspired by this great article https://arxiv.org/abs/1611.01587
Stars: ✭ 93 (-6.06%)
Mutual labels:  lstm
Photostructure For Servers
PhotoStructure for Servers
Stars: ✭ 98 (-1.01%)
Mutual labels:  metadata
Wordpress Seo
Yoast SEO for WordPress
Stars: ✭ 1,301 (+1214.14%)
Mutual labels:  metadata
Social Links
Simple library to count shares and generate share buttons
Stars: ✭ 91 (-8.08%)
Mutual labels:  metadata
Flvmeta
FLV Metadata Editor
Stars: ✭ 94 (-5.05%)
Mutual labels:  metadata
End To End Sequence Labeling Via Bi Directional Lstm Cnns Crf Tutorial
Tutorial for End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF
Stars: ✭ 87 (-12.12%)
Mutual labels:  lstm
Text predictor
Char-level RNN LSTM text generator📄.
Stars: ✭ 99 (+0%)
Mutual labels:  lstm
Bam
The Binary Analysis Metadata tool gathers information about Windows binaries to aid in their analysis. #nsacyber
Stars: ✭ 93 (-6.06%)
Mutual labels:  metadata
Agentframework
An elegant & efficient TypeScript metaprogramming API to build software agents
Stars: ✭ 97 (-2.02%)
Mutual labels:  metadata
Ck Tensorflow
Collective Knowledge components for TensorFlow (code, data sets, models, packages, workflows):
Stars: ✭ 90 (-9.09%)
Mutual labels:  metadata
Synopsis Analyzer Archived
Video Analyzer & Transcoder - supports batch encoding to a variety of video codecs (including HAP), while embedding metadata from machine learning & computer vision algorithms into your output files.
Stars: ✭ 90 (-9.09%)
Mutual labels:  metadata
Pytorch Pos Tagging
A tutorial on how to implement models for part-of-speech tagging using PyTorch and TorchText.
Stars: ✭ 96 (-3.03%)
Mutual labels:  lstm
Word Rnn Tensorflow
Multi-layer Recurrent Neural Networks (LSTM, RNN) for word-level language models in Python using TensorFlow.
Stars: ✭ 1,297 (+1210.1%)
Mutual labels:  lstm
Mustangproject
Open Source Java e-Invoicing library, validator and tool (Factur-X/ZUGFeRD, UNCEFACT/CII XRechnung)
Stars: ✭ 98 (-1.01%)
Mutual labels:  metadata
Pytorch Sentiment Classification
LSTM and CNN sentiment analysis
Stars: ✭ 89 (-10.1%)
Mutual labels:  lstm
Php Mediainfo
PHP wrapper around the mediainfo command
Stars: ✭ 93 (-6.06%)
Mutual labels:  metadata
Sarcasmdetection
Sarcasm detection on tweets using neural network
Stars: ✭ 99 (+0%)
Mutual labels:  lstm
Ut metadata
BitTorrent Extension for Peers to Send Metadata Files (BEP 9)
Stars: ✭ 98 (-1.01%)
Mutual labels:  metadata
Pytorch Learners Tutorial
PyTorch tutorial for learners
Stars: ✭ 97 (-2.02%)
Mutual labels:  lstm

A-RecSys : a Tensorflow Toolkit for Implicit Recommendation Tasks

A-RecSys

A-RecSys implements implicit recommendation algorithms and is designed for large scale recommendation settings. It extends traditional matrix factorization algorithms, and focuses on attribute embedding and applying sequence models.

Works implemented by this toolkit include:

  • A Batch Learning Framework for Scalable Personalized Ranking. AAAI 18. arXiv
  • Sequential heterogeneous attribute embedding for item recommendation. ICDM 17 SERecsys Workshop.
  • Temporal Learning and Sequence Modeling for a Job Recommender System. RecSys Challenge 16 pdf

The models and features supported by A-RecSys include,

Models

  • Hybrid matrix factorization model (with deep layer extensions)
  • Linear sequence models based on CBOW and skip-gram
  • LSTM-based seq2seq model

Features

  • Recommendation with implicit feedback
  • Heterogeneous attribute embedding (see attributes/README.md for details)
  • Objective functions include cross-entropy, Weighted Margin Rank Batch loss.

How to use

Input data

CSV-formated (sep=\t) input files include

u.csv	: user file. user id and attribute values.
i.csv: item file. item id and attribute values.
obs_tr.csv: implicit feedback for training. First two columns are user-id, item-id. Third column (optional) is for timestamp. 
obs_va.csv: implicit feedback for development.
obs_te.csv: implicit feedback for testing.

A example (adapted from MovieLens 1m) is given at ./examples/dataset/

Train models

Example scripts are provided at ./examples/ to start running the code

To train hybrid matrix factorization model on provided MovieLens 1m dataset:

cd examples/
bash run_hmf.sh 32 1 False 100 False

To train lstm model:

cd examples/
bash run_lstm.sh 64 1 False

(Code has been tested on TF 0.8 and above.)

Recommend

You can switch to "recommend" mode from "training" by setting flag recommend to 'true'. In the above HMF example, it would be:

cd examples/
bash run_hmf.sh 32 1 False 100 True

By default, the code generates a ground truth interaction file res_T_test.csv from obs_te.csv, and perform recommendation on all users that appear in res_T_test.csv. You can generate your own res_T_test.csv to narrow down user set to identify which recommendation is being performed.

Dependencies

The code now supports Tensorflow v1.0. During our development, the code was tested with versions 0.8, 0.9, 0.11, 0.12.

Cite

Please cite the following if you find this helpful.

@inproceedings{liu2017wmrb, title={WMRB: learning to rank in a scalable batch training approach}, author={Liu, Kuan and Natarajan, Prem}, booktitle={Proceedings of the Recommender Systems Poster}, year={2017}, organization={ACM} }

@inproceedings{liu2016temporal, title={Temporal learning and sequence modeling for a job recommender system}, author={Liu, Kuan and Shi, Xing and Kumar, Anoop and Zhu, Linhong and Natarajan, Prem}, booktitle={Proceedings of the Recommender Systems Challenge}, pages={7}, year={2016}, organization={ACM} }

Feedback

Your comments and suggestions are more than welcome! We really appreciate that!

Kuan Liu [email protected] Xing Shi [email protected]

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