Giter Site home page Giter Site logo

shubhampachori12110095 / chainrec Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mengtingwan/chainrec

0.0 2.0 0.0 6.94 MB

Mengting Wan, Julian McAuley, "Item Recommendation on Monotonic Behavior Chains", in Proc. of 2018 ACM Conference on Recommender Systems (RecSys'18), Vancouver, Canada, Oct. 2018.

License: Apache License 2.0

Python 100.00%

chainrec's Introduction

chainRec

This repo includes a tensorflow implementation of the algorithm -- chainRec, proposed in the paper

Mengting Wan, Julian McAuley, "Item Recommendation on Monotonic Behavior Chains", in Proc. of 2018 ACM Conference on Recommender Systems (RecSys'18), Vancouver, Canada, Oct. 2018.

We also contributed a new large-scale book review dataset -- Goodreads. Details of the dataset can be found here.

If you would like to use our dataset, extend our algorithm, or use our source code, please consider citing our paper (listed above). Thanks!

Any questions please contact Mengting Wan ([email protected]).

What is chainRec?

We unify a spectrum of implicit and explicit user feedback on a monotonic behavior whereany signal necessarily implies the presence of a weaker (or more implicit) signal.

  • For example, dierent user-item interactions in e-commerce systems can be encoded as binary states on a chain, which semantically represents if a user clicks, purchases, reviews or recommends, (e.g. a rating score larger than some threshold) the item. A ‘review’ action implies a ‘purchase’ action, which implies a ‘click’ action, etc.

Illustration of a Monotonic Function

Given historical observations of users’ behavior chains, we seek to estimate their responses toward unobserved items. Specifically, we propose an algorithm -- chainRec where

  • we design a scoring function to make use of all types of responses, and preserve the monotonic constraints in the resulting user preference scores;
  • we also develop a new optimization criterion which takes advantage of the monotonicity and automatically focuses on the most critical information in users’ feedback data.
Illustration of a Monotonic Function Illustration of Edgewise Optimization

More details please consult in our paper.

Quick Start

Requirement:

  • Python 3.6+ (older version has not been tested)
  • Tensorflow 1.6.0+ (older version has not been tested)

Quick start with a small dataset YooChoose, where we regard the recommendation performance on the most explicit (i.e., the last) stage as our primary evaluation criterion.

python test_final_stage.py --dataset yoochoose --method chainRec_uniform --nStage 2 --embedSize 16 --l2 0.1

Results will be saved under a folder ./results/.

To-Do

Add more datasets, more baselines and more parameter options.

chainrec's People

Contributors

mengtingwan avatar

Watchers

James Cloos avatar Shubham Pachori avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.