8. A computer implemented method for determining one or more concepts associated with a query, comprising: a computer receiving a query; the computer receiving a list of result documents ordered by relevance to the query; the computer receiving a list of candidate concepts, the concepts being tags associated with the result documents, the concepts fitting within a concept hierarchy; the computer using a density function to evaluate the received concepts by identifying the concept hierarchy within which the received concepts fit, identifying a parent concept, and evaluating the parent concept by relating a number of child concepts connected to the parent concept with a number of paths connecting the child concepts to the parent concept; and wherein the density score more specifically relates a summation of affinity scores for children concepts underneath said one of the concepts to a number of paths to the children concepts; wherein concepts in the concept hierarchy comprise branch nodes which are connected to lower level children concepts and leaf nodes which are not connected to lower children concepts, and wherein the density score for a branch node more specifically divides a summation of affinity scores for leaf nodes which are lower level children concepts associated with said branch node by a number of paths to the leaf nodes which are lower level children concepts associated with said branch node; and the computer associating one or more concepts with the query based at least in part on the results of the density function.
8. A computer implemented method for determining one or more concepts associated with a query, comprising: a computer receiving a query; the computer receiving a list of result documents ordered by relevance to the query; the computer receiving a list of candidate concepts, the concepts being tags associated with the result documents, the concepts fitting within a concept hierarchy; the computer using a density function to evaluate the received concepts by identifying the concept hierarchy within which the received concepts fit, identifying a parent concept, and evaluating the parent concept by relating a number of child concepts connected to the parent concept with a number of paths connecting the child concepts to the parent concept; and wherein the density score more specifically relates a summation of affinity scores for children concepts underneath said one of the concepts to a number of paths to the children concepts; wherein concepts in the concept hierarchy comprise branch nodes which are connected to lower level children concepts and leaf nodes which are not connected to lower children concepts, and wherein the density score for a branch node more specifically divides a summation of affinity scores for leaf nodes which are lower level children concepts associated with said branch node by a number of paths to the leaf nodes which are lower level children concepts associated with said branch node; and the computer associating one or more concepts with the query based at least in part on the results of the density function. 9. The method of claim 8 , wherein the step of using a density function to evaluate the received concepts more specifically comprises identifying an affinity score for each of the concepts which measure how closely the concept match the query, and determining a density score for each of the concepts, wherein the density score relates affinity scores for children concepts located underneath one of the concepts to the number of children concepts beneath said one of the concepts.