<p>Current NMT models do not work with words in the traditional sense, but with so-called subwords. Segmentation of the text into subwords is done using statistical models which ensure that frequently used words or strings of characters remain together and less frequent words get split, ultimately they can split into individual characters. In this way, there are no out-of-vocabulary words. The segmentation is the same both for the source and the target language, so it is easy for the model to learn to copy.</p>

<p>Currently, most frequent approaches are <a href="https://github.com/rsennrich/subword-nmt" rel="nofollow noreferrer">Byte-Pair Encoding</a> and <a href="https://github.com/google/sentencepiece" rel="nofollow noreferrer">SentencePiece</a>, both of them are available via <code>pip</code> and easy to use.</p>

<p>Google in their <a href="https://arxiv.org/abs/1609.08144" rel="nofollow noreferrer">2016 paper</a> claim to use a similar technique called WordPiece, however, they may have switched to SentencePiece which was made public by Google in 2018.</p>
How to handle names/unknown words in neural machine translation?
<p>Can anyone explain a best method to handle unknown words in <strong>Neural machine translation</strong> instead of removing it and to know how google translate is handling names while the sentence is getting translate between any two languages ?</p>

<p>I'd really appreciate your response...Thanks!</p>