Robust anchoring of annotations to content
First Claim
Patent Images
1. A method in a computer system of anchoring an annotation to content, the method comprising:
- receiving an indication of a portion of the content;
capturing by the computer system one or more features describing a beginning of the portion of the content;
capturing by the computer system one or more features describing an ending of the portion of the content;
capturing by the computer system one or more features describing a region between the beginning of the portion and the ending of the portion;
generating by the computer system a histogram that identifies, for each word in the content, a frequency of occurrence of the word within the content, wherein the frequency of occurrence indicates the number of times the word appears in the content, and wherein the histogram is generated once for the content;
associating by the computer system the annotation with the captured features,wherein the one or more features describing the region between the beginning of the portion and the ending of the portion comprise;
an indication of one or more keywords in the region, wherein the keywords are selected by, using the generated histogram;
identifying, for each word in the region, the frequency of occurrence of the word within the content, andselecting as the keywords one or more words in the region having lowest frequencies of occurrence within the content, andfor each of the one or more keywords, a distance from the beginning of the portion to the keyword, and a distance from the keyword to the ending of the portion.
2 Assignments
0 Petitions
Accused Products
Abstract
Annotations are robustly anchored to content. The robust anchoring allows annotations to be associated with the content independently of the format used to store the content. The annotations can be re-anchored to the content after the content has been modified, including modifications to the format used to store the content.
97 Citations
29 Claims
-
1. A method in a computer system of anchoring an annotation to content, the method comprising:
-
receiving an indication of a portion of the content; capturing by the computer system one or more features describing a beginning of the portion of the content; capturing by the computer system one or more features describing an ending of the portion of the content; capturing by the computer system one or more features describing a region between the beginning of the portion and the ending of the portion; generating by the computer system a histogram that identifies, for each word in the content, a frequency of occurrence of the word within the content, wherein the frequency of occurrence indicates the number of times the word appears in the content, and wherein the histogram is generated once for the content; associating by the computer system the annotation with the captured features, wherein the one or more features describing the region between the beginning of the portion and the ending of the portion comprise; an indication of one or more keywords in the region, wherein the keywords are selected by, using the generated histogram; identifying, for each word in the region, the frequency of occurrence of the word within the content, and selecting as the keywords one or more words in the region having lowest frequencies of occurrence within the content, and for each of the one or more keywords, a distance from the beginning of the portion to the keyword, and a distance from the keyword to the ending of the portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computing device having a processor and memory comprising:
-
an annotation marking engine configured to anchor an annotation to a portion of content, the annotation marking engine including, a receiving module to receive an indication of the portion of content to which the annotation is to be anchored, a beginning capture module to capture one or more features describing a beginning of the portion of content, an ending capture module to capture one or more features describing an ending of the portion of content, and a region capture module to; generate a histogram that identifies, for each word in the content, a frequency of occurrence of the word within the content, wherein the frequency of occurrence indicates the number of times the word appears in the content, and wherein the histogram is generated once for the content, and capture one or more features describing a region of the portion of content, wherein the region is between the beginning of the portion of content and the ending of the portion of content, wherein the region capture module captures the one or more features by using the generated histogram to; identify, for each word in the region, the frequency of occurrence of the word within the content, and select one or more keywords in the region, wherein the keywords include one or more words in the region having lowest frequencies of occurrence within the content; and an annotation locating engine configured to receive the content after the content has been modified such that the portion of content has been revised, and further configured to identify a candidate portion of the modified content to which the annotation is to be anchored, the annotation locating engine including; a candidate portion determination module to identify one or more candidate portions of the modified content for anchoring the annotation and to generate a score for each of the one or more candidate portions based on a comparison of the captured features to which the annotation was anchored and the identified one or more candidate portions; a score comparator module to; determine which of the one or more candidate portions the annotation is to be anchored to based at least in part on the generated score for the one or more candidate portions, determine whether the generated score for the one or more candidate portions exceeds a threshold value, and in response to determining that the generated score exceeds the threshold value, automatically select the candidate portion to which the annotation is to be anchored; and a user interface module to, in response to determining that the generated score does not exceed the threshold value, query a user regarding whether at least one of the one or more candidate portions is the candidate portion to which the annotation is to be anchored, wherein the modules are implemented as instructions stored in the memory for execution by the processor. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
Specification