1. A method, performed using one or more processors, of generating annotated training data for training a natural language understanding system, comprising: generating, with the natural language understanding system running on one or more of the processors, a proposed annotation for each of a plurality of units of unannotated training data received via one or more input components; calculating, with one or more of the processors, a confidence measure for each of the proposed annotations for a given unit of the training data; displaying on an output component at least some of the proposed annotations in an order based on the confidence measures of the proposed annotations, with one or more input components providing one or more user-actuable inputs configured for verification of the proposed annotations and one or more user-actuable inputs configured for deletion of the proposed annotations; responding, with one or more of the processors, to an input for verification of one of the proposed annotations by storing the verified annotation for the given unit of the training data; and responding, with one or more of the processors, to an input for deletion of one of the proposed annotations by presenting on an output component at least some of the remaining proposed annotations in an order based on the confidence measures of the remaining proposed annotations.