字符嵌入文本编码器

class CharacterEmbeddingTextEncoder(dim: int = 32, character_representation: str | Representation | type[Representation] | None = None, vocabulary: str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c', aggregation: str | Callable[[...], Tensor] | None = None)[源代码]

基础类:TextEncoder

一个简单的基于字符的文本编码器。

该编码器使用给定字母表中每个字符的基本表示,以及两个特殊标记用于未知字符和填充。要编码一个句子,它将其转换为字符序列,获取各个字符的表示,并将这些表示聚合为一个单一的表示。

使用pykeen.nn.representation.Embedding字符表示和torch.mean()聚合, 这个编码器类似于一个带有可训练字符嵌入的字符袋模型。因此,它对字符的顺序是不变的:

>>> from pykeen.nn.text import CharacterEmbeddingTextEncoder
>>> encoder = CharacterEmbeddingTextEncoder()
>>> import torch
>>> torch.allclose(encoder("seal"), encoder("sale"))
True

初始化编码器。

Parameters:

方法总结

forward_normalized(texts)

编码一批文本。

方法文档

forward_normalized(texts: Sequence[str]) Tensor[source]

编码一批文本。

Parameters:

文本 (Sequence[str]) – 长度: b 文本

Returns:

形状: (b, dim) 文本的编码

Return type:

Tensor