分词器文档

编码

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

编码

Python
Rust
Node

编码

class tokenizers.Encoding

( )

`Encoding` 表示 `Tokenizer` 的输出。

property attention_mask

返回

List[int]

注意力掩码

注意力掩码

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

property ids

返回

List[int]

ID 列表

生成的 ID

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

property n_sequences

返回

int

`Encoding` 中的序列数量

表示的序列数量

property offsets

返回

一个 `List` 类型的 `Tuple[int, int]`

偏移量列表

与每个词符关联的偏移量

这些偏移量让您能够对输入字符串进行切片,从而检索到产生相应词符的原始部分。

property overflowing

一个包含溢出的 `Encoding` 的 `List`

使用截断时,`Tokenizer` 会负责将输出分割成所需数量的片段,以匹配指定的最大长度。此字段可让您检索所有后续的片段。

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

property sequence_ids

返回

一个 `List` 类型的 `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` 类型的 `Optional[int]`

一个可选的单词索引列表。

生成的单词索引。

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

对于特殊词符等(任何非输入部分生成的词符),输出为 `None`。

property words

返回

一个 `List` 类型的 `Optional[int]`

一个可选的单词索引列表。

生成的单词索引。

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

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

对于特殊词符等(任何非输入部分生成的词符),输出为 `None`。

char_to_token

( char_pos sequence_index = 0 ) int

参数

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

返回

int

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

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

char_to_word

( char_pos sequence_index = 0 ) int

参数

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

返回

int

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

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

合并

( encodings growing_offsets = True ) Encoding

参数

  • encodings (一个 `List` 类型的 `Encoding`) — 应该合并为一个的编码列表
  • growing_offsets (bool, 默认为 True) — 合并时偏移量是否应累加

返回

编码

生成的编码

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

填充

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

参数

  • length (int) — 期望的长度

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

  • pad_id (int, 默认为 0) — 对应于填充词符的 ID
  • pad_type_id (int, 默认为 0) — 对应于填充词符的类型 ID
  • pad_token (str, 默认为 [PAD]) — 要使用的填充词符

`Encoding` 填充到指定长度

set_sequence_id

( sequence_id )

设置给定的序列索引

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

token_to_chars

( token_index ) Tuple[int, int]

参数

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

返回

Tuple[int, int]

词符偏移量 (first, last + 1)

获取给定索引处词符的偏移量。

返回的偏移量与包含该词符的输入序列相关。要确定它属于哪个输入序列,必须调用 `~tokenizers.Encoding.token_to_sequence()`。

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, 默认为 0) — 每个溢出片段中要包含的前文内容的长度
  • direction (str, 默认为 right) — 截断方向

`Encoding` 截断至指定长度

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

word_to_chars

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

参数

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

返回

Tuple[int, int]

字符范围(span) (first, last + 1)

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

word_to_tokens

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

参数

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

返回

Tuple[int, int]

词符范围: (first, last + 1)

获取在其中一个输入序列中给定索引处单词对应的编码词符。

< > 在 GitHub 上更新