This is great, both the text generation and the diagrams.
Have you considered using wordnet to explore the space of related words? IIRC they encoded all sorts of relationships, from the obvious like synonyms and antonyms, to less common like metonyms etc.