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.
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. 2. The method of claim 1 wherein a bag of words model for an entity class is created by: supplying an entity class name and a plurality of instances belonging to the entity class; submitting each instance to a search engine; extracting and storing a plurality of html documents from the search results for each instance; converting each html document to a text document; extracting well formed sentences from the text documents; stemming non stop words in the well formed sentences; constructing an entity network for the entity class comprised of the entity class name, the plurality of instances and stemmed non stop words obtained from well formed sentences containing words in the entity network; assigning a likelihood score to each word in the entity network based on the frequency with which that word appeared in the well formed sentences; creating the bag of words model for the entity class using the words in the entity network along with their respective likelihood scores; and refining the bag of words models for the entity classes by (i) reducing likelihood scores of words shared by bag of words models of various entity classes and (ii) removing proper nouns from the models.