TripleRE交互
- class TripleREInteraction(u: float | None = 1.0, p: int = 1, power_norm: bool = False)[source]
基础类:
NormBasedInteraction[Tensor,tuple[Tensor,Tensor,Tensor],Tensor]TripleRE交互函数来自[yu2021]。
它由以下给出
\[\mathbf{h} \odot (\mathbf{r}_h + u) - \mathbf{t} \odot (\mathbf{r}_t + u) + \mathbf{r}\]使用头实体、关系和尾实体表示 \(\mathbf{h}, \mathbf{r}, \mathbf{t} \in \mathbb{R}^d\), 关系特定的头和尾乘数 \(\mathbf{r}_h, \mathbf{r}_t \in \mathbb{R}^d\), 以及一个标量关系因子偏移 \(u \in \mathbb{R}\)。
注意
这种交互等同于
LineaREInteraction,除了 \(u\) 项。 \(u\) 仅在论文中的版本 2 中不为零。注意
为了与纸质版本等效,h 和 t 应归一化为单位欧几里得长度,并且 p 和 power_norm 应保持其默认值。
初始化模块。
另请参阅
参数
p和power_norm直接传递给NormBasedInteraction。- Parameters:
u (float | None) – 关系因子偏移量。可以设置为None(或0)以禁用它。
p (int) – 与
torch.linalg.vector_norm()一起使用的范数。通常为1或2。power_norm (bool) – 是否使用\(L_p\)范数的p次方。它的优点是在0附近可微分,并且在数值上更稳定。
属性摘要
关系表示的符号形状
方法总结
forward(h, r, t)评估交互函数。
属性文档
方法文档