1. A method comprising: receiving a user utterance as part of a natural language dialog with a human user; applying a word n-gram classifier to the user utterance to obtain a first call type for the utterance; when a confidence associated with the first call type meets a threshold level, associating the user utterance with the first call type to yield a classified utterance; when the confidence associated with the first call type does not meet the threshold level, performing the steps of: (i) generating a semantic and syntactic graph associated with the user utterance; (ii) converting the semantic and syntactic graph into a first finite state transducer; (iii) 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 n-grams; (iv) extracting the n-grams as features from the third finite state transducer, to yield extracted n-grams; and (v) associating the user 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 the human user in the natural language dialog based on the classified utterance.