1. A computer-implemented method of recognizing named entities in a query with a recognition module operating on a processor, the method comprising: receiving an input query from a user; detecting a named entity in the input query; representing the input query as one or more triples (e, t, c), wherein e represents the detected named entity, t represents a context of the detected named entity, and c represents a classification for the detected named entity that is determined based at least in part on a trained probabilistic topic model and a predefined taxonomy; calculating a joint probability for individual ones of the one or more triples; identifying a largest joint probability associated with a respective one of the one or more triples; predicting an assigned classification for the detected named entity based at least in part on the identified largest joint probability; and outputting the detected named entity and the assigned classification to the user.