1. A method for determining variants of a text entity, comprising: parsing the text entity into semantic components; generating variants for each of the semantic components; and recomposing the entity in different morphological forms from the different variants of the semantic components.