Git Product home page Git Product logo

Comments (6)

rgemulla avatar rgemulla commented on August 14, 2024

Sure you can do it: the ComplEx model either takes the left (subject) or right (object) half of the entity embeddings.

from kge.

samuelbroscheit avatar samuelbroscheit commented on August 14, 2024

from kge.

rgemulla avatar rgemulla commented on August 14, 2024

Our philosophy should be to stay simple unless needed otherwise. The advantage of having a single embedder is that all our code can assume that there is just one entity embedding per entity. Only if there are real use-cases (CP isn't one, imo), we should add support. Otherwise we may end up with a large, messy implementation with lots of code that is not needed.

from kge.

rufex2001 avatar rufex2001 commented on August 14, 2024

If I understand correctly, this translates only to handling different embedders for subjects and objects by default. Then we should have that by default. It shouldn't be much change to leave this option open. The other way around, not having this and experimenting with models which require it, would imply more changes, which make experimentation more cumbersome.

But, if I don't understand correctly and it implies considerable changes to the current architecture, then no. Readability counts, I think, and having code which is considerably less readable due to features not many will need is not something we want.

from kge.

rgemulla avatar rgemulla commented on August 14, 2024

Ok, I've added this in the simplest possible way, i.e., I removed the hard-coded embedding references.

The idea is that by default KgeModel creates the embedders (not models), but models can overwrite as they please. The only diference between DistMult and CP should be a flag in the embedder configuration, but they can share the same implementation otherwise.

from kge.

samuelbroscheit avatar samuelbroscheit commented on August 14, 2024

Perfect! Thank you!

from kge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.