IP Library Granted Patent US 9,443,038
Granted Patent B2
US 9,443,038 · App. 13/286,720 · Granted Sep 13, 2016

Method and system for tag suggestion in a tag-associated data-object storage system

Inventors: Prasantha Jayakody (Seattle, WA); Linh Dinh Tran (Shoreline, WA); Jiaxin Wang (Redmond, WA)
Assignee: Vulcan Technologies LLC
G06F17/30997
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,443,038
App. No.
13/286,720
Granted
Sep 13, 2016
Kind
B2
Abstract

Embodiments of the present invention are directed to facilitating tag assignment to data objects as data objects are added to a tag-associated data-object storage system by users of the tag-associated data-object storage system and to facilitate subsequent display, access, and further characterization of data objects that already reside in the a tag-associated data-object storage system. Methods and systems of the present invention provide for automated tag suggestion to users in order to both increase usability of the interface provided to the tag-associated data-object storage systems as well as decrease the likelihood of unnecessary and unproductive tag proliferation within the tag-associated data-object storage system.

Claims (36)

1. A tag-suggestion system included as a component of a tag-associated data-object storage system that is implemented as one or more software programs, hardware circuits, or a combination of software programs and hardware circuits within one or more computer systems that include, or that access, one or more data-storage devices, the tag-suggestion system comprising:

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, the dot product operation returning a numerically valued similarity metric, storing results of comparisons 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.

2. The tag-suggestion system of claim 1

wherein the tag selector selects, 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;

wherein the tag selector selects the candidate tags 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; and

wherein 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 further includes

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.

3. The tag-suggestion system of claim 2 wherein the first, second, and third candidate-tag-selection methods analyze a function of similarity metrics with respect to tags to determine when a turning point occurs in the function, and selects those tags associated with similarity metrics with values above the similarity metric of the turning point.

4. The tag-suggestion system of claim 1 wherein, prior to carrying out the 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, the comparator multiplies one or more elements of the characteristic vector by weights, in order to adjust the relative significance of the characteristic-vector elements.

5. The tag-suggestion system of claim 4 wherein the comparator multiplies one or more elements of the characteristic vector by weights that are computed based on a type of the data object.

6. A method, carried out in a tag-associated data-object storage system that is implemented as one or more software programs, hardware circuits, or a combination of software programs and hardware circuits within one or more computer systems that include, or access, one or more data-storage devices, the method comprising:

comparing, by a comparator, 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, the dot product operation returning a numerically valued similarity metric, storing results of comparisons in the one or more data-storage devices;

selecting, by a tag selector, 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.

7. The method of claim 6

wherein the tag selector selects, 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;

wherein the tag selector selects the candidate tags 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; and

wherein 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 further includes

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.

8. The method of claim 7 wherein the first, second, and third candidate-tag-selection methods analyze a function of similarity metrics with respect to tags to determine when a turning point occurs in the function, and selects those tags associated with similarity metrics with values above the similarity metric of the turning point.

Continuity (2)
Continuation 12511007 · Jul 28, 2009
Related Publication 20120109982A1 · May 3, 2012