1. A computer implemented method for natural language processing ambiguity resolution, comprising: storing, in computer memory, an ontological library specifying a set of grammatical rules, wherein the grammatical rules are associated with ontological classes and sub-classes; generating, using a computer processor, a dictionary for each ontological class and sub-class by compiling all word instances belonging to the class or sub-class associated with the dictionary; receiving, using the processor, a phrase having a natural language processing ambiguity and comprising at least one ambiguous word to be processed that is associated with at least one class and at least two sub-classes; annotating, using the processor, the ambiguous word with the ontological classes and sub-classes to which the ambiguous word belongs based on the generated dictionaries; retrieving, from the ontological library using the processor, the grammatical rules associated with the ontological classes and sub-classes to which the ambiguous word belongs; eliminating, using the processor, one or more ontological classes or sub-classes based on the retrieved grammatical rules; and determining, using the processor, a surviving ontological class and sub-class to be an accurate ontological class and sub-class for the ambiguous word to resolve the natural language processing ambiguity.