KG2E

class KG2E(*, embedding_dim: int = 50, dist_similarity: str | ~pykeen.nn.sim.KG2ESimilarity | type[~pykeen.nn.sim.KG2ESimilarity] | None = None, dist_similarity_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, c_min: float = 0.05, c_max: float = 5.0, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, entity_constrainer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function clamp_norm>, entity_constrainer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, relation_constrainer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function clamp_norm>, relation_constrainer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, **kwargs)[来源]

基础类:ERModel

KG2E的实现来自[he2015]

KG2E 旨在明确地建模实体和关系中的(不)确定性(例如,受这些实体和关系观察到的三元组数量的影响)。因此,实体和关系通过概率分布来表示,特别是通过多元高斯分布 \(\mathcal{N}(\mu, \Sigma)\),其中均值 \(\mu \in \mathbb{R}^d\) 表示向量空间中的位置,而对角方差 \(\Sigma = diag(\sigma_1, \ldots, \sigma_d) \in \mathbb{R}^{d \times d}\) 建模不确定性。

因此,我们有两个\(d\)维向量,每个向量都存储在Embedding矩阵中,分别用于实体和关系。然后,这些表示被传递给KG2EInteraction函数以获得分数。

初始化KG2E。

Parameters:

注意

参数对 (dist_similarity, dist_similarity_kwargs) 用于 pykeen.nn.sim.kg2e_similarity_resolver

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

属性摘要

constrainer_default_kwargs

实体约束器的默认设置

hpo_default

优化模型超参数的默认策略

属性文档

constrainer_default_kwargs = {'dim': -1, 'maxnorm': 1.0, 'p': 2}

实体约束器的默认设置

hpo_default: ClassVar[Mapping[str, Any]] = {'c_max': {'high': 10.0, 'low': 1.0, 'type': <class 'float'>}, 'c_min': {'high': 0.1, 'low': 0.01, 'scale': 'log', 'type': <class 'float'>}, 'embedding_dim': {'high': 256, 'low': 16, 'q': 16, 'type': <class 'int'>}}

优化模型超参数的默认策略