Wikidata可视化表示

class WikidataVisualRepresentation(wikidata_ids: Sequence[str], max_id: int | None = None, image_kwargs: Mapping[str, Any] | None = None, **kwargs)[source]

基础类:BackfillRepresentation

从Wikidata获得的视觉表示,并使用视觉编码器进行编码。

如果无法找到某个Wikidata ID对应的图像,将使用一个普通的(可训练的)嵌入来代替。

示例用法

from pykeen.datasets import get_dataset
from pykeen.models import ERModel
from pykeen.nn import WikidataVisualRepresentation
from pykeen.pipeline import pipeline

dataset = get_dataset(dataset="codexsmall")
entity_representations = WikidataVisualRepresentation.from_dataset(dataset=dataset)

result = pipeline(
    dataset=dataset,
    model=ERModel,
    model_kwargs=dict(
        interaction="distmult",
        entity_representations=entity_representations,
        relation_representation_kwargs=dict(
            shape=entity_representations.shape,
        ),
    ),
)

初始化表示。

Parameters:
  • wikidata_ids (Sequence[str]) – Wikidata ID

  • max_id (int | None) – ID的总数。如果提供,必须与wikidata_ids的长度匹配

  • image_kwargs (Mapping[str, Any] | None) – 传递给 WikidataImageCache.get_image_paths() 的基于关键字的参数

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

Raises:

ValueError – 如果 max_id 与 Wikidata ID 的数量不匹配

方法总结

from_dataset(dataset, **kwargs)

从数据集中准备表示。

from_triples_factory(triples_factory[, ...])

从三元组工厂准备Wikidata实体的视觉表示。

方法文档

classmethod from_dataset(dataset: Dataset, **kwargs) WikidataVisualRepresentation[source]

从数据集中准备表示。

Parameters:
Returns:

表示

Raises:

TypeError – 如果三元组工厂不提供标签

Return type:

WikidataVisualRepresentation

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

从三元组工厂准备Wikidata实体的视觉表示。

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

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

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

Returns:

来自三元组工厂的视觉表示

Return type:

WikidataVisualRepresentation