What's the best way to generate similar words?
But the alternative is to navigate a treebank, through &quot;type of&quot; relationships… much, much faster and cheaper.

WordNet provides exactly this: it is a lexical database in which words are grouped by synonyms, with several types of relations between groups in particular hypernyms/hyponyms (more general/more specific).
The database can be downloaded and there is a library to use it through nltk.