токенизатор работает в два этапа. Во-первых, он выполняет предварительную маркировку, которая в основном разделяется на пробелы и разделяет знаки препинания. Давайте рассмотрим случайное чешское предложение:
tokenizer.basic_tokenizer.tokenize("Kočka leze dírou.")
Это дает вам: ['kocka', 'leze', 'dirou', '.']
На втором шаге применяется алгоритм разбиения по кусочкам слов, так что вы получите :
tokenizer.tokenize("Kočka leze dírou.")
Вы получаете: ['[UNK]', 'le', '##ze', 'di', '##ro', '##u', '.']
Если нет способа разделить токен на подслово, все слово становится [UNK]
. Токены, начинающиеся с ##
, добавляются к предыдущим, так что таким образом вы можете узнать, откуда появился [UNK]
.
(И мне кажется странным, что Spani sh WordPiece токенизатор не может разобрать слово, состоящее только из латинских букв.)