SlowGuess/ACL_2020_OCR huggingface dataset:
Ivan Provilkov*1,2 Dmitrii Emelianenko*1,3 Elena Voita4,5
Yandex, Russia
$^{2}$ Moscow Institute of Physics and Technology, Russia
$^{3}$ National Research University Higher School of Economics, Russia
$^{4}$ University of Edinburgh, Scotland  $^{5}$ University of Amsterdam, Netherlands
{iiv-provilkov，dimdi-y，lena-voita}@yandex-team.ru
Subword segmentation is widely used to address the open vocabulary problem in machine translation. The dominant approach to subword segmentation is Byte Pair Encoding (BPE), which keeps the most frequent words intact while splitting the rare ones into multiple tokens. While multiple segmentations are possible even with the same vocabulary, BPE splits words into unique sequences; this may prevent a model from better learning the compositionality of words and being robust to segmentation errors. So far, the only way to overcome this BPE imperfection, its deterministic nature, was to create another subword segmentation algorithm (Kudo, 2018). In contrast, we show that BPE itself incorporates the ability to produce multiple segmentations of the same word. We introduce BPE-dropout - simple and effective subword regularization method based on and compatible with conventional BPE. It stochastically corrupts the segmentation procedure of BPE, which leads to producing multiple segmentations within the same fixed BPE framework. Using BPE-dropout during training and the standard BPE during inference improves translation quality up to 2.3 BLEU compared to BPE and up to 0.9 BLEU compared to the previous subword regularization.
Using subword segmentation has become de-facto standard in Neural Machine Translation (Bojar et al., 2018; Barrault et al., 2019). Byte Pair Encoding (BPE) (Sennrich et al., 2016) is the dominant approach to subword segmentation. It keeps the common words intact while splitting the rare and unknown ones into a sequence of subword units. This potentially allows a model to make
use of morphology, word composition and transliteration. BPE effectively deals with an open-vocabulary problem and is widely used due to its simplicity.
There is, however, a drawback of BPE in its deterministic nature: it splits words into unique subword sequences, which means that for each word a model observes only one segmentation. Thus, a model is likely not to reach its full potential in exploiting morphology, learning the compositionality of words and being robust to segmentation errors. Moreover, as we will show further, subwords into which rare words are segmented end up poorly understood.
A natural way to handle this problem is to enable multiple segmentation candidates. This was initially proposed by Kudo (2018) as a subword regularization - a regularization method, which is implemented as an on-the-fly data sampling and is not specific to NMT architecture. Since standard BPE produces single segmentation, to realize this regularization the author had to propose a new subword segmentation, different from BPE. However, the introduced approach is rather complicated: it requires training a separate segmentation unigram language model, using EM and Viterbi algorithms, and forbids using conventional BPE.
In contrast, we show that BPE itself incorporates the ability to produce multiple segmentations of the same word. BPE builds a vocabulary of subwords and a merge table, which specifies which subwords have to be merged into a bigger subword, as well as the priority of the merges. During segmentation, words are first split into sequences of characters, then the learned merge operations are applied to merge the characters into larger, known symbols, till no merge can be done (Figure 1(a)). We introduce BPE-dropout - a subword regularization method based on and compatible with conventional BPE. It uses a vocabulary and a
Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 1882-1892 July 5 - 10, 2020. ©2020 Association for Computational Linguistics
Figure 1: Segmentation process of the word 'unrelated' using (a) BPE, (b) BPE-dropout. Hyphens indicate possible merges (merges which are present in the merge table); merges performed at each iteration are shown in green, dropped – in red.
merge table built by BPE, but at each merge step, some merges are randomly dropped. This results in different segmentations for the same word (Figure 1(b)). Our method requires no segmentation training in addition to BPE and uses standard BPE at test time, therefore is simple. BPE-dropout is superior compared to both BPE and Kudo (2018) on a wide range of translation tasks, therefore is effective.
- We introduce BPE-dropout - a simple and effective subword regularization method;
- We show that our method outperforms both BPE and previous subword regularization on a wide range of translation tasks;
- We analyze how training with BPE-dropout affects a model and show that it leads to a better quality of learned token embeddings and to a model being more robust to noisy input.
In this section, we briefly describe BPE and the concept of subword regularization. We assume that our task is machine translation, where a model needs to predict the target sentence  $Y$  given the source sentence  $X$ , but the methods we describe are not task-specific.
2.1 Byte Pair Encoding (BPE)
To define a segmentation procedure, BPE (Sennrich et al., 2016) builds a token vocabulary and a merge table. The token vocabulary is initialized with the character vocabulary, and the merge table is initialized with an empty table. First, each word is represented as a sequence of tokens plus a special end of word symbol. Then, the method iteratively counts all pairs of tokens and merges the most frequent pair into a new token. This token is
added to the vocabulary, and the merge operation is added to the merge table. This is done until the desired vocabulary size is reached.
The resulting merge table specifies which subwords have to be merged into a bigger subword, as well as the priority of the merges. In this way, it defines the segmentation procedure. First, a word is split into distinct characters plus the end of word symbol. Then, the pair of adjacent tokens which has the highest priority is merged. This is done iteratively until no merge from the table is available (Figure 1(a)).
2.2 Subword regularization
Subword regularization (Kudo, 2018) is a training algorithm which integrates multiple segmentation candidates. Instead of maximizing log-likelihood, this algorithm maximizes log-likelihood marginalized over different segmentation candidates. Formally,
$$
\mathcal{L} = \sum_{(X,Y)\in D}\mathbb{E}_{\substack{x\sim P(x|X)\\ y\sim P(y|Y)}}\log P(y|x,\theta),\quad (1)
$$
where  $x$  and  $y$  are sampled segmentation candidates for sentences  $X$  and  $Y$  respectively,  $P(x|X)$  and  $P(y|Y)$  are the probability distributions the candidates are sampled from, and  $\theta$  is the set of model parameters. In practice, at each training step only one segmentation candidate is sampled.
Since standard BPE segmentation is deterministic, to realize this regularization Kudo (2018) proposed a new subword segmentation. The introduced approach requires training a separate segmentation unigram language model to predict the probability of each subword, EM algorithm to optimize the vocabulary, and Viterbi algorithm to make samples of segmentations.
Subword regularization was shown to achieve significant improvements over the method using a single subword sequence. However, the proposed method is rather complicated and forbids using
conventional BPE. This may prevent practitioners from using subword regularization.
3 Our Approach: BPE-Dropout
We show that to realize subword regularization it is not necessary to reject BPE since multiple segmentation candidates can be generated within the BPE framework. We introduce BPE-dropout - a method which exploits the innate ability of BPE to be stochastic. It alters the segmentation procedure while keeping the original BPE merge table. During segmentation, at each merge step some merges are randomly dropped with the probability  $p$ . This procedure is described in Algorithm 1.
If  $p$  is set to 0, the segmentation is equivalent to the standard BPE; if  $p$  is set to 1, the segmentation splits words into distinct characters. The values between 0 and 1 can be used to control the segmentation granularity.
We use  $p > 0$  (usually  $p = 0.1$ ) in training time to expose a model to different segmentations and  $p = 0$  during inference, which means that at inference time we use the original BPE. We discuss the choice of the value of  $p$  in Section 5.
When some merges are randomly forbidden during segmentation, words end up segmented in different subwords; see for example Figure 1(b). We hypothesize that exposing a model to different
segmentations may result in better understanding of the whole words as well as their subword units; we will verify this in Section 6.
Our baselines are the standard BPE and the subword regularization by Kudo (2018).
Subword regularization by Kudo (2018) has segmentation sampling hyperparameters  $l$  and  $\alpha$ .  $l$  specifies how many best segmentations for each word are produced before sampling one of them,  $\alpha$  controls the smoothness of the sampling distribution. In the original paper  $(l = \infty, \alpha = 0.2 / 0.5)$  and  $(l = 64, \alpha = 0.1)$  were shown to perform best on different datasets. Since overall they show comparable results, in all experiments we use  $(l = 64, \alpha = 0.1)$ .
4.2 Vocabularies
There are two ways of building vocabulary for models trained with BPE-dropout: (1) take the vocabulary built by BPE; then the segmented with BPE-dropout text will contain a small number of unknown tokens  $(\mathrm{UNKs})^2$ ; (2) add to the BPE vocabulary all tokens which can appear when segmenting with BPE-dropout.
In the preliminary experiments, we did not observe any difference in quality; therefore, either of the methods can be used. We choose the first option to stay in the same setting as the standard BPE. Besides, a model exposed to some UNKs in training can be more reliable for practical applications where unknown tokens can be present.
4.3 Data sets and preprocessing
We conduct our experiments on a wide range of datasets with different corpora sizes and languages; information about the datasets is summarized in Table 1. These datasets are used in the main experiments (Section 5.1) and were chosen to match the ones used in the prior work (Kudo, 2018). In the additional experiments (Sections 5.2-5.5), we also use random subsets of the WMT14 English-French data; in this case, we specify dataset size for each experiment.
Prior to segmentation, we preprocess all
In case of multiple occurrences of the same merge in a word (for example,  $\mathfrak{m} - \mathfrak{e} - \mathfrak{r} - \mathfrak{g} - \mathfrak{e} - \mathfrak{r}$  has two occurrences of the merge  $(\mathsf{e},\mathsf{r})$ ), we decide independently for each occurrence whether to drop it or not.
2For example, for the English part of the IWSLT15 EnVi corpora, these UNKs make up 0.00585 and 0.00085 of all tokens for  $32\mathrm{k}$  and  $4\mathrm{k}$  vocabularies, respectively.
Number of sentences (train/dev/test)	Voc size	Batch size	The value of p in BPE-dropout
IWSLT15	En ↔ Vi	133k / 1553 / 1268	4k	4k	0.1 / 0.1
En ↔ Zh	209k / 887 / 1261	4k / 16k	4k	0.1 / 0.6
IWSLT17	En ↔ Fr	232k / 890 / 1210	4k	4k	0.1 / 0.1
En ↔ Ar	231k / 888 / 1205	4k	4k	0.1 / 0.1
WMT14	En ↔ De	4.5M / 3000 / 3003	32k	32k	0.1 / 0.1
ASPEC	En ↔ Ja	2M / 1700 / 1812	16k	32k	0.1 / 0.6
Table 1: Overview of the datasets and dataset-dependent hyperparameters; values of  $p$  are shown in pairs: source language / target language. (We explain the choice of the value of  $p$  for BPE-dropout in Section 5.3.)
datasets with the standard Moses toolkit.3 However, Chinese and Japanese have no explicit word boundaries, and Moses tokenizer does not segment sentences into words; for these languages, subword segmentations are trained almost from unsegmented raw sentences.
Relying on a recent study of how the choice of vocabulary size influences translation quality (Ding et al., 2019), we choose vocabulary size depending on the dataset size (Table 1).
In training, translation pairs were batched together by approximate sequence length. For the main experiments, the values of batch size we used are given in Table 1 (batch size is the number of source tokens). In the experiments in Sections 5.2, 5.3 and 5.4, for datasets not larger than  $500\mathrm{k}$  sentence pairs we use vocabulary size and batch size of  $4\mathrm{k}$ , and  $32\mathrm{k}$  for the rest.
In the main text, we train all models on lowercased data. In the appendix, we provide additional experiments with the original case and casesensitive BLEU.
4.4 Model and optimizer
The NMT system used in our experiments is Transformer base (Vaswani et al., 2017). More precisely, the number of layers is  $N = 6$  with  $h = 8$  parallel attention layers, or heads. The dimensionality of input and output is  $d_{model} = 512$ , and the inner-layer of feed-forward networks has dimensionality  $d_{ff} = 2048$ . We use regularization and optimization procedure as described in Vaswani et al. (2017).
4.5 Training time
We train models till convergence. For all experiments, we provide number of training batches in the appendix (Tables 6 and 7).
4.6 Inference
To produce translations, for all models, we use beam search with the beam of 4 and length normalization of 0.6.
In addition to the main results, Kudo (2018) also report scores using  $n$ -best decoding. To translate a sentence, this strategy produces multiple segmentations of a source sentence, generates a translation for each of them, and rescores the obtained translations. While this could be an interesting future work to investigate different sampling and rescoring strategies, in the current study we use 1-best decoding to fit in the standard decoding paradigm.
4.7 Evaluation
For evaluation, we average 5 latest checkpoints and use BLEU (Papineni et al., 2002) computed via SacreBleu $^{5}$  (Post, 2018). For Chinese, we add option --tok zh to SacreBLEU. For Japanese, we use character-based BLEU.
The results are provided in Table 2. For all datasets, BPE-dropout improves significantly over the standard BPE: more than 1.5 BLEU for En-Vi, Vi-En, En-Zh, Zh-En, Ar-En, De-En, and 0.5-1.4
3https://github.com/moses-smt/ mosesdecoder
Large batch size can be reached by using several of GPUs or by accumulating the gradients for several batches and then making an update.
5Our SacreBLEU signature is: BLEU+case.lc+ lang.[src-lang]-[dst-lang]  $^+$  numrefs.1+ smooth.exp+tok.13a+version.1.3.6
BPE	Kudo (2018)	BPE-dropout
IWSLT15
En-Vi	31.78	32.43	33.27
Vi-En	30.83	32.36	32.99
En-Zh	20.48	23.01	22.84
Zh-En	19.72	21.10	21.45
IWSLT17
En-Fr	39.37	39.45	40.02
Fr-En	38.18	38.88	39.39
En-Ar	13.89	14.43	15.05
Ar-En	31.90	32.80	33.72
WMT14
En-De	27.41	27.82	28.01
De-En	32.69	33.65	34.19
ASPEC
En-Ja	54.51	55.46	55.00
Ja-En	30.77	31.23	31.29
BLEU for the rest. The improvements are especially prominent for smaller datasets; we will discuss this further in Section 5.4.
Compared to Kudo (2018), among the 12 datasets we use BPE-dropout is beneficial for 8 datasets with improvements up to 0.92 BLEU, is not significantly different for 3 datasets and underperforms only on En-Ja. While Kudo (2018) uses another segmentation, our method operates within the BPE framework and changes only the way a model is trained. Thus, lower performance of BPE-dropout on En-Ja and only small or insignificant differences for Ja-En, En-Zh and Zh-En suggest that Japanese and Chinese may benefit from a language-specific segmentation.
Note also that Kudo (2018) report larger improvements over BPE from using their method than we show in Table 2. This might be explained by the fact that Kudo (2018) used large vocabulary size (16k, 32k), which has been shown counterproductive for small datasets (Sennrich and Zhang, 2019; Ding et al., 2019). While this may not be the issue for models trained with subword regularization (see Section 5.4), this causes drastic drop in performance of the baselines.
Table 2: BLEU scores. Bold indicates the best score and all scores whose difference from the best is not statistically significant (with  $p$  -value of 0.05). (Statistical significance is computed via bootstrapping (Koehn, 2004).)
BPE	BPE-dropout
src-only	dst-only	both
250k	26.94	27.98	27.71	28.40
500k	29.28	30.12	29.40	29.89
1m	30.53	31.09	30.62	31.23
4m	33.38	33.89	33.46	33.85
16m	34.37	34.82	-	33.66
Table 3: BLEU scores for models trained with BPEDropout on a single side of a translation pair or on both sides. Models trained on random subsets of WMT14 En-Fr dataset. Bold indicates the best score and all scores whose difference from the best is not statistically significant (with  $p$  -value of 0.05).
5.2 Single side vs full regularization
In this section, we investigate whether BPEDropout should be used only on one side of a translation pair or for both source and target languages. We select random subsets of different sizes from WMT14 En-Fr data to understand how the results are affected by the amount of data. We show that:
- for small and medium datasets, full regularization performs best;
- for large datasets, BPE-dropout should be used only on the source side.
Since full regularization performs the best for most of the considered dataset sizes, in the subsequent sections we use BPE-dropout on both source and target sides.
5.2.1 Small and medium datasets: use full regularization
Table 3 indicates that using BPE-dropout on the source side is more beneficial than on the target side; for the datasets not smaller than  $0.5\mathrm{m}$  sentence pairs, BPE-dropout can be used only the source side. We can speculate that it is more important for the model to understand a source sentence than being exposed to different ways to generate the same target sentence.
5.2.2 Large datasets: use only for source
For larger corpora (e.g., starting from 4m instances), it is better to use BPE-dropout only on the source side (Table 3). Interestingly, using BPE-dropout for both source and target languages hurts performance for large datasets.
Figure 2: BLEU scores for the models trained with BPE-dropout with different values of  $p$ . WMT14 En-Fr, 500k sentence pairs.
5.3 Choice of the value of  $p$
Figure 2 shows BLEU scores for the models trained on BPE-dropout with different values of  $p$  (the probability of a merge being dropped). Models trained with high values of  $p$  are unable to translate due to a large mismatch between training segmentation (which is close to char-level) and inference segmentation (BPE). The best quality is achieved with  $p = 0.1$ .
In our experiments, we use  $p = 0.1$  for all languages except for Chinese and Japanese. For Chinese and Japanese, we take the value of  $p = 0.6$  to match the increase in length of segmented sentences for other languages. $^{6}$
5.4 Varying corpora and vocabulary size
Now we will look more closely at how the improvement from using BPE-dropout depends on corpora and vocabulary size.
First, we see that BPE-dropout performs best for all dataset sizes (Figure 3). Next, models trained with subword regularization are less sensitive to the choice of vocabulary size: differences in performance of models with  $4\mathrm{k}$  and  $32\mathrm{k}$  vocabulary are much less than for models trained with the standard BPE. This makes BPE-dropout attractive since it allows (i) not to tune vocabulary size for each dataset, (ii) choose vocabulary size depending on the desired model properties: models with smaller vocabularies are beneficial in terms of number of parameters, models with larger vocabularies are beneficial in terms of inference time. Finally, we see that the effect from using
Figure 3: BLEU scores. Models trained on random subsets of WMT14 En-Fr.
BPE-dropout vanishes when a corpora size gets bigger. This is not surprising: the effect of any regularization is less in high-resource settings; however, as we will show later in Section 6.3, when applied to noisy source, models trained with BPE-dropout show substantial improvements up to 2 BLEU even in high-resource settings.
Note that for larger corpora, we recommend using BPE-dropout only for source language (Section 5.2).
5.5 Inference time and length of generated sequences
Since BPE-dropout produces more fine-grained segmentation, sentences segmented with BPE-dropout are longer; distribution of sentence lengths are shown in Figure 4 (a) (with  $p = 0.1$ , on average about 1.25 times longer). Thus there is a potential danger that models trained with BPE-dropout may tend to use more fine-grained segmentation in inference and hence to slow inference down. However, in practice this is not the case: distributions of lengths of generated translations for models trained with BPE and with BPE-dropout are close (Figure 4 (b)).<sup>8</sup>
Table 4 confirms these observations and shows that inference time of models trained with BPE-dropout is not substantially different from the ones trained with BPE.
ulary is more than 1.4 times longer than models with  $32\mathrm{k}$  vocabulary.
This is the result of using beam search: while samples from a model reproduce training data distribution quite well, beam search favors more frequent tokens (Ott et al., 2018). Therefore, beam search translations tend not to use less frequent fine-grained segmentation.
Formally, for English/French/etc. with BPE-dropout,  $p = 0.1$  sentences become on average about 1.25 times longer compared to segmented with BPE; for Chinese and Japanese, we need to set the value of  $p$  to 0.6 to achieve the same increase.
7Table 4 shows that inference for models with 4k vocab
(b)
Figure 4: Distributions of length (in tokens) of (a) the French part of WMT14 En-Fr test set segmented using BPE or BPE-dropout; and (b) the generated translations for the same test set by models trained with BPE or BPE-dropout.
voc size	BPE	BPE-dropout
32k	1.0	1.03
4k	1.44	1.46
Table 4: Relative inference time of models trained with different subword segmentation methods. Results obtained by (1) computing averaged over 1000 runs time needed to translate WMT14 En-Fr test set, (2) dividing all results by the smallest of the obtained times.
In this section, we analyze qualitative differences between models trained with BPE and BPE-dropout. We find, that
- when using BPE, frequent sequences of characters rarely appear in a segmented text as individual tokens rather than being a part bigger ones; BPE-dropout alleviates this issue;
- by analyzing the learned embedding spaces, we show that using BPE-dropout leads to a better understanding of rare tokens;
- as a consequence of the above, models trained with BPE-dropout are more robust to misspelled input.
6.1 Substring frequency
Here we highlight one of the drawbacks of BPE's deterministic nature: since it splits words into unique subword sequences, only rare words are split into subwords. This forces frequent sequences of characters to mostly appear in a segmented text as part of bigger tokens, and not as individual tokens. To show this, for each token in the BPE vocabulary we calculate how often it appears in a segmented text as an individual token and as a sequence of characters (which may
Figure 5: Distribution of token to substring ratio for texts segmented using BPE or BPE-dropout for the same vocabulary of  $32\mathrm{k}$  tokens; only  $10\%$  most frequent substrings are shown. (Token to substring ratio of a token is the ratio between its frequency as an individual token and as a sequence of characters.)
be part of a bigger token or an individual token). Figure 5 shows distribution of the ratio between substring frequency as an individual token and as a sequence of characters (for top-  $10\%$  most frequent substrings).
For frequent substrings, the distribution of token to substring ratio is clearly shifted to zero, which confirms our hypothesis: frequent sequences of characters rarely appear in a segmented text as individual tokens. When a text is segmented using BPE-dropout with the same vocabulary, this distribution significantly shifts away from zero, meaning that frequent substrings appear in a segmented text as individual tokens more often.
6.2 Properties of the learned embeddings