预计算池分词器

class PrecomputedPoolTokenizer(*, path: Path | None = None, url: str | None = None, download_kwargs: Mapping[str, Any] | None = None, pool: Mapping[int, Collection[int]] | None = None, randomize_selection: bool = False, loader: str | PrecomputedTokenizerLoader | type[PrecomputedTokenizerLoader] | None = None)[来源]

基础类:Tokenizer

使用外部预计算的标记化的标记器。

初始化分词器。

注意

加载预计算池的优先顺序是(1)从给定的池中加载,(2)从给定的路径中加载,以及(3)通过从给定的URL下载。

Parameters:
  • path (Path | None) – 包含预计算池的文件的路径

  • url (str | None) – 用于下载包含预计算池的文件的URL

  • download_kwargs (Mapping[str, Any] | None) – 额外的下载参数,传递给 pystow.Module.ensure

  • pool (Mapping[int, Collection[int]] | None) – 预计算的池。

  • randomize_selection (bool) – 是否从tokens中随机选择,或者总是选择前num_token个预计算的tokens。

  • loader (str | PrecomputedTokenizerLoader | type[PrecomputedTokenizerLoader] | None) – 用于加载池的加载器

Raises:

ValueError – 如果池的键在 \(0 \dots N-1\) 上不连续。

方法总结

__call__(mapped_triples, num_tokens, ...)

对给定三元组中包含的实体进行标记化。

方法文档

__call__(mapped_triples: Tensor, num_tokens: int, num_entities: int, num_relations: int) tuple[int, Tensor][来源]

对给定三元组中包含的实体进行标记化。

Parameters:
  • mapped_triples (Tensor) – 形状: (n, 3) 基于ID的三元组

  • num_tokens (int) – 为每个实体选择的令牌数量

  • num_entities (int) – 实体的数量

  • num_relations (int) – 关系的数量

Returns:

形状: (num_entities, num_tokens), -1 <= res < vocabulary_size 每个实体选择的关系ID。-1用作填充标记。

Return type:

tuple[int, Tensor]