分词器文档

模型

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]], 可选) — 一个词元对 (Tuple[str, str]) 的列表,例如 [("a", "b"),...]
  • cache_capacity (int, 可选) — BPE 缓存可以包含的单词数量。缓存通过保留一定数量单词的合并操作结果来加速处理过程。
  • dropout (float, 可选) — 一个介于 0 和 1 之间的浮点数,表示要使用的 BPE dropout。
  • unk_token (str, 可选) — 模型使用的未知词元。
  • continuing_subword_prefix (str, 可选) — 附加到不表示单词开头的子词单元的前缀。
  • end_of_word_suffix (str, 可选) — 附加到表示单词结尾的子词单元的后缀。
  • fuse_unk (bool, 可选) — 是否将任何连续的未知词元合并成一个。
  • byte_fallback (bool, 可选) — 是否使用 spm 字节回退技巧(默认为 False)
  • ignore_merges (bool, 可选) — 是否在应用合并规则前先将词元与词汇表匹配。

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 ) 包含词汇表和合并规则的 元组

参数

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

返回

一个包含词汇表和合并规则的 元组

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

读取 vocab.jsonmerges.txt 文件

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

Model

class tokenizers.models.Model

( )

所有模型的基类

模型代表实际的分词算法。这部分将包含和管理学习到的词汇表。

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

get_trainer

( ) Trainer

返回

训练器

用于训练此模型的训练器

获取关联的 Trainer

检索与此 Model 关联的 Trainer

id_to_token

( id ) str

参数

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

返回

字符串

与 ID 关联的词元

获取与 ID 关联的词元

save

( folder prefix ) List[str]

参数

  • folder (str) — 目标文件夹的路径,用于保存各种文件
  • prefix (str, 可选) — 一个可选前缀,用于为每个文件名添加前缀

返回

List[str]

已保存文件的列表

保存当前模型

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

token_to_id

( tokens ) int

参数

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

返回

int

与词元关联的 ID

获取与词元关联的 ID

tokenize

( sequence ) TokenList

参数

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

返回

一个 TokenList

生成的词元

对序列进行分词

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, 可选) — 模型使用的未知词元。

WordLevel 算法的实现

最简单的分词器模型,基于将词元映射到其对应 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]

词汇表,格式为 字典

读取 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, 可选) — 模型使用的未知词元。
  • 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]

词汇表,格式为 字典

读取 vocab.txt 文件

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

< > 在 GitHub 上更新