KG2E交互
- class KG2EInteraction(similarity: str | KG2ESimilarity | type[KG2ESimilarity] | None = None, similarity_kwargs: Mapping[str, Any] | None = None)[source]
基础:
Interaction[tuple[Tensor,Tensor],tuple[Tensor,Tensor],tuple[Tensor,Tensor]]无状态的KG2E交互函数。
受到
TransEInteraction的启发,关系被建模为从头实体到尾实体的转换\(\mathcal{H} - \mathcal{T} \approx \mathcal{R}\),其中\[\begin{split}\mathcal{H} \sim \mathcal{N}(\mu_h, \Sigma_h)\\ \mathcal{T} \sim \mathcal{N}(\mu_t, \Sigma_t)\\ \mathcal{R} \sim \mathcal{N}(\mu_r, \Sigma_r)\end{split}\]因此,由于头部和尾部实体在关系方面被认为是独立的,
\[\mathcal{P}_e = \mathcal{H} - \mathcal{T} \sim \mathcal{N}(\mu_h - \mu_t, \Sigma_h + \Sigma_t)\]为了获得分数,交互测量了\(\mathcal{P}_e\)和\(\mathcal{P}_r = \mathcal{N}(\mu_r, \Sigma_r)\)之间的相似性,这可以通过(非对称的)
NegativeKullbackLeiblerDivergence,或者使用ExpectedLikelihood的对称变体来实现。注意
这个交互模块没有从
FunctionalInteraction继承,仅仅是因为技术原因,即相似性的选择代表了一些“状态”。然而,它不包含任何可训练的参数。初始化交互模块。
- Parameters:
similarity (HintOrType[KG2ESimilarity] | None) – 高斯分布的相似性度量。默认为
NegativeKullbackLeiblerDivergence。similarity_kwargs (OptionalKwargs) – 用于实例化相似性的额外基于关键字的参数。
注意
参数对
(similarity, similarity_kwargs)用于pykeen.nn.sim.kg2e_similarity_resolver解析器的解释及其使用方法在 https://class-resolver.readthedocs.io/en/latest/中给出。
属性摘要
实体表示的符号形状
关系表示的符号形状
方法总结
forward(h, r, t)评估交互函数。
属性文档
方法文档