1. A method, performed on a data processing system comprising a memory and a data processor coupled to the memory, of automatically structuring free form heterogeneous data, the method comprising the steps of: obtaining free form heterogeneous data; segmenting the free form heterogeneous data into one or more units, wherein the one or more units includes a sentence; automatically labeling the one or more units based on one or more machine learning techniques, wherein each unit is associated with a label indicating an information structure type, wherein automatically labeling one or more units includes labeling a sentence with a label that indicates a type of information provided by the sentence; and structuring the one or more labeled units in a format to facilitate one or more operations that use at least a portion of the labeled units.