1. A data classification system, comprising: an input interface configured to receive documents comprising data entries, at least some of the data entries having associated features represented directly in the documents; a data warehouse backed by a non-transitory computer readable storage medium and configured to store curated and classified data elements; a model registry storing a plurality of different model stacks, each model stack including at least one classification model and at least one confidence model that is separate from the at least classification model in the respective model stack; and processing resources including at least one processor and a memory, the memory storing instructions, the instructions being executed by the at least one processor to at least: inspect documents received via the input interface to identify, as heterogeneous input data, data entries and associated features located in the inspected documents; segment the heterogeneous input data into different, respectively homogenous processing groups, the different processing groups having associated levels of information uncertainty; for each different processing group, starting with the processing group associated with a lowest level of information uncertainty and moving upwardly: (a) identify one or more model stacks from the model registry to be executed on the respective processing group; (b) execute each identified model stack on the respective processing group to arrive at a classification result and a confidence level for each data entry in the respective processing group using the classification and confidence models in the respective model stack; (c) ensemble results from the execution of each identified model stack, using the classification results and the confidence levels, to group the data entries in the processing group into one of first and second classification types, type groups, the first classification type group corresponding to a confirmed classification and the second classification type group corresponding to an unconfirmed classification; (d) move each data entry in the first classification type group to a final result set; and (e) for the second classification type.group: determine, for each data entry in the second classification type group, the processing group from among those processing groups not yet processed that is most closely related to it; and move each data entry in the second classification type group to the corresponding determined most closely related processing group; once all of the different processing groups have been processed, treat as unclassified any data entries remaining in the second classification type group; store each data entry in the final result set, with or without additional processing, to the data warehouse, in accordance with the corresponding arrived at classification result; and enable records in the data warehouse to be queried from a computer terminal.