Using exemplary sentences, usage patterns and thematic roles ascribed in VerbNet to generate “deep pattern trees” for the exemplary sentences. Then, when an arbitrary natural language subject sentence is input, these deep pattern trees can be matched to the natural language subject sentence in order to assign thematic roles to at least some of the “grammatical portions” of the natural language subject sentence.