I believe to understand what Samuel is asking for, and maybe I have a similar mental image of the issue. Word vectors have fixed (and not too large) size and components of type float. A lexicon (or dictionary) entry of a word may be seen as a set of properties the referent of the word has. The set of all properties (all named objects can have) is incredibly large, so it's not suitable to represent a word by a gigantic binary vector (or possibly a vector of floats -- when one allows fuzzy properties) with only a small number of components of value 1. So let's assume the lexicon/dictionary consists of labelled sets of properties (represented by integers which are in general very large). It then makes sense to consider the semantic similarity between two words as the size of the intersection of their property sets.
The fixed-size word vectors in turn can be considered as dimensionally reduced representations of the (gigantic) binary lexicon vectors (which are "few-hot vectors", so to say).
A problem with the above lexicon approach is that the properties are not independent. Furthermore, there is a difference between "contingently not having a property" and "non-applicable properties" an object just cannot have. So three values would be more appropriate: 1 for true, null for not applicable, -1 for false.