{"id":24184569,"url":"https://github.com/rst-workbench/rst-workbench","last_synced_at":"2025-09-21T07:30:56.873Z","repository":{"id":143561639,"uuid":"121293622","full_name":"rst-workbench/rst-workbench","owner":"rst-workbench","description":"rst-workbench enables the hassle-free installation of RST parsers. It lets you visually compare their results in your browser.","archived":false,"fork":false,"pushed_at":"2024-04-12T12:35:00.000Z","size":2013,"stargazers_count":17,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-12T15:23:23.853Z","etag":null,"topics":["discourse","discourse-analysis","docker","linguistics","nlp","rhetorical-parser","rhetorical-structure-theory","rst","webapp"],"latest_commit_sha":null,"homepage":"https://rst-workbench.arne.cl/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rst-workbench.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2018-02-12T19:47:13.000Z","updated_at":"2023-10-25T11:13:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"ba538fe0-ca20-45bc-84d6-56bfe14a4862","html_url":"https://github.com/rst-workbench/rst-workbench","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rst-workbench%2Frst-workbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rst-workbench%2Frst-workbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rst-workbench%2Frst-workbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rst-workbench%2Frst-workbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rst-workbench","download_url":"https://codeload.github.com/rst-workbench/rst-workbench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233723958,"owners_count":18720110,"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":["discourse","discourse-analysis","docker","linguistics","nlp","rhetorical-parser","rhetorical-structure-theory","rst","webapp"],"created_at":"2025-01-13T10:15:56.727Z","updated_at":"2025-09-21T07:30:51.577Z","avatar_url":"https://github.com/rst-workbench.png","language":"JavaScript","readme":"# rst-workbench\n\n\u003cimg align=\"left\" src=\"frontend/img/logo.png\" width=\"300\"\u003e The `rst-workbench` lets you easily\ninstall and run existing RST parsers usind Docker containers.\nIt provides a convenient web app for running multiple RST parsers concurrently\nand allows you to visualize and post-edit the trees produced by the parsers.\n\u003cbr clear=\"left\"/\u003e\n\n\u003ca href=\"https://www.youtube.com/watch?v=-zpdhp5nu-M\"\u003e\n  \u003cimg align=\"right\" src=\"frontend/img/demo-video-screenshot.png\" alt=\"screenshot from rst-workbench demo video\" width=\"600\"\u003e\n\u003c/a\u003e\n\nHere's a [video](https://www.youtube.com/watch?v=-zpdhp5nu-M) demonstrating its usage.  \nYou can also try our demo server at https://rst-workbench.arne.cl/.  \n\\\nFor installation instructions and usage examples, see [below](#installation).\n\u003cbr clear=\"right\"/\u003e\n\n## Supported Parsers\n\nCurrently, we support the following RST parsers that we provide as Docker\ncontainers with a REST API and pre-trained on RST-DT:\n\n- HILDA (Hernault et al. 2010) [[our repo](https://github.com/nlpbox/hilda-service)] [[paper](http://journals.linguisticsociety.org/elanguage/dad/article/download/591/591-2300-1-PB.pdf)]\n  - HILDA itself is only available from the [Prendinger lab](http://research.nii.ac.jp/%7Eprendinger/),\n    so we can't provide automated builds but only the build scripts here.\n\n- Feng and Hirst (2014) [[our repo](https://github.com/NLPbox/feng-hirst-service)] [[paper](https://www.aclweb.org/anthology/P14-1048/)]\n\n- DPLP (Ji and Eisenstein 2014) [[our repo](https://github.com/NLPbox/dplp-service)] [[paper](https://www.aclweb.org/anthology/P14-1002/)]\n\n- Heilman and Sagae (2015) [[our repo](https://github.com/NLPbox/heilman-sagae-2015-service)] [[paper](https://arxiv.org/abs/1505.02425)]\n\n- CODRA (Joty et al. 2015) [[our repo](https://github.com/NLPbox/codra-service)] [[paper](https://www.mitpressjournals.org/doi/abs/10.1162/COLI_a_00226)]\n\n- StageDP (Wang et al. 2017) [[our repo](https://github.com/nlpbox/stagedp-service)] [[paper](https://www.aclweb.org/anthology/P17-2029/)]\n  - the parser requires EDU-segmented input, so we combine it with the NeuralEDUSeg discourse segmenter [(Wang et al. 2018)](https://www.aclweb.org/anthology/D18-1116/)\n\n\n## Installation\n\nPlease install [Docker](https://docs.docker.com/get-docker/) and [docker-compose](https://docs.docker.com/compose/install/) first,\nthen clone this repo including its submodules.\n\n```\ngit clone --recurse-submodules https://github.com/rst-workbench/rst-workbench\n```\n\n\n### Usage on your local machine\n\nTo run the rst-workbench on your local machine, simply run  \n`DOMAIN=localhost docker compose up --build --force-recreate` in the folder into which you cloned the repo.  \n\nOn the first run, this will take a long time and download the Docker containers of all supported RST parsers.  \nOn all subsequent runs, this will be much quicker and simply start the Docker containers from your hard drive.\n\nOnce it has started, go to http://localhost:8000/ in your browser to use the web interface.\n\nBy setting set the `DOMAIN` to `localhost`, the rst-workbench will be only available on the\nmachine where you run this command. The parameters `--build` and `--force-recreate` should\nnot be needed on normal runs, but you will need them whenever you change the configuration.\n\n  \n### Usage on a server\n\nThe repo contains everything necessary to run our demo server at https://rst-workbench.arne.cl/ .\nWe usually start it like this:\n\n```\nDOMAIN=rst-workbench.arne.cl docker compose -f docker-compose-server.yml up --build --force-recreate\n```\n\nTo make it work on your domain, you will need to change the `domains` and `email` variables\nin the file `nginx-certbot/init-letsencrypt.sh`.\n\n\n\n\n## Citation\n\nIf you use rst-workbench, rst-converter-service or any of the dockerized RST parsers,\nplease consider citing our paper:\n\n```\n@inproceedings{neumann-2021-rst-workbench,\n    title = \"Using and comparing {R}hetorical {S}tructure {T}heory parsers with rst-workbench\",\n    author = \"Neumann, Arne\",\n    booktitle = \"Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations\",\n    month = apr,\n    year = \"2021\",\n    address = \"Online\",\n    publisher = \"Association for Computational Linguistics\",\n    url = \"https://www.aclweb.org/anthology/2021.eacl-demos.1\",\n    pages = \"1--6\",\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frst-workbench%2Frst-workbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frst-workbench%2Frst-workbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frst-workbench%2Frst-workbench/lists"}