1. An apparatus for selecting a digital image, the apparatus comprising: one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for: receiving a first set of digital images; analyzing the first set of digital images to extract first image features from each of the first set of digital images; accessing a user profile stored in a memory, wherein the user profile comprises a preset list of image features corresponding to a second set of digital images previously selected by a user; comparing the extracted first image features to the preset list of image features; ranking each digital image of the first set based on the comparing of the extracted first image features to the preset list of image features; selecting each digital image from the first set having a ranking that exceeds a threshold; assigning a category to each selected digital image based on a comparison of each selected digital image to a prestored category database of digital image categories; displaying each selected digital image with the assigned category; receiving an input from the user in response to the displaying of each selected digital image and the assigned category; updating the user profile and the category database in accordance with the input; and selecting at least one subsequent digital image from a third set of digital images based on the updated user profile and category database.