Transformers 文档

使用来自🤗 Tokenizers的分词器

使用来自🤗 Tokenizers的分词器

PreTrainedTokenizerFast 依赖于 🤗 Tokenizers 库。从 🤗 Tokenizers 库中获取的分词器可以非常简单地加载到 🤗 Transformers 中。

在深入了解具体细节之前,让我们首先用几行代码创建一个虚拟的分词器:

>>> from tokenizers import Tokenizer
>>> from tokenizers.models import BPE
>>> from tokenizers.trainers import BpeTrainer
>>> from tokenizers.pre_tokenizers import Whitespace

>>> tokenizer = Tokenizer(BPE(unk_token="[UNK]"))
>>> trainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])

>>> tokenizer.pre_tokenizer = Whitespace()
>>> files = [...]
>>> tokenizer.train(files, trainer)

我们现在有一个在我们定义的文件上训练的分词器。我们可以继续在运行时使用它,或者将其保存到一个JSON文件中以便将来重复使用。

直接从分词器对象加载

让我们看看如何在🤗 Transformers库中利用这个分词器对象。PreTrainedTokenizerFast类允许通过接受实例化的tokenizer对象作为参数来轻松实例化:

>>> from transformers import PreTrainedTokenizerFast

>>> fast_tokenizer = PreTrainedTokenizerFast(tokenizer_object=tokenizer)

这个对象现在可以与🤗 Transformers分词器共享的所有方法一起使用!前往分词器页面了解更多信息。

从JSON文件加载

为了从JSON文件加载一个分词器,我们首先需要保存我们的分词器:

>>> tokenizer.save("tokenizer.json")

我们保存此文件的路径可以通过tokenizer_file参数传递给PreTrainedTokenizerFast初始化方法:

>>> from transformers import PreTrainedTokenizerFast

>>> fast_tokenizer = PreTrainedTokenizerFast(tokenizer_file="tokenizer.json")

这个对象现在可以与🤗 Transformers分词器共享的所有方法一起使用!前往分词器页面获取更多信息。

< > Update on GitHub