文本表示
- 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]) –
文本编码器,或其提示。这可以是以下之一:
’characterembedding’ 用于
pykeen.nn.text.CharacterEmbeddingTextEncoder’transformer’ 用于
pykeen.nn.text.TransformerTextEncoder或通过
pykeen.nn.text.text_encoder_resolver加载的任何其他编码器
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:
数据集 (Dataset) – 数据集
kwargs – 传递给
TextRepresentation.from_triples_factory()的基于关键字的附加参数
- Returns:
数据集中的文本表示
- Raises:
TypeError – 如果数据集的三元组工厂不提供标签
- Return type:
- 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: