1. A method comprising: receiving, by a computing device, an input natural language text including an input word; searching a semantic register to identify a matching word corresponding to the input word, wherein the semantic register comprises a plurality of records, each record associating a word with a concept of a semantic class; responsive to successfully identifying the matching word, identifying a first plurality of concepts associated with the matching word by the semantic register; ranking a plurality of semantic classes associated with the identified first plurality of concepts according to a probability of the input word being associated with a respective semantic class; selecting a pre-defined number of semantic classes having highest probabilities of the input word being associated with a respective semantic class; iterating through a second plurality of concepts associated, by the semantic register, with the pre-defined number of semantic classes, to identify a concept corresponding to the input word; and responsive to successfully identifying the concept, associating the identified concept with the input word.