Skip to main content

RecSim NG: Toward Principled Uncertainty Modeling for Recommender Ecosystems

Project description

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

@article{mladenov2021recsimng,
    title = {RecSim {NG}: Toward Principled Uncertainty Modeling for Recommender Ecosystems},
    author = {Martin Mladenov, Chih-Wei Hsu, Vihan Jain, Eugene Ie, Christopher Colby, Nicolas Mayoraz, Hubert Pham, Dustin Tran, Ivan Vendrov, Craig Boutilier}
    year = {2021},
    eprint={2103.08057},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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

pip install recsim_ng

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 white paper for the high-level design.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

recsim_ng-0.1.2.tar.gz (86.3 kB view details)

Uploaded Source

Built Distribution

recsim_ng-0.1.2-py3-none-any.whl (166.3 kB view details)

Uploaded Python 3

File details

Details for the file recsim_ng-0.1.2.tar.gz.

File metadata

  • Download URL: recsim_ng-0.1.2.tar.gz
  • Upload date:
  • Size: 86.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.8

File hashes

Hashes for recsim_ng-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8e8d8e9e98ef404f0147c52f242e372c490749ddaae2639d651ea08c6b20a668
MD5 56cd6bf673f2d29e5a3d3b1a97a5bf4e
BLAKE2b-256 42f5eb3528dda4b1f8017f8a65be1321dd9583d1618792728d7a0312e5a9671a

See more details on using hashes here.

File details

Details for the file recsim_ng-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: recsim_ng-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 166.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.8

File hashes

Hashes for recsim_ng-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 91d69de851d462f6834cb16e667344d0153bd0e1370c5abfe6dc990513016f5b
MD5 50e9fbb50f0fed1df8ebd174e924510c
BLAKE2b-256 400c85294f58a978c689426c9152d1d8d95d915684b03cb64c1776b3b289d906

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page