1. A method comprising: receiving a set of exemplary sentences, including a first exemplary sentence, from a language net; parsing each of the exemplary sentences to yield a set of training constituency trees respectively corresponding to the exemplary sentences; performing maximal frequent subtree analysis on the set of training constituency trees to yield a set of at least one deep pattern trees including a first deep pattern tree corresponding to the first exemplary sentence; and assigning a first thematic role to a first node of the first deep pattern tree based on a thematic role assigned to a corresponding portion of the first exemplary sentence by the language net; wherein: each deep pattern tree is a constituency tree having a multiple layer hierarchy of nodes respectively corresponding to grammatical portions of a corresponding exemplary sentence from the language net; and at least the parsing step is performed by computer software running on computer hardware.