SYSTRAN Purely Neural MT Engines for WMT2017

This paper describes SYSTRAN's systems submitted to the WMT 2017 shared news translation task for English-German, in both translation directions. Our systems are built using OpenNMT, an open-source neural machine translation system, implementing sequence-to-sequence models with LSTM encoder/decoders and attention. We experimented using monolingual data automatically back-translated. Our resulting models are further hyper-specialised with an adaptation technique that finely tunes models according to the evaluation test sentences.


Introduction
We participated in the WMT 2017 shared news translation task on two different translation directions: English→German and German→English.
The paper is structured as follows: Section 2 overviews our neural MT engine. Section 3 describes the set of experiments carried out to build the English→German and German→English neural translation models. Experiments and results are detailed in Section 3. Finally, conclusions are drawn in Section 4.

Neural MT System
Neural machine translation (NMT) is a new methodology for machine translation that has led to remarkable improvements, particularly in terms of human evaluation, compared to rule-based and statistical machine translation (SMT) systems Wu et al., 2016). NMT has now become a widely-applied technique for machine translation, as well as an effective approach 1 http://opennmt.net for other related NLP tasks such as dialogue, parsing, and summarisation.
Our NMT system (Klein et al., 2017) follows the architecture presented in (Bahdanau et al., 2014). It is implemented as an encoder-decoder network with multiple layers of a RNN with Long Short-Term Memory (LSTM) hidden units (Zaremba et al., 2014). Figure 1 illustrates an schematic view of the MT network.
Source words are first mapped to word vectors and then fed into a bidirectional recurrent neural network (RNN) that reads an input sequence s = (s 1 , ..., s J ). Upon seeing the <eos> symbol, the final time step initialises a target RNN. The decoder is a RNN that predicts a target sequence t = (t 1 , ..., t I ), being J and I respectively the source and target sentence lengths. Translation is finished when the decoder predicts the <eos> symbol.
The left-hand side of the figure illustrates the bidirectional encoder, which actually consists of two independent LSTM encoders: one encoding the normal sequence (solid lines) that calculates a forward sequence of hidden states ( − → h 1 , ..., − → h J ), the second encoder reads the input sequence in reversed order (dotted lines) and calculates the backward sequence ( The final encoder outputs (h 1 , ..., h J ) consist of the sum of both encoders final outputs. The right-hand side of the figure illustrates the RNN decoder. Each word t i is predicted based on a recurrent hidden state h i and a context vector c i that aims at capturing relevant source-side information. Figure 2 illustrates the attention layer. It implements the "general" attentional architecture from (Luong et al., 2015). The idea of a global attentional model is to consider all the hidden states of the encoder when deriving the context vector c t . Hence, global alignment weights a t are derived by comparing the current target hidden state h t with each source hidden state h s : s exp(score(h t , h s )) with the content-based score function: score(h t , h s ) = h T t W a h s Given the alignment vector as weights, the context vector c t is computed as the weighted average over all the source hidden states. Note that for the sake of simplicity figure 1 illustrates a two-layers LSTM encoder/decoder while any arbitrary number of LSTM layers can be stacked. More details about our system can be found in .

Experiments
In this section we detail the corpora and training experiments used to build our English↔German neural translation models.

Corpora
We used the parallel corpora made available for the shared task: Europarl v7, Common Crawl corpus, News Commentary v12 and Rapid corpus of EU press releases. Both English and German texts were preprocessed with standard tokenisation tools. German words were further preprocessed to split compounds, following a similar algorithm as the built-in for Moses. Additional monolingual data was also used for both German and English available for the shared task: News Crawl: articles from 2016. Basic statistics of the tokenised data are available in Table 1.
We used a byte pair encoding technique 2 (BPE) to segment word forms and achieve openvocabulary translation with a fixed vocabulary of 30, 000 source and target tokens. BPE was originally devised as a compression algorithm, adapted to word segmentation (Sennrich et al., 2016b). It recursively replaces frequent consecutive bytes with a symbol that does not occur elsewhere. Each such replacement is called a merge, and the number of merges is a tuneable parameter. Encodings were computed over the union of both German and English training corpora after preprocessing, aiming at improving consistency between source and target segmentations. Finally, case information was considered by the network as an additional feature. It allowed us to work with a lowercased vocabulary and treat recasing as a separate problem .

Training Details
All experiments employ the NMT system detailed in Section 2. The encoder and the decoder consist of a four-layer stacked LSTM with 1, 000 cells each. We use a bidirectional RNN encoder. Size of word embedding is 500 cells. We use stochastic gradient descent, a minibatch size of 64 sentences and 0.3 for dropout probability. Maximum sentence length is set to 80 tokens. All experiments are performed on NVidia GeForce GTX 1080 on a single GPU per optimisation work. Newstest2008 (2008) is employed as validation test set and newstest from 2009 to 2016 (2009-16) as internal test sets.

Training on parallel data
Table 2 outlines training work. All parallel data (P) is used on each training epoch. Row LR indicates the learning rate value used for each epoch. Note that learning rate was initially set to 1.0 during several epochs until no or little perplexity (PPL) reduction is measured on the validation set. Afterwards, additional epochs are performed with learning rate decayed by 0.7 at each epoch. BLEU score (averaged over the eight internal test sets) after each training epoch is also shown. Note that all BLEU scores shown in this paper are computed using multi-bleu.perl 3 . Training time per epoch is also shown in row Time measured in number of hours.
As expected, a perplexity reduction is observed for the initial epochs, until epochs 9 (German→English) and 8 (English→German) where little or no improvement is observed. The decay mode is then started allowing to further boost accuracy (between 1.5 and 2.0 BLEU points) after 5 additional epochs.

Training on parallel and synthetic data
Following (Sennrich et al., 2016a), we selected a subset of the available target-side in-domain monolingual corpora, translate it into the source side (back-translate) of the respective language pair, and then use this synthetic parallel data for training. The best performing models for each translation direction (epoch 13 on Table 2 of both translation directions) were used to back-translate monolingual data. (Sennrich et al., 2016a) motivate the use of monolingual data with domain adaptation, reducing overfitting, and better modelling of fluency.
Synthetic corpus was then divided into i different splits containing each 4.5 million sentence pairs (except for the last split that contains less sentences). Table 3 shows continuation of the training work using at each epoch the union of the entire parallel data together with a split of the monolingual back-translated data (P+M i ). Hence, balancing the amount of reference and synthetic data, summing up to around 9 million sentence pairs per epoch. Note that training work described in Table 3 is built as continuation of the model at epoch 13 on Table 2. Table 3 shows also BLEU scores over newstest2017 for the best performing network.
As for the experiments detailed in Table 2, once all splits of the synthetic corpus were used to train our models with learning rate always set to 1.0 (5 epochs for German→English and 8 epochs for English→German), we began a decay mode. In this case, we decided to reduce the amount of training examples from 9 to 5 millions due to time restrictions. To select the training data we employed the algorithm detailed in (Moore and Lewis, 2010). It aims at identifying sentences in a generic corpus that are closer to domain-   Table 3: Training on parallel and synthetic data. specific data. Figure 3 outlines the algorithm. In our experiments, parallel and monolingual backtranslated corpus are considered as the generic corpora (P+M) while all available newstest test sets, from 2009 to 2017, are considered as the domain-specific data (T). Hence, we aim at selecting from P+M the closest 5 million sentences to the newstest2009-17 data (2.5 from the P and 2.5 from the M subsets). Obviously, we base our selection procedure on the source-side text of each translation direction as references for newstest2017 are not available. Sentences s of the generic corpus are scored in terms of cross-entropy computed from two language models: a 3-gram LM trained on the domain-specific data H in (s) and a 3-gram LM trained on a random sample taken from itself H out (s). Finally, sentences of the generic corpus are sorted regarding the computation of the difference between domain-specific and generic scores H in (s) − H out (s) (score & sort).

Hyper-specialisation on news test sets
Similar to domain adaptation, we explore a postprocess approach, which hyper-specialises a neural network to a specific domain by running additional training epochs over newly available indomain data (Servan et al., 2016). In our context, we utilise all newstest sets (T) (around 25, 000 sentences), as in-domain data and run a single learning iteration in order to fine tune the resulting network. Translations are not available for newstest2017, instead we use the single best hypotheses produced by the best performing system in Table 3. In a similar task, ) report translation accuracy gains by employing a neural system trained over a synthetic corpus built from source reference sentences and target translation hypotheses. The authors claim that text simplification is achieved when translating with an automatic engine compared to reference (human) translations, leading to higher accuracy results. Table 4 details the hyper-specialisation training work. Note that the entire hyper-specialisation process was performed on approximately 6 minutes. We used a learning rate set to 0.7. Further experiments need to be conducted for a better understanding of the learning rate role in hyperspecialisation work.  Accuracy gains are obtained despite using automatic (noisy) translation hypotheses to hyper-specialise: +0.52 (German→English) and +0.57 (English→German). In order to measure the impact of using newstest2017 as training data (sefl-training) we repeated the hyperspecialisation experiment using as training data newstest sets from 2009 to 2016. This is, excluding newstest2017 (T-2017). Slightly lower accuracy results were obtained by this second configuration (last column in Table 4) but still outperforming the systems without hyperspecialisation: +0.31 (German→English) and +0.39 (English→German).

Conclusions
We described SYSTRAN's submissions to the WMT 2017 shared news translation task for English-German. Our systems are built using OpenNMT. We experimented using monolingual data automatically back-translated. Our resulting models were successfully hyper-specialised with an adaptation technique that finely tunes models according to the evaluation test sentences. Note that all our submitted systems are single networks. No ensemble experiments were carried out, what typically results in higher accuracy results.