The algorithm should be based on recommendation system algorithms.
Get input. (Correlation)
Transform it to verb\noun - use NodeBox. (Correlate)
Search sound-like words in Datamuse for each word split combination (Co rrelate, Cor relate, Corre late...).
Filter returned words with NodeBox (connecting words, 1 letter words, words without defs, remove stopwords with tfidfvectorizer paremter).
Sort by Regressive Imagery Dictionary (NodeBox).
** Score the associations together not individualy - Use weighted sum (Look at recommendation systems score functions for compatible function). Consider use avg of all the popularities instead of popularity of each individual.
Search Datamuse replacement.
The algorithm should be based on recommendation system algorithms.