microsoft / jericho

A learning environment for man-made Interactive Fiction games.
GNU General Public License v2.0
253 stars 42 forks source link
interactive-fiction reinforcement-learning text-based-adventure



Documentation Status Build Status PyPI version

A lightweight python-based interface connecting learning agents with interactive fiction games.


## Requirements ***Linux***, ***Python 3.9+***, ***Spacy***, and basic build tools like ***gcc***,***make*** & ***curl***. ## Install ```bash conda create -n jericho python=3 conda activate jericho python -m pip install jericho python -m spacy download en_core_web_sm ``` ## Documentation - [Quickstart](https://jericho-py.readthedocs.io/en/latest/tutorial_quick.html) - [Frotz Environment](https://jericho-py.readthedocs.io/en/latest/frotz_env.html) - [Object Tree](https://jericho-py.readthedocs.io/en/latest/object_tree.html) - [Game Dictionary](https://jericho-py.readthedocs.io/en/latest/dictionary.html) - [Template Action Generator](https://jericho-py.readthedocs.io/en/latest/template_action_generator.html) - [Utilities](https://jericho-py.readthedocs.io/en/latest/util.html) - [Defines](https://jericho-py.readthedocs.io/en/latest/defines.html) ## Agents - [Reading Comprehension Deep Q-Network (RCDQN)](https://github.com/XiaoxiaoGuo/rcdqn) - [Contextual Action Language Model (CALM)](https://github.com/princeton-nlp/calm-textgame) - [Q*BERT](https://github.com/rajammanabrolu/Q-BERT) - [Knowledge Graph Advantage Actor Critic (KG-A2C)](https://github.com/rajammanabrolu/KG-A2C) - [Template-DQN and DRRN](https://github.com/microsoft/tdqn) ## Citing Jericho If Jericho is used in your research, please cite the following: ``` @article{hausknecht19, title={Interactive Fiction Games: A Colossal Adventure}, author={Hausknecht, Matthew and Ammanabrolu, Prithviraj and C\^ot\'{e} Marc-Alexandre and Yuan Xingdi}, journal={CoRR}, year={2019}, url={http://arxiv.org/abs/1909.05398}, volume={abs/1909.05398} } ``` ## Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com. This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.