Code Monkey home page Code Monkey logo

recsim_ng's Introduction

RecSim NG: Toward Principled Uncertainty Modeling for Recommender Ecosystems

RecSim NG, a probabilistic platform for multi-agent recommender systems simulation. RecSimNG is a scalable, modular, differentiable simulator implemented in Edward2 and TensorFlow. It offers: a powerful, general probabilistic programming language for agent-behavior specification; an XLA-based vectorized execution model for running simulations on accelerated hardware; and tools for probabilistic inference and latent-variable model learning, backed by automatic differentiation and tracing. We describe RecSim NG and illustrate how it can be used to create transparent, configurable, end-to-end models of a recommender ecosystem. Specifically, we present a collection of use cases that demonstrate how the functionality described above can help both researchers and practitioners easily develop and train novel algorithms for recommender systems. Please refer to Mladenov et al for the high-level design of RecSim NG. Please cite the paper if you use the code from this repository in your work.

Bibtex

@inproceedings{mladenov2020recsimng,
    title = {Demonstrating Principled Uncertainty Modeling for Recommender Ecosystems with RecSim {NG}},
    author = {Martin Mladenov, Chih-wei Hsu, Vihan Jain, Eugene Ie, Christopher Colby, Nicolas Mayoraz, Hubert Pham, Dustin Tran, Ivan Vendrov, Craig Boutilier}
    year = {2020},
    booktitle = {RecSys 2020: Fourteenth {ACM} Conference on Recommender Systems, Virtual Event, Brazil, September 22-26, 2020},
    pages = {591--593},
}

Disclaimer

This is not an officially supported Google product.

Installation and Sample Usage

It is recommended to install RecSim NG using (https://pypi.org/project/recsim_ng/). We want to install the latest version from Edward2's repository:

pip install recsim_ng
pip install -e "git+https://github.com/google/edward2.git#egg=edward2"

Here are some sample commands you could use for testing the installation:

git clone https://github.com/google-research/recsim_ng
cd recsim_ng/recsim_ng/applications/ecosystem_simulation
python ecosystem_simulation_demo.py

Tutorials

To get started, please check out our Colab tutorials. In RecSim NG: Basics, we introduce the RecSim NG model and corresponding modeling APIs and runtime library. We then demonstrate how we define a simulation using entities, behaviors, and stories. Finally, we illustrate differentiable simulation including model learning and inference.

In RecSim NG: Dealing With Uncertainty, we explicitly address the stochastics of the Markov process captured by a DBN. We demonstrate how to use Edward2 in RecSim NG and show how to use the corresponding RecSim NG APIs for inference and learning tasks. Finally, we showcase how the uncertainty APIs of RecSim NG can be used within a recommender-system model-learning application.

Documentation

Please refer to the demo paper for the high-level design.

recsim_ng's People

Contributors

cwhsu-google 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.