8. The device of claim 1 , wherein the one or more processors are configured to receive one or more subsequent multi-modal inputs, the subsequent multi-modal inputs including at least one of a subsequent natural language utterance or a subsequent non-speech input.
1. A device for processing natural language inputs, comprising one or more processors configured to: receive a multi-modal natural language input from a user, the multi-modal natural language input including a natural language utterance and a non-speech input; generate a non-speech transcription from the non-speech input; identify the user who provided the multi-modal natural language input; generate a speech-based transcription based on a cognitive model associated with the user, wherein the cognitive model includes information on one or more prior interactions between the user and the device; generate a merged transcription from the speech-based transcription and the non-speech transcription; identify, from among a plurality of entries that are in a context stack and that are each indicative of context, an entry in the context stack that matches information in the merged transcription; identify a domain agent associated with the entry in the context stack; determine a request based on the merged transcription; and communicate the request to the domain agent, wherein the domain agent is configured to generate a response to the user.