TransFInteraction
- class TransFInteraction(*args, **kwargs)[源代码]
基础类:
Interaction[Tensor,Tensor,Tensor]基于无状态范数的TransF交互函数。
它由以下给出
\[f(\mathbf{h}, \mathbf{r}, \mathbf{t}) = (\mathbf{h} + \mathbf{r})^T \mathbf{t} + \mathbf{h}^T (\mathbf{r} - \mathbf{t})\]对于头实体、关系和尾实体的表示 \(\mathbf{h}, \mathbf{r}, \mathbf{t} \in \mathbb{R}^d\)。 交互函数可以简化为
\[\begin{split}f(\mathbf{h}, \mathbf{r}, \mathbf{t}) &=& (\mathbf{h} + \mathbf{r})^T \mathbf{t} + \mathbf{h}^T (\mathbf{t} - \mathbf{r}) \\ &=& \langle \mathbf{h}, \mathbf{t}\rangle + \langle \mathbf{r}, \mathbf{t}\rangle + \langle \mathbf{h}, \mathbf{t}\rangle - \langle \mathbf{h}, \mathbf{r}\rangle \\ &=& 2 \cdot \langle \mathbf{h}, \mathbf{t}\rangle + \langle \mathbf{r}, \mathbf{t}\rangle - \langle \mathbf{h}, \mathbf{r}\rangle\end{split}\]注意
这是论文中的平衡变体。
待办事项
实现不平衡版本: \(f(\mathbf{h}, \mathbf{r}, \mathbf{t}) = (\mathbf{h} + \mathbf{r})^T \mathbf{t}\)
初始化内部模块状态,由nn.Module和ScriptModule共享。
方法总结
forward(h, r, t)评估交互函数。
方法文档