12. A computer system method for matching an utterance of a user to a template comprising the steps of: (a) receiving by a processor the utterance from an input device, wherein the utterance includes at least one word; (b) accessing a set of template hierarchies from a database, wherein each template hierarchy of the set includes at least one template; (c) comparing by the processor the at least one word of the utterance to at least one term of the at least one template of template hierarchy in the set of template hierarchies; (d) determining by the processor whether the at least one word of the utterance matches the at least one term of the at least one template of the template hierarchy; (e) calculating by the processor a score based on the match between the at least one word of the utterance and the at least one term of the at least one template of the template hierarchy; (f) repeating steps (c)-(e) until there are no more words of the utterance for said comparing step; (g) populating the at least one template with at least one data element corresponding to the at least one term of the at least one template of the template hierarchy to obtain one or more populated templates; (h) computing a total score of each populated template of the one or more populated templates based on the match between all words of the utterance to each populated template of the one or more populated templates; (i) selecting at least one populated template with a high total score; (j) establishing by the processor there is no template with the high total score; (k) recording the utterance as a sequence of words; and (l) communicating the sequence of words to the user.
12. A computer system method for matching an utterance of a user to a template comprising the steps of: (a) receiving by a processor the utterance from an input device, wherein the utterance includes at least one word; (b) accessing a set of template hierarchies from a database, wherein each template hierarchy of the set includes at least one template; (c) comparing by the processor the at least one word of the utterance to at least one term of the at least one template of template hierarchy in the set of template hierarchies; (d) determining by the processor whether the at least one word of the utterance matches the at least one term of the at least one template of the template hierarchy; (e) calculating by the processor a score based on the match between the at least one word of the utterance and the at least one term of the at least one template of the template hierarchy; (f) repeating steps (c)-(e) until there are no more words of the utterance for said comparing step; (g) populating the at least one template with at least one data element corresponding to the at least one term of the at least one template of the template hierarchy to obtain one or more populated templates; (h) computing a total score of each populated template of the one or more populated templates based on the match between all words of the utterance to each populated template of the one or more populated templates; (i) selecting at least one populated template with a high total score; (j) establishing by the processor there is no template with the high total score; (k) recording the utterance as a sequence of words; and (l) communicating the sequence of words to the user. 14. The computer system method of claim 12 wherein the template hierarchy includes at least one sub-hierarchy of terms.