HolE
- class HolE(*, embedding_dim: int = 200, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function xavier_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, entity_representation_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function xavier_uniform_>, relation_representation_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, **kwargs)[source]
基础类:
ERModel[Tensor,Tensor,Tensor]HolE的实现来自[nickel2016]。
该模型将实体和关系表示为存储在
Embedding矩阵中的\(d\)维向量。 然后,这些表示被传递给HolEInteraction函数以获得分数。注意
原始论文描述了将概率建模为\(\sigma(f(h, r, t))\),然而,由于所有实验都使用了边际排序损失,因此得分函数的实现不包括\(\sigma\)。
另请参阅
OpenKE HolE的实现
初始化模型。
- Parameters:
embedding_dim (int) – 嵌入维度(用于实体和关系)
entity_initializer (str | Callable[[Tensor], Tensor] | None) – 实体表示的初始化器
entity_constrainer (str | Callable[[Tensor], Tensor] | None) – 实体表示的约束器
entity_constrainer_kwargs (Mapping[str, Any] | None) – 传递给约束器的基于关键字的参数。如果为None,则使用
entity_constrainer_default_kwargsentity_representation_kwargs (Mapping[str, Any] | None) – 传递给实体表示的额外基于关键字的参数
relation_initializer (str | Callable[[Tensor], Tensor] | None) – 关系表示的初始化器
relation_representation_kwargs (Mapping[str, Any] | None) – 传递给实体表示的额外基于关键字的参数
kwargs – 传递给
ERModel.__init__()的额外基于关键字的参数
属性摘要
实体约束器的默认设置
优化模型超参数的默认策略
属性文档
- entity_constrainer_default_kwargs = {'dim': -1, 'maxnorm': 1.0, 'p': 2}
实体约束器的默认设置