22. One or more non-transitory computer-readable storage media storing instructions, which when executed by one or more processors, cause the one or more processors to perform: receiving a query; detecting a first entity text in the query; mapping the first entity text to a first entity category at least partially in response to: (a) determining that the first entity text is among a plurality of entity texts that are mapped to a first entity of a plurality of entities, wherein a plurality of other entity texts are mapped to a plurality of other entities of the plurality of entities, and (b) determining that the first entity is mapped to the first entity category; determining a first keyword text for the query; detecting a second entity text in the query; mapping the second entity text to a second entity category at least partially in response to: (c) determining that the second entity text is among a plurality of entity texts that are mapped to a second entity of the plurality of entities, and (d) determining that the second entity is mapped to the second entity category; determining a second keyword text for the query; determining that the query matches a first annotated query comprising the first entity category and the first keyword text, the first annotated query associated with a first query category; determining a first accuracy value by which the first annotated query refers to the first query category relative to a first number of times the first annotated query occurs in a set of queries; determining that the query matches a second annotated query comprising the second entity category and the second keyword text, the second annotated query associated with a second query category; determining a second accuracy value by which the second annotated query refers to the second query category relative to a second number of times the second annotated query occurs in a set of queries; determining whether the first query category matches the second query category; in response to said determining that the first query category matches the second query category, determining a third accuracy value by which the query is associated with the first query category based at least in part on both the first accuracy value and the second accuracy value.
22. One or more non-transitory computer-readable storage media storing instructions, which when executed by one or more processors, cause the one or more processors to perform: receiving a query; detecting a first entity text in the query; mapping the first entity text to a first entity category at least partially in response to: (a) determining that the first entity text is among a plurality of entity texts that are mapped to a first entity of a plurality of entities, wherein a plurality of other entity texts are mapped to a plurality of other entities of the plurality of entities, and (b) determining that the first entity is mapped to the first entity category; determining a first keyword text for the query; detecting a second entity text in the query; mapping the second entity text to a second entity category at least partially in response to: (c) determining that the second entity text is among a plurality of entity texts that are mapped to a second entity of the plurality of entities, and (d) determining that the second entity is mapped to the second entity category; determining a second keyword text for the query; determining that the query matches a first annotated query comprising the first entity category and the first keyword text, the first annotated query associated with a first query category; determining a first accuracy value by which the first annotated query refers to the first query category relative to a first number of times the first annotated query occurs in a set of queries; determining that the query matches a second annotated query comprising the second entity category and the second keyword text, the second annotated query associated with a second query category; determining a second accuracy value by which the second annotated query refers to the second query category relative to a second number of times the second annotated query occurs in a set of queries; determining whether the first query category matches the second query category; in response to said determining that the first query category matches the second query category, determining a third accuracy value by which the query is associated with the first query category based at least in part on both the first accuracy value and the second accuracy value. 23. The one or more non-transitory computer-readable storage media of claim 22 , wherein the instructions further cause the one or more processors to perform: storing a list of bits for each query category in a set of query categories, the list of bits comprising at least one bit for each annotated query in a set of annotated queries; in response to determining that the query matches the first annotated query, storing 1 in a first bit associated with the first annotated query in the list of bits; and in response to determining that the query matches the second annotated query, storing 1 in a second bit associated with the second annotated query in the list of bits.