Create DistMult authored by Abhirup Sinha's avatar Abhirup Sinha
DistMult is a knowledge graph embedding model representing each relation as a diagonal matrix. The main idea of DistMult is to use a bilinear function to model the interactions between the embeddings of entities and relations, which allows the model to capture both symmetric and asymmetric relationships.
In DistMult, each entity and relation is represented by $d$-dimensional embedding vectors. The score of a triple $(h, r, t)$ is computed as the dot product between the head and tail entity embeddings after they have been multiplied by the relation embedding. The relation embedding is represented as a diagonal matrix, which means it can only capture diagonal interactions between entities and relations.
The score function of DistMult is defined as follows:
$$ score(h,r,t) = \langle h,r,t \rangle = \langle e_h,W_r,e_t \rangle $$
Where $e_h$ and $e_t$ are the embeddings of the head and tail entities, respectively, and $W_r$ is a diagonal matrix representing the relation embedding.
![image](uploads/ddceb16b4029b08c970c3a17f67e9319/image.png)
\ No newline at end of file