1. A computer implemented method of discerning an entity class from a search query comprising: receiving a search query; breaking the search query into query fragments comprised of terms using stop words in the query as delimiters between the query fragments; comparing the terms of the query fragments to terms belonging to one or more bag of words models; removing the terms of the query fragments that match terms belonging to the one or more bag of words models; remembering the bag of words models to which the terms removed from the query fragments belong; processing the remaining n terms of the query fragments using a sliding window approach to obtain query phrases containing 1-n grams from the fragments; submitting each query phrase to a search engine; extracting and storing a sampling of snippets from the search results for each query phrase; stemming the non stop words from the stored snippets for each query phrase; computing a similarity score for the stemmed snippet words with respect to each entity class bag of words model; selecting snippet entity classes based on the bag of words models having the highest similarity score with the stemmed snippet words; consolidating the selected snippet entity classes by adding the similarity scores of snippet entity classes that are the same such that there are no duplicate snippet entity classes; identifying a candidate list of entity classes to which the query phrase belongs based on the similarity scores for the consolidated snippet entity classes; selecting the entity classes with similarity scores that exceed a predetermined threshold as the entity classes to which the query phrase belongs; and using the remembered bag of words models to which the terms removed from the query fragments belong to choose the context sensitive entity classes to which the query phrase belongs.