Skip to main content

RecSim: A Configurable Recommender Systems Simulation Platform (w/o Tensorflow deps)

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.

What's new

  • 12/13/2019: Added (abstract) classes for both multi-user environments and agents. Added bandit algorithms for generalized linear models.

Installation and Sample Usage

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

pip install recsim

However, the latest version of Dopamine is not in PyPI as of December, 2019. We want to install the latest version from Dopamine's repository like the following before we install RecSim. Note that Dopamine requires Tensorflow 1.15.0 which is the final 1.x release including GPU support for Ubuntu and Windows.

pip install git+https://github.com/google/dopamine.git

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-no-tf-0.2.3.tar.gz (57.2 kB view details)

Uploaded Source

Built Distribution

recsim_no_tf-0.2.3-py3-none-any.whl (98.5 kB view details)

Uploaded Python 3

File details

Details for the file recsim-no-tf-0.2.3.tar.gz.

File metadata

  • Download URL: recsim-no-tf-0.2.3.tar.gz
  • Upload date:
  • Size: 57.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for recsim-no-tf-0.2.3.tar.gz
Algorithm Hash digest
SHA256 47aee9fc07a0b1bc8fa03339999edb027e10139ea38651ac168637bfb8c52f33
MD5 03288563f8e0ca227fea882862bdcf2b
BLAKE2b-256 3f9318ab814aa409eb8af7c62e1ee64054d39dc23f12a948329c88c61af32150

See more details on using hashes here.

File details

Details for the file recsim_no_tf-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: recsim_no_tf-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 98.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for recsim_no_tf-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b27d835a0a7d671b24c3623a02fe68b36a7ec38e7b74892a734d31f199bf0124
MD5 e34b432a4786aed79db7df033f161f23
BLAKE2b-256 be08de8dd55c5ce7d4c855d3b4b9e39f3fbbb01d1c797ffe7f6c75e73fb65beb

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