title: clustering list of words in python
body: <p>I am a newbie in text mining, here is my situation.
  Suppose i have a list of words ['car', 'dog', 'puppy', 'vehicle'], i would like to cluster words into k groups, I want the output to be [['car', 'vehicle'], ['dog', 'puppy']].
  I first calculate similarity score of each pairwise word to obtain a 4x4 matrix(in this case) M, where Mij is the similarity score of word i and j. 
  After transforming the words into numeric data, i utilize different clustering library(such as sklearn) or implement it by myself to get the word clusters.</p>
  
  <p>I want to know does this approach makes sense? Besides, how do I determine the value of k? More importantly, i know that there exist different clustering technique, i am thinking whether i should use k-means or k-medoids for word clustering?</p>