An apparatus, comprising: a device including at least one memory adapted to store run-time data for the device, and at least one processor that is adapted to execute processor-executable code that, in response to execution, enables the device to perform actions, including: performing optical character recognition on a plurality of forms to output the forms as documents that include a text format, wherein the forms of the plurality of forms include at least one type of form; modifying, based on the output of the optical character recognition and a ground truth, the documents to include line breaks; determining anchors for the forms based on the modified documents, including corresponding anchors for each type of form of the plurality of forms, wherein determining the anchors for the forms is based on at least one designated empty form in the ground truth and wherein fields present in an empty form are defined as anchors; determining, based on the plurality of forms and the ground truth, feature rules, including corresponding feature rules for each type of form of the plurality of forms, wherein determining the feature rules includes using the ground truth to determine whether a field is a limited vocabulary field; determining features and labels for each form of the plurality of forms, wherein a feature is an individual measurable property of a form and wherein determining labels for each form comprises determining labels for lines in the form; and generating a training model based on the ground truth that includes a plurality of key-value pairs corresponding to the plurality of forms, and further based on the determined features and labels for the plurality of forms, wherein keys are elements for which users wish to know corresponding values based on an input form. performing optical character recognition on a plurality of forms to output the forms as documents that include a text format, wherein the forms of the plurality of forms include at least one type of form; modifying, based on the output of the optical character recognition and a ground truth, the documents to include line breaks; determining anchors for the forms based on the modified documents, including corresponding anchors for each type of form of the plurality of forms, wherein determining the anchors for the forms is based on at least one designated empty form in the ground truth and wherein fields present in an empty form are defined as anchors; determining, based on the plurality of forms and the ground truth, feature rules, including corresponding feature rules for each type of form of the plurality of forms, wherein determining the feature rules includes using the ground truth to determine whether a field is a limited vocabulary field; determining features and labels for each form of the plurality of forms, wherein a feature is an individual measurable property of a form and wherein determining labels for each form comprises determining labels for lines in the form; and generating a training model based on the ground truth that includes a plurality of key-value pairs corresponding to the plurality of forms, and further based on the determined features and labels for the plurality of forms, wherein keys are elements for which users wish to know corresponding values based on an input form.