1. A computer-implemented method performed by a data processing apparatus, comprising: providing, by the data processing apparatus to a first plurality of user devices, a first user interface that includes: a first task definition describing a first user task to generate a command sentence for an action; a first set of non-terminal fields, each non-terminal field in the set listing a non-terminal type and a terminal that parses to the non-terminal type; and a command sentence input field in which a user-generated command sentence is input by the user; receiving, by the data processing apparatus and from the plurality of user devices, user-generated command sentences input into the command sentence input field; providing, by the data processing apparatus to a second plurality of user devices, a second user interface that includes: one of the user-generated command sentences selected from the received user-generated command sentences; the first set of non-terminal fields, each non-terminal field in the first set listing the non-terminal type and the terminal that parses to the non-terminal type; a second task definition describing a second user task to classify each of a plurality of n-grams of the command sentence as belonging to one of: the non-terminal types in the set of non-terminal types; or none of the non-terminal types in the set of non-terminal types; receiving, by the data processing apparatus and from the second plurality of user devices, second user task response data classifying the n-grams of the command sentence, wherein for each non-terminal type at least a respective first set of n-grams are classified as belonging to the non-terminal type and at least a second set of n-grams are classified as belonging to none of the non-terminal types; generating, by the data processing apparatus, command grammars for the action from the second user task response data, each of the command grammars defining non-terminals of each of the non-terminal types and at least one terminal defining at least one of the second set of n-grams; and persisting the command grammars to a command model.