Abstract: In some embodiments, a system is provided 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. The at least one processor may be further programmed to use statistical information derived from training data to associate a respective weight with each semantic pattern of the plurality of semantic patterns.