1. A computing system implemented method for efficiently learning new forms in an electronic document preparation system, the method comprising: receiving form data related to a new form having a plurality of data fields; gathering training set data related to previously filled forms, each previously filled form having completed data fields that each correspond to a respective data field of the new form; generating, for a first selected data field of the plurality of data fields of the new form, candidate function data including a plurality of candidate functions; generating, for the first selected data field, grouping data by forming a plurality of groups from the training set data based on respective categories and assigning each of a plurality of the previously filled forms to a respective one of the groups based on the categories; generating, for the first selected data field, sampling data by selecting one or more previously filled forms from each group; generating, for each candidate function, test data by applying the candidate function to a portion of the training set data corresponding to the sampling data related to the candidate function; identifying, from the plurality of functions, an acceptable function for the first selected data field by comparing the test data to the training set data and identifying test data that matches the training set data within a selected tolerance; and generating and outputting results data indicating the acceptable function for the first data field of the new form.