1. A method comprising: generating, via a processor, a semantic and syntactic graph associated with a first call type; converting the semantic and syntactic graph into a first finite state transducer; composing the first finite state transducer with a second finite state transducer to form a third finite state transducer, wherein the second finite state transducer comprises all possible n-grams, and wherein the third finite state transducer comprises a subset of the all-possible n-grams; extracting the subset of the all-possible n-grams as features from the third finite state transducer, to yield extracted n-grams; associating an utterance with a second call type based on the extracted n-grams, to yield a classified utterance, wherein the second call type is determined based on semantic and syntactic features in the extracted n-grams; and responding to a user in a natural language dialog based on the classified utterance.