Patent ID: 8176072

Claim:
A tag-suggestion computer system that includes, or that accesses, one or more data-storage devices, the tag-suggestion system comprising: one or more processors; one or more electronic memories; a set of defined tags stored in the tag-associated data-object storage system; tag-associated data objects stored in tag-associated data-object storage system; a comparator that compares a data object to other data objects stored in the tag-associated data-object storage system in order to determine those data objects stored in the tag-associated data-object storage system which are most similar to the data object for which tags are to be associated by carrying out a dot product operation on a characteristic vector that characterizes data contents of the data object for which tags are to be associated and a cumulative characteristic vector that characterizes cumulative data contents of the data objects associated with a particular tag, and returns a numerically valued similarity metric that is stored in the one or more data-storage devices; and a tag selector that selects tags associated with a number of data objects stored in tag-associated data-object storage system most similar to the data object for which tags are to be associated, the tag selector selecting as candidate tags a number of tags associated with those data objects stored in the tag-associated data-object storage system most similar to the data object for which tags are to be associated by for each of, or each of a subset of the set of defined tags stored in the tag-associated data-object storage system, computing a similarity metric, by the comparator, by comparing the data object for which tags are to be associated to those data objects associated with a currently considered tag, and storing the computed similarity metric together with the currently considered tag in an electronic storage medium; and selecting, as a candidate tags, those tags associated with similarity metrics that indicate a greatest similarity between the data object for which tags are to be associated and data objects compared to the data object for which tags are to be associated to generate the similarity metrics by sorting the computed similarity metrics into a sorted list of similarity metrics, determining an average similarity-metric-value drop for successive similarity metrics in the sorted list of similarity metrics, determining whether a first similarity-metric drop computed from the first and second similarity metrics is greater than, equal to, or less than the average similarity-metric-value drop, and applying a first candidate-tag selection method when the first similarity-metric drop is greater than the average similarity-metric-value drop, a second candidate-tag-selection method when the first similarity-metric drop is equal to the average similarity-metric-value drop, or a third, candidate-tag-selection method when the first similarity-metric drop is less than the average similarity-metric-value drop.