文本表示

class TextRepresentation(labels: Sequence[str | None], max_id: int | None = None, shape: int | Sequence[int] | None = None, encoder: str | TextEncoder | type[TextEncoder] | None = None, encoder_kwargs: Mapping[str, Any] | None = None, missing_action: Literal['blank', 'error'] = 'error', **kwargs: Any)[source]

基础类:Representation

在标签上使用文本编码器的文本表示。

示例用法:

实体表示是通过使用Transformer模型对标签进行编码获得的。Transformer模型成为KGE模型的一部分,并且其参数是联合训练的。

from pykeen.datasets import get_dataset
from pykeen.nn.representation import TextRepresentation
from pykeen.models import ERModel

dataset = get_dataset(dataset="nations")
entity_representations = TextRepresentation.from_dataset(
    dataset=dataset,
    encoder="transformer",
)
model = ERModel(
    interaction="ermlp",
    entity_representations=entity_representations,
    relation_representations_kwargs=dict(shape=entity_representations.shape),
)

初始化表示。

Parameters:
  • labels (Sequence[str | None]) – 一个有序的、有限的标签集合

  • max_id (int | None) – 表示的数量。如果提供,必须与标签的数量匹配

  • shape (OneOrSequence[int] | None) – 单个表示的形状。

  • encoder (HintOrType[TextEncoder]) –

    文本编码器,或其提示。这可以是以下之一:

  • encoder_kwargs (OptionalKwargs) – 用于实例化文本编码器的基于关键字的参数

  • missing_action (Literal['blank', 'error']) – 处理给定标签中空值的策略。如果选择“error”,则在任何空值上引发错误。如果选择“blank”,则将空值替换为空字符串。

  • kwargs (Any) – 传递给 Representation.__init__() 的额外基于关键字的参数

Raises:

ValueError – 如果 max_id 不匹配

注意

参数对 (encoder, encoder_kwargs) 用于 text_encoder_resolver

解析器的解释及其使用方法在 https://class-resolver.readthedocs.io/en/latest/中给出。

方法总结

from_dataset(dataset, **kwargs)

从数据集中准备带有标签的文本表示。

from_triples_factory(triples_factory[, ...])

从三元组工厂准备带有标签的文本表示。

方法文档

classmethod from_dataset(dataset: Dataset, **kwargs) TextRepresentation[来源]

从数据集中准备带有标签的文本表示。

Parameters:
Returns:

数据集中的文本表示

Raises:

TypeError – 如果数据集的三元组工厂不提供标签

Return type:

TextRepresentation

classmethod from_triples_factory(triples_factory: TriplesFactory, for_entities: bool = True, **kwargs) TextRepresentation[来源]

从三元组工厂准备带有标签的文本表示。

Parameters:
  • triples_factory (TriplesFactory) – 三元组工厂

  • for_entities (bool) – 是否为实体(或关系)创建初始化器

  • kwargs – 传递给 TextRepresentation.__init__() 的额外基于关键字的参数

Returns:

从三元组工厂的文本表示

Return type:

TextRepresentation