19. A method for processing multi-modal natural language inputs, comprising: receiving a multi-modal natural language input at a conversational voice user interface, the multi-modal input including a natural language utterance and a non-speech input provided by a user, wherein a transcription module coupled to the conversational voice user interface transcribes the non-speech input to create a non-speech-based transcription; identifying the user that provided the multi-modal input; creating a speech-based transcription of the natural language utterance using a speech recognition engine and a semantic knowledge-based model, wherein the semantic knowledge-based model includes a personalized cognitive model derived from one or more prior interactions between the identified user and the conversational voice user interface, a general cognitive model derived from one or more prior interactions between a plurality of users and the conversational voice user interface, and an environmental model derived from an environment of the identified user and the conversational voice user interface; merging the speech-based transcription and the non-speech-based transcription to create a merged transcription; identifying one or more entries in a context stack matching information contained in the merged transcription; determining a most likely context for the multi-modal input based on the identified entries; identifying a domain agent associated with the most likely context for the multi-modal input; communicating a request to the identified domain agent; and generating a response to the user from content provided by the identified domain agent as a result of processing the request.
26. The method of claim 19 , further comprising receiving one or more follow-up multi-modal inputs at the conversational voice user interface, the follow-up multi-modal inputs including at least one of a follow-up natural language utterance or a follow-up non-speech input.