Tokenizers 文档

模型

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

模型

Python
Rust
Node

BPE

class tokenizers.models.BPE

( vocab = None merges = None cache_capacity = None dropout = None unk_token = None continuing_subword_prefix = None end_of_word_suffix = None fuse_unk = None byte_fallback = False ignore_merges = False )

参数

  • vocab (Dict[str, int], 可选) — 字符串键及其 ID 的字典 {"am": 0,...}
  • merges (List[Tuple[str, str]], 可选) — Token 对 (Tuple[str, str]) 列表 [("a", "b"),...]
  • cache_capacity (int, 可选) — BPE 缓存可以包含的单词数量。缓存允许通过保留一些单词的合并操作结果来加速处理过程。
  • dropout (float, 可选) — 介于 0 和 1 之间的浮点数,表示要使用的 BPE dropout。
  • unk_token (str, 可选) — 模型使用的未知 token。
  • continuing_subword_prefix (str, 可选) — 要附加到不代表单词开头的子词单元的前缀。
  • end_of_word_suffix (str, 可选) — 要附加到代表单词结尾的子词单元的后缀。
  • fuse_unk (bool, 可选) — 是否将任何后续的未知 token 融合为单个 token
  • byte_fallback (bool, 可选) — 是否使用 spm 字节回退技巧(默认为 False)
  • ignore_merges (bool, 可选) — 是否在合并之前匹配带有词汇表的 token。

BPE(字节对编码)算法的实现

from_file

( vocab merge **kwargs ) BPE

参数

  • vocab (str) — vocab.json 文件的路径
  • merges (str) — merges.txt 文件的路径

返回值

BPE

从这些文件加载的 BPE 实例

从给定文件实例化 BPE 模型。

此方法大致等同于执行以下操作

vocab, merges = BPE.read_file(vocab_filename, merges_filename)
bpe = BPE(vocab, merges)

如果您不需要保留 vocab, merges 值,则此方法比手动调用 read_file() 初始化 BPE 更优化

read_file

( vocab merges ) 包含词汇表和合并的 Tuple

参数

  • vocab (str) — vocab.json 文件的路径
  • merges (str) — merges.txt 文件的路径

返回值

包含词汇表和合并的 Tuple

加载到内存中的词汇表和合并

读取 vocab.jsonmerges.txt 文件

此方法提供了一种读取和解析这些文件内容的方式,并返回相关的数据结构。如果您想从内存中实例化一些 BPE 模型,此方法会为您提供来自标准文件的预期输入。

模型

class tokenizers.models.Model

( )

所有模型的基础类

模型表示实际的分词算法。这是包含和管理已学习词汇表的部分。

此类不能直接构造。请使用具体的模型之一。

get_trainer

( ) Trainer

返回值

训练器

用于训练此模型的训练器

获取关联的 Trainer

检索与此 Model 关联的 Trainer

id_to_token

( id ) str

参数

  • id (int) — 要转换为 token 的 ID

返回值

str

与 ID 关联的 token

获取与 ID 关联的 token

save

( folder prefix ) List[str]

参数

  • folder (str) — 目标文件夹的路径,模型将保存在该文件夹中
  • prefix (str, 可选) — 可选的前缀,用于为每个文件名添加前缀

返回值

List[str]

已保存文件的列表

保存当前模型

将当前模型保存在给定的文件夹中,并为将要创建的各种文件使用给定的前缀。此文件夹中已存在的任何同名文件都将被覆盖。

token_to_id

( tokens ) int

参数

  • token (str) — 要转换为 ID 的 token

返回值

int

与 token 关联的 ID

获取与 token 关联的 ID

tokenize

( sequence ) TokenList

参数

  • sequence (str) — 要分词的序列

返回值

TokenList

生成的 token

分词序列

Unigram

class tokenizers.models.Unigram

( vocab unk_id byte_fallback )

参数

  • vocab (List[Tuple[str, float]], 可选, 可选) — 词汇项及其相对分数的列表 [(“am”, -0.2442),…]

Unigram 算法的一种实现

WordLevel

class tokenizers.models.WordLevel

( vocab unk_token )

参数

  • vocab (str, 可选) — 字符串键及其 ID 的字典 {"am": 0,...}
  • unk_token (str, 可选) — 模型使用的未知 token。

WordLevel 算法的一种实现

最简单的分词器模型,基于将 token 映射到其对应的 ID。

from_file

( vocab unk_token ) WordLevel

参数

  • vocab (str) — vocab.json 文件的路径

返回值

WordLevel

从文件加载的 WordLevel 实例

从给定文件实例化 WordLevel 模型

此方法大致等同于执行以下操作

vocab = WordLevel.read_file(vocab_filename)
wordlevel = WordLevel(vocab)

如果您不需要保留 vocab 值,此方法比手动调用 read_file() 初始化 WordLevel 更优化。

read_file

( vocab ) Dict[str, int]

参数

  • vocab (str) — vocab.json 文件的路径

返回值

Dict[str, int]

作为 dict 的词汇表

读取 vocab.json

此方法提供了一种读取和解析词汇表文件内容的方法,并返回相关的数据结构。如果您想从内存中实例化一些 WordLevel 模型,此方法为您提供标准文件中的预期输入。

WordPiece

class tokenizers.models.WordPiece

( vocab unk_token max_input_chars_per_word )

参数

  • vocab (Dict[str, int], 可选) — 字符串键及其 ID 的字典 {"am": 0,...}
  • unk_token (str, 可选) — 模型使用的未知 token。
  • max_input_chars_per_word (int, 可选) — 单个单词中允许的最大字符数。

WordPiece 算法的一种实现

from_file

( vocab **kwargs ) WordPiece

参数

  • vocab (str) — vocab.txt 文件的路径

返回值

WordPiece

从文件加载的 WordPiece 实例

从给定文件实例化 WordPiece 模型

此方法大致等同于执行以下操作

vocab = WordPiece.read_file(vocab_filename)
wordpiece = WordPiece(vocab)

如果您不需要保留 vocab 值,此方法比手动调用 read_file() 初始化 WordPiece 更优化。

read_file

( vocab ) Dict[str, int]

参数

  • vocab (str) — vocab.txt 文件的路径

返回值

Dict[str, int]

作为 dict 的词汇表

读取 vocab.txt 文件

此方法提供了一种读取和解析 WordPiece 模型使用的标准 vocab.txt 文件内容的方法,并返回相关的数据结构。如果您想从内存中实例化一些 WordPiece 模型,此方法为您提供标准文件中的预期输入。

< > 在 GitHub 上更新