1. A method of automatically structuring free form heterogeneous data, comprising the steps of: obtaining free form heterogeneous data; segmenting the free form heterogeneous data into one or more units; 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 type; 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.