Код: Выделить всё
from tokenizers import BertWordPieceTokenizer
files = ["data.txt"] #contians one text per line
tokenizer = BertWordPieceTokenizer(lowercase=True)
tokenizer.train(files=files, vocab_size=3000, min_frequency=2, special_tokens=["[PAD]", "[UNK]", "[CLS]", "[SEP]", "[MASK]"])
tokenizer.save_model("my_tokenizer")
< /code>
И вот как я его использую позже: < /p>
from transformers import BertTokenizer
tokenizer = BertTokenizer.from_pretrained("my_tokenizer")
text = "this movie was awesome and I loved the acting"
tokens = tokenizer.tokenize(text)
print(tokens)
< /code>
, что дает мне:
['this', 'movie', 'was', 'aw', '##es', '##ome', 'and', 'i', 'loved', 'the', 'acting']
Так нравится ... почему «потрясающий» расщепляется на 3 токена? Это слово появляется в учебном файле несколько раз, определенно больше, чем min_frectory of 2. Я даже проверил файл Vocab, и я не вижу «удивительного» как полный токен там.
Я пытался:
Увеличивающе /> Выключение строчного < /p>
Проверка Vocab.txt, до сих пор нет полных слов, которые я ожидаю < /p>
Может быть, я неправильно понимаю, как токенизатор изучает или строит свой слова? Или что -то я делаю не так во время обучения? Это просто список простых предложений, таких как: < /p>
Код: Выделить всё
this movie was awesome
terrible film
acting was good
i loved it
Подробнее здесь: https://stackoverflow.com/questions/796 ... at-inferen