1. A method of updating a query state according to a query received from a user of a device having a processor, the method comprising: executing on the processor instructions configured to: parse the query to identify at least zero query terms; for respective query state modifications in a query state modification set, calculate a query state modification probability intended by the user for the query; using the query state modification probabilities, identify at least two candidate query state modifications; among the at least two candidate query state modifications, identify a selected query state modification; and modify the query state according to the selected query state modification and the query terms.