ERMLPE交互

class ERMLPEInteraction(embedding_dim: int = 256, input_dropout: float = 0.2, hidden_dim: int | None = None, hidden_dropout: float | None = None)[source]

基础类: Interaction[Tensor, Tensor, Tensor]

有状态的ER-MLP(E)交互函数。

这种交互使用了一种基于神经网络的方法,类似于ER-MLP,并进行了轻微的修改。 在ERMLPInteraction中,交互是:

\[f(h, r, t) = \textbf{w}^{T} g(\textbf{W} [\textbf{h}; \textbf{r}; \textbf{t}])\]

而这里是:

\[f(h, r, t) = \textbf{t}^{T} f(\textbf{W} (g(\textbf{W} [\textbf{h}; \textbf{r}]))\]

包括在每个两个隐藏层之间的dropouts和batch-norms。因此, ConvEInteraction 可以被视为ERMLP (E)的一个特例。

初始化交互模块。

Parameters:
  • embedding_dim (int) – 实体和关系的嵌入维度

  • hidden_dim (int | None) – MLP的隐藏维度。默认为 embedding_dim

  • input_dropout (float) – 在第一层之前应用的dropout

  • hidden_dropout (float | None) – 在第一层之后应用的dropout

方法总结

forward(h, r, t)

计算给定头、关系和尾的广播表示的三元组得分。

方法文档

forward(h: Tensor, r: Tensor, t: Tensor) Tensor[源代码]

计算给定头、关系和尾的广播表示的三元组得分。

Parameters:
  • h (Tensor) – 形状: (*batch_dims, d) 头部表示。

  • r (Tensor) – 形状: (*batch_dims, d) 关系表示。

  • t (Tensor) – 形状: (*batch_dims, d) 尾部表示。

Returns:

形状: batch_dims 分数。

Return type:

Tensor