1. A computer-implemented method performed by a data processing apparatus, the method comprising: receiving a first query provided to a first search service having a first recall and a first precision and a response from the first search service to the query, wherein the first query references a first entity of a first entity type; determining a first value specified in the response from the first search service; generating a query for a particular attribute value of the first entity, wherein the query is generated using the first value specified in the response from the first search service and using the first entity referenced in the first query; querying a second search service using the query for the particular attribute value of the first entity to identify the particular attribute value of the first entity that matches the first value in the response from the first search service, wherein the particular attribute value is for one of a plurality of attributes that is descriptive of the first entity and that corresponds to an attribute of the first entity, the second search service is distinct from the first search service and has a second recall less than the first recall and a second precision greater than the first precision; receiving a response from the second search service, and that specifies the particular attribute value that corresponds to the attribute of the first entity; determining, based on the particular attribute value specified in the response from the second search service that matches the first value, an attribute type of the first value, the attribute type corresponding to the attribute value of the first entity; and generating, based on the determined attribute type and at least the first query, a parsing rule that parses one or more queries, the parsing rule being associated with an action to provide the particular attribute value of the attribute for an entity referenced in at least the first query.