From building a “Hyperloop” to getting a $1 billion investment from Google, it seems like Elon Musk is in the news almost every day. By now, reporters must be running out of superlatives to describe him. Even “genius” can lose its luster if you use it too much.
Anyone can pull up a thesaurus and start flipping, but perhaps you want to run a more thorough search, and maybe turn up something a bit more interesting. Not just synonyms, but also find words that are related in other ways. And maybe you would also like to limit the results to words that are used less frequently than “genius”.
That’s the kind of thing Words API can help with. Words API stores words in a graph-like structure, and you can explore that graph to find what you’re looking for. It also has data on how frequently a word is used, so we can use that to filter out the results.
Let’s write a little Node.js script to find words related to “genius”. We’ll make use of Mashape’s Unirest library to make request’s to Words API. Since we’ll be making numerous calls to Words API, we’ll wrap it in a function that takes a word and a callback.
The response contains JSON that looks like this:
The definitions, and words related to those definitions, are in the results array. Let’s grab those related words and store them in an array, filtering out relationships we’re not interested in. Again, we’ll be calling this often, so let’s wrap it in a function called addNodes, that takes an object that is the result of a call to Words API. We’ll only return new nodes that are along interesting edges (so we don’t grab things link antonyms). We’ll also skip verbs.
Here’s what our graph looks like so far. Words that are synonyms to genius are linked in red, while words that are types of genius are linked in blue. Not too many words so far, but that’ll change in a minute.
Now we can call getWord and addNodes for each of the edge words. After walking the graph at the second level, here’s what the graph looks like. Notice that many words are linked not only to the first level words, but also to other second level words.
We’re left with 143 words to choose from, with the most infrequently used words at the top:
sympathiser, mavin, coruscation, prognostic, prizewinning, eclat, proposer, enchanter, coruscation, sentience, sustainer, presage, pentangle, scintillation, modality, whig, masterly, elan, trailblazer, originator, prognostication, maven, maintainer, magus, portent, pentacle, paladin, anglophile, brainpower, loyalist, mainstay, partisan, innovator, panache, skilful, whizz, splendour, singleton, pyrotechnics, tiptop, witching, boswell, sympathizer, protagonist, masking, sorceress, masterful, supernova, wizardry, topnotch, necromancer, subscriber, stalwart, headliner, glisten, mover, foreboding, asterisk, odour, virtuoso, sensibility, nous, wiz, enthusiast, proficient, starlet, adept, magnificence, grandeur, supporter, binary, variable, skillful, stellar, voucher, pentagram, exorcist, consummate, splendor, prodigy, mastermind, brilliance, pillar, glare, sparkle, omen, sorcerer, prima, confederate, beginner, sparkling, glitter, pioneer, blaze, mentality, founder, flair, odor, skilled, subconscious, booster, unity, psyche, threshold, starring, idol, sensitivity, admirer, twinkle, practiced, superstar, believer, hotshot, toaster, whiz, flare, supernatural, sensation, einstein, nova, wit, dash, cheerleader, tops, ego, magician, magical, wizard, unconscious, fighter, superior, principal, ace, champ, champion, leading, expert, vision, super, giant, charming, style, crack
We definitely found some interesting words in there. Choosing the best one for the job is up to you, but I think I’d go with “magus” to describe Elon Musk. It has a nice alliterative feel with “Musk”, and I like the wizardly connotation.