# auto_sf_interaction

auto_sf_interaction(h, r, t, coefficients)[source]

Evaluate an AutoSF-style interaction function as described by [zhang2020].

This interaction function is a parametrized way to express bi-linear models with block structure. It divides the entity and relation representations into blocks, and expresses the interaction as a sequence of 4-tuples $$(i_h, i_r, i_t, s)$$, where $$i_h, i_r, i_t$$ index a _block_ of the head, relation, or tail representation, and $$s \in {-1, 1}$$ is the sign.

The interaction function is then given as

$\sum_{(i_h, i_r, i_t, s) \in \mathcal{C}} s \cdot \langle h[i_h], r[i_r], t[i_t] \rangle$

where $$\langle \cdot, \cdot, \cdot \rangle$$ denotes the tri-linear dot product.

This parametrization allows to express several well-known interaction functions, e.g.

Parameters
Return type

FloatTensor

Returns

The scores