Neural Machine Translation of Rare Words with Subword Units

Rico Sennrich, Barry Haddow, Alexandra Birch

2016 · ACL

Neural Machine Translation of Rare Words with Subword Units

Problem

Framing

Word-level NMT with fixed vocabularies collapses rare words into UNK\text{UNK} or brittle dictionary back-off, which hurts names, compounds, and transliterations. The paper closes this gap by encoding words as subword units learned with byte pair encoding, yielding open-vocabulary translation and better rare-word accuracy on WMT15 English\rightarrowGerman and English\rightarrowRussian.

Currently Used Methods

Foundational

Proposed Method

Architecture

The translation model is the standard attention-based encoder-decoder with a bidirectional GRU encoder and a GRU decoder. The novelty is not a new network block; it replaces word tokens with variable-length subword units, learned either separately on source and target or jointly across both vocabularies.

Verified figure: Algorithm 1 and example BPE merge operations learned from a toy vocabulary, illustrating how symbols are iteratively merged into subword units.

Loss / Objective

The training objective is the standard conditional log-likelihood over the target sequence.

logp(yx)=j=1nlogp(yjy<j,x)\log p(\mathbf{y}\mid \mathbf{x}) = \sum_{j=1}^{n} \log p(y_j \mid y_{<j}, \mathbf{x})

Algorithm

BPE starts from character symbols and repeatedly merges the most frequent adjacent pair.

(si,si+1)=argmax(si,si+1)count(si,si+1)(s_i, s_{i+1})^* = \arg\max_{(s_i,s_{i+1})} \operatorname{count}(s_i, s_{i+1}) V(t+1)=merge ⁣(V(t),(si,si+1))\mathcal{V}^{(t+1)} = \operatorname{merge}\!\left(\mathcal{V}^{(t)}, (s_i, s_{i+1})^*\right)

Training Procedure

Evaluation

Datasets

Metrics

Headline results

Ablations

Method Strengths and Weaknesses

Strengths

Weaknesses

Suggestions from the authors

Links

Prior Papers

Further Papers