RecSim é uma plataforma configurável para criação de ambientes de simulação para sistemas de recomendação (RSs) que suporta naturalmente interação sequencial com usuários. RecSim permite a criação de novos ambientes que refletem aspectos particulares do comportamento do usuário e da estrutura do item em um nível de abstração adequado para ultrapassar os limites das atuais técnicas de aprendizagem por reforço (RL) e RS em problemas de recomendação interativos sequenciais. Podem ser facilmente configurados ambientes que variam as suposições sobre: preferências do usuário e familiaridade com os itens; estado latente do usuário e sua dinâmica; e modelos de escolha e outros comportamentos de resposta do usuário. Descrevemos como o RecSim oferece valor aos pesquisadores e profissionais de RL e RS, e como pode servir como um veículo para a colaboração acadêmico-industrial. Para uma descrição detalhada da arquitetura RecSim, leia Ie et al. Por favor, cite o artigo se você usar o código deste repositório em seu trabalho.
@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}
}
Este não é um produto do Google com suporte oficial.
Recomenda-se instalar o RecSim usando (https://pypi.org/project/recsim/):
pip install recsim
No entanto, a versão mais recente do Dopamine não estava no PyPI em dezembro de 2019. Queremos instalar a versão mais recente do repositório do Dopamine como a seguir, antes de instalarmos o RecSim. Observe que o Dopamine requer Tensorflow 1.15.0, que é a versão 1.x final, incluindo suporte de GPU para Ubuntu e Windows.
pip install git+https://github.com/google/dopamine.git
Aqui estão alguns exemplos de comandos que você pode usar para testar a instalação:
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
Você poderia então iniciar um tensorboard e visualizar a saída
tensorboard --logdir=/tmp/recsim/interest_exploration_full_slate_q/ --port=2222
Você também pode encontrar os logs simulados em /tmp/recsim/episode_logs.tfrecord
Para começar, confira nossos tutoriais do Colab. Em RecSim: Visão Geral , damos uma breve visão geral sobre RecSim. Falamos então sobre cada componente configurável: ambiente e agente recomendador .
Consulte o white paper para obter o design de alto nível.