Semioticians typically distinguish between paradigmatic and syntagmatic axes of semantic relatedness. Paradigmatic means that two words occur with similar other words, e.g. these two words typically have the same word immediately to their left, like "blue" and "azure". Syntagmatic means that the words typically co-occur in usage, like "blue" and "sky". Check out the image on this page for another illustration of these axes: http://www.aber.ac.uk/media/Documents/S4B/sem03.html
Regardless of whether you choose to do a paradigmatic or syntagmatic analysis, it's interesting to see how you motivate your approach and if you can scale it to 1M different vocabulary words.
It looks like the sparsity of the matrix is going to be a much bigger challenge than the scale.
I understand about the focus being primarily on the approach, that makes sense; how are you intending to evaluate the results files?
Sparsity is good. The sparsity is the only reason that you can keep a matrix with this many dimensions in memory.
I understand about the focus being primarily on the approach, that makes sense; how are you intending to evaluate the results files?
For any submission, I will post for a random subset of vocab words each entry's 10 related terms. I'll then ask people to vote blind.
Otherwise, it might happen that a superior result would just show words that don't even have good results, while an inferior subset would get better covered words.
Right, I was going to say, just get a dump of wordnet and build a thesaurus graph...
Somebody else in this thread brought up performing some kind of k-gram analysis and building a "thesaurus" of sorts from that. While that can be really good for vector space style document matching, if you try and actually "read" the results, you can get some weirdness.
The duck died.
The car died.
Ergo duck <semantically equivalent> car.