19. The system of claim 18 , further comprising an action API, comprising a Description property describing a semantic label action associated with an action operable on the semantically labeled text string; a Name property including a title for the semantic label action, wherein the semantic label action identifies an action to be performed by the system based on the text label of the semantically labeled text string; a programmatic identifier property including a unique identifier for the semantic label action; a LabelCaption property for displaying via a user interface an identification of a text label type for the semantically labeled text string; a LabelName property identifying a number of types of semantic label actions operable by the action plug-in; a LabelCount property identifying the number of semantic label types recognizable by the recognizer plug-in; a VerbOaptionFromlD property including captions for the number of semantic label actions provided via a user interface, wherein the captions identify an action class for the number of semantic label actions; a VerbCount property including a quantity of semantic label actions supported by a semantic label type; a VerbID property for returning a unique identifier within a semantic label for use within the application program module; a VerbNameFromlD property for returning a name to represent a semantic label action for use within the application program module; and an InvokeVerb method including instructions which when executed by a computer initiate the semantic label action.
18. A system for semantically labeling a string of text in an electronic document created in an application program module, the system embodied on a computer-readable media and including a recognizer plug-in and an application program interface (API) for allowing the recognizer plug-in to semantically label strings of text, comprising: a Description property including a description of the recognizer plug-in; a Name property including a name of the recognizer plug-in; a programmatic identifier including a unique identifier for the recognizer plug-in; a LabelCount property identifying a number of semantic label types recognizable by the recognizer plug-in; a LabelName property including unique identifiers for the semantic label types recognizable by the recognizer plug-in; a label DownloadURL property for locating additional semantic label types recognizable by the recognizer plug-in; a Recognize method including instructions which when executed by a computer cause the recognizer plug-in to recognize character strings semantically labeled with at least one text label as character string types recognizable by the recognizer plug-in as belonging to a semantic category, wherein the semantic category is associated with a plurality of possible actions to be performed by the system based upon the semantic category and the text label associated with the electronic document; and a storage method including instructions which when executed by a computer cause the computer to store the at least one text label and the semantic category to which the recognized character strings belong in the electronic document as part of a semantic category namespace.