Models
A knowledge graph embedding model is capable of computing real-valued scores representing the plausibility of a triple \((h,r,t) \in \mathbb{K}\), where a larger score indicates a higher plausibility. The interpretation of the score value is model-dependent, and usually it cannot be directly interpreted as a probability.
In PyKEEN, the API of a model is defined in Model
, where the scoring function is exposed as
Model.score_hrt()
, which can be used to compute plausability scores for (a batch of) triples.
In addition, the Model
class also offers additional scoring methods, which can be used to
(efficiently) compute scores for a large number of triples sharing some parts, e.g., to compute scores
for triples (h, r, e) for a given (h, r) pair and all available entities \(e \in \mathcal{E}\).
Note
The implementations of the knowledge graph embedding models provided here all operate on entity / relation indices rather than string representations, cf. here.
On top of these scoring methods, there are also corresponding prediction methods, e.g.,
Model.predict_hrt()
. These methods extend the scoring ones, by ensuring the model is in evaluation
mode, cf. torch.nn.Module.eval()
, and optionally applying a sigmoid activation on the scores to
ensure a value range of \([0, 1]\).
Warning
Depending on the model at hand, directly applying sigmoid might not always be sensible. For instance,
distance-based interaction functions, such as pykeen.nn.modules.TransEInteraction
, result in non-positive
scores (since they use the negative distance as scoring function), and thus the output of the sigmoid
only covers the interval \([0.5, 1]\).
Most models derive from ERModel
, which is a generic implementation of a knowledge graph embedding model.
It combines a variable number of representations for entities and relations, cf.
pykeen.nn.representation.Representation
, and an interaction function, cf.
pykeen.nn.modules.Interaction
. The representation modules convert integer entity or relation indices to
numeric representations, e.g., vectors. The interaction function takes the representations of the head entities,
relations and tail entities as input and computes a scalar plausability score for triples.
Note
An in-depth discussion of representation modules can be found in the corresponding tutorial.
Note
The specific models from this module, e.g., RESCAL
, package given specific entity and relation
representations with an interaction function. For more flexible combinations, consider using
ERModel
directly.
Functions
|
Build a model from an interaction class hint (name or class). |
|
Build a model class from an interaction class hint (name or class). |
Classes
|
A base module for KGE models. |
|
A commonly useful base for KGEMs using embeddings and interaction modules. |
|
A base class for inductive models. |
|
Base class for models with entity literals that uses combinations from |
|
A model which only implements the methods used for evaluation. |
|
An implementation of AutoSF from [zhang2020]. |
|
An implementation of BoxE from [abboud2020]. |
|
An implementation of CompGCN from [vashishth2020]. |
|
An implementation of ComplEx [trouillon2016]. |
|
An implementation of the LiteralE model with the ComplEx interaction from [kristiadi2018]. |
|
An implementation of ConvE from [dettmers2018]. |
|
An implementation of ConvKB from [nguyen2018]. |
|
An implementation of CP as described in [lacroix2018] based on [hitchcock1927]. |
|
An implementation of CrossE from [zhang2019b]. |
|
An implementation of DistMA from [shi2019]. |
|
An implementation of DistMult from [yang2014]. |
|
An implementation of the LiteralE model with the DistMult interaction from [kristiadi2018]. |
|
An implementation of the LiteralE model with thhe Gated DistMult interaction from [kristiadi2018]. |
|
An implementation of ERMLP from [dong2014]. |
|
An extension of |
|
An implementation of HolE [nickel2016]. |
|
An implementation of KG2E from [he2015]. |
|
A mock model returning fixed scores. |
|
An implementation of MuRE from [balazevic2019b]. |
|
A wrapper which combines an interaction function with NodePiece entity representations from [galkin2021]. |
|
An implementation of NTN from [socher2013]. |
|
An implementation of PairRE from [chao2020]. |
|
An implementation of ProjE from [shi2017]. |
|
An implementation of QuatE from [zhang2019]. |
|
An implementation of RESCAL from [nickel2011]. |
|
An implementation of R-GCN from [schlichtkrull2018]. |
|
An implementation of RotatE from [sun2019]. |
|
An implementation of SimplE [kazemi2018]. |
|
An implementation of the Structured Embedding (SE) published by [bordes2011]. |
|
An implementation of TorusE from [ebisu2018]. |
|
An implementation of TransD from [ji2015]. |
|
An implementation of TransE [bordes2013]. |
|
An implementation of TransF from [feng2016]. |
|
An implementation of TransH [wang2014]. |
|
An implementation of TransR from [lin2015]. |
|
An implementation of TuckEr from [balazevic2019]. |
|
An implementation of the Unstructured Model (UM) published by [bordes2014]. |
|
A wrapper which combines an interaction function with NodePiece entity representations from [galkin2021]. |
|
Inductive NodePiece with a GNN encoder on top. |
|
Score based on relation similarity. |
|
Score based on marginal distributions. |
|
A model which filters predictions by co-occurence. |
Class Inheritance Diagram
