Skip to main content

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.

Release files for recsim-ng 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for recsim-ng 0.1.2
File Size Uploaded
recsim_ng-0.1.2.tar.gz 86.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for recsim-ng 0.1.2
File Interpreter ABI Platform
recsim_ng-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 252.6 kB

Release files / recsim_ng-0.1.2.tar.gz

Download URL recsim_ng-0.1.2.tar.gz
Size 86.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8e8d8e9e98ef404f0147c52f242e372c490749ddaae2639d651ea08c6b20a668
BLAKE2b-256 checksum
How to use checksums
42f5eb3528dda4b1f8017f8a65be1321dd9583d1618792728d7a0312e5a9671a
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / recsim_ng-0.1.2-py3-none-any.whl

Download URL recsim_ng-0.1.2-py3-none-any.whl
Size 166.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91d69de851d462f6834cb16e667344d0153bd0e1370c5abfe6dc990513016f5b
BLAKE2b-256 checksum
How to use checksums
400c85294f58a978c689426c9152d1d8d95d915684b03cb64c1776b3b289d906
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.22

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page