分词器文档

编码

Hugging Face's logo
加入 Hugging Face 社区

并获取增强型文档体验

以开始使用

编码

Python
Rust
Node

编码

class tokenizers.Encoding

( )

编码 表示 分词器 的输出。

property attention_mask

返回

List[int]

注意力掩码

注意力掩码

这指示 LM 应该注意哪些令牌,哪些不应该注意。这在批处理序列时尤其重要,因为我们需要应用填充。

property ids

返回

List[int]

ID 列表

生成的 ID

ID 是语言模型的主要输入。它们是令牌索引,是 LM 理解的数值表示。

property n_sequences

返回

int

编码 中的序列数量

表示的序列数量

property offsets

返回

一个 List of Tuple[int, int]

偏移量列表

与每个令牌相关的偏移量

这些偏移量可以让你切片输入字符串,从而检索产生对应令牌的原始部分。

property overflowing

一个 List of overflowing 编码

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

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

property sequence_ids

返回

一个 List of Optional[int]

一个可选序列索引列表。

生成的序列索引。

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

property special_tokens_mask

返回

List[int]

特殊令牌掩码

特殊令牌掩码

这指示哪些令牌是特殊令牌,哪些不是。

property tokens

返回

List[str]

令牌列表

生成的令牌

它们是 ID 的字符串表示。

property type_ids

返回

List[int]

类型 ID 列表

生成的类型 ID

通常用于序列分类或问答等任务,这些令牌让 LM 知道哪个输入序列对应于每个令牌。

property word_ids

返回

一个 List of Optional[int]

一个可选单词索引列表。

生成的单词索引。

它们表示与每个令牌相关的单词的索引。当输入是预分词时,它们对应于给定输入标签的 ID,否则它们对应于由 预分词器 定义的单词索引。使用。

对于特殊令牌等(任何从不是输入部分的某件事生成的令牌),输出为 None

property words

返回

一个 List of Optional[int]

一个可选单词索引列表。

生成的单词索引。

已弃用,将在未来版本中删除。请使用 ~tokenizers.Encoding.word_ids 代替。

它们表示与每个令牌相关的单词的索引。当输入是预分词时,它们对应于给定输入标签的 ID,否则它们对应于由 预分词器 定义的单词索引。使用。

对于特殊令牌等(任何从不是输入部分的某件事生成的令牌),输出为 None

char_to_token

( char_pos sequence_index = 0 ) int

参数

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

返回

int

包含输入序列中给定位置的字符的令牌的索引

获取包含输入序列中给定位置的字符的令牌。

char_to_word

( char_pos sequence_index = 0 ) int

参数

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

返回

int

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

获取包含输入序列中给定位置的字符的词。

合并

( encodings growing_offsets = True ) Encoding

参数

  • encodings (A List of Encoding) — 应该合并成一个的编码列表
  • growing_offsets (bool, defaults to True) — 合并时是否累积偏移量

返回

编码

生成的 Encoding

将编码列表合并成一个最终的 Encoding

填充

( 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) — 与填充标记相对应的 ID
  • pad_type_id (int, defaults to 0) — 与填充标记相对应的类型 ID
  • pad_token (str, defaults to [PAD]) — 要使用的填充标记

Encoding 填充到给定长度

设置序列 ID

( sequence_id )

设置给定的序列索引

为整个 Encoding 中包含的所有标记设置给定的序列索引。

标记到字符

( token_index ) Tuple[int, int]

参数

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

返回

Tuple[int, int]

标记偏移量 (first, last + 1)

获取给定索引的标记的偏移量。

返回的偏移量与包含标记的输入序列相关。为了确定它属于哪个输入序列,你必须调用 ~tokenizers.Encoding.token_to_sequence()

标记到序列

( token_index ) int

参数

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

返回

int

给定令牌的序列 ID

获取给定令牌所表示的序列的索引。

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

token_to_word

( token_index ) int

参数

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

返回

int

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

获取包含该令牌的输入序列中的单词索引。

返回的单词索引与包含该令牌的输入序列相关。为了确定它属于哪个输入序列,您必须调用 ~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, defaults to 0) — 包含目标单词的序列的索引

返回

Tuple[int, int]

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

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

word_to_tokens

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

参数

  • word_index (int) — 输入序列之一中单词的索引。
  • sequence_index (int, defaults to 0) — 包含目标单词的序列的索引

返回

Tuple[int, int]

令牌范围:(first, last + 1)

获取对应于输入序列之一中给定索引处的单词的编码令牌。