{"id":16747952,"url":"https://github.com/amake/moses-smt","last_synced_at":"2025-04-10T13:52:22.646Z","repository":{"id":74600256,"uuid":"57111583","full_name":"amake/moses-smt","owner":"amake","description":"Dock You a Moses: Moses Statistical MT in a container","archived":false,"fork":false,"pushed_at":"2020-02-18T23:49:08.000Z","size":51,"stargazers_count":13,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-24T12:39:11.873Z","etag":null,"topics":["docker-image","moses","repl","tmx"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/amake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2016-04-26T08:32:13.000Z","updated_at":"2025-01-07T19:52:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"0be08901-9333-4174-b2c9-ff9db0e1a3e5","html_url":"https://github.com/amake/moses-smt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amake%2Fmoses-smt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amake%2Fmoses-smt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amake%2Fmoses-smt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amake%2Fmoses-smt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amake","download_url":"https://codeload.github.com/amake/moses-smt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248228709,"owners_count":21068742,"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":["docker-image","moses","repl","tmx"],"created_at":"2024-10-13T02:11:20.315Z","updated_at":"2025-04-10T13:52:22.626Z","avatar_url":"https://github.com/amake.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dock You a Moses\n\nWant to play with the [Moses](http://www.statmt.org/moses/) Statistical Machine\nTranslation system, but...\n\n- You don't have time to get a PhD in Setting Up Moses?\n\n- You have TMX files (or structured bilingual text files easily convertible to\n  TMX) and want to use them with Moses without doing all the munging yourself?\n\nWell now you don't have to, because I stuffed Moses in a Docker container for\nyou.\n\n# What is this?\n\n- A full Moses + MGIZA installation in a Docker image: `amake/moses-smt:base` on\n[Docker Hub](https://hub.docker.com/r/amake/moses-smt/)\n\n- A [`make`](https://www.gnu.org/software/make/)-based set of commands for\n  easily\n\n  - Converting TMX files into Moses-ready corpus files: `make corpus`\n\n  - Training and tuning Moses: `make train`\n\n  - Building Docker images of trained Moses instances: `make build`\n\n  - Deploying trained Moses instances to Docker Hub/Amazon Elastic Beanstalk:\n    `make deploy-hub`\n\n- Some peripheral tools:\n\n  - A simple REPL for querying Moses over XML-RPC: `mosesxmlrpcrepl.py` or `make\n    repl`\n\n# Requirements\n\n- make\n\n- Docker\n\n- Python 3 with pip and virtualenv\n\n- OS X? (not tested elsewhere)\n\n- Some TMX files ([Okapi](http://okapi.opentag.com/) Rainbow is a good tool for\n  converting structured bilingual files to TMX)\n\n# Usage\n\nFirst, if trying to build the base image, you might need to re-balance the\nnumber of cores vs memory available to Docker: e.g. 8 cores but only 2 GB of\nmemory results in compilation failures. 4 cores with 4 GB seems to work better.\n\n1. Put most of your TMXs in `tmx-train`, and the rest in `tmx-tune`.\n\n2. Run `make SOURCE_LANG=\u003csrc\u003e TARGET_LANG=\u003ctrg\u003e [LABEL=\u003clbl\u003e]`.\n\n  - `src` and `trg` (required) are the language codes (*not* language + country)\n    for your source and target languages, e.g. `en` and `fr`.\n\n  - `lbl` is an optional label for the resulting image; `myinstance` by default.\n\n3. Wait forever.\n\n4. When done, you will have a Docker image tagged `moses-smt:\u003clbl\u003e-\u003csrc\u003e-\u003ctrg\u003e`.\n\n  - Run `make server SOURCE_LANG=\u003csrc\u003e TARGET_LANG=\u003ctrg\u003e [PORT=\u003cport\u003e]` to start\n    [`mosesserver`](http://www.statmt.org/moses/?n=Advanced.Moses#ntoc1) which\n    you can query over XML-RPC.\n\n  - Optionally specify a port; the default is `8080`.\n\n## What then?\n\n- Train a new image with swapped languages or with a new set of TMXs.\n\n- Use a trained instance for translation in OmegaT with the [omegat-moses-mt\n  plugin](https://github.com/amake/omegat-moses-mt):\n\n  - Run `make server` to run the server locally; the `moses.server.url` value is\n    then `http://localhost:8080/RPC2`\n\n  - Run `make deploy-hub` and then upload the .zip that's produced as a new EB\n    environment\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famake%2Fmoses-smt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famake%2Fmoses-smt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famake%2Fmoses-smt/lists"}