-
Notifications
You must be signed in to change notification settings - Fork 702
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
SUGGESTION: Module for RDF2VEC. #1529
Comments
CC: @HeikoPaulheim |
The major requirement for a vectorizer module is that it can independently assign a vector to each object (or a node). E.g. in the case of the transformers module if I have two sentences "My name is John" and "Jane likes ice cream", the vectorizer sees each object in isolation and can assign a vector to each. If this is something that works with Having said that it would still work well with Weaviate natively, just not through a module. In this case the process would be:
In this case a good place to make the process easier for the user might be the python client? |
Thanks for the writeup @etiennedi
This would be the case, isn't it @HeikoPaulheim? |
It's more of the second case. RDF2vec takes an entire RDF graph and outputs vectors for each node. |
Interesting, in principle this should fit but maybe not as a module. I'll come back to this, thanks Heiko! |
I also have a question related to RDF2vec: |
Not directly I guess. Embeddings created using different methods are
inherently incompatible.
However, there are quite a few approaches for learning mapping functions
between embedding spaces.
Am 05.05.2021 um 14:43 schrieb Ali Khalili:
I also have a question related to RDF2vec:
in the 2nd case you described, if vectorization is done outside
Weaviate for RDF data and then we use Weaviate vectorizer for some
other type of data, would they still be compatible? or does it mean
that RDF vecs cannot be used in conjunction with internal Weaviate vec?!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1529 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA3XPPCM3TRW4PPS57WLFMTTME4QXANCNFSM42SWQRSQ>.
--
Prof. Dr. Heiko Paulheim
Data and Web Science Group
University of Mannheim
Phone: +49 621 181 2652
B6, 26, Room B0.22
D-68159 Mannheim
Mail: ***@***.***
Web: www.heikopaulheim.com
|
Well - in principle it should be possible. You could have Weaviate classes that represent the data and the RDF vectors and Weaviate classes that use -for example- a text vectorizer. It's a bit abstract but a test setup should be doable. |
To avoid confiusion, we need to distinguish two separate cases here: Case 1: Single Weaviate - linked classesThis is the approach that @bobvanluijt describes. You'd have multiple Classes in Weaviate. Each class can have it's own vector space. They need not be compatible. Essentially you'd import your dataset twice, once with Text-Vectors, once with RDF-Vectors. You can then make graph-relations between the two classes. Note: These relations are not your regular edges that you already have in your dataset, these are additional cross-class edges which link the node in space 1 to the equivalent node in space 2. So whenever you do a vector search in one space, you can follow the link to the other vector space and perform a second search around the linked object. We also use this approach when linking images to text when we are using separate vectorizers for each. Case 2: Single Weaviate - single Vector SpaceThis is the approach that @HeikoPaulheim describes. You have two separate vector spaces, then you train a mapping function to combine them into as single vector space (So far all of this has happened outside of Weaviate). Once you have a single model you can import it as a whole into Weaviate. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
It might be interesting to see if there is a Weaviate module opportunity for RDF2VEC. Especially because the Weaviate schema is RDF-inspired.
Somewhat related: #1522
The text was updated successfully, but these errors were encountered: