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 of the query phrases to a search engine; obtaining search results; extracting and storing a sampling of snippets from the search results for each query phrase; stemming non stop words from the stored sampling of snippets for each query phrase; computing a similarity score for the stemmed non stop words from the stored sampling of snippets 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 non stop words from the stored sampling of snippets; 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 context sensitive entity classes to which the query phrase belongs.