https://github.com/google-research/recsim

A Configurable Recommender Systems Simulation Platform

https://github.com/google-research/recsim

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords

artificial-intelligence google machine-learning recommender-system reinforcement-learning simulation tensorflow
Last synced: 4 months ago · JSON representation

Repository

A Configurable Recommender Systems Simulation Platform

Basic Info
Statistics
  • Stars: 767
  • Watchers: 35
  • Forks: 130
  • Open Issues: 16
  • Releases: 0
Topics
artificial-intelligence google machine-learning recommender-system reinforcement-learning simulation tensorflow
Created over 6 years ago · Last pushed about 4 years ago
Metadata Files
Readme Contributing License

README.md

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. For a detailed description of the RecSim architecture please read Ie et al. Please cite the paper if you use the code from this repository in your work.

Bibtex

@article{ie2019recsim, title={RecSim: A Configurable Simulation Platform for Recommender Systems}, author={Eugene Ie and Chih-wei Hsu and Martin Mladenov and Vihan Jain and Sanmit Narvekar and Jing Wang and Rui Wu and Craig Boutilier}, year={2019}, eprint={1909.04847}, archivePrefix={arXiv}, primaryClass={cs.LG} }

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/):

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

Owner

  • Name: Google Research
  • Login: google-research
  • Kind: organization
  • Location: Earth

GitHub Events

Total
  • Watch event: 27
  • Fork event: 2
Last Year
  • Watch event: 27
  • Fork event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 21
  • Total Committers: 2
  • Avg Commits per committer: 10.5
  • Development Distribution Score (DDS): 0.476
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
ChihWei Hsu c****u@g****m 11
RecSim Team n****y@g****m 10
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 30
  • Total pull requests: 1
  • Average time to close issues: 3 months
  • Average time to close pull requests: less than a minute
  • Total issue authors: 29
  • Total pull request authors: 1
  • Average comments per issue: 2.27
  • Average comments per pull request: 2.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • TobyGE (2)
  • ashishlal (1)
  • riathehl (1)
  • theolanganay (1)
  • jeremy1320 (1)
  • davera-017 (1)
  • tiandongtao (1)
  • riskr12 (1)
  • Rong-Tao (1)
  • ShishirKumar93 (1)
  • pkorobov (1)
  • rahul-zomato (1)
  • Bilwang129 (1)
  • Netceor (1)
  • joeppereira (1)
Pull Request Authors
  • kittipatv (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 174 last-month
  • Total docker downloads: 24,426,834
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 188
    (may contain duplicates)
  • Total versions: 15
  • Total maintainers: 2
pypi.org: recsim

RecSim: A Configurable Recommender Systems Simulation Platform

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 188
  • Downloads: 167 Last month
  • Docker Downloads: 24,426,834
Rankings
Docker downloads count: 0.7%
Dependent repos count: 1.1%
Downloads: 1.9%
Stargazers count: 2.4%
Average: 3.4%
Forks count: 4.2%
Dependent packages count: 10.1%
Maintainers (1)
Last synced: 5 months ago
pypi.org: recsim-v2

RecSim: A Configurable Recommender Systems Simulation Platform

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 7 Last month
Rankings
Dependent packages count: 10.1%
Average: 33.5%
Dependent repos count: 56.9%
Maintainers (1)
Last synced: 5 months ago

Dependencies

setup.py pypi
  • absl-py *
  • dopamine-rl *
  • gin-config *
  • gym *
  • numpy *
  • scipy *
  • tensorflow *