1. A method comprising: receiving a set of keywords; determining a set of concepts corresponding to the set of keywords, wherein the determining the set of concepts comprises utilizing a general purpose knowledgebase and one or more of the set of concepts are associated with a score to indicate a probability that a term from the general purpose knowledgebase is a concept of a keyword of the set of keywords; obtaining context information corresponding to the set of keywords by: collecting snippets from search results obtained from a search engine; ranking a predetermined number of snippet words based at least in part on frequency of occurrence; and storing the predetermined number of highest ranked snippet words as the context information; determining a weight for a term based at least in part on the set of concepts and the context information; and performing hierarchical clustering to automatically generate a taxonomy based at least in part on the weight, the set of concepts and the context information.