Tokenizers 文档

编码

Hugging Face's logo
加入 Hugging Face 社区

并获取增强的文档体验

开始

编码

Python
Rust
Node

Encoding

class tokenizers.Encoding

( )

The Encoding represents the output of a Tokenizer.

property attention_mask

返回值

List[int]

注意力掩码

注意力掩码

这向语言模型 (LM) 指示应关注哪些 token,哪些不应关注。这在批量处理序列(我们需要应用填充)时尤其重要。

property ids

返回值

List[int]

ID 列表

生成的 ID

ID 是语言模型的主要输入。它们是 token 索引,是语言模型可以理解的数字表示。

property n_sequences

返回值

int

Encoding 中的序列数

表示的序列数

property offsets

返回值

Tuple[int, int] 列表

offsets 列表

与每个 token 关联的 offsets

这些 offsets 让您可以切片输入字符串,从而检索生成相应 token 的原始部分。

property overflowing

溢出的 Encoding 列表

当使用截断时,Tokenizer 负责将输出拆分为尽可能多的片段,以匹配指定的最大长度。此字段允许您检索所有后续片段。

当您使用序列对时,溢出的片段将包含足够的变体来涵盖所有可能的组合,同时遵守提供的最大长度。

property sequence_ids

返回值

Optional[int] 列表

可选序列索引列表。

生成的序列索引。

它们表示与每个 token 关联的输入序列的索引。如果 token 与任何输入序列无关,则序列 ID 可以为 None,例如对于特殊 token。

property special_tokens_mask

返回值

List[int]

特殊 token 掩码

特殊 token 掩码

这指示哪些 token 是特殊 token,哪些不是。

property tokens

返回值

List[str]

token 列表

生成的 token

它们是 ID 的字符串表示形式。

property type_ids

返回值

List[int]

类型 ID 列表

生成的类型 ID

通常用于序列分类或问答等任务,这些 token 让语言模型知道每个 token 对应于哪个输入序列。

property word_ids

返回值

Optional[int] 列表

可选单词索引列表。

生成的单词索引。

它们表示与每个 token 关联的单词的索引。当输入是预分词的时,它们对应于给定输入标签的 ID,否则它们对应于所使用的 PreTokenizer 定义的单词索引。

对于特殊 token 等(任何从不属于输入一部分的内容生成的 token),输出为 None

property words

返回值

Optional[int] 列表

可选单词索引列表。

生成的单词索引。

此属性已弃用,将在未来版本中删除。请改用 ~tokenizers.Encoding.word_ids

它们表示与每个 token 关联的单词的索引。当输入是预分词的时,它们对应于给定输入标签的 ID,否则它们对应于所使用的 PreTokenizer 定义的单词索引。

对于特殊 token 等(任何从不属于输入一部分的内容生成的 token),输出为 None

char_to_token

( char_pos sequence_index = 0 ) int

参数

  • char_pos (int) — 输入字符串中字符的位置
  • sequence_index (int, defaults to 0) — 包含目标字符的序列的索引

返回值

int

编码序列中包含此字符的 token 的索引

获取输入序列中给定位置的字符所在的 token。

char_to_word

( char_pos sequence_index = 0 ) int

参数

  • char_pos (int) — 输入字符串中字符的位置
  • sequence_index (int, defaults to 0) — 包含目标字符的序列的索引

返回值

int

输入序列中包含此字符的单词的索引

获取输入序列中给定位置的字符所在的单词。

merge

( encodings growing_offsets = True ) Encoding

参数

  • encodings (Encoding 列表) — 应合并为一个的 encoding 列表
  • growing_offsets (bool, defaults to True) — offsets 是否应在合并时累积

返回值

编码

结果 Encoding

将 encoding 列表合并为一个最终的 Encoding

pad

( length direction = 'right' pad_id = 0 pad_type_id = 0 pad_token = '[PAD]' )

参数

  • length (int) — 期望的长度

    direction — (str, defaults to right): 期望的填充方向。可以是 rightleft

  • pad_id (int, defaults to 0) — 与填充 token 对应的 ID
  • pad_type_id (int, defaults to 0) — 与填充 token 对应的类型 ID
  • pad_token (str, defaults to [PAD]) — 要使用的填充 token

在给定长度处填充 Encoding

set_sequence_id

( sequence_id )

设置给定的序列索引

为此 Encoding 中包含的整个 token 范围设置给定的序列索引。

token_to_chars

( token_index ) Tuple[int, int]

参数

  • token_index (int) — 编码序列中 token 的索引。

返回值

Tuple[int, int]

token offsets (first, last + 1)

获取给定索引处 token 的 offsets。

返回的 offsets 与包含 token 的输入序列相关。为了确定它属于哪个输入序列,您必须调用 ~tokenizers.Encoding.token_to_sequence()

token_to_sequence

( token_index ) int

参数

  • token_index (int) — 编码序列中 token 的索引。

返回值

int

给定 token 的序列 ID

获取给定 token 表示的序列的索引。

在一般用例中,对于单个序列或序列对的第一个序列,此方法返回 0,对于序列对的第二个序列,此方法返回 1

token_to_word

( token_index ) int

参数

  • token_index (int) — 编码序列中 token 的索引。

返回值

int

相关输入序列中单词的索引。

获取输入序列之一中包含 token 的单词的索引。

返回的单词索引与包含 token 的输入序列相关。为了确定它属于哪个输入序列,您必须调用 ~tokenizers.Encoding.token_to_sequence()

truncate

( max_length stride = 0 direction = 'right' )

参数

  • max_length (int) — 期望的长度
  • stride (int, defaults to 0) — 要包含在每个溢出片段中的先前内容的长度
  • direction (str, defaults to right) — 截断方向

在给定长度处截断 Encoding

如果此 Encoding 表示多个序列,则在截断时此信息将丢失。它将被视为表示单个序列。

word_to_chars

( word_index sequence_index = 0 ) Tuple[int, int]

参数

  • word_index (int) — 输入序列中一个词的索引。
  • sequence_index (int, 默认为 0) — 包含目标词的序列的索引

返回值

Tuple[int, int]

字符的范围(跨度)(first, last + 1)

获取输入序列之一中给定索引处单词的偏移量。

word_to_tokens

( word_index sequence_index = 0 ) Tuple[int, int]

参数

  • word_index (int) — 输入序列中一个词的索引。
  • sequence_index (int, 默认为 0) — 包含目标词的序列的索引

返回值

Tuple[int, int]

tokens 的范围: (first, last + 1)

获取与输入序列之一中给定索引处的单词相对应的编码 tokens。

< > 在 GitHub 上更新