A method for autofilling an electronic form is provided. Elements of the electronic form are identified. A value for each identified elements of the electronic form is determined. The electronic form is automatically filled with the determined values. During the automatically filling of the electronic form, the determined value is provided in a field corresponding to each of the elements. A user input is received on the provided value. The received user input includes a correction to a first value provided in a first field of the electronic form. An autofill application is trained using the received user input.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for autofilling an electronic form, the method comprising: identifying an element of an electronic form; determining a value for the identified element of the electronic form; automatically filling the identified element with the determined value using an autofill application; receiving user input on the determined value to produce a corrected value for the identified element; determining whether the corrected value for the element is identifiable; determining, when the corrected value is identifiable, that the identified element was misidentified; causing characteristics of the identified form and a data type of the corrected value to be stored as a training example in a training database; and training the autofill application using the training example. 2. The method of claim 1, wherein identifying the element of the electronic form comprises identifying the element based on known patterns of the electronic form. 3. The method of claim 2, wherein identifying the element of the electronic form based on the known patterns comprises predicting a likelihood of an identity of the element of the electronic form based on the known patterns. 4. The method of claim 3, further comprising detecting an ambiguity in the identity of the identified element of the electronic form based on the predicted likelihood. 5. The method of claim 4, wherein detecting the ambiguity comprises determining the identity of the element to be ambiguous when a first predicted likelihood based on a first known pattern and a second predicted likelihood based on a second known pattern are within a threshold margin. 6. The method of claim 4, further comprising determining a first normality score for the first known pattern; determining a second normality score for the second known pattern; and resolving the ambiguity in favor of a greater of the first normality score and the second normality score. 7. The method of claim 1, wherein training the autofill application comprises: extracting at least one rule from the stored training example; and testing the at least one extracted rule on one or more training forms, wherein testing the extracted rule comprises determining whether the extracted rule correctly identified a test element of the one or more training forms. 8. The method of claim 7, further comprising: incorporating the at least one rule in the autofill application when the at least one rule correctly identified the test element of the one or more training forms. 9. The method of claim 1, wherein training the autofill application comprises training the autofill application using a learning algorithm, and further comprising using the trained autofill application to identify an additional element of a different electronic form. 10. A system for autofilling forms, comprising: at least one processor; and a memory storage device including instructions that, when executed by the processor, cause the at least one processor to perform a method, the method comprising: identifying an element of an electronic form; determining a value for the identified element of the electronic form; automatically filling the identified element with the determined value using an autofill application; receiving user input on the determined value to produce a corrected value for the identified element; determining whether the corrected value for the element is identifiable; determining, when the corrected value is identifiable, that the identified element was misidentified; causing characteristics of the identified form and a data type of the corrected value to be stored as a training example in a training database; and training the autofill application using the training example. 11. The system of claim 10, wherein the method further comprises: extracting at least one rule from one or more training examples stored in the training database; and testing the at least one extracted rule on one or more training forms, wherein testing the extracted at least one rule comprises determining whether the extracted at least one rule correctly identified a test field of the one or more training forms. 12. The system of claim 10, wherein the method further comprises: incorporating the at least one rule in the autofill application when the at least one rule correctly identified the test field of each of the one or more training forms. 13. The system of claim 10, wherein the method further comprises: rejecting the at least one rule when the at least one rule incorrectly identified the test field of one of the one or more training forms. 14. The system of claim 10, wherein the method further comprises: detecting ambiguity in identification of the element, wherein detecting the ambiguity comprises determining the identity of the element to be ambiguous when a first predicted likelihood based on a first known pattern and a second predicted likelihood based on a second known pattern are within a threshold margin. 15. The system of claim 14, wherein the method further comprises: determining a first normality score for the first known pattern; determining a second normality score for the second known pattern; and resolving the ambiguity in favor of a greater of the first normality score and the second normality score. 16. The system of claim 10, wherein the autofill application is trained using a learning algorithm. 17. Computer-readable storage media storing instructions that, when executed by at least one processor, cause the at least one processor to perform a method, the method comprising: identifying an element of an electronic form; determining a value for the identified element of the electronic form; automatically filling the identified element with the determined value using an autofill application; receiving user input on the determined value to produce a corrected value for the identified element; determining whether the corrected value for the element is identifiable; determining, when the corrected value is identifiable, that the identified element was misidentified; causing characteristics of the identified form and a data type of the corrected value to be stored as a training example in a training database; and training the autofill application using the training example. 18. The computer-readable storage media of claim 17, wherein training the autofill application comprises training the autofill application using a learning algorithm. 19. The computer-readable storage media of claim 17, the method further comprising: determining an ambiguity in identification of the element; determining a first normality score for a first known pattern associated with a first identity of the element; determining a second normality score for a second known pattern with a second identity of the element; and resolving the ambiguity in favor of a greater of the first normality score and the second normality score. 20. The computer-readable storage media of claim 17, wherein training the autofill application comprises: extracting a rule from one or more user corrections stored in the database; testing the extracted rule on one or more training forms, wherein testing the extracted rule comprises determining whether the extracted rule correctly identified a test element of the one or more training forms; and incorporating the extracted rule in the autofill application when the rule correctly identified the test element of each of the one or more training forms.