HolE交互
- class HolEInteraction(*args, **kwargs)[source]
基础:
FunctionalInteraction[Tensor,Tensor,Tensor]无状态的HolE交互函数。
全息嵌入(HolE)利用循环相关运算符来计算实体和关系的潜在特征之间的交互:
\[f(h,r,t) = \textbf{r}^{T}(\textbf{h} \star \textbf{t})\]其中循环相关 \(\star: \mathbb{R}^d \times \mathbb{R}^d \rightarrow \mathbb{R}^d\) 定义为:
\[[\textbf{a} \star \textbf{b}]_i = \sum_{k=0}^{d-1} \textbf{a}_{k} * \textbf{b}_{(i+k)\ mod \ d}\]通过使用相关运算符,每个组件 \([\textbf{h} \star \textbf{t}]_i\) 表示对固定分区的成对交互进行求和。这使得模型能够将语义相似的交互放入同一分区,并通过 \(\textbf{r}\) 共享权重。同样,不相关的特征交互也可以放入同一分区,并在 \(\textbf{r}\) 中分配较小的权重。
初始化内部模块状态,由nn.Module和ScriptModule共享。
方法总结
func(h, r, t)评估交互函数。
方法文档
- static func(h: FloatTensor, r: FloatTensor, t: FloatTensor) FloatTensor[来源]
评估交互函数。
另请参阅
Interaction.forward提供了关于交互函数通用批处理形式的详细描述。- Parameters:
h (FloatTensor) – 形状:
(*batch_dims, d)头部表示。r (FloatTensor) – 形状:
(*batch_dims, d)关系表示。t (FloatTensor) – 形状:
(*batch_dims, d)尾部的表示。
- Returns:
形状:
batch_dims分数。- Return type:
FloatTensor