OpenNMT

KeonKim 1,547 views 8 slides Jan 13, 2017
Slide 1
Slide 1 of 8
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8

About This Presentation

Brief introduction of OpenNMT: Open Source Neural Machine Translation in Torch.


Slide Content

Open NMT Open-Source Neural Machine Translation in Torch

What is OpenNMT ? OpenNMT was originally developed by Yoon Kim and harvardnlp . Major source contributions and support come from SYSTRAN . Basically it is: “A Modularized Translation Program using Seq2Seq Attention Model ”

Features of OpenNMT Simple general-purpose interface , requires only source/target files. Speed and memory optimizations for high-performance multi-GPU training. Includes a dependency-free C++ translator for model deployment. Latest research features to improve translation performance. Pretrained models available for several language pairs. Extensions to allow other sequence generation tasks such as summarization and image-to-text generation. Active open community welcoming both academic and industrial requests and contributions.

Model Encoder-Decoder LSTM The combination of context vector Compute the probability of the next token by computing affine transformation and softmax

Modules https://github.com/OpenNMT/OpenNMT/tree/master/onmt/modules

Live Demo https://demo-pnmt.systran.net

Example Systran picked this phrase to show the superiority of their system. “ I am officially running … for president of the United States, and we are going to make our country great again.” Notice the understanding the meaning of ‘running’ requires the context of the whole sentence. OpenNMT Demo : Korean - 저는 공식적으로 미국 대통령에 입후보하고 있으며, 우리는 우리 나라를 다시 위대하게 만들 것입니다. Chinese - 我 是在正式 竞选美国总统,我们将再次使我国伟大。 Google Translate : Korean - 나는 공식적으로 미국 대통령을 위해 달리고있다. 그리고 우리는 다시 우리나라를 위대하게 만들 것이다. Chinese - 我正式运行......为美国总统,我们将使我们的国家再次大。 Naver Translate : English to Korean - 나는 미국의 대통령을 공식적으로 운영하고 있으며, 우리 나라를 다시 위대하게 만들 것이다. Korean to English - I am officially running for president of the United States, and we will make our country great again.

Noticed it is not too difficult to write OpenNMT clone in Python if you use Tensorflow. Many of the functionalities in OpenNMT are already implemented in Tensorflow. Plan 1: Modularize the Tensorflow Seq2Seq example and add some convenient tools. Plan 2: Make this as a console application. As a new side project, we plan to publish this project by the end of the winter break (Jan 23) Contribute to OpenNMT? or publish a new Open Source? https://github.com/keonkim/OpenNMT OpenNMT in Python