1. A method comprising: generating, by at least one processor, a first translation of a first portion of a source text into a target language, wherein generating comprises extracting at least one first lexical meaning of the first portion; selecting, by the processor, a first semantic class for the first lexical meaning from one or more first semantic classes in a semantic hierarchy, wherein the first semantic class corresponds to the first lexical meaning in the semantic hierarchy; extracting, by the processor, a plurality of lexical meanings of a second portion of the source text, wherein the semantic hierarchy comprises a plurality of second semantic classes corresponding to the lexical meanings; selecting, by the processor, at least one second lexical meaning for the second portion from the lexical meanings based on distances between the second semantic classes and the first semantic class within the semantic hierarchy; generating, by the processor, a second translation of the second portion into the target language based on the selected second lexical meaning; and outputting the generated second translation.