Working with tokenization algorithms
In the opening part of the chapter, we trained the BERT model using a specific tokenizer, namely BertWordPieceTokenizer
. Now, it is worth discussing the tokenization process in detail here. Tokenization is a way of splitting textual input into tokens and assigning an identifier to each token before feeding the neural network architecture. The most intuitive way to do this is to split the sequence into smaller chunks in terms of space. However, such approaches do not meet the requirements of some languages, such as Japanese, and also may lead to huge vocabulary problems. Almost all Transformer models leverage subword tokenization not only for reducing dimensionality but also for encoding rare (or unknown) words not seen in training. The tokenization relies on the idea that every word, including rare words or unknown words, can be decomposed into meaningful smaller chunks that are widely seen symbols in the training corpus.
Some traditional tokenizers...