1. A system comprising at least one processor programmed to: process an input text to identify a plurality of semantic patterns that match the input text, wherein, for at least one semantic pattern of the plurality of semantic patterns: the at least one semantic pattern comprises a plurality of semantic entities identified from the at least one input text, and the plurality of semantic entities occur in a common context within the at least one input text; and use statistical information derived from training data to associate a respective weight with each semantic pattern of the plurality of semantic patterns.