Generating Similar Words (or Synonyms) with Word Embeddings (Word2Vec) We have a search engine, and when users type in Tacos, we also want to search for similar words, such as Chilis or Burritos.

However, it is also possible that the user search with multiple keywords. Such as Tacos Mexican Restaurants, and we also want to find similar word such as Chilis or Burritos.

What we do is to add all the vectors together for each word. This sometimes works, but with more keywords the vectors tend to be in a place where there are no neighbors.

Is there an approach where we can use not only one word, but multiple word, and still gives us similar results? We are using pre-trained glove vectors from Stanford, would it help if we train on articles that are food related, and specifically use that type of word embeddings for this task?
Word Mover’s Distance (WMD) is an algorithm for finding the minimum distance between multiple embedded words.


  The WMD distance measures the dissimilarity between two text documents as the minimum amount of distance that the embedded words of one document need to "travel" to reach the embedded words of another document.


For example:


Source: "From Word Embeddings To Document Distances" Paper

In your problem, it will allow you to find that "Tacos Mexican Restaurants" is similar to "Burritos Taqueria" even though they share no common string literals.