方向平均交互
- class DirectionAverageInteraction(base: str | Interaction[Tensor, Tensor, Tensor] | type[Interaction[Tensor, Tensor, Tensor]], base_kwargs: Mapping[str, Any] | None = None)[来源]
基础:
Interaction[tuple[Tensor,Tensor],tuple[Tensor,Tensor],tuple[Tensor,Tensor]]方向平均交互模块。
这可以被视为SimplE交互模块的泛化,可以使用任何其他交互模块进行参数化,而不仅仅是
pykeen.nn.modules.DistMultInteraction。为每个实体\(e \in \mathcal{E}\)学习一个单独的表示,当它作为三元组的主语\(\mathbf{e}_h \in \mathbb{R}^d\)和作为三元组的宾语\(\mathbf{e}_t \in \mathbb{R}^d\)时。同样,为每个关系学习两个表示,用于正向\(\textbf{r}_{\rightarrow}\)和反向三元组\(\textbf{r}_{\leftarrow}\)。
然后通过平均前向和后向交互函数值来获得分数:
\[\frac{ f(\textbf{h}_{h}, \textbf{r}_{\rightarrow}, \textbf{t}_{t}) + f(\textbf{t}_{h}, \textbf{r}_{\leftarrow}, \textbf{h}_{t}) }{2}\]其中
f是使用的交互模型。如果使用了pykeen.nn.modules.DistMultInteraction, 那么这将变为pykeen.nn.modules.SimplEInteraction。待办事项
我们能否将类型注释从FloatTensor泛化到HeadRepresentation等?
初始化交互模块。
- Parameters:
base (LookupOrType[Interaction[FloatTensor, FloatTensor, FloatTensor]]) – 基础交互。
base_kwargs (OptionalKwargs) – 用于实例化基础交互的关键字参数
注意
参数对
(base, base_kwargs)用于interaction_resolver解析器的解释及其使用方法在 https://class-resolver.readthedocs.io/en/latest/中给出。
方法总结
forward(h, r, t)评估交互函数。
方法文档