1. A system for determining one or more concepts associated with a query, comprising: a processor configured to: receive a query; receive a list of result documents ordered by relevance to the query; receive a list of candidate concepts, the concepts being tags associated with the result documents, the concepts fitting within a concept hierarchy; determine concept voting scores, each concept voting score indicating the prevalence of a concept being tagged to individual documents of the list of result documents; use a density function to evaluate the received concepts; and associate one or more concepts with the query based at least in part on the results is of the density function; and a memory coupled to the processor and configured to provide the processor with instructions.