{"id":10146823,"url":"https://deepmind.github.io/dramatron","last_synced_at":"2025-09-03T06:31:40.095Z","repository":{"id":64526775,"uuid":"575527930","full_name":"google-deepmind/dramatron","owner":"google-deepmind","description":"Dramatron uses large language models to generate coherent scripts and screenplays.","archived":false,"fork":false,"pushed_at":"2024-03-11T00:43:26.000Z","size":902,"stargazers_count":913,"open_issues_count":1,"forks_count":157,"subscribers_count":25,"default_branch":"main","last_synced_at":"2024-05-22T15:32:52.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://deepmind.github.io/dramatron","language":"Jupyter Notebook","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/google-deepmind.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-07T18:00:04.000Z","updated_at":"2024-05-27T12:31:49.848Z","dependencies_parsed_at":"2023-09-07T20:34:47.506Z","dependency_job_id":"934408ec-ed5c-4158-98d3-aa96814cd8bc","html_url":"https://github.com/google-deepmind/dramatron","commit_stats":null,"previous_names":["google-deepmind/dramatron","deepmind/dramatron"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdramatron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdramatron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdramatron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdramatron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/google-deepmind","download_url":"https://codeload.github.com/google-deepmind/dramatron/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231852042,"owners_count":18436143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-05-23T11:03:09.705Z","updated_at":"2024-12-30T11:30:29.223Z","avatar_url":"https://github.com/google-deepmind.png","language":"Jupyter Notebook","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# Dramatron\n\n\u003cimg src=\"dramatron-animation.gif\" /\u003e\n\n## Try Dramatron\n\n**Dramatron** can be run in Python as a Colab, by opening `colab/dramatron.ipynb`. [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/deepmind/dramatron/blob/main/colab/dramatron.ipynb)\nThe Colab is provided ``unplugged'', without a large language model interface. To use it, you will need to implement functions `__init__` and `sample`, by adding your code to sample from your own large language model.\n\n## Details\n\n**Dramatron** uses existing, pre-trained large language models to generate long, coherent text and could be useful for authors for **co-writing** theatre scripts and screenplays. Dramatron uses hierarchical story generation for consistency across the generated text. Starting from a log line, Dramatron interactively generates character descriptions, plot points, location descriptions, and dialogue. These generations provide human authors with material for compilation, editing, and rewriting.\n\nDramatron is conceived as a writing tool and as a source of inspiration and exploration for writers. To evaluate Dramatron’s usability and capabilities, we engaged 15 playwrights and screenwriters in two-hour long user study sessions to co-write scripts alongside Dramatron.\n\nOne concrete illustration of how Dramatron can be utilised by creative communities is how one playwright staged 4 heavily edited and rewritten scripts co-written alongside Dramatron. In the public theatre show, *Plays by Bots*, a talented cast of experienced actors with improvisational skills gave meaning to Dramatron scripts through acting and interpretation.\n\nDuring the development of Dramatron and through discussions with industry professionals, we made several important observations:\n\n* Dramatron is a **co-writing** system that has only been used in collaboration with human writers, and was not conceived or evaluated to be used autonomously.\n* Dramatron’s top-down hierarchical story generation structure does not correspond to every writer's writing process.\n* The output of a language model may include elements of the text used to train the language model. One possible mitigation is for the human co-writer to search for substrings from outputs to help to identify plagiarism.\n* Dramatron may reproduce biases and stereotypes found in the corpus, and may generate offensive text. One possible mitigation is to use the [Perspective API](https://perspectiveapi.com/) for estimating toxicity scores of the language outputs, and filtering generations based on the Perspective API analysis.\n\nIn our SIG CHI 2023 paper [Mirowski, Mathewson et al (2023) Co-Writing Screenplays and Theatre Scripts with Language Models: An Evaluation by Industry Professionals](https://dl.acm.org/doi/10.1145/3544548.3581225) [(and in the 2022 pre-print on arXiv)](https://arxiv.org/abs/2209.14958), we share many reflections including how playwrights reflected that they \"wouldn't use [Dramatron] to write a full play,\" and that Dramatron's output can be \"formulaic.\" Rather, they would use Dramatron for \"world building,\" for exploring alternative stories by changing characters or plot elements, and for creative idea generation.\n\nWe are looking forward to learning if and how you might incorporate Dramatron into your own artistic practices. If you’d like to share thoughts, comments, or observations or have any questions, please contact us at dramatron@deepmind.com.\n\nThe guide for contributors to Dramatron can be found [here](CONTRIBUTING.md).\n\n## Cite Dramatron\n\n```\n@article{mirowski2022cowriting,\n  title={Co-Writing Screenplays and Theatre Scripts with Language Models: An Evaluation by Industry Professionals},\n  author={Mirowski, Piotr and Mathewson, Kory W and Pittman, Jaylen and Evans, Richard},\n  journal={arXiv preprint arXiv:2209.14958},\n  year={2022}\n}\n```\n\n## License and Disclaimer\n\nCopyright 2022 DeepMind Technologies Limited\n\nAll software is licensed under the Apache License, Version 2.0 (Apache 2.0);\nyou may not use this file except in compliance with the Apache 2.0 license.\nYou may obtain a copy of the Apache 2.0 license at:\nhttps://www.apache.org/licenses/LICENSE-2.0\n\nAll other materials are licensed under the Creative Commons Attribution 4.0\nInternational License (CC-BY). You may obtain a copy of the CC-BY license at:\nhttps://creativecommons.org/licenses/by/4.0/legalcode\n\nUnless required by applicable law or agreed to in writing, all software and\nmaterials distributed here under the Apache 2.0 or CC-BY licenses are\ndistributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\neither express or implied. See the licenses for the specific language governing\npermissions and limitations under those licenses.\n\nThis is not an official Google product.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/deepmind.github.io%2Fdramatron","html_url":"https://awesome.ecosyste.ms/projects/deepmind.github.io%2Fdramatron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/deepmind.github.io%2Fdramatron/lists"}