Hello all,I just started playing around with semanticvectors, and I have a couple of questions about the current state of the package and its API.First, why are tests disabled in the master branch? When enabled, two tests fail, but since I'm not familiar with the codebase, I can't tell if the error is in the test or the code...
Second, I see that the VectorStore interface used to have methods for getDimension() and getVectorType(), which were, of course, the first two methods that I found myself wanting when I tried to use the interface... Why were they removed? I understand that having these methods in the interface would force implementations to enforce homogeneity, but I would think this a good thing, and I haven't seen any use of heterogeneous vector stores... Is there a use case for that scenario?
Finally, I see that some parts of the code use some rather old or obsolete interfaces (most notoriously, Enumeration<E> all around). Are there any plans to update these parts of the library? Were I to start working in this direction, are there any gotchas that I should be aware of?
Tests are disabled by default because a couple have been flaky as you saw. I believe the flakiness is due to the underlying random nature of some of the elemental vector generation methods, but it's still disturbing.It would be better to enable the tests in general and just disable the flaky ones until fixed.
The reason is because (after some mistakes years ago), we decided to make sure that dimension and vector type should be global, and they belong the the FlagConfig instance (of which there should typically be just one). Many methods and constructors in the package pass around one of these flagConfig objects, see e.g.,The only times the dimension and vector type should be changed are i. at the command line when making new vector stores, and ii. when opening a vector store on disk. If you try to open two different vector stores with different dimensions or vector types in the same runtime, there will be trouble, e.g., you could end up trying to measure the scalar product between incompatible vectors.Like many things in the package, these implementation choices have been a tradeoff between (some) sensible encapsulation and error checks, while trying to make prototyping and research adaptations relatively easy.
Finally, I see that some parts of the code use some rather old or obsolete interfaces (most notoriously, Enumeration<E> all around). Are there any plans to update these parts of the library? Were I to start working in this direction, are there any gotchas that I should be aware of?None that I know of - all you're seeing here is that the package has lived a long while and many parts are old.We are thoroughly glad to review push / integrate requests to the github project. My only request here would be "keep the first push request small" - since I'm relatively inexperienced with github, I'd like to make sure there's a proof-of-concept for the integration process before you spend too much time preparing any large updates.
Best wishes,DominicThank you in advance for any help.Best,jta
--
You received this message because you are subscribed to the Google Groups "Semantic Vectors" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semanticvecto...@googlegroups.com.
To post to this group, send email to semanti...@googlegroups.com.
Visit this group at http://groups.google.com/group/semanticvectors.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to semanticvectors+unsubscribe@googlegroups.com.
To post to this group, send email to semanticvectors@googlegroups.com.
Visit this group at http://groups.google.com/group/semanticvectors.
For more options, visit https://groups.google.com/d/optout.
Dominic
To unsubscribe from this group and stop receiving emails from it, send an email to semanticvecto...@googlegroups.com.
To post to this group, send email to semanti...@googlegroups.com.
Visit this group at http://groups.google.com/group/semanticvectors.
For more options, visit https://groups.google.com/d/optout.
--entia non sunt multiplicanda praeter necessitatem
--
You received this message because you are subscribed to the Google Groups "Semantic Vectors" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semanticvecto...@googlegroups.com.
To post to this group, send email to semanti...@googlegroups.com.
Visit this group at http://groups.google.com/group/semanticvectors.
For more options, visit https://groups.google.com/d/optout.