{"id":50380805,"url":"https://github.com/microsoft/interactivetextgeneration","last_synced_at":"2026-05-30T12:00:40.811Z","repository":{"id":168423130,"uuid":"553866301","full_name":"microsoft/InteractiveTextGeneration","owner":"microsoft","description":"An implementation of the paper \"Interactive Text Generation\"","archived":false,"fork":false,"pushed_at":"2026-04-18T02:03:48.000Z","size":232,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-30T11:27:31.601Z","etag":null,"topics":["deep-learning","human-computer-interaction","text-generation","transformers"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2303.00908","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-18T22:37:20.000Z","updated_at":"2026-03-24T23:40:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"d60cc81a-18c1-405f-8c30-79cc8c1187a9","html_url":"https://github.com/microsoft/InteractiveTextGeneration","commit_stats":null,"previous_names":["microsoft/interactivetextgeneration"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/InteractiveTextGeneration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FInteractiveTextGeneration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FInteractiveTextGeneration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FInteractiveTextGeneration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FInteractiveTextGeneration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/InteractiveTextGeneration/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FInteractiveTextGeneration/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33691312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","human-computer-interaction","text-generation","transformers"],"created_at":"2026-05-30T12:00:39.505Z","updated_at":"2026-05-30T12:00:40.798Z","avatar_url":"https://github.com/microsoft.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nThis project offers an implementation of the paper:\n\n**Interactive Text Generation**\\\nFelix Faltings, Michel Galley, Baolin Peng, Kianté Brantley, Weixin Cai, Yizhe Zhang, Jianfeng Gao, Bill Dolan\\\n[arXiv](https://arxiv.org/abs/2303.00908)\n\n\u003cimg src=\"images/motivation.png\" width=\"70%\"\u003e\n\n# Installation\n\nInstall dependencies using requirements.txt:\n`pip install -r requirements.txt`\nThen, install the package. From the top level directory (where `setup.py` is located), run:\n`pip install -e .`\nThis will install this package as an editable module named `infosol`.\n\n# DATA\n\nYou can regenerate the data used in the paper using the `make_data.py` script. You only need to specify the `data_dir` argument where the data will be saved (under `data_dir/cnn_bart`). This script first downloads the raw data from the Huggingface hub.\n\n# Test\n\nTo replicate the main experiments of the paper, run:\n\nscripts/make_eval_jobs.py\n\nThe above command creates jobs files in 'jobs' directory, as well as the directory structure ('out') where test results will be stored. Then, you can pass any of the configuration files under 'jobs' as argument to scripts/run_eval.py. For example, run the following to replicate the S2S 'interactive' experiments (Table 4 of the paper):\n\npython scripts/run_eval.py --args_path jobs/interactive/cnn-bart-s2s --cuda_device 0\n\nNote: The S2S experiments of the paper yield generation that were inconsisent in length and hurt S2S performance. Thus, we tuned its length_penalty hyperparameter on a held out set, and the corresponding job files can be found in jobs/s2s.txt.\n\n# Train\n\nIn order to train all the models presented in the paper, you may use the provided Makefile. Set the `run_dir` variable to the directory where you would like model weights to be saved to. You also need to set the `DATA_DIR` and `SAVE_DIR` paths in `train.py`.\n\n# Code walkthrough\n\nWe suggest you go through the code in the order alignment -\u003e model -\u003e train/evaluate. Alignment defines some basic objects like alignments (used heavily by the oracle) and canvases (the objects that the model and oracle operate on). The others are self-explanatory and are commented.\n\nThe main files:\n- alignment.py\n- env.py\n- evaluate.py\n- models/word_edit_model.py\n- run_eval.py\n- train.py\n- (decoding.py)\n\n## Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft \ntrademarks or logos is subject to and must follow \n[Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Finteractivetextgeneration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Finteractivetextgeneration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Finteractivetextgeneration/lists"}