#python #machine-learning #nlp #huggingface-tokenizers
Вопрос:
Я хотел бы установить свой собственный токенизатор и использовать его в дальнейшем для предварительно обученной модели, однако при установке нового токенизатора, похоже, нет способа выбрать размер словаря. Поэтому, когда я вызываю tokenizer.get_vocab()
его, он всегда возвращает словарь с 30000 элементами. Как мне это изменить? Вот что я делаю:
from tokenizers import Tokenizer
from tokenizers.models import BPE
tokenizer = Tokenizer(BPE(unk_token="[UNK]"))
from tokenizers.trainers import BpeTrainer
trainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])
from tokenizers.pre_tokenizers import Whitespace
tokenizer.pre_tokenizer = Whitespace()
tokenizer.train(['transcripts.raw'], trainer) # Here there are no additional arguments for some reason
Ответ №1:
Что вы можете сделать, так это использовать vocab_size
параметр the BpeTrainer
, который по умолчанию равен 30000:
trainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"], vocab_size=10)
Для получения дополнительной информации вы можете ознакомиться с документами.