A method and system learns functions to be associated with data fields of forms to be incorporated into an electronic document preparation system. The functions are essentially sets of operations required to calculate the data field. The method and system receive form data related to a data field that expects data values resulting from performing specific operations. The method and system utilize machine learning and training set data to generate, test, and evaluate candidate functions to determine acceptable functions.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computing system implemented method for learning and incorporating forms in an electronic document preparation system, the method comprising: receiving form data having a first data field for which a function needs to be determined; receiving training set data of a plurality of data values of data fields relating to the first data field; generating, for the first selected data field, candidate function data including two or more distinct candidate functions, each having one or more operators; generating, for each generated candidate function of the candidate function data, test data by applying the candidate function to at least a portion of the training set data; generating matching data indicating how closely the test data matches at least a portion of the training set data; for at least two candidate functions of the candidate function data having the most desirable fitness function results among the original candidate functions: splitting, of the at least two candidate functions of the candidate function data, data representing a first candidate function into at least first and second component pieces; assembling at least the first component piece from candidate function data representing the first candidate function with at least a portion of the candidate function data representing the second candidate function, forming new candidate function data representing a new candidate function; iterating between at least the splitting and assembling operations until test data of at least one of the new candidate functions matches the training set data within a predefined margin of error or until the matching data reflects that the candidate functions are not being improved in each iteration, as shown by a relatively constant margin of error; and incorporating candidate function data representing at least one candidate function into an electronic document preparation system. 2. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1 further comprising: generating, after identifying one or more candidate functions matching the training set data, results data indicating at least one candidate function matching the training set data; and outputting the results data. 3. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1 wherein splitting each of a first candidate function and a second candidate function into at least first and second component pieces further comprises splitting each of a first candidate function and a second candidate function into at least first and second component pieces, each component piece including one or more operators of its original candidate function. 4. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1 wherein splitting each of a first candidate function and a second candidate function into at least first and second component pieces further comprises splitting each of a first candidate function and a second candidate function into at least first and second component pieces, wherein a number of operators within the first component piece is at least equal to one less than the number of operators within the second component piece. 5. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1 wherein splitting, of the at least two candidate functions, a first candidate function into at least first and second component pieces further comprises splitting, of the at least two candidate functions, a first candidate function into at least three component pieces. 6. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1 wherein for at least two candidate functions having test data not matching the training set data further comprises for at least two candidate functions having the most desirable fitness function results among the original candidate functions. 7. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1 further wherein splitting each of a first candidate function and a second candidate function into at least first and second component pieces further comprises selecting a predefined number of candidate functions of the generated candidate functions, the selected candidate functions being a number of candidate functions having test data matching the training set data more closely than at least one non-selected candidate function; and splitting at least one of the selected candidate functions into at least first and second component pieces. 8. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1 wherein the training set data includes field data sets, each field data set including at least a data value for each field-related dependency and a data value for the first data field; further wherein generating, for each generated candidate function, test data by applying the candidate function to at least a portion of the training set data comprises substituting each field-related dependency appearing in the candidate function into the candidate function; and performing the operators of the candidate function, resulting in test data. 9. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 8 wherein generating matching data indicating how closely the test data matches at least a portion of the training set data comprises comparing the test data associated with individual candidate functions with the data values of the first data field to determine whether the test data matches the data value for the first data field; and assigning points to each candidate function based on how many data values of the test data match the data values for the first data field of the training set data, resulting in matching data. 10. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 2, further comprising prompting the user to approve at least one candidate function matching the training set data within a predefined margin of error to be incorporated into an electronic document management system. 11. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1, wherein the operators include one or more of: a mathematical operator; logical operators; a string operator; a Boolean operator; and condition operators. 12. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1, wherein the candidate functions generate a type of data value selected from the group of types of data values consisting of numerical data values; Boolean data values; selection of a check box; and a text data value. 13. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1, further comprising generating, for the first data field, dependency data indicating one or more dependencies to be used in determining an acceptable function; wherein the dependencies include one or more of: a second data field from a form associated with the first data field; multiple data fields from the form associated with the first data field; a data field from a form other than the form associated with the first data field; multiple data fields from multiple different forms; and a constant. 14. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 1, wherein the first data field is a field of a new tax form. 15. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 14, wherein the training set data includes previously prepared tax returns. 16. The computing system implemented method for learning and incorporating forms in an electronic document preparation system of claim 14, wherein the training set data includes fabricated tax returns. 17. A non-transitory computer-readable medium having a plurality of computer-executable instructions which, when executed by a processor, perform a method for learning and incorporating new and/or updated forms in an electronic document preparation system, the instructions comprising: receiving form data having a first data field for which a function needs to be determined; receiving training set data of a plurality of data values of data fields relating to the first data field; generating, for the first selected data field, candidate function data including two or more distinct candidate functions, each having one or more operators; generating, for each generated candidate function, test data by applying the candidate function to at least a portion of the training set data; generating matching data indicating how closely the test data matches at least a portion of the training set data; for at least two candidate functions of the candidate function data having the most desirable fitness function results among the original candidate functions: splitting, of the at least two candidate functions, a first candidate function into at least first and second component pieces; assembling at least the first component piece from the first candidate function with at least a portion of the second candidate function, forming a new candidate function; iterating between at least the splitting and assembling operations until test data from at least one of the new candidate functions matches the training set data within a predefined margin of error or until the matching data reflects that the candidate functions are not being improved in each iteration, as shown by a relatively constant margin of error; and incorporating at least one candidate function into an electronic document management system. 18. A system for learning and incorporating new and/or updated forms in an electronic document preparation system, the system comprising: at least one processor; and at least one memory coupled to the at least one processor, the at least one memory having stored therein instructions which, when executed by any set of the one or more processors, perform a process including: receiving, with an interface module of a computing system, having a first data field for which a function needs to be determined; receiving, with a data acquisition module of a computing system, training set data of a plurality of data values of data fields relating to the first data field; generating, with the machine learning module, for the first selected data field, candidate function data including two or more distinct candidate functions, each having one or more operators; generating, with the machine learning module, for each generated candidate function, test data by applying the candidate function to at least a portion of the training set data; generating, with the machine learning module, matching data indicating how closely the test data matches at least a portion of the training set data; for at least two candidate functions of the candidate function data having the most desirable fitness function results among the original candidate functions: splitting, using the machine learning module, of the at least two candidate functions, a first candidate function into at least first and second component pieces; assembling, using the machine learning module, at least the first component piece from the first candidate function with at least a portion of the second candidate function, forming a new candidate function; iterating, using the machine learning module, between at least the splitting and assembling operations until test data from at least one of the new candidate functions matches the training set data within a predefined margin of error or until the matching data reflects that the candidate functions are not being improved in each iteration, as shown by a relatively constant margin of error; and incorporating, using the machine learning module, at least one candidate function into an electronic document management system. 19. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18 further comprising: generating, after identifying one or more candidate functions matching the training set data, results data indicating at least one candidate function matching the training set data; and outputting, through an interface module, the results data. 20. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18 wherein splitting each of a first candidate function and a second candidate function into at least first and second component pieces further comprises splitting, using the machine learning module, each of a first candidate function and a second candidate function into at least first and second component pieces, each component piece including one or more operators of its original candidate function. 21. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18 wherein splitting, using the machine learning module, each of a first candidate function and a second candidate function into at least first and second component pieces further comprises splitting, using the machine learning module, each of a first candidate function and a second candidate function into at least first and second component pieces, wherein a number of operators within the first component piece is at least equal to one less than the number of operators within the second component piece. 22. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18 wherein splitting, using the machine learning module, of the at least two candidate functions, a first candidate function into at least first and second component pieces further comprises splitting, of the at least two candidate functions, a first candidate function into at least three component pieces. 23. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18 wherein for at least two candidate functions having test data not matching the training set data further comprises for at least two candidate functions having the most desirable fitness function results among the original candidate functions. 24. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18 further wherein splitting, using the machine learning module, each of a first candidate function and a second candidate function into at least first and second component pieces further comprises selecting, using the machine learning module, a predefined number of candidate functions of the generated candidate functions, the selected candidate functions being a number of candidate functions having test data matching the training set data more closely than at least one non-selected candidate function; and splitting, using the machine learning module, at least one of the selected candidate functions into at least first and second component pieces. 25. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18 wherein the training set data includes field data sets, each field data set including at least a data value for each field-related dependency and a data value for the first data field; further wherein generating, for each generated candidate function, test data by applying the candidate function to at least a portion of the training set data comprises substituting each field-related dependency appearing in the candidate function into the candidate function; and performing the operators of the candidate function, resulting in test data. 26. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 25 wherein generating, with the machine learning module, matching data indicating how closely the test data matches at least a portion of the training set data comprises comparing, with the machine learning module, the test data associated with individual candidate functions with the data value of the first data field to determine whether the test data matches the data value for the first data field; and assigning, with the machine learning module, points to each candidate function based on how many data values of the test data match the data value for the first data field of the training set data, resulting in matching data. 27. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 19, further comprising prompting the user to approve at least one candidate function matching the training set data within a predefined margin of error to be incorporated into an electronic document management system. 28. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18, wherein the operators include one or more of: a mathematical operator; logical operators; a string operator; a Boolean operator; and condition operators. 29. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18, wherein the candidate functions generate a type of data value selected from the group of types of data values consisting of numerical data values; Boolean data values; selection of a check box; and a text data value. 30. The system for learning and incorporating new and/or updated forms in an electronic document preparation system of claim 18, further comprising generating, for the first data field, dependency data indicating one or more dependencies to be used in determining an acceptable function; wherein the dependencies include one or more of: a second data field from a form associated with the first data field; multiple data fields from the form associated with the first data field; a data field from a form other than the form associated with the first data field; multiple data fields from multiple different forms; and a constant.