1. In a system for semantically labeling a string of text in an electronic document created in an application program module, a method of implementing an application program interface for further implementing a recognizer plug-in, the method comprising: providing, for the recognizer plug-in, an identification, a title, and a description, wherein the recognizer plug-in is provided for recognizing text items as belonging to one of a plurality of semantic categories; providing a number of text label types and a download location for additional label types, wherein each text label type belongs to a semantic category; providing a list of text items for recognition as belonging to the semantic category by the recognizer plug-in; receiving a selection of text in the recognizer plug-in; and causing the recognizer plug-in to search for the text items belonging to the semantic category from the list of text items in the selection of text received by the recognizer plug-in; labeling the recognized text items with at least one text label belonging to the 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 storing the at least one text label and the plurality of semantic categories to which the recognized text items belong in the electronic document as part of a semantic category namespace.