Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scope out additional decoder models #33

Closed
JasonMoho opened this issue Apr 20, 2021 · 0 comments
Closed

Scope out additional decoder models #33

JasonMoho opened this issue Apr 20, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@JasonMoho
Copy link
Collaborator

JasonMoho commented Apr 20, 2021

Our current functionality is limited. We only support DistMult, ComplEx, and TransE, with double-sided relation embeddings.

We should expand our functionality by adding more models to Marius. The first thing to do is to scope out which models are out there and which can be implemented easily in our current abstractions.

A starting point is to look into the models supported by PyKeen:
List:
https://github.com/pykeen/pykeen#models-26
Implementation:
https://github.com/pykeen/pykeen/blob/master/src/pykeen/nn/functional.py
Documentation:
https://pykeen.readthedocs.io/en/stable/api/pykeen.nn.functional.convkb_interaction.html

Once we get a better handle on which models are out there, we can see in what ways our current abstractions are lacking and how we can improve them.

For each decoder model we should ask the following questions:

  • Does the model need additional information beyond a source, relation and destination embedding for a given edge?
  • Does the model require computation that does not fit with our double-sided relation embedding approach? E.g score_lhs = comparator(relation_operator(h, r), t) and score_rhs = comparator(relation_operator(t, r'), h)
  • What modifications would we need to make to LinkPredictionDecoder to support this model?
  • Is there global state we need to maintain?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants