Method and system for semantically labeling strings and providing actions based on semantically labeled strings
First Claim
1. For an electronic system stored on a computer medium for creating and editing an electronic document, a method for semantically labeling a string of text in the electronic document created in an application program module, the method comprising:
- automatically receiving the string of text in a recognizer dynamic-link library after the entire string of text has been entered in the electronic document, wherein receiving the string of text comprises maintaining a job queue, the job queue storing the string of text before transmitting the string of text to at least one recognizer plug-in;
determining if the string of text has been edited before transmitting the string of text from the recognizer dynamic-link library to the at least one recognizer plug-in;
in response to determining if the string of text has been edited, deleting the edited string of text from the job queue;
in response to determining if the string of text has not been edited, transmitting the string of text, from the job queue, to the at least one recognizer plug-in during an idle time;
in each of the at least one recognizer plug-in, annotating the string of text to determine at least one label, wherein annotating the string of text comprises breaking the string of text by each of the at least one recognizer plug-in;
transmitting the at least one label from the at least one recognizer plug-in to the recognizer dynamic-link library, wherein transmitting the at least one label from the at least one recognizer plug-in comprises determining if the string of text annotated by the at least one recognizer plug-in has been edited after the string of text was transmitted to the recognizer dynamic-link library;
in response to determining the string of text has been edited after the string of text was transmitted to the recognizer dynamic-link library, transmitting the string of text from the application program module to the recognizer dynamic-link library;
compiling the at least one label into at least one semantic category at the recognizer dynamic-link library;
transmitting the at least one semantic category to the application program module such that each of the at least one label is associated with the string of text; and
embedding the at least one semantic category in the electronic document.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for recognizing strings and annotating, or labeling, the strings with a type label. After the strings are annotated with a type label, application program modules may use the type label to provide users with a choice of actions. If the user'"'"'s computer does not have any actions associated with a type label, the user may be provided with the option to surf to a download Uniform Resource Locator (URL) and download action plug-ins for that type label. One or more recognizer plug-ins perform the recognition of particular strings in an electronic document. The recognizer plug-ins may be packaged with an application program module or they may be written by third parties to recognize particular strings that are of interest. One or more action plug-ins provide possible actions to be presented to the user based upon the type label associated with the string.
390 Citations
19 Claims
-
1. For an electronic system stored on a computer medium for creating and editing an electronic document, a method for semantically labeling a string of text in the electronic document created in an application program module, the method comprising:
-
automatically receiving the string of text in a recognizer dynamic-link library after the entire string of text has been entered in the electronic document, wherein receiving the string of text comprises maintaining a job queue, the job queue storing the string of text before transmitting the string of text to at least one recognizer plug-in; determining if the string of text has been edited before transmitting the string of text from the recognizer dynamic-link library to the at least one recognizer plug-in; in response to determining if the string of text has been edited, deleting the edited string of text from the job queue; in response to determining if the string of text has not been edited, transmitting the string of text, from the job queue, to the at least one recognizer plug-in during an idle time; in each of the at least one recognizer plug-in, annotating the string of text to determine at least one label, wherein annotating the string of text comprises breaking the string of text by each of the at least one recognizer plug-in; transmitting the at least one label from the at least one recognizer plug-in to the recognizer dynamic-link library, wherein transmitting the at least one label from the at least one recognizer plug-in comprises determining if the string of text annotated by the at least one recognizer plug-in has been edited after the string of text was transmitted to the recognizer dynamic-link library; in response to determining the string of text has been edited after the string of text was transmitted to the recognizer dynamic-link library, transmitting the string of text from the application program module to the recognizer dynamic-link library; compiling the at least one label into at least one semantic category at the recognizer dynamic-link library; transmitting the at least one semantic category to the application program module such that each of the at least one label is associated with the string of text; and embedding the at least one semantic category in the electronic document. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for labeling a string of text in an electronic document as the electronic document is created in an application program module, the method comprising:
-
as the string of text is entered into the electronic document, automatically receiving the string of text in a recognizer dynamic link library during an idle time after the string of text has been entered in the electronic document and determining whether the string of text matches at least one stored string according to semantic categories, wherein receiving the string of text comprises; maintaining a job queue, the job queue storing the string of text before transmitting the string of text to at least one recognizer plug-in, determining if the string of text has been edited, in response to determining if the string of text has been edited, deleting the edit string of text from the job queue; and in response to determining if the string of text has not been edited, transmitting the string of text, from the job queue, to the at least one recognizer plug-in during an idle time; if so, then determining a label associated with the matched stored string, wherein determining the label associated with the matched stored string comprises breaking the string of text by each of the at least one recognizer plug-in; associating the label with the string of text; transmitting the semantic categories to the application program module, wherein transmitting the semantic categories to the application module comprises determining if the string of text associated with the label has been edited after the string of text was transmitted to the recognizer dynamic-link library; in response to determining if the string of text associated with the label has been edited after the string of text was transmitted to the recognizer dynamic-link library, transmitting the string of text from the application program module to the recognizer dynamic-link library; and embedding the semantic categories in the electronic document. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A system, stored on a computer medium, for labeling a string in an electronic document as the string is entered into the electronic document, the system comprising:
-
an application program module for creating the electronic document; a recognizer dynamic link library connected to the application program module, wherein the recognizer dynamic link library automatically receives the string during an idle time after the string has been entered in the electronic document; and at least one recognizer plug-in connected to the recognizer dynamic link library, wherein the at least one recognizer plug-in receives the string, annotates the string to determine a label according to semantic categories embedded in the electronic document, wherein the string annotated to determine the label comprises break the string by each of the at least one recognizer plug-in, and associates the label with the string, wherein the at least one recognizer plug-in receiving the string comprises; maintain a job queue, the job queue storing the string before transmitting the string to at least one recognizer plug-in, determine if the string has been edited before transmitting the string to the at least one recognizer plug-in, in response to the determination if the string has been edited before transmitting the string to the at least one recognizer plug-in, delete the edited string from the job queue, in response to the determination if the string has not been edited before transmitting the string to the at least one recognizer plug-in, transmit the string, from the job queue, to the at least one recognizer plug-in during an idle time, determine if the string of text associated with the label has been edited after the string of text was transmitted to the recognizer dynamic-link library; in response to determining if the string of text associated with the label has been edited after the string of text was transmitted to the dynamic-link library, transmit the string of text from the application program module to the recognizer dynamic-link library, and an action dynamic link library connected to the application program module. - View Dependent Claims (16, 17, 18)
-
-
19. For an electronic system for creating and editing an electronic document, a computer-readable storage medium with instructions stored thereon for semantically labeling a string of text in the electronic document created in an application program module, the instructions comprising:
-
automatically receiving the string of text in a recognizer dynamic-link library after the entire string of text has been entered in the electronic document, wherein receiving the string of text comprises maintaining a job queue, the job queue storing the string of text before transmitting the string of text to at least one recognizer plug-in; determining if the string of text has been edited; in response to determining if the string of text has been edited, deleting the edited string of text from the job queue; in response to determining if the string of text has not been edited, transmitting the string of text, from the job queue, to the at least one recognizer plug-in during an idle time; in each of the at least one recognizer plug-in, annotating the string of text to determine a label according to semantic categories embedded in the electronic document, wherein annotating the string of text comprises breaking the string of text by each of the at least one recognizer plug-in; associating each label with the string of text; transmitting the labels from the at least one recognizer plug-ins to the recognizer dynamic-link library; transmitting the labels to the application program module, wherein transmitting the labels to the application module comprises determining if the string of text associated with each label has been edited after the string of text was transmitted to the recognizer dynamic-link library; in response to determining if the string of text associated with each label has been edited after the string of text was transmitted to the recognizer dynamic-link library, transmitting the string of text from the application program module to the recognizer dynamic-link library; receiving the labels in the action dynamic link library; transmitting the labels to at least one action plug-in; and determining, in the at least one action plug-in, at least one action based on each of the labels and displaying at least one action received from the at least one action plug-in.
-
Specification