1. A method to determine a part-of-speech (POS) category associated with a word in a text containing a plurality of words, the method comprising: a) receiving the text which comprises a plurality of words; b) selecting the word from the plurality of words; c) determining a first set of candidate POS categories associated with the selected word based on a definition of the word in a dictionary; d) retrieving a first set of rules, said first set of rules comprising a collection of externalized contextual rules; e) retrieving a second set of rules, the second set of rules comprising a logical collection of language usage rules, f) determining one or more contexts in which the word is used in the text based on the first set of rules, wherein determining the one or more contexts further comprises determining the relation between the word and one or more other words in the text, g) determining a second set of candidate POS categories from the first set of candidate POS categories based on the one or more contexts; and h) determining the POS category from the second set of candidate POS categories based on a second set of rules, wherein each of the second set of rules are applied in a pre-defined order in which each of the second set of rules are to be applied to the word.