A system for training a model to predict a sequence (e.g. a sequence of words) given a context is disclosed. A model can be trained to make these predictions using a combination of individual predictions compared to base truth and sequences of predictions based on previous predictions, where the resulting sequence is compared to the base truth sequence. In particular, the model can initially use the individual predictions to train the model. The model can then be further trained over the training data in multiple iterations, where each iteration includes two processes for each training element. In the first process, an initial part of the sequence is predicted, and the model and model parameters are updated after each prediction. In the second process, the entire remaining amount of the sequence is predicted and compared to the corresponding training sequence to adjust model parameters to encourage or discourage each prediction.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for training a sequence NLP engine, comprising: receiving one or more training elements, each training element comprising a sequence of at least two items; establishing a division point between an initial portion and an remaining portion of the sequences of at least two items; for a selected training element, of the one or more training elements, corresponding to a selected sequence of the selected training element: until an ending condition is reached, using the sequence NLP engine to iteratively predict expected items in the selected sequence, wherein the predicted expected item in at least one iteration is based at least in part on a predicted expected item from a previous iteration; comparing the iteratively predicted expected items, as a group, to corresponding items in the remaining portion of the selected sequence, to compute a difference value; and determining that the difference value is above a computed average difference value, and in response, using back propagation to modify aspects of the sequence NLP engine to encourage the predictions made in the iterative predictions of expected items for the selected training element; and returning the sequence NLP engine with the modified aspects. 2. The method of claim 1 further comprising: using the sequence NLP engine to predict a predicted next item in the selected sequence based on one or more items in the initial portion of the selected sequence; and modifying aspects of the sequence NLP engine such that the predicted next item in the selected sequence more closely matches a corresponding actual next item in the selected sequence. 3. The method of claim 1 further comprising, for a particular training element, of the one or more training elements, corresponding to a particular sequence of the particular training element: until the ending condition is reached, using the sequence NLP engine to iteratively predict expected items for the particular sequence, wherein the predicted expected items in at least one iteration are based at least in part on a predicted expected item from a previous iteration; comparing the iteratively predicted expected items, as a group, to corresponding items in the remaining portion of the particular sequence, to compute a difference value; and determining that the difference value is not above a computed average difference value, and in response, using back propagation to modify aspects of the sequence NLP engine to discourage the predictions made in the iterative predictions of expected items for the particular training element. 4. The method of claim 1 further comprising: updating the division point such that the initial portion of each sequence has fewer items and the remaining portion has more items; and repeating the using, comparing, determining, and modifying acts, for the selected training element of the one or more training elements, with the updated division point. 5. The method of claim 4 wherein the method is repeated until the division point indicates that the initial portion of each sequence includes less than, or equal to, a threshold number of items. 6. The method of claim 1, wherein at least one of the one or more training elements is associated with a context; and wherein using the sequence NLP engine to iteratively predict expected items for the selected sequence is based in part on the context of the selected training element. 7. The method of claim 6, wherein: the context of the selected training element is an image and the selected sequence is a sequence of words describing the image; the context of the selected training element is a text and the selected sequence is a sequence of words summarizing the text; or the context of the selected training element is a question and the selected sequence is a sequence of words answering the question. 8. The method of claim 1, wherein the computed average difference value is computed based on an internal state of the sequence NLP engine. 9. The method of claim 1, wherein the ending condition is either (A) that the sequence NLP engine has predicted an end of the selected sequence or (B) that a total number of predicted sequence items has reached a threshold. 10. The method of claim 1 further comprising, prior to using the sequence NLP engine to iteratively predict expected items for the selected sequence, partially training the sequence NLP engine by, for the entire sequence of each identified one of the one or more training elements: using sequence items in the identified training element to predict one or more next items in the sequence of the identified training element; comparing the predicted one or more next items to the corresponding actual next items in the sequence of the identified training element; and modifying aspects of the sequence NLP engine based on the comparison such that output of the sequence NLP engine more closely matches corresponding actual next items in the sequence of the identified training element. 11. The method of claim 1, wherein the difference value is computed using the BLEU algorithm. 12. A computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform acts for training a model, the acts comprising: receiving one or more training elements, each training element comprising a sequence of at least two items; and for a selected training element, of the one or more training elements, corresponding to a selected sequence of the selected training element: using the model to iteratively predict expected items for the selected sequence, wherein the predicted expected item in at least one iteration is based at least in part on a predicted expected item from a previous iteration; computing a difference value based on a comparison of the iteratively predicted expected items, as a group, to corresponding items in the selected sequence; and determining that the difference value is not above a computed average difference value, and in response, modifying aspects of the model to discourage the predictions made in the iterative predictions of expected items for the selected training element. 13. The computer-readable storage medium of claim 12 wherein the acts further comprise: using the model to predict a predicted next item in the selected sequence based on one or more items in an initial portion of the selected sequence; and modifying aspects of the model such that the predicted next item in the selected sequence more closely matches a corresponding actual next item in the selected sequence. 14. The computer-readable storage medium of claim 12, wherein the iteratively predicted expected items for the selected sequence correspond to items in a remainder portion after a division point in the selected sequence; and wherein the acts further comprise: updating the division point such that the remainder portion of the selected sequence has more items; and repeating the using, computing, determining, and modifying acts, for the selected training element of the one or more training elements, with the updated division point. 15. The method of claim 14 wherein the method is repeated until the division point indicates that the remainder portion of each sequence includes all of the items of the selected sequence. 16. The computer-readable storage medium of claim 12, wherein at least one of the one or more training elements is associated with a context; wherein using the model to iteratively predict expected items for the selected sequence is based in part on the context of the selected training element; and wherein: the context of the selected training element is an image and the selected sequence is a sequence of words describing the image; the context of the selected training element is a text and the selected sequence is a sequence of words summarizing the text; or the context of the selected training element is a question and the selected sequence is a sequence of words answering the question. 17. The computer-readable storage medium of claim 12 wherein the acts further comprise, prior to using the model to iteratively predict expected items for the selected sequence, partially training the model by, for the entire sequence of each identified one of the one or more training elements: using sequence items in the identified training element to predict one or more next items in the sequence of the identified training element; comparing the predicted one or more next items to the corresponding actual next items in the sequence of the identified training element; and modifying aspects of the model based on the comparison such that output of the model more closely matches corresponding actual next items in the sequence of the identified training element. 18. A system comprising: one or more processors; a memory; an interface configured to receive one or more training elements, each training element comprising a sequence of at least two items; a prediction sequence trainer configured to, for a selected training element, of the one or more training elements, corresponding to a selected sequence of the selected training element: use the model to iteratively predict expected items for the selected sequence, wherein the predicted expected item in at least one iteration is based at least in part on a predicted expected item from a previous iteration; a difference value computer configured to compute a difference value based on a comparison of the iteratively predicted expected items to corresponding items in the selected sequence; and a back propagator configured to determine that the difference value is not below a computed average difference value, and in response, modify aspects of the model to encourage the predictions made in the iterative predictions of expected items for the selected training element. 19. The system of claim 18 further comprising an individual comparison trainer configured to: use the model to predict a predicted next item in the selected sequence based on one or more items in an initial portion of the selected sequence; and modify aspects of the model such that the predicted next item in the selected sequence more closely matches a corresponding actual next item in the selected sequence. 20. The system of claim 18, wherein at least one of the one or more training elements is associated with a context; wherein using the model to iteratively predict expected items for the selected sequence is based in part on the context of the selected training element; and wherein: the context of the selected training element is an image and the selected sequence is a sequence of words describing the image; the context of the selected training element is a text and the selected sequence is a sequence of words summarizing the text; or the context of the selected training element is a question and the selected sequence is a sequence of words answering the question.