Skip to main content

RecSim: A Configurable Recommender Systems Simulation Platform

Project description

RecSim: A Configurable Recommender Systems Simulation Platform

RecSim is a configurable platform for authoring simulation environments for recommender systems (RSs) that naturally supports sequential interaction with users. RecSim allows the creation of new environments that reflect particular aspects of user behavior and item structure at a level of abstraction well-suited to pushing the limits of current reinforcement learning (RL) and RS techniques in sequential interactive recommendation problems. Environments can be easily configured that vary assumptions about: user preferences and item familiarity; user latent state and its dynamics; and choice models and other user response behavior. We outline how RecSim offers value to RL and RS researchers and practitioners, and how it can serve as a vehicle for academic-industrial collaboration.

Disclaimer

This is not an officially supported Google product.

Installation and Sample Usage

It is recommended to install RecSim using (https://pypi.org/project/recsim/):

pip install recsim

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

git clone https://github.com/google-research/recsim
cd recsim/recsim
python main.py --logtostderr \
  --base_dir="/tmp/recsim/interest_exploration_full_slate_q" \
  --agent_name=full_slate_q \
  --environment_name=interest_exploration \
  --episode_log_file='episode_logs.tfrecord' \
  --gin_bindings=simulator.runner_lib.Runner.max_steps_per_episode=100 \
  --gin_bindings=simulator.runner_lib.TrainRunner.num_iterations=10 \
  --gin_bindings=simulator.runner_lib.TrainRunner.max_training_steps=100 \
  --gin_bindings=simulator.runner_lib.EvalRunner.max_eval_episodes=5

You could then start a tensorboard and view the output

tensorboard --logdir=/tmp/recsim/interest_exploration_full_slate_q/ --port=2222

You could also find the simulated logs in /tmp/recsim/episode_logs.tfrecord

Tutorials

To get started, please check out our Colab tutorials. In RecSim: Overview, we give a brief overview about RecSim. We then talk about each configurable component: environment and recommender agent.

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-0.1.7.tar.gz (60.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

recsim-0.1.7-py2-none-any.whl (101.9 kB view details)

Uploaded Python 2

File details

Details for the file recsim-0.1.7.tar.gz.

File metadata

  • Download URL: recsim-0.1.7.tar.gz
  • Upload date:
  • Size: 60.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/2.7.16

File hashes

Hashes for recsim-0.1.7.tar.gz
Algorithm Hash digest
SHA256 4349db45b4e4447d2c2263e4796bf1fc5ae38fa53ea155b7b4f7f77f9df68ff3
MD5 efbd0f41f999de1aeb86cd3752d2b43f
BLAKE2b-256 82b5ad05e0e8a31bda6c0c60c8d30f54cb32416031e2c8e0bb758b1e25ee3f85

See more details on using hashes here.

File details

Details for the file recsim-0.1.7-py2-none-any.whl.

File metadata

  • Download URL: recsim-0.1.7-py2-none-any.whl
  • Upload date:
  • Size: 101.9 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/2.7.16

File hashes

Hashes for recsim-0.1.7-py2-none-any.whl
Algorithm Hash digest
SHA256 984a9d0b41a74a6c1fa3b515658f2038bec00c84db73f25f02d8792ca1ba1d96
MD5 e27637847dbe78c9a9553185c99f216c
BLAKE2b-256 eb806b0250f1e667006b3f30d70bf7086cd5d583bd6b3cb6c1f1c17636e60a0e

See more details on using hashes here.

Supported by

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