title: What NLP tools to use to match phrases having similar meaning or semantics
body: <p>I am working on a project which requires me to match a phrase or keyword with a set of similar keywords. I need to perform semantic analysis for the same. </p>
  
  <p>an example:</p>
  
  <p>Relevant QT<br>
  cheap health insurance<br>
  affordable health insurance<br>
  low cost medical insurance<br>
  health plan for less<br>
  inexpensive health coverage</p>
  
  <p>Common Meaning</p>
  
  <p>low cost health insurance</p>
  
  <p>Here the the word under Common Meaning column should match the under Relevant QT column. I looked at a bunch of tools and techniques to do the same. S-Match seemed very promising, but I have to work in Python, not in Java. Also Latent Semantic Analysis looks good but I think its more for document classification based upon a Keyword rather than keyword matching. I am somewhat familiar with NLTK. Could someone provide some insight on what direction I should proceed and what tools I should use for the same?</p>