9. A computer-implemented method, comprising: receiving data from a source; selecting one or more feature extraction techniques to process the data based on a particular type of the data received from the source; extracting, by the selected one or more feature extraction techniques, all identifiable features from the data; applying a tag to each extracted feature of the data based on an identification of the feature during the extracting, each tag indicating where within the data the corresponding extracted feature is located and each said tap comprising a media type field and wherein the media type field specifies that the media is one of a plurality of disparate types of media including at least: image media, video media and audio media; and storing the tags for each extracted feature in a repository that is searchable by the tags.
13. The method of claim 9 further comprising: combining extracted features to make higher order extracted features; and applying higher order tags to the higher order extracted features.