1. A method for automatically annotating a video in a computer system, comprising: receiving a video comprising a plurality of frames; obtaining images contained in two or more representative frames from the video; for each of the images, iteratively extracting image features from the image on different spatial scales, wherein the image features comprise visual characteristics associated with tiles of different sizes within the image; matching the extracted image features to known image features; identifying other images with similar image features using one or more combinations of the matched image features; obtaining text associated with the other images, wherein obtaining the text associated with the other images comprises obtaining text that surrounds each image in a web page in which the image is located; identifying one or more intersecting keywords in the text associated with the other images; and annotating the image with the intersecting keywords using the computer system; analyzing the keywords for the images to determine a common set of keywords; and annotating the video using the common set of keywords.