RecSim عبارة عن منصة قابلة للتكوين لتأليف بيئات المحاكاة لأنظمة التوصية (RSs) التي تدعم بشكل طبيعي التفاعل المتسلسل مع المستخدمين. يسمح RecSim بإنشاء بيئات جديدة تعكس جوانب معينة من سلوك المستخدم وبنية العنصر على مستوى من التجريد مناسب تمامًا لدفع حدود التعلم المعزز الحالي (RL) وتقنيات RS في مشكلات التوصية التفاعلية المتسلسلة. يمكن تكوين البيئات بسهولة بحيث تختلف الافتراضات حول: تفضيلات المستخدم ومعرفة العناصر؛ الحالة الكامنة للمستخدم وديناميكياتها؛ ونماذج الاختيار وسلوكيات استجابة المستخدم الأخرى. نوضح كيف تقدم RecSim قيمة للباحثين والممارسين في RL وRS، وكيف يمكن أن تكون بمثابة وسيلة للتعاون الأكاديمي الصناعي. للحصول على وصف تفصيلي لبنية RecSim، يرجى قراءة Ie et al. يرجى الاستشهاد بالورقة إذا كنت تستخدم الكود من هذا المستودع في عملك.
@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}
}
هذا ليس أحد منتجات Google المدعومة رسميًا.
يوصى بتثبيت RecSim باستخدام (https://pypi.org/project/recsim/):
pip install recsim
ومع ذلك، فإن أحدث إصدار من Dopamine ليس موجودًا في PyPI اعتبارًا من ديسمبر 2019. نريد تثبيت أحدث إصدار من مستودع Dopamine كما يلي قبل تثبيت RecSim. لاحظ أن الدوبامين يتطلب Tensorflow 1.15.0 وهو الإصدار 1.x الأخير بما في ذلك دعم GPU لنظامي Ubuntu وWindows.
pip install git+https://github.com/google/dopamine.git
فيما يلي بعض نماذج الأوامر التي يمكنك استخدامها لاختبار التثبيت:
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
يمكنك بعد ذلك بدء تشغيل لوحة الشد وعرض الإخراج
tensorboard --logdir=/tmp/recsim/interest_exploration_full_slate_q/ --port=2222
يمكنك أيضًا العثور على السجلات المحاكاة في /tmp/recsim/episode_logs.tfrecord
للبدء، يرجى مراجعة دروس Colab الخاصة بنا. في RecSim: نظرة عامة ، نقدم لمحة موجزة عن RecSim. سنتحدث بعد ذلك عن كل مكون قابل للتكوين: البيئة ووكيل التوصية .
يرجى الرجوع إلى الورقة البيضاء للتصميم عالي المستوى.