4. A system for natural language processing ambiguity resolution, comprising: a computer processor; and computer memory, the computer memory storing an ontological library, wherein the ontological library stores an ontological hierarchy of classes and sub-classes, each class or sub-class representing a distinct grammatical function, and wherein the ontological library specifies a set of grammatical rules, wherein the grammatical rules store permissible positional relations between classes and sub-classes, and a series of program instructions, wherein the program instructions are executable by the computer processor to: generate, using the processor, a dictionary for each class and sub-class by compiling word instances belonging to the class or sub-class; receive, using the processor, a phrase comprising at least one ambiguous word to be processed that is associated in the dictionary with at least one class and at least two sub-classes; annotate, using the processor, the ambiguous word with possible classes and sub-classes to which the ambiguous word belongs based on the generated dictionaries; retrieve, from the ontological library using the processor, grammatical rules associated with possible classes and sub-classes to which the ambiguous word belongs; eliminate, using the processor, one or more possible classes or sub-classes based on the retrieved grammatical rules and possible classes of one or more words in the phrase proximate to the ambiguous word; and determine, using the processor, a class and sub-class for the ambiguous word based on a possible class or sub-class not eliminated.
4. A system for natural language processing ambiguity resolution, comprising: a computer processor; and computer memory, the computer memory storing an ontological library, wherein the ontological library stores an ontological hierarchy of classes and sub-classes, each class or sub-class representing a distinct grammatical function, and wherein the ontological library specifies a set of grammatical rules, wherein the grammatical rules store permissible positional relations between classes and sub-classes, and a series of program instructions, wherein the program instructions are executable by the computer processor to: generate, using the processor, a dictionary for each class and sub-class by compiling word instances belonging to the class or sub-class; receive, using the processor, a phrase comprising at least one ambiguous word to be processed that is associated in the dictionary with at least one class and at least two sub-classes; annotate, using the processor, the ambiguous word with possible classes and sub-classes to which the ambiguous word belongs based on the generated dictionaries; retrieve, from the ontological library using the processor, grammatical rules associated with possible classes and sub-classes to which the ambiguous word belongs; eliminate, using the processor, one or more possible classes or sub-classes based on the retrieved grammatical rules and possible classes of one or more words in the phrase proximate to the ambiguous word; and determine, using the processor, a class and sub-class for the ambiguous word based on a possible class or sub-class not eliminated. 6. The system of claim 4 , wherein the program instructions are further executable by the computer processor to: repeat all steps for each word in the phrase until each word of the phrase is annotated with only a single respective class and sub-class from the ontological hierarchy.