Embodiments of the present invention provide an automated image tagging system that can predict a set of tags, along with relevance scores, that can be used for keyword-based image retrieval, image tag proposal, and image tag auto-completion based on user input. Initially, during training, a clustering technique is utilized to reduce cluster imbalance in the data that is input into a convolutional neural network (CNN) for training feature data. In embodiments, the clustering technique can also be utilized to compute data point similarity that can be utilized for tag propagation (to tag untagged images). During testing, a diversity based voting framework is utilized to overcome user tagging biases. In some embodiments, bigram re-weighting can down-weight a keyword that is likely to be part of a bigram based on a predicted tag set.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method for training classifiers to tag images, the method comprising: receiving a set of input data including images and corresponding image tags; partitioning the set of input data into a first cluster of data, a second cluster of data, and a third cluster of data based on similarity of the images, wherein the first cluster of data includes a first set of images and corresponding image tags, the first set of images being similar to one another, the second cluster of data includes a second set of images and corresponding image tags, the second set of images being similar to one another, and the third cluster of data includes a third set of images and corresponding image tags, the third set of images being similar to one another; determining that a size of the first cluster of data is less than a predefined threshold and that a size of the second cluster of data and a size of the third cluster of data exceed the predefined threshold; based on the size of the second cluster of data and the size of the third cluster of data exceeding the predefined threshold, partitioning the union of the second and third sets of images and corresponding image tags into clusters comprising at least a fourth cluster of data having a size of data that is less than the predefined threshold; and training a classifier that predicts image tags for an untagged image, wherein the first cluster of data and the fourth cluster of data are used to train the classifier, each of the first and fourth clusters of data have data sizes less than the predefined threshold. 2. The method of claim 1, further comprising: selecting two data points from the set of input data, wherein the two data points are a first data point and a second data point; determining a cluster-sensitive hashing distance for the two data points by identifying a number of times the first data point and the second data point are assigned to a same cluster, wherein the same cluster is one or more of the clusters of data from the partitioning. 3. (canceled) 4. The method of claim 2, further comprising: determining a propagation probability for the two data points based on the cluster-sensitive hashing distance and an empirical conditional probability, wherein the empirical conditional probability is identified by the number of times the two data points are assigned to the same cluster in relation to a number of times the first data point occurs in the clusters of data from the recursive partitioning; and using the propagation probability to tag a received untagged image when a predetermined threshold level of the propagation probability is reached. 5. The method of claim 4, further comprising propagating a relevance score of a predicted tag to other similar tags in proportion to the propagation probability. 6. A non-transitory computer storage medium comprising computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations for reducing user tagging biases in image tagging, the operations comprising: training a classifier that predicts image tags for untagged images; using the classifier to tag images; receiving a set of input data comprising images, from among the tagged images, similar to an untagged image, the set of input data including image tags based on the classifier; determining a similarity of image tag providers for a tag of the images; based on the similarity of image tag providers for the tag of the images, determining an effective number of votes for the tag, the effective number of votes indicating a frequency count of the tag applied by the image tag providers that eliminates votes from similar users in the frequency count; and based on the effective number of votes for the tag, labeling the untagged image with the tag. 7. The non-transitory computer storage medium of claim 6, the operations further comprising computing a cluster-sensitive hashing distance (C-Hashing distance) for two data points in the set of input data. 8. The non-transitory computer storage medium of claim 7, the operations further comprising counting the number of times the two data points are assigned to a same cluster. 9. The non-transitory computer storage medium of claim 8, the operations further comprising computing a tag propagation probability based on the C-Hashing distance and an empirical conditional probability. 10. The non-transitory computer storage medium of claim 9, the operations further comprising propagating a relevance score of a predicted tag to other similar tags in proportion to the tag propagation probability. 11. The non-transitory computer storage medium of claim 10, the operations further comprising down-weighting a keyword that is determined to be part of a bigram based on a predicted tag set. 12. The non-transitory computer storage medium of claim 11, the operations further comprising utilizing Partial Least Squares (PLS) for each tag to learn a low dimensional linear projection. 13. The non-transitory computer storage medium of claim 12, the operations further comprising projecting a high dimension image feature to a low dimension space. 14. The non-transitory computer storage medium of claim 13, the operations further comprising training a support vector machine (SVM) classifier for a dictionary of tags in a low dimensional space using k nearest neighbors as training samples. 15. The non-transitory computer storage medium of claim 14, the operations further comprising computing a confidence score for each tag for a query image. 16. A computerized system for improving tag prediction performance for rare tags, the system comprising: a processor; and computer storage media storing computer-useable instructions that, when used by the processor, cause the processor to: train a classifier that predicts image tags for untagged images; use the classifier to tag images; receive a set of input data including images and corresponding image tags, from among the tagged images; compute a cluster-sensitive hashing distance (C-Hashing distance) for two data points in the set of input data; count the number of times the two data points are assigned to a same cluster; compute a tag propagation probability based on the C-Hashing distance and an empirical conditional probability, the empirical conditional probability being identified by the number of times the two data points are assigned to the same cluster in relation to a number of times the first data point occurs in clusters of data; and propagate a relevance score of a predicted tag to other similar tags in proportion to the tag propagation probability. 17. The computer storage media storing computer-useable instructions that, when used by the processor, further cause the processor of claim 16 to recursively partition the set of input data into clusters of data until a predetermined number of clusters is reached or until a size of each cluster is less than a predefined threshold, wherein the image tags for each cluster with a size that is less than the predefined threshold are removed from the set of input data prior to each iteration of partitioning. 18. The computer storage media storing computer-useable instructions that, when used by the processor, further cause the processor of claim 16 to down-weight a keyword that is determined to be part of a bigram based on a predicted tag set. 19. The computer storage media storing computer-useable instructions that, when used by the processor, further cause the processor of claim 17 to: receive a second set of input data comprising images and corresponding tags, the second set of input data being similar to an untagged image; determine a similarity of image tag providers for a tag in the second set of input data; based on a similarity of image tag providers for the tag in the second set of input data, determine an effective number of votes for the tag; and based on the effective number of votes for the tag, label the untagged image with the tag. 20. The computer storage media storing computer-useable instructions that, when used by the processor, further cause the processor of claim 16 to: utilize Partial Least Squares (PLS) for each tag to learn a low dimensional linear projection; project a high dimension image feature to a low dimension space; train a support vector machine (SVM) classifier for a dictionary of tags in a low dimensional space using k nearest neighbors as training samples; and compute a confidence score for each tag for a query image. 21. The computer-implemented method of claim 1 further comprising: determining that a predetermined number of clusters has been reached; and based on the determination that the predetermined number of clusters has been reached, discontinuing partitioning sets of images and corresponding image tags into clusters and using the partitioned clusters having the size of data that is less than the predefined threshold to train the classifier.