1. A method implemented in a data processing apparatus, the method comprising: receiving, at the data processing apparatus, a query in unstructured form, the query including a plurality of terms, each of the terms at a respective ordinal position in the query; comparing, by the data processing apparatus, the terms of the query to a plurality of query templates, each query template including terms of variable data and terms of invariable data, wherein the terms of variable data specifies a class of terms and the terms of invariable data specifies particular instances of terms; determining, by the data processing apparatus and based on the comparison, a match of the query terms to a first query template, wherein the first query template is not determined to be indicative of a question query; determining, by the data processing apparatus and based on the first query template, a second query template; and determining, by the data processing apparatus, that the query is an implicit question query in response to the second query template being indicative of a question queries.