Как установить размер словаря в библиотеке токенизаторов python?

#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)
 

Для получения дополнительной информации вы можете ознакомиться с документами.