1. An image recognition device which outputs, as a recognition result, information indicating what an input image is, said image recognition device comprising: a processor; an image input unit configured to obtain the input image which is a target image to be recognized; a similar image search unit configured to (i) search out a plurality of similar images which are similar to the target image obtained by said image input unit from among images generated independently of said image recognition device, stored in a server device accessible via the Internet, and unintentionally obtained, and (ii) calculate a similarity between each of the similar images and the target image; a keyword extraction unit configured to (i) extract a plurality of keyword sets each of which includes one or more keywords which are candidates for the recognition result of the target image, from attached information which is attached to each of the similar images searched out by said similar image search unit, and (ii) store each of the keyword sets of the respective similar images, in association with the similarity of a corresponding one of the similar images calculated by said similar image search unit; a keyword analysis unit configured to (i) calculate weights of the respective keywords in each of the keyword sets extracted by said keyword extraction unit, the weights of the respective keywords in each of the keyword sets being based on the similarity between the target image and each of the similar images associated with a corresponding one of the keyword sets, and (ii) calculate sums of the weights of the respective keywords in each of the keyword sets; and a presentation unit configured to output a plurality of the keywords in a descending order of the sums of the weights, the plurality of keywords being output as the candidates for the recognition result of the target image.