All Projects → amake → moses-smt

amake / moses-smt

Licence: MIT license
Dock You a Moses: Moses Statistical MT in a container

Programming Languages

Makefile
30231 projects
shell
77523 projects
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to moses-smt

huginn
Programming language with no quirks, so simple every child can master it.
Stars: ✭ 41 (+241.67%)
Mutual labels:  repl
repl
Framework Agnostic REPL For Node.js. Used by AdonisJS
Stars: ✭ 76 (+533.33%)
Mutual labels:  repl
replay-csharp
An editable C# REPL (Read Eval Print Loop) powered by Roslyn and .NET Core
Stars: ✭ 69 (+475%)
Mutual labels:  repl
Replay.jl
Replay your REPL instructions
Stars: ✭ 24 (+100%)
Mutual labels:  repl
dirac-sample
An example integration of Dirac DevTools
Stars: ✭ 17 (+41.67%)
Mutual labels:  repl
lambda-dti
Interpreter of the ITGL with dynamic type inference
Stars: ✭ 18 (+50%)
Mutual labels:  repl
nodeScratchpad
Evaluate Nodejs Code Snippets From Menubar! 💻
Stars: ✭ 102 (+750%)
Mutual labels:  repl
repline
Haskeline wrapper for GHCi-like REPL interfaces
Stars: ✭ 98 (+716.67%)
Mutual labels:  repl
malluscript
A simple,gentle,humble scripting language for mallus, based on malayalam memes.
Stars: ✭ 112 (+833.33%)
Mutual labels:  repl
ReplCustoms
A database of users, posts, and comments from the ReplTalk API
Stars: ✭ 17 (+41.67%)
Mutual labels:  repl
ocamline
👨🏻‍💻 Command line interface for user input
Stars: ✭ 32 (+166.67%)
Mutual labels:  repl
ShenScript
Shen for JavaScript
Stars: ✭ 40 (+233.33%)
Mutual labels:  repl
aik
Frontend Playground
Stars: ✭ 43 (+258.33%)
Mutual labels:  repl
vue-code-view
A Vue 2 component like Vue SFC REPL `@vue/repl` : u can edit, run and preview the code effect display in real time on the web page.
Stars: ✭ 67 (+458.33%)
Mutual labels:  repl
glazejs
A high performance 2D game engine built in Typescript
Stars: ✭ 96 (+700%)
Mutual labels:  tmx
nim-noise
Nim implementation of linenoise command line editor
Stars: ✭ 45 (+275%)
Mutual labels:  repl
text-engine
A browser-based text adventure game engine and sample game
Stars: ✭ 146 (+1116.67%)
Mutual labels:  repl
await-outside
Await outside of async functions
Stars: ✭ 19 (+58.33%)
Mutual labels:  repl
clojure
Practicalli Clojure REPL Driven Development
Stars: ✭ 40 (+233.33%)
Mutual labels:  repl
pytezos
🐍 Python SDK & CLI for Tezos | Michelson REPL and testing framework
Stars: ✭ 93 (+675%)
Mutual labels:  repl

Dock You a Moses

Want to play with the Moses Statistical Machine Translation system, but...

  • You don't have time to get a PhD in Setting Up Moses?

  • You have TMX files (or structured bilingual text files easily convertible to TMX) and want to use them with Moses without doing all the munging yourself?

Well now you don't have to, because I stuffed Moses in a Docker container for you.

What is this?

  • A full Moses + MGIZA installation in a Docker image: amake/moses-smt:base on Docker Hub

  • A make-based set of commands for easily

    • Converting TMX files into Moses-ready corpus files: make corpus

    • Training and tuning Moses: make train

    • Building Docker images of trained Moses instances: make build

    • Deploying trained Moses instances to Docker Hub/Amazon Elastic Beanstalk: make deploy-hub

  • Some peripheral tools:

    • A simple REPL for querying Moses over XML-RPC: mosesxmlrpcrepl.py or make repl

Requirements

  • make

  • Docker

  • Python 3 with pip and virtualenv

  • OS X? (not tested elsewhere)

  • Some TMX files (Okapi Rainbow is a good tool for converting structured bilingual files to TMX)

Usage

First, if trying to build the base image, you might need to re-balance the number of cores vs memory available to Docker: e.g. 8 cores but only 2 GB of memory results in compilation failures. 4 cores with 4 GB seems to work better.

  1. Put most of your TMXs in tmx-train, and the rest in tmx-tune.

  2. Run make SOURCE_LANG=<src> TARGET_LANG=<trg> [LABEL=<lbl>].

  • src and trg (required) are the language codes (not language + country) for your source and target languages, e.g. en and fr.

  • lbl is an optional label for the resulting image; myinstance by default.

  1. Wait forever.

  2. When done, you will have a Docker image tagged moses-smt:<lbl>-<src>-<trg>.

  • Run make server SOURCE_LANG=<src> TARGET_LANG=<trg> [PORT=<port>] to start mosesserver which you can query over XML-RPC.

  • Optionally specify a port; the default is 8080.

What then?

  • Train a new image with swapped languages or with a new set of TMXs.

  • Use a trained instance for translation in OmegaT with the omegat-moses-mt plugin:

    • Run make server to run the server locally; the moses.server.url value is then http://localhost:8080/RPC2

    • Run make deploy-hub and then upload the .zip that's produced as a new EB environment

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].